@cloudflare/vitest-plugin 1.3.0 → 1.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/pool/index.mjs +879 -626
- package/dist/pool/index.mjs.map +1 -1
- package/package.json +6 -6
package/dist/pool/index.mjs
CHANGED
|
@@ -17159,8 +17159,8 @@ const chalkStderr = createChalk({ level: stderrColor ? stderrColor.level : 0 });
|
|
|
17159
17159
|
var source_default = chalk;
|
|
17160
17160
|
|
|
17161
17161
|
//#endregion
|
|
17162
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
17163
|
-
var require_symbols = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
17162
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/core/symbols.js
|
|
17163
|
+
var require_symbols = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/core/symbols.js": ((exports, module) => {
|
|
17164
17164
|
module.exports = {
|
|
17165
17165
|
kClose: Symbol("close"),
|
|
17166
17166
|
kDestroy: Symbol("destroy"),
|
|
@@ -17237,8 +17237,8 @@ var require_symbols = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/u
|
|
|
17237
17237
|
}) });
|
|
17238
17238
|
|
|
17239
17239
|
//#endregion
|
|
17240
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
17241
|
-
var require_timers = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
17240
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/util/timers.js
|
|
17241
|
+
var require_timers = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/util/timers.js": ((exports, module) => {
|
|
17242
17242
|
/**
|
|
17243
17243
|
* This module offers an optimized timer implementation designed for scenarios
|
|
17244
17244
|
* where high precision is not critical.
|
|
@@ -17519,8 +17519,8 @@ var require_timers = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/un
|
|
|
17519
17519
|
}) });
|
|
17520
17520
|
|
|
17521
17521
|
//#endregion
|
|
17522
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
17523
|
-
var require_errors = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
17522
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/core/errors.js
|
|
17523
|
+
var require_errors = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/core/errors.js": ((exports, module) => {
|
|
17524
17524
|
const kUndiciError = Symbol.for("undici.error.UND_ERR");
|
|
17525
17525
|
var UndiciError$4 = class extends Error {
|
|
17526
17526
|
constructor(message, options) {
|
|
@@ -17551,7 +17551,7 @@ var require_errors = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/un
|
|
|
17551
17551
|
}
|
|
17552
17552
|
};
|
|
17553
17553
|
const kHeadersTimeoutError = Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT");
|
|
17554
|
-
var HeadersTimeoutError$
|
|
17554
|
+
var HeadersTimeoutError$2 = class extends UndiciError$4 {
|
|
17555
17555
|
constructor(message) {
|
|
17556
17556
|
super(message);
|
|
17557
17557
|
this.name = "HeadersTimeoutError";
|
|
@@ -17581,7 +17581,7 @@ var require_errors = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/un
|
|
|
17581
17581
|
}
|
|
17582
17582
|
};
|
|
17583
17583
|
const kBodyTimeoutError = Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT");
|
|
17584
|
-
var BodyTimeoutError$
|
|
17584
|
+
var BodyTimeoutError$2 = class extends UndiciError$4 {
|
|
17585
17585
|
constructor(message) {
|
|
17586
17586
|
super(message);
|
|
17587
17587
|
this.name = "BodyTimeoutError";
|
|
@@ -17596,7 +17596,7 @@ var require_errors = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/un
|
|
|
17596
17596
|
}
|
|
17597
17597
|
};
|
|
17598
17598
|
const kInvalidArgumentError = Symbol.for("undici.error.UND_ERR_INVALID_ARG");
|
|
17599
|
-
var InvalidArgumentError$
|
|
17599
|
+
var InvalidArgumentError$39 = class extends UndiciError$4 {
|
|
17600
17600
|
constructor(message) {
|
|
17601
17601
|
super(message);
|
|
17602
17602
|
this.name = "InvalidArgumentError";
|
|
@@ -17792,7 +17792,7 @@ var require_errors = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/un
|
|
|
17792
17792
|
}
|
|
17793
17793
|
};
|
|
17794
17794
|
const kResponseExceededMaxSizeError = Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE");
|
|
17795
|
-
var ResponseExceededMaxSizeError$
|
|
17795
|
+
var ResponseExceededMaxSizeError$2 = class extends UndiciError$4 {
|
|
17796
17796
|
constructor(message) {
|
|
17797
17797
|
super(message);
|
|
17798
17798
|
this.name = "ResponseExceededMaxSizeError";
|
|
@@ -17903,12 +17903,12 @@ var require_errors = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/un
|
|
|
17903
17903
|
AbortError: AbortError$2,
|
|
17904
17904
|
HTTPParserError: HTTPParserError$1,
|
|
17905
17905
|
UndiciError: UndiciError$4,
|
|
17906
|
-
HeadersTimeoutError: HeadersTimeoutError$
|
|
17906
|
+
HeadersTimeoutError: HeadersTimeoutError$2,
|
|
17907
17907
|
HeadersOverflowError: HeadersOverflowError$1,
|
|
17908
|
-
BodyTimeoutError: BodyTimeoutError$
|
|
17908
|
+
BodyTimeoutError: BodyTimeoutError$2,
|
|
17909
17909
|
RequestContentLengthMismatchError: RequestContentLengthMismatchError$2,
|
|
17910
17910
|
ConnectTimeoutError: ConnectTimeoutError$1,
|
|
17911
|
-
InvalidArgumentError: InvalidArgumentError$
|
|
17911
|
+
InvalidArgumentError: InvalidArgumentError$39,
|
|
17912
17912
|
InvalidReturnValueError: InvalidReturnValueError$2,
|
|
17913
17913
|
RequestAbortedError: RequestAbortedError$9,
|
|
17914
17914
|
ClientDestroyedError: ClientDestroyedError$2,
|
|
@@ -17918,7 +17918,7 @@ var require_errors = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/un
|
|
|
17918
17918
|
NotSupportedError: NotSupportedError$2,
|
|
17919
17919
|
ResponseContentLengthMismatchError: ResponseContentLengthMismatchError$1,
|
|
17920
17920
|
BalancedPoolMissingUpstreamError: BalancedPoolMissingUpstreamError$1,
|
|
17921
|
-
ResponseExceededMaxSizeError: ResponseExceededMaxSizeError$
|
|
17921
|
+
ResponseExceededMaxSizeError: ResponseExceededMaxSizeError$2,
|
|
17922
17922
|
RequestRetryError: RequestRetryError$1,
|
|
17923
17923
|
ResponseError: ResponseError$1,
|
|
17924
17924
|
SecureProxyConnectionError: SecureProxyConnectionError$1,
|
|
@@ -17929,8 +17929,8 @@ var require_errors = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/un
|
|
|
17929
17929
|
}) });
|
|
17930
17930
|
|
|
17931
17931
|
//#endregion
|
|
17932
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
17933
|
-
var require_constants$6 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
17932
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/core/constants.js
|
|
17933
|
+
var require_constants$6 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/core/constants.js": ((exports, module) => {
|
|
17934
17934
|
/**
|
|
17935
17935
|
* @see https://developer.mozilla.org/docs/Web/HTTP/Headers
|
|
17936
17936
|
*/
|
|
@@ -18061,8 +18061,8 @@ var require_constants$6 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pn
|
|
|
18061
18061
|
}) });
|
|
18062
18062
|
|
|
18063
18063
|
//#endregion
|
|
18064
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
18065
|
-
var require_tree = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
18064
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/core/tree.js
|
|
18065
|
+
var require_tree = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/core/tree.js": ((exports, module) => {
|
|
18066
18066
|
const { wellknownHeaderNames, headerNameLowerCasedRecord: headerNameLowerCasedRecord$2 } = require_constants$6();
|
|
18067
18067
|
var TstNode = class TstNode {
|
|
18068
18068
|
/** @type {any} */
|
|
@@ -18180,8 +18180,8 @@ var require_tree = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undi
|
|
|
18180
18180
|
}) });
|
|
18181
18181
|
|
|
18182
18182
|
//#endregion
|
|
18183
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
18184
|
-
var require_util$5 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
18183
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/core/util.js
|
|
18184
|
+
var require_util$5 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/core/util.js": ((exports, module) => {
|
|
18185
18185
|
const assert$34 = __require$1("node:assert");
|
|
18186
18186
|
const { kDestroyed: kDestroyed$2, kBodyUsed: kBodyUsed$1, kListeners, kBody: kBody$2 } = require_symbols();
|
|
18187
18187
|
const { IncomingMessage } = __require$1("node:http");
|
|
@@ -18190,7 +18190,7 @@ var require_util$5 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/un
|
|
|
18190
18190
|
const { stringify: stringify$5 } = __require$1("node:querystring");
|
|
18191
18191
|
const { EventEmitter: EE$3 } = __require$1("node:events");
|
|
18192
18192
|
const timers$1 = require_timers();
|
|
18193
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
18193
|
+
const { InvalidArgumentError: InvalidArgumentError$38, ConnectTimeoutError } = require_errors();
|
|
18194
18194
|
const { headerNameLowerCasedRecord: headerNameLowerCasedRecord$1 } = require_constants$6();
|
|
18195
18195
|
const { tree } = require_tree();
|
|
18196
18196
|
const [nodeMajor, nodeMinor] = process.versions.node.split(".", 2).map((v) => Number(v));
|
|
@@ -18293,17 +18293,17 @@ var require_util$5 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/un
|
|
|
18293
18293
|
* @type {URL}
|
|
18294
18294
|
*/
|
|
18295
18295
|
url$2 = new URL(url$2);
|
|
18296
|
-
if (!isHttpOrHttpsPrefixed(url$2.origin || url$2.protocol)) throw new InvalidArgumentError$
|
|
18296
|
+
if (!isHttpOrHttpsPrefixed(url$2.origin || url$2.protocol)) throw new InvalidArgumentError$38("Invalid URL protocol: the URL must start with `http:` or `https:`.");
|
|
18297
18297
|
return url$2;
|
|
18298
18298
|
}
|
|
18299
|
-
if (!url$2 || typeof url$2 !== "object") throw new InvalidArgumentError$
|
|
18299
|
+
if (!url$2 || typeof url$2 !== "object") throw new InvalidArgumentError$38("Invalid URL: The URL argument must be a non-null object.");
|
|
18300
18300
|
if (!(url$2 instanceof URL)) {
|
|
18301
|
-
if (url$2.port != null && url$2.port !== "" && isValidPort(url$2.port) === false) throw new InvalidArgumentError$
|
|
18302
|
-
if (url$2.path != null && typeof url$2.path !== "string") throw new InvalidArgumentError$
|
|
18303
|
-
if (url$2.pathname != null && typeof url$2.pathname !== "string") throw new InvalidArgumentError$
|
|
18304
|
-
if (url$2.hostname != null && typeof url$2.hostname !== "string") throw new InvalidArgumentError$
|
|
18305
|
-
if (url$2.origin != null && typeof url$2.origin !== "string") throw new InvalidArgumentError$
|
|
18306
|
-
if (!isHttpOrHttpsPrefixed(url$2.origin || url$2.protocol)) throw new InvalidArgumentError$
|
|
18301
|
+
if (url$2.port != null && url$2.port !== "" && isValidPort(url$2.port) === false) throw new InvalidArgumentError$38("Invalid URL: port must be a valid integer or a string representation of an integer.");
|
|
18302
|
+
if (url$2.path != null && typeof url$2.path !== "string") throw new InvalidArgumentError$38("Invalid URL path: the path must be a string or null/undefined.");
|
|
18303
|
+
if (url$2.pathname != null && typeof url$2.pathname !== "string") throw new InvalidArgumentError$38("Invalid URL pathname: the pathname must be a string or null/undefined.");
|
|
18304
|
+
if (url$2.hostname != null && typeof url$2.hostname !== "string") throw new InvalidArgumentError$38("Invalid URL hostname: the hostname must be a string or null/undefined.");
|
|
18305
|
+
if (url$2.origin != null && typeof url$2.origin !== "string") throw new InvalidArgumentError$38("Invalid URL origin: the origin must be a string or null/undefined.");
|
|
18306
|
+
if (!isHttpOrHttpsPrefixed(url$2.origin || url$2.protocol)) throw new InvalidArgumentError$38("Invalid URL protocol: the URL must start with `http:` or `https:`.");
|
|
18307
18307
|
const port = url$2.port != null ? url$2.port : url$2.protocol === "https:" ? 443 : 80;
|
|
18308
18308
|
let origin = url$2.origin != null ? url$2.origin : `${url$2.protocol || ""}//${url$2.hostname || ""}:${port}`;
|
|
18309
18309
|
let path$3 = url$2.path != null ? url$2.path : `${url$2.pathname || ""}${url$2.search || ""}`;
|
|
@@ -18311,7 +18311,7 @@ var require_util$5 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/un
|
|
|
18311
18311
|
if (path$3 && path$3[0] !== "/") path$3 = `/${path$3}`;
|
|
18312
18312
|
return new URL(`${origin}${path$3}`);
|
|
18313
18313
|
}
|
|
18314
|
-
if (!isHttpOrHttpsPrefixed(url$2.origin || url$2.protocol)) throw new InvalidArgumentError$
|
|
18314
|
+
if (!isHttpOrHttpsPrefixed(url$2.origin || url$2.protocol)) throw new InvalidArgumentError$38("Invalid URL protocol: the URL must start with `http:` or `https:`.");
|
|
18315
18315
|
return url$2;
|
|
18316
18316
|
}
|
|
18317
18317
|
/**
|
|
@@ -18320,7 +18320,7 @@ var require_util$5 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/un
|
|
|
18320
18320
|
*/
|
|
18321
18321
|
function parseOrigin(url$2) {
|
|
18322
18322
|
url$2 = parseURL(url$2);
|
|
18323
|
-
if (url$2.pathname !== "/" || url$2.search || url$2.hash) throw new InvalidArgumentError$
|
|
18323
|
+
if (url$2.pathname !== "/" || url$2.search || url$2.hash) throw new InvalidArgumentError$38("invalid url");
|
|
18324
18324
|
return url$2;
|
|
18325
18325
|
}
|
|
18326
18326
|
/**
|
|
@@ -18521,17 +18521,17 @@ var require_util$5 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/un
|
|
|
18521
18521
|
* @returns {asserts handler is import('../api/api-request').RequestHandler}
|
|
18522
18522
|
*/
|
|
18523
18523
|
function assertRequestHandler$1(handler, method, upgrade$1) {
|
|
18524
|
-
if (!handler || typeof handler !== "object") throw new InvalidArgumentError$
|
|
18524
|
+
if (!handler || typeof handler !== "object") throw new InvalidArgumentError$38("handler must be an object");
|
|
18525
18525
|
if (typeof handler.onRequestStart === "function") return;
|
|
18526
|
-
if (typeof handler.onConnect !== "function") throw new InvalidArgumentError$
|
|
18527
|
-
if (typeof handler.onError !== "function") throw new InvalidArgumentError$
|
|
18528
|
-
if (typeof handler.onBodySent !== "function" && handler.onBodySent !== void 0) throw new InvalidArgumentError$
|
|
18526
|
+
if (typeof handler.onConnect !== "function") throw new InvalidArgumentError$38("invalid onConnect method");
|
|
18527
|
+
if (typeof handler.onError !== "function") throw new InvalidArgumentError$38("invalid onError method");
|
|
18528
|
+
if (typeof handler.onBodySent !== "function" && handler.onBodySent !== void 0) throw new InvalidArgumentError$38("invalid onBodySent method");
|
|
18529
18529
|
if (upgrade$1 || method === "CONNECT") {
|
|
18530
|
-
if (typeof handler.onUpgrade !== "function") throw new InvalidArgumentError$
|
|
18530
|
+
if (typeof handler.onUpgrade !== "function") throw new InvalidArgumentError$38("invalid onUpgrade method");
|
|
18531
18531
|
} else {
|
|
18532
|
-
if (typeof handler.onHeaders !== "function") throw new InvalidArgumentError$
|
|
18533
|
-
if (typeof handler.onData !== "function") throw new InvalidArgumentError$
|
|
18534
|
-
if (typeof handler.onComplete !== "function") throw new InvalidArgumentError$
|
|
18532
|
+
if (typeof handler.onHeaders !== "function") throw new InvalidArgumentError$38("invalid onHeaders method");
|
|
18533
|
+
if (typeof handler.onData !== "function") throw new InvalidArgumentError$38("invalid onData method");
|
|
18534
|
+
if (typeof handler.onComplete !== "function") throw new InvalidArgumentError$38("invalid onComplete method");
|
|
18535
18535
|
}
|
|
18536
18536
|
}
|
|
18537
18537
|
/**
|
|
@@ -19109,8 +19109,8 @@ var require_util$5 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/un
|
|
|
19109
19109
|
}) });
|
|
19110
19110
|
|
|
19111
19111
|
//#endregion
|
|
19112
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
19113
|
-
var require_stats = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
19112
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/util/stats.js
|
|
19113
|
+
var require_stats = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/util/stats.js": ((exports, module) => {
|
|
19114
19114
|
const { kConnected: kConnected$4, kPending: kPending$4, kRunning: kRunning$5, kSize: kSize$5, kFree: kFree$1, kQueued: kQueued$1 } = require_symbols();
|
|
19115
19115
|
var ClientStats$1 = class {
|
|
19116
19116
|
constructor(client) {
|
|
@@ -19137,8 +19137,8 @@ var require_stats = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/und
|
|
|
19137
19137
|
}) });
|
|
19138
19138
|
|
|
19139
19139
|
//#endregion
|
|
19140
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
19141
|
-
var require_diagnostics = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
19140
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/core/diagnostics.js
|
|
19141
|
+
var require_diagnostics = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/core/diagnostics.js": ((exports, module) => {
|
|
19142
19142
|
const diagnosticsChannel$1 = __require$1("node:diagnostics_channel");
|
|
19143
19143
|
const util$24 = __require$1("node:util");
|
|
19144
19144
|
const undiciDebugLog = util$24.debuglog("undici");
|
|
@@ -19249,9 +19249,9 @@ var require_diagnostics = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pn
|
|
|
19249
19249
|
}) });
|
|
19250
19250
|
|
|
19251
19251
|
//#endregion
|
|
19252
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
19253
|
-
var require_request$1 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
19254
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
19252
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/core/request.js
|
|
19253
|
+
var require_request$1 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/core/request.js": ((exports, module) => {
|
|
19254
|
+
const { InvalidArgumentError: InvalidArgumentError$37, NotSupportedError: NotSupportedError$1 } = require_errors();
|
|
19255
19255
|
const assert$33 = __require$1("node:assert");
|
|
19256
19256
|
const { isValidHTTPToken: isValidHTTPToken$3, isValidHeaderValue: isValidHeaderValue$2, isStream, destroy, isBuffer, isFormDataLike, isIterable, hasSafeIterator: hasSafeIterator$2, isBlobLike, serializePathWithQuery: serializePathWithQuery$3, assertRequestHandler, getServerName, normalizedMethodRecords: normalizedMethodRecords$1, getProtocolFromUrlString } = require_util$5();
|
|
19257
19257
|
const { channels: channels$6 } = require_diagnostics();
|
|
@@ -19268,20 +19268,20 @@ var require_request$1 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm
|
|
|
19268
19268
|
const kHandler = Symbol("handler");
|
|
19269
19269
|
var Request$5 = class {
|
|
19270
19270
|
constructor(origin, { path: path$3, method, body, headers, query, idempotent, blocking, upgrade: upgrade$1, headersTimeout, bodyTimeout, reset, expectContinue, servername, throwOnError, maxRedirections, typeOfService }, handler) {
|
|
19271
|
-
if (typeof path$3 !== "string") throw new InvalidArgumentError$
|
|
19272
|
-
else if (path$3[0] !== "/" && !(path$3.startsWith("http://") || path$3.startsWith("https://")) && method !== "CONNECT") throw new InvalidArgumentError$
|
|
19273
|
-
else if (invalidPathRegex.test(path$3)) throw new InvalidArgumentError$
|
|
19274
|
-
if (typeof method !== "string") throw new InvalidArgumentError$
|
|
19275
|
-
else if (normalizedMethodRecords$1[method] === void 0 && !isValidHTTPToken$3(method)) throw new InvalidArgumentError$
|
|
19276
|
-
if (upgrade$1 && typeof upgrade$1 !== "string") throw new InvalidArgumentError$
|
|
19277
|
-
if (upgrade$1 && !isValidHeaderValue$2(upgrade$1)) throw new InvalidArgumentError$
|
|
19278
|
-
if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) throw new InvalidArgumentError$
|
|
19279
|
-
if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) throw new InvalidArgumentError$
|
|
19280
|
-
if (reset != null && typeof reset !== "boolean") throw new InvalidArgumentError$
|
|
19281
|
-
if (expectContinue != null && typeof expectContinue !== "boolean") throw new InvalidArgumentError$
|
|
19282
|
-
if (throwOnError != null) throw new InvalidArgumentError$
|
|
19283
|
-
if (maxRedirections != null && maxRedirections !== 0) throw new InvalidArgumentError$
|
|
19284
|
-
if (typeOfService != null && (!Number.isInteger(typeOfService) || typeOfService < 0 || typeOfService > 255)) throw new InvalidArgumentError$
|
|
19271
|
+
if (typeof path$3 !== "string") throw new InvalidArgumentError$37("path must be a string");
|
|
19272
|
+
else if (path$3[0] !== "/" && !(path$3.startsWith("http://") || path$3.startsWith("https://")) && method !== "CONNECT") throw new InvalidArgumentError$37("path must be an absolute URL or start with a slash");
|
|
19273
|
+
else if (invalidPathRegex.test(path$3)) throw new InvalidArgumentError$37("invalid request path");
|
|
19274
|
+
if (typeof method !== "string") throw new InvalidArgumentError$37("method must be a string");
|
|
19275
|
+
else if (normalizedMethodRecords$1[method] === void 0 && !isValidHTTPToken$3(method)) throw new InvalidArgumentError$37("invalid request method");
|
|
19276
|
+
if (upgrade$1 && typeof upgrade$1 !== "string") throw new InvalidArgumentError$37("upgrade must be a string");
|
|
19277
|
+
if (upgrade$1 && !isValidHeaderValue$2(upgrade$1)) throw new InvalidArgumentError$37("invalid upgrade header");
|
|
19278
|
+
if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) throw new InvalidArgumentError$37("invalid headersTimeout");
|
|
19279
|
+
if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) throw new InvalidArgumentError$37("invalid bodyTimeout");
|
|
19280
|
+
if (reset != null && typeof reset !== "boolean") throw new InvalidArgumentError$37("invalid reset");
|
|
19281
|
+
if (expectContinue != null && typeof expectContinue !== "boolean") throw new InvalidArgumentError$37("invalid expectContinue");
|
|
19282
|
+
if (throwOnError != null) throw new InvalidArgumentError$37("invalid throwOnError");
|
|
19283
|
+
if (maxRedirections != null && maxRedirections !== 0) throw new InvalidArgumentError$37("maxRedirections is not supported, use the redirect interceptor");
|
|
19284
|
+
if (typeOfService != null && (!Number.isInteger(typeOfService) || typeOfService < 0 || typeOfService > 255)) throw new InvalidArgumentError$37("typeOfService must be an integer between 0 and 255");
|
|
19285
19285
|
this.headersTimeout = headersTimeout;
|
|
19286
19286
|
this.bodyTimeout = bodyTimeout;
|
|
19287
19287
|
this.method = method;
|
|
@@ -19307,7 +19307,7 @@ var require_request$1 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm
|
|
|
19307
19307
|
else if (body instanceof ArrayBuffer) this.body = body.byteLength ? Buffer.from(body) : null;
|
|
19308
19308
|
else if (typeof body === "string") this.body = body.length ? Buffer.from(body) : null;
|
|
19309
19309
|
else if (isFormDataLike(body) || isIterable(body) || isBlobLike(body)) this.body = body;
|
|
19310
|
-
else throw new InvalidArgumentError$
|
|
19310
|
+
else throw new InvalidArgumentError$37("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
|
|
19311
19311
|
this.completed = false;
|
|
19312
19312
|
this.aborted = false;
|
|
19313
19313
|
this.upgrade = upgrade$1 || null;
|
|
@@ -19323,17 +19323,17 @@ var require_request$1 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm
|
|
|
19323
19323
|
this.headers = [];
|
|
19324
19324
|
this.expectContinue = expectContinue != null ? expectContinue : false;
|
|
19325
19325
|
if (Array.isArray(headers)) {
|
|
19326
|
-
if (headers.length % 2 !== 0) throw new InvalidArgumentError$
|
|
19326
|
+
if (headers.length % 2 !== 0) throw new InvalidArgumentError$37("headers array must be even");
|
|
19327
19327
|
for (let i = 0; i < headers.length; i += 2) processHeader(this, headers[i], headers[i + 1]);
|
|
19328
19328
|
} else if (headers && typeof headers === "object") if (hasSafeIterator$2(headers)) for (const header of headers) {
|
|
19329
|
-
if (!Array.isArray(header) || header.length !== 2) throw new InvalidArgumentError$
|
|
19329
|
+
if (!Array.isArray(header) || header.length !== 2) throw new InvalidArgumentError$37("headers must be in key-value pair format");
|
|
19330
19330
|
processHeader(this, header[0], header[1]);
|
|
19331
19331
|
}
|
|
19332
19332
|
else {
|
|
19333
19333
|
const keys = Object.keys(headers);
|
|
19334
19334
|
for (let i = 0; i < keys.length; ++i) processHeader(this, keys[i], headers[keys[i]]);
|
|
19335
19335
|
}
|
|
19336
|
-
else if (headers != null) throw new InvalidArgumentError$
|
|
19336
|
+
else if (headers != null) throw new InvalidArgumentError$37("headers must be an object or an array");
|
|
19337
19337
|
assertRequestHandler(handler, method, upgrade$1);
|
|
19338
19338
|
this.servername = servername || getServerName(this.host) || null;
|
|
19339
19339
|
this[kHandler] = handler;
|
|
@@ -19447,51 +19447,51 @@ var require_request$1 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm
|
|
|
19447
19447
|
}
|
|
19448
19448
|
};
|
|
19449
19449
|
function processHeader(request$1, key, val) {
|
|
19450
|
-
if (val && typeof val === "object" && !Array.isArray(val)) throw new InvalidArgumentError$
|
|
19450
|
+
if (val && typeof val === "object" && !Array.isArray(val)) throw new InvalidArgumentError$37(`invalid ${key} header`);
|
|
19451
19451
|
else if (val === void 0) return;
|
|
19452
19452
|
let headerName = headerNameLowerCasedRecord[key];
|
|
19453
19453
|
if (headerName === void 0) {
|
|
19454
19454
|
headerName = key.toLowerCase();
|
|
19455
|
-
if (headerNameLowerCasedRecord[headerName] === void 0 && !isValidHTTPToken$3(headerName)) throw new InvalidArgumentError$
|
|
19455
|
+
if (headerNameLowerCasedRecord[headerName] === void 0 && !isValidHTTPToken$3(headerName)) throw new InvalidArgumentError$37("invalid header key");
|
|
19456
19456
|
}
|
|
19457
19457
|
if (Array.isArray(val)) {
|
|
19458
19458
|
const arr = [];
|
|
19459
19459
|
for (let i = 0; i < val.length; i++) if (typeof val[i] === "string") {
|
|
19460
|
-
if (!isValidHeaderValue$2(val[i])) throw new InvalidArgumentError$
|
|
19460
|
+
if (!isValidHeaderValue$2(val[i])) throw new InvalidArgumentError$37(`invalid ${key} header`);
|
|
19461
19461
|
arr.push(val[i]);
|
|
19462
19462
|
} else if (val[i] === null) arr.push("");
|
|
19463
|
-
else if (typeof val[i] === "object") throw new InvalidArgumentError$
|
|
19463
|
+
else if (typeof val[i] === "object") throw new InvalidArgumentError$37(`invalid ${key} header`);
|
|
19464
19464
|
else {
|
|
19465
19465
|
const str = `${val[i]}`;
|
|
19466
|
-
if (!isValidHeaderValue$2(str)) throw new InvalidArgumentError$
|
|
19466
|
+
if (!isValidHeaderValue$2(str)) throw new InvalidArgumentError$37(`invalid ${key} header`);
|
|
19467
19467
|
arr.push(str);
|
|
19468
19468
|
}
|
|
19469
19469
|
val = arr;
|
|
19470
19470
|
} else if (typeof val === "string") {
|
|
19471
|
-
if (!isValidHeaderValue$2(val)) throw new InvalidArgumentError$
|
|
19471
|
+
if (!isValidHeaderValue$2(val)) throw new InvalidArgumentError$37(`invalid ${key} header`);
|
|
19472
19472
|
} else if (val === null) val = "";
|
|
19473
19473
|
else {
|
|
19474
19474
|
val = `${val}`;
|
|
19475
|
-
if (!isValidHeaderValue$2(val)) throw new InvalidArgumentError$
|
|
19475
|
+
if (!isValidHeaderValue$2(val)) throw new InvalidArgumentError$37(`invalid ${key} header`);
|
|
19476
19476
|
}
|
|
19477
19477
|
if (headerName === "host") {
|
|
19478
|
-
if (request$1.host !== null) throw new InvalidArgumentError$
|
|
19479
|
-
if (typeof val !== "string") throw new InvalidArgumentError$
|
|
19478
|
+
if (request$1.host !== null) throw new InvalidArgumentError$37("duplicate host header");
|
|
19479
|
+
if (typeof val !== "string") throw new InvalidArgumentError$37("invalid host header");
|
|
19480
19480
|
request$1.host = val;
|
|
19481
19481
|
} else if (headerName === "content-length") {
|
|
19482
|
-
if (request$1.contentLength !== null) throw new InvalidArgumentError$
|
|
19483
|
-
if (!isValidContentLengthHeaderValue(val)) throw new InvalidArgumentError$
|
|
19482
|
+
if (request$1.contentLength !== null) throw new InvalidArgumentError$37("duplicate content-length header");
|
|
19483
|
+
if (!isValidContentLengthHeaderValue(val)) throw new InvalidArgumentError$37("invalid content-length header");
|
|
19484
19484
|
request$1.contentLength = parseInt(val, 10);
|
|
19485
19485
|
} else if (request$1.contentType === null && headerName === "content-type") {
|
|
19486
19486
|
request$1.contentType = val;
|
|
19487
19487
|
request$1.headers.push(key, val);
|
|
19488
|
-
} else if (headerName === "transfer-encoding" || headerName === "keep-alive" || headerName === "upgrade") throw new InvalidArgumentError$
|
|
19488
|
+
} else if (headerName === "transfer-encoding" || headerName === "keep-alive" || headerName === "upgrade") throw new InvalidArgumentError$37(`invalid ${headerName} header`);
|
|
19489
19489
|
else if (headerName === "connection") {
|
|
19490
19490
|
const value = typeof val === "string" ? val : null;
|
|
19491
|
-
if (value === null) throw new InvalidArgumentError$
|
|
19491
|
+
if (value === null) throw new InvalidArgumentError$37("invalid connection header");
|
|
19492
19492
|
for (const token of value.toLowerCase().split(",")) {
|
|
19493
19493
|
const trimmed = token.trim();
|
|
19494
|
-
if (!isValidHTTPToken$3(trimmed)) throw new InvalidArgumentError$
|
|
19494
|
+
if (!isValidHTTPToken$3(trimmed)) throw new InvalidArgumentError$37("invalid connection header");
|
|
19495
19495
|
if (trimmed === "close") request$1.reset = true;
|
|
19496
19496
|
}
|
|
19497
19497
|
} else if (headerName === "expect") throw new NotSupportedError$1("expect header not supported");
|
|
@@ -19501,9 +19501,9 @@ var require_request$1 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm
|
|
|
19501
19501
|
}) });
|
|
19502
19502
|
|
|
19503
19503
|
//#endregion
|
|
19504
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
19505
|
-
var require_wrap_handler = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
19506
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
19504
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/handler/wrap-handler.js
|
|
19505
|
+
var require_wrap_handler = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/handler/wrap-handler.js": ((exports, module) => {
|
|
19506
|
+
const { InvalidArgumentError: InvalidArgumentError$36 } = require_errors();
|
|
19507
19507
|
module.exports = class WrapHandler$4 {
|
|
19508
19508
|
#handler;
|
|
19509
19509
|
constructor(handler) {
|
|
@@ -19556,7 +19556,7 @@ var require_wrap_handler = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.p
|
|
|
19556
19556
|
this.#handler.onComplete?.(rawTrailers);
|
|
19557
19557
|
}
|
|
19558
19558
|
onResponseError(controller, err) {
|
|
19559
|
-
if (!this.#handler.onError) throw new InvalidArgumentError$
|
|
19559
|
+
if (!this.#handler.onError) throw new InvalidArgumentError$36("invalid onError method");
|
|
19560
19560
|
this.#handler.onError?.(err);
|
|
19561
19561
|
}
|
|
19562
19562
|
};
|
|
@@ -19566,8 +19566,8 @@ var require_wrap_handler = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.p
|
|
|
19566
19566
|
}) });
|
|
19567
19567
|
|
|
19568
19568
|
//#endregion
|
|
19569
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
19570
|
-
var require_dispatcher = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
19569
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/dispatcher.js
|
|
19570
|
+
var require_dispatcher = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/dispatcher.js": ((exports, module) => {
|
|
19571
19571
|
const EventEmitter$5 = __require$1("node:events");
|
|
19572
19572
|
const WrapHandler$3 = require_wrap_handler();
|
|
19573
19573
|
const wrapInterceptor = (dispatch) => (opts, handler) => dispatch(opts, WrapHandler$3.wrap(handler));
|
|
@@ -19598,10 +19598,10 @@ var require_dispatcher = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnp
|
|
|
19598
19598
|
}) });
|
|
19599
19599
|
|
|
19600
19600
|
//#endregion
|
|
19601
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
19602
|
-
var require_unwrap_handler = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
19601
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/handler/unwrap-handler.js
|
|
19602
|
+
var require_unwrap_handler = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/handler/unwrap-handler.js": ((exports, module) => {
|
|
19603
19603
|
const { parseHeaders } = require_util$5();
|
|
19604
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
19604
|
+
const { InvalidArgumentError: InvalidArgumentError$35 } = require_errors();
|
|
19605
19605
|
const kResume$4 = Symbol("resume");
|
|
19606
19606
|
var UnwrapController = class {
|
|
19607
19607
|
#paused = false;
|
|
@@ -19675,18 +19675,18 @@ var require_unwrap_handler = /* @__PURE__ */ __commonJS$2({ "../../node_modules/
|
|
|
19675
19675
|
this.#handler.onResponseEnd?.(this.#controller, parseHeaders(rawTrailers));
|
|
19676
19676
|
}
|
|
19677
19677
|
onError(err) {
|
|
19678
|
-
if (!this.#handler.onResponseError) throw new InvalidArgumentError$
|
|
19678
|
+
if (!this.#handler.onResponseError) throw new InvalidArgumentError$35("invalid onError method");
|
|
19679
19679
|
this.#handler.onResponseError?.(this.#controller, err);
|
|
19680
19680
|
}
|
|
19681
19681
|
};
|
|
19682
19682
|
}) });
|
|
19683
19683
|
|
|
19684
19684
|
//#endregion
|
|
19685
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
19686
|
-
var require_dispatcher_base = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
19685
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/dispatcher-base.js
|
|
19686
|
+
var require_dispatcher_base = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/dispatcher-base.js": ((exports, module) => {
|
|
19687
19687
|
const Dispatcher$3 = require_dispatcher();
|
|
19688
19688
|
const UnwrapHandler = require_unwrap_handler();
|
|
19689
|
-
const { ClientDestroyedError: ClientDestroyedError$1, ClientClosedError, InvalidArgumentError: InvalidArgumentError$
|
|
19689
|
+
const { ClientDestroyedError: ClientDestroyedError$1, ClientClosedError, InvalidArgumentError: InvalidArgumentError$34 } = require_errors();
|
|
19690
19690
|
const { kDestroy: kDestroy$6, kClose: kClose$8, kClosed: kClosed$3, kDestroyed: kDestroyed$1, kDispatch: kDispatch$6 } = require_symbols();
|
|
19691
19691
|
const kOnDestroyed = Symbol("onDestroyed");
|
|
19692
19692
|
const kOnClosed = Symbol("onClosed");
|
|
@@ -19730,7 +19730,7 @@ var require_dispatcher_base = /* @__PURE__ */ __commonJS$2({ "../../node_modules
|
|
|
19730
19730
|
return err ? reject(err) : resolve$3(data);
|
|
19731
19731
|
});
|
|
19732
19732
|
});
|
|
19733
|
-
if (typeof callback !== "function") throw new InvalidArgumentError$
|
|
19733
|
+
if (typeof callback !== "function") throw new InvalidArgumentError$34("invalid callback");
|
|
19734
19734
|
if (this[kDestroyed$1]) {
|
|
19735
19735
|
const err = new ClientDestroyedError$1();
|
|
19736
19736
|
queueMicrotask(() => callback(err, null));
|
|
@@ -19761,7 +19761,7 @@ var require_dispatcher_base = /* @__PURE__ */ __commonJS$2({ "../../node_modules
|
|
|
19761
19761
|
return err$1 ? reject(err$1) : resolve$3(data);
|
|
19762
19762
|
});
|
|
19763
19763
|
});
|
|
19764
|
-
if (typeof callback !== "function") throw new InvalidArgumentError$
|
|
19764
|
+
if (typeof callback !== "function") throw new InvalidArgumentError$34("invalid callback");
|
|
19765
19765
|
if (this[kDestroyed$1]) {
|
|
19766
19766
|
if (this[kOnDestroyed]) this[kOnDestroyed].push(callback);
|
|
19767
19767
|
else queueMicrotask(() => callback(null, null));
|
|
@@ -19779,10 +19779,10 @@ var require_dispatcher_base = /* @__PURE__ */ __commonJS$2({ "../../node_modules
|
|
|
19779
19779
|
this[kDestroy$6](err).then(() => queueMicrotask(onDestroyed));
|
|
19780
19780
|
}
|
|
19781
19781
|
dispatch(opts, handler) {
|
|
19782
|
-
if (!handler || typeof handler !== "object") throw new InvalidArgumentError$
|
|
19782
|
+
if (!handler || typeof handler !== "object") throw new InvalidArgumentError$34("handler must be an object");
|
|
19783
19783
|
handler = UnwrapHandler.unwrap(handler);
|
|
19784
19784
|
try {
|
|
19785
|
-
if (!opts || typeof opts !== "object") throw new InvalidArgumentError$
|
|
19785
|
+
if (!opts || typeof opts !== "object") throw new InvalidArgumentError$34("opts must be an object.");
|
|
19786
19786
|
if (this[kDestroyed$1] || this[kOnDestroyed]) throw new ClientDestroyedError$1();
|
|
19787
19787
|
if (this[kClosed$3]) throw new ClientClosedError();
|
|
19788
19788
|
return this[kDispatch$6](opts, handler);
|
|
@@ -19797,12 +19797,12 @@ var require_dispatcher_base = /* @__PURE__ */ __commonJS$2({ "../../node_modules
|
|
|
19797
19797
|
}) });
|
|
19798
19798
|
|
|
19799
19799
|
//#endregion
|
|
19800
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
19801
|
-
var require_connect = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
19800
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/core/connect.js
|
|
19801
|
+
var require_connect = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/core/connect.js": ((exports, module) => {
|
|
19802
19802
|
const net$4 = __require$1("node:net");
|
|
19803
19803
|
const assert$32 = __require$1("node:assert");
|
|
19804
19804
|
const util$23 = require_util$5();
|
|
19805
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
19805
|
+
const { InvalidArgumentError: InvalidArgumentError$33 } = require_errors();
|
|
19806
19806
|
let tls$2;
|
|
19807
19807
|
const SessionCache = class WeakSessionCache {
|
|
19808
19808
|
constructor(maxCachedSessions) {
|
|
@@ -19834,7 +19834,7 @@ var require_connect = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/u
|
|
|
19834
19834
|
}
|
|
19835
19835
|
};
|
|
19836
19836
|
function buildConnector$6({ allowH2, useH2c, maxCachedSessions, socketPath, timeout: timeout$1, session: customSession,...opts }) {
|
|
19837
|
-
if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) throw new InvalidArgumentError$
|
|
19837
|
+
if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) throw new InvalidArgumentError$33("maxCachedSessions must be a positive integer or zero");
|
|
19838
19838
|
const options = {
|
|
19839
19839
|
path: socketPath,
|
|
19840
19840
|
...opts
|
|
@@ -19908,8 +19908,8 @@ var require_connect = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/u
|
|
|
19908
19908
|
}) });
|
|
19909
19909
|
|
|
19910
19910
|
//#endregion
|
|
19911
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
19912
|
-
var require_utils$1 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
19911
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/llhttp/utils.js
|
|
19912
|
+
var require_utils$1 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/llhttp/utils.js": ((exports) => {
|
|
19913
19913
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19914
19914
|
exports.enumToMap = enumToMap;
|
|
19915
19915
|
function enumToMap(obj, filter = [], exceptions = []) {
|
|
@@ -19922,8 +19922,8 @@ var require_utils$1 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/u
|
|
|
19922
19922
|
}) });
|
|
19923
19923
|
|
|
19924
19924
|
//#endregion
|
|
19925
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
19926
|
-
var require_constants$5 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
19925
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/llhttp/constants.js
|
|
19926
|
+
var require_constants$5 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/llhttp/constants.js": ((exports) => {
|
|
19927
19927
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19928
19928
|
exports.SPECIAL_HEADERS = exports.MINOR = exports.MAJOR = exports.HTAB_SP_VCHAR_OBS_TEXT = exports.QUOTED_STRING = exports.CONNECTION_TOKEN_CHARS = exports.HEADER_CHARS = exports.TOKEN = exports.HEX = exports.URL_CHAR = exports.USERINFO_CHARS = exports.MARK = exports.ALPHANUM = exports.NUM = exports.HEX_MAP = exports.NUM_MAP = exports.ALPHA = exports.STATUSES_HTTP = exports.H_METHOD_MAP = exports.METHOD_MAP = exports.METHODS_RTSP = exports.METHODS_ICE = exports.METHODS_HTTP = exports.HEADER_STATE = exports.FINISH = exports.STATUSES = exports.METHODS = exports.LENIENT_FLAGS = exports.FLAGS = exports.TYPE = exports.ERROR = void 0;
|
|
19929
19929
|
const utils_1 = require_utils$1();
|
|
@@ -20509,8 +20509,8 @@ var require_constants$5 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pn
|
|
|
20509
20509
|
}) });
|
|
20510
20510
|
|
|
20511
20511
|
//#endregion
|
|
20512
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
20513
|
-
var require_llhttp_wasm = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
20512
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/llhttp/llhttp-wasm.js
|
|
20513
|
+
var require_llhttp_wasm = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/llhttp/llhttp-wasm.js": ((exports, module) => {
|
|
20514
20514
|
const { Buffer: Buffer$4 } = __require$1("node:buffer");
|
|
20515
20515
|
const wasmBase64$1 = "AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAn9/AGABfwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAzU0BQYAAAMAAAAAAAADAQMAAwMDAAACAAAAAAICAgICAgICAgIBAQEBAQEBAQEBAwAAAwAAAAQFAXABExMFAwEAAgYIAX8BQcDZBAsHxQcoBm1lbW9yeQIAC19pbml0aWFsaXplAAgZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEAC2xsaHR0cF9pbml0AAkYbGxodHRwX3Nob3VsZF9rZWVwX2FsaXZlADcMbGxodHRwX2FsbG9jAAsGbWFsbG9jADkLbGxodHRwX2ZyZWUADARmcmVlAAwPbGxodHRwX2dldF90eXBlAA0VbGxodHRwX2dldF9odHRwX21ham9yAA4VbGxodHRwX2dldF9odHRwX21pbm9yAA8RbGxodHRwX2dldF9tZXRob2QAEBZsbGh0dHBfZ2V0X3N0YXR1c19jb2RlABESbGxodHRwX2dldF91cGdyYWRlABIMbGxodHRwX3Jlc2V0ABMObGxodHRwX2V4ZWN1dGUAFBRsbGh0dHBfc2V0dGluZ3NfaW5pdAAVDWxsaHR0cF9maW5pc2gAFgxsbGh0dHBfcGF1c2UAFw1sbGh0dHBfcmVzdW1lABgbbGxodHRwX3Jlc3VtZV9hZnRlcl91cGdyYWRlABkQbGxodHRwX2dldF9lcnJubwAaF2xsaHR0cF9nZXRfZXJyb3JfcmVhc29uABsXbGxodHRwX3NldF9lcnJvcl9yZWFzb24AHBRsbGh0dHBfZ2V0X2Vycm9yX3BvcwAdEWxsaHR0cF9lcnJub19uYW1lAB4SbGxodHRwX21ldGhvZF9uYW1lAB8SbGxodHRwX3N0YXR1c19uYW1lACAabGxodHRw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AXRrQT5qIQILIAEgAjYCHCABQgA3AhAgAkECdEH01wBqIQACQEHI1QAoAgAiA0EBIAJ0IgdxRQRAIAAgATYCAEHI1QAgAyAHcjYCACABIAA2AhggASABNgIIIAEgATYCDAwBCyAEQRkgAkEBdmtBACACQR9HG3QhAiAAKAIAIQACQANAIAAiAygCBEF4cSAERg0BIAJBHXYhACACQQF0IQIgAyAAQQRxakEQaiIHKAIAIgANAAsgByABNgIAIAEgAzYCGCABIAE2AgwgASABNgIIDAELIAMoAggiACABNgIMIAMgATYCCCABQQA2AhggASADNgIMIAEgADYCCAtB5NUAQeTVACgCAEEBayIAQX8gABs2AgALCwcAIAAtACgLBwAgAC0AKgsHACAALQArCwcAIAAtACkLBwAgAC8BNAsHACAALQAwC0ABBH8gACgCGCEBIAAvAS4hAiAALQAoIQMgACgCOCEEIAAQOCAAIAQ2AjggACADOgAoIAAgAjsBLiAAIAE2AhgL5YUCAgd/A34gASACaiEEAkAgACIDKAIMIgANACADKAIEBEAgAyABNgIECyMAQRBrIgkkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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C0HjAQwHC0HXAQwGC0HYAQwFC0HZAQwEC0HaAQwDC0HbAQwCC0HdAQwBC0HcAQshAgNAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJ/AkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAg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ogKiAqICogKiAqICogKiAqICogKiAqICogIAogILIAQgAUEBaiIBRw0AC0HJACECDOwCCyABQQFqIQEgA0Evai0AAEEBcQ2lAiADQQA2AhwgAyABNgIUIANBlxA2AhAgA0EKNgIMQQAhAgzrAgsgASAERwRAA0AgAS0AAEEgRw0VIAQgAUEBaiIBRw0AC0H4ACECDOsCC0H4ACECDOoCCyADQQI6ACgMOAtBACECIANBADYCHCADQb8LNgIQIANBAjYCDCADIAFBAWo2AhQM6AILQQAhAgzOAgtBDSECDM0CC0ETIQIMzAILQRUhAgzLAgtBFiECDMoCC0EYIQIMyQILQRkhAgzIAgtBGiECDMcCC0EbIQIMxgILQRwhAgzFAgtBHSECDMQCC0EeIQIMwwILQR8hAgzCAgtBICECDMECC0EiIQIMwAILQSMhAgy/AgtBJSECDL4CC0HlACECDL0CCyADQT02AhwgAyABNgIUIAMgADYCDEEAIQIM1QILIANBGzYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDNQCCyADQSA2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzTAgsgA0ETNgIcIAMgATYCFCADQZgaNgIQIANBFTYCDEEAIQIM0gILIANBCzYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNECCyADQRA2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzQAgsgA0EgNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIMzwILIANBCzYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDM4CCyADQQw2AhwgAyABNgIUIANBpBw2AhAgA0EVNgIMQQAhAgzNAgtBACECIANBADYCHCADIAE2AhQgA0HdDjYCECADQRI2AgwMzAILAkADQAJAIAEtAABBCmsOBAACAgACCyAEIAFBAWoiAUcNAAtB/QEhAgzMAgsCQAJAIAMtADZBAUcNAEEAIQACQCADKAI4IgJFDQAgAigCYCICRQ0AIAMgAhEAACEACyAARQ0AIABBFUcNASADQfwBNgIcIAMgATYCFCADQdwZNgIQIANBFTYCDEEAIQIMzQILQdwBIQIMswILIANBADYCHCADIAE2AhQgA0H5CzYCECADQR82AgxBACECDMsCCwJAAkAgAy0AKEEBaw4CBAEAC0HbASECDLICC0HUASECDLECCyADQQI6ADFBACEAAkAgAygCOCICRQ0AIAIoAgAiAkUNACADIAIRAAAhAAsgAEUEQEHdASECDLECCyAAQRVHBEAgA0EANgIcIAMgATYCFCADQbQMNgIQIANBEDYCDEEAIQIMygILIANB+wE2AhwgAyABNgIUIANBgRo2AhAgA0EVNgIMQQAhAgzJAgsgASAERgRAQfoBIQIMyQILIAEtAABByABGDQEgA0EBOgAoC0HAASECDK4CC0HaASECDK0CCyABIARHBEAgA0EMNgIIIAMgATYCBEHZASECDK0CC0H5ASECDMUCCyABIARGBEBB+AEhAgzFAgsgAS0AAEHIAEcNBCABQQFqIQFB2AEhAgyrAgsgASAERgRAQfcBIQIMxAILAkACQCABLQAAQcUAaw4QAAUFBQUFBQUFBQUFBQUFAQULIAFBAWohAUHWASECDKsCCyABQQFqIQFB1wEhAgyqAgtB9gEhAiABIARGDcICIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbrVAGotAABHDQMgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADMMCCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQLiIARQRAQeMBIQIMqgILIANB9QE2AhwgAyABNgIUIAMgADYCDEEAIQIMwgILQfQBIQIgASAERg3BAiADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEG41QBqLQAARw0CIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzCAgsgA0GBBDsBKCADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQLiIADQMMAgsgA0EANgIAC0EAIQIgA0EANgIcIAMgATYCFCADQeUfNgIQIANBCDYCDAy/AgtB1QEhAgylAgsgA0HzATYCHCADIAE2AhQgAyAANgIMQQAhAgy9AgtBACEAAkAgAygCOCICRQ0AIAIoAkAiAkUNACADIAIRAAAhAAsgAEUNbiAAQRVHBEAgA0EANgIcIAMgATYCFCADQYIPNgIQIANBIDYCDEEAIQIMvQILIANBjwE2AhwgAyABNgIUIANB7Bs2AhAgA0EVNgIMQQAhAgy8AgsgASAERwRAIANBDTYCCCADIAE2AgRB0wEhAgyjAgtB8gEhAgy7AgsgASAERgRAQfEBIQIMuwILAkACQAJAIAEtAABByABrDgsAAQgICAgICAgIAggLIAFBAWohAUHQASECDKMCCyABQQFqIQFB0QEhAgyiAgsgAUEBaiEBQdIBIQIMoQILQfABIQIgASAERg25AiADKAIAIgAgBCABa2ohBiABIABrQQJqIQUDQCABLQAAIABBtdUAai0AAEcNBCAAQQJGDQMgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMuQILQe8BIQIgASAERg24AiADKAIAIgAgBCABa2ohBiABIABrQQFqIQUDQCABLQAAIABBs9UAai0AAEcNAyAAQQFGDQIgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMuAILQe4BIQIgASAERg23AiADKAIAIgAgBCABa2ohBiABIABrQQJqIQUDQCABLQAAIABBsNUAai0AAEcNAiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMtwILIAMoAgQhACADQgA3AwAgAyAAIAVBAWoiARArIgBFDQIgA0HsATYCHCADIAE2AhQgAyAANgIMQQAhAgy2AgsgA0EANgIACyADKAIEIQAgA0EANgIEIAMgACABECsiAEUNnAIgA0HtATYCHCADIAE2AhQgAyAANgIMQQAhAgy0AgtBzwEhAgyaAgtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDLQCC0HOASECDJoCCyADQesBNgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMsgILIAEgBEYEQEHrASECDLICCyABLQAAQS9GBEAgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GyODYCECADQQg2AgxBACECDLECC0HNASECDJcCCyABIARHBEAgA0EONgIIIAMgATYCBEHMASECDJcCC0HqASECDK8CCyABIARGBEBB6QEhAgyvAgsgAS0AAEEwayIAQf8BcUEKSQRAIAMgADoAKiABQQFqIQFBywEhAgyWAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZcCIANB6AE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILIAEgBEYEQEHnASECDK4CCwJAIAEtAABBLkYEQCABQQFqIQEMAQsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZgCIANB5gE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILQcoBIQIMlAILIAEgBEYEQEHlASECDK0CC0EAIQBBASEFQQEhB0EAIQICQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQCABLQAAQTBrDgoKCQABAgMEBQYICwtBAgwGC0EDDAULQQQMBAtBBQwDC0EGDAILQQcMAQtBCAshAkEAIQVBACEHDAILQQkhAkEBIQBBACEFQQAhBwwBC0EAIQVBASECCyADIAI6ACsgAUEBaiEBAkACQCADLQAuQRBxDQACQAJAAkAgAy0AKg4DAQACBAsgB0UNAwwCCyAADQEMAgsgBUUNAQsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDQIgA0HiATYCHCADIAE2AhQgAyAANgIMQQAhAgyvAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZoCIANB4wE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ2YAiADQeQBNgIcIAMgATYCFCADIAA2AgwMrQILQckBIQIMkwILQQAhAAJAIAMoAjgiAkUNACACKAJEIgJFDQAgAyACEQAAIQALAkAgAARAIABBFUYNASADQQA2AhwgAyABNgIUIANBpA02AhAgA0EhNgIMQQAhAgytAgtByAEhAgyTAgsgA0HhATYCHCADIAE2AhQgA0HQGjYCECADQRU2AgxBACECDKsCCyABIARGBEBB4QEhAgyrAgsCQCABLQAAQSBGBEAgA0EAOwE0IAFBAWohAQwBCyADQQA2AhwgAyABNgIUIANBmRE2AhAgA0EJNgIMQQAhAgyrAgtBxwEhAgyRAgsgASAERgRAQeABIQIMqgILAkAgAS0AAEEwa0H/AXEiAkEKSQRAIAFBAWohAQJAIAMvATQiAEGZM0sNACADIABBCmwiADsBNCAAQf7/A3EgAkH//wNzSw0AIAMgACACajsBNAwCC0EAIQIgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDAyrAgsgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDEEAIQIMqgILQcYBIQIMkAILIAEgBEYEQEHfASECDKkCCwJAIAEtAABBMGtB/wFxIgJBCkkEQCABQQFqIQECQCADLwE0IgBBmTNLDQAgAyAAQQpsIgA7ATQgAEH+/wNxIAJB//8Dc0sNACADIAAgAmo7ATQMAgtBACECIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgwMqgILIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgxBACECDKkCC0HFASECDI8CCyABIARGBEBB3gEhAgyoAgsCQCABLQAAQTBrQf8BcSICQQpJBEAgAUEBaiEBAkAgAy8BNCIAQZkzSw0AIAMgAEEKbCIAOwE0IABB/v8DcSACQf//A3NLDQAgAyAAIAJqOwE0DAILQQAhAiADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMDKkCCyADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMQQAhAgyoAgtBxAEhAgyOAgsgASAERgRAQd0BIQIMpwILAkACQAJAAkAgAS0AAEEKaw4XAgMDAAMDAwMDAwMDAwMDAwMDAwMDAwEDCyABQQFqDAULIAFBAWohAUHDASECDI8CCyABQQFqIQEgA0Evai0AAEEBcQ0IIANBADYCHCADIAE2AhQgA0GNCzYCECADQQ02AgxBACECDKcCCyADQQA2AhwgAyABNgIUIANBjQs2AhAgA0ENNgIMQQAhAgymAgsgASAERwRAIANBDzYCCCADIAE2AgRBASECDI0CC0HcASECDKUCCwJAAkADQAJAIAEtAABBCmsOBAIAAAMACyAEIAFBAWoiAUcNAAtB2wEhAgymAgsgAygCBCEAIANBADYCBCADIAAgARAtIgBFBEAgAUEBaiEBDAQLIANB2gE2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMpQILIAMoAgQhACADQQA2AgQgAyAAIAEQLSIADQEgAUEBagshAUHBASECDIoCCyADQdkBNgIcIAMgADYCDCADIAFBAWo2AhRBACECDKICC0HCASECDIgCCyADQS9qLQAAQQFxDQEgA0EANgIcIAMgATYCFCADQeQcNgIQIANBGTYCDEEAIQIMoAILIAEgBEYEQEHZASEC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IAFBAWohAUGeASECDOQBCyABQQFqIQFBnwEhAgzjAQtBtwEhAiABIARGDfsBIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQezUAGotAABHDSggAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPwBCyADQQA2AgAgBkEBaiEBQQ0MKAtBtgEhAiABIARGDfoBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQaHVAGotAABHDScgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPsBCyADQQA2AgAgBkEBaiEBQQwMJwtBtQEhAiABIARGDfkBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQerUAGotAABHDSYgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPoBCyADQQA2AgAgBkEBaiEBQQMMJgtBtAEhAiABIARGDfgBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQejUAGotAABHDSUgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPkBCyADQQA2AgAgBkEBaiEBQSYMJQsgASAERgRAQbMBIQIM+AELAkACQCABLQAAQdQAaw4CAAEnCyABQQFqIQFBmQEhAgzfAQsgAUEBaiEBQZoBIQIM3gELQbIBIQIgASAERg32ASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHm1ABqLQAARw0jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz3AQsgA0EANgIAIAZBAWohAUEnDCMLQbEBIQIgASAERg31ASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHk1ABqLQAARw0iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz2AQsgA0EANgIAIAZBAWohAUEcDCILQbABIQIgASAERg30ASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHe1ABqLQAARw0hIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz1AQsgA0EANgIAIAZBAWohAUEGDCELQa8BIQIgASAERg3zASADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEHZ1ABqLQAARw0gIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz0AQsgA0EANgIAIAZBAWohAUEZDCALIAEgBEYEQEGuASECDPMBCwJAAkACQAJAIAEtAABBLWsOIwAkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJAEkJCQkJAIkJCQDJAsgAUEBaiEBQY4BIQIM3AELIAFBAWohAUGPASECDNsBCyABQQFqIQFBlAEhAgzaAQsgAUEBaiEBQZUBIQIM2QELQa0BIQIgASAERg3xASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHX1ABqLQAARw0eIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzyAQsgA0EANgIAIAZBAWohAUELDB4LIAEgBEYEQEGsASECDPEBCwJAAkAgAS0AAEHBAGsOAwAgASALIAFBAWohAUGQASECDNgBCyABQQFqIQFBkwEhAgzXAQsgASAERgRAQasBIQIM8AELAkACQCABLQAAQcEAaw4PAB8fHx8fHx8fHx8fHx8BHwsgAUEBaiEBQZEBIQIM1wELIAFBAWohAUGSASECDNYBCyABIARGBEBBqgEhAgzvAQsgAS0AAEHMAEcNHCABQQFqIQFBCgwbC0GpASECIAEgBEYN7QEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABB0dQAai0AAEcNGiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7gELIANBADYCACAGQQFqIQFBHgwaC0GoASECIAEgBEYN7AEgAygCACIAIAQgAWtqIQUgASAAa0EGaiEGAkADQCABLQAAIABBytQAai0AAEcNGSAAQQZGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7QELIANBADYCACAGQQFqIQFBFQwZC0GnASECIAEgBEYN6wEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBx9QAai0AAEcNGCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7AELIANBADYCACAGQQFqIQFBFwwYC0GmASECIAEgBEYN6gEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBwdQAai0AAEcNFyAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6wELIANBADYCACAGQQFqIQFBGAwXCyABIARGBEBBpQEhAgzqAQsCQAJAIAEtAABByQBrDgcAGRkZGRkBGQsgAUEBaiEBQYsBIQIM0QELIAFBAWohAUGMASECDNABC0GkASECIAEgBEYN6AEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBptUAai0AAEcNFSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6QELIANBADYCACAGQQFqIQFBCQwVC0GjASECIAEgBEYN5wEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBpNUAai0AAEcNFCAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6AELIANBADYCACAGQQFqIQFBHwwUC0GiASECIAEgBEYN5gEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBvtQAai0AAEcNEyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM5wELIANBADYCACAGQQFqIQFBAgwTC0GhASECIAEgBEYN5QEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGA0AgAS0AACAAQbzUAGotAABHDREgAEEBRg0CIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADOUBCyABIARGBEBBoAEhAgzlAQtBASABLQAAQd8ARw0RGiABQQFqIQFBhwEhAgzLAQsgA0EANgIAIAZBAWohAUGIASECDMoBC0GfASECIAEgBEYN4gEgAygCACIAIAQgAWtqIQUgASAAa0EIaiEGAkADQCABLQAAIABBhNUAai0AAEcNDyAAQQhGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM4wELIANBADYCACAGQQFqIQFBKQwPC0GeASECIAEgBEYN4QEgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBuNQAai0AAEcNDiAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM4gELIANBADYCACAGQQFqIQFBLQwOCyABIARGBEBBnQEhAgzhAQsgAS0AAEHFAEcNDiABQQFqIQFBhAEhAgzHAQsgASAERgRAQZwBIQIM4AELAkACQCABLQAAQcwAaw4IAA8PDw8PDwEPCyABQQFqIQFBggEhAgzHAQsgAUEBaiEBQYMBIQIMxgELQZsBIQIgASAERg3eASADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEGz1ABqLQAARw0LIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzfAQsgA0EANgIAIAZBAWohAUEjDAsLQZoBIQIgASAERg3dASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGw1ABqLQAARw0KIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzeAQsgA0EANgIAIAZBAWohAUEADAoLIAEgBEYEQEGZASECDN0BCwJAAkAgAS0AAEHIAGsOCAAMDAwMDAwBDAsgAUEBaiEBQf0AIQIMxAELIAFBAWohAUGAASECDMMBCyABIARGBEBBmAEhAgzcAQsCQAJAIAEtAABBzgBrDgMACwELCyABQQFqIQFB/gAhAgzDAQsgAUEBaiEBQf8AIQIMwgELIAEgBEYEQEGXASECDNsBCyABLQAAQdkARw0IIAFBAWohAUEIDAcLQZYBIQIgASAERg3ZASADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEGs1ABqLQAARw0GIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzaAQsgA0EANgIAIAZBAWohAUEFDAYLQZUBIQIgASAERg3YASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGm1ABqLQAARw0FIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzZAQsgA0EANgIAIAZBAWohAUEWDAULQZQBIQIgASAERg3XASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGh1QBqLQAARw0EIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzYAQsgA0EANgIAIAZBAWohAUEQDAQLIAEgBEYEQEGTASECDNcBCwJAAkAgAS0AAEHDAGsODAAGBgYGBgYGBgYGAQYLIAFBAWohAUH5ACECDL4BCyABQQFqIQFB+gAhAgy9AQtBkgEhAiABIARGDdUBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQaDUAGotAABHDQIgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNYBCyADQQA2AgAgBkEBaiEBQSQMAgsgA0EANgIADAILIAEgBEYEQEGRASECDNQBCyABLQAAQcwARw0BIAFBAWohAUETCzoAKSADKAIEIQAgA0EANgIEIAMgACABEC4iAA0CDAELQQAhAiADQQA2AhwgAyABNgIUIANB/h82AhAgA0EGNgIMDNEBC0H4ACECDLcBCyADQZABNgIcIAMgATYCFCADIAA2AgxBACECDM8BC0EAIQACQCADKAI4IgJFDQAgAigCQCICRQ0AIAMgAhEAACEACyAARQ0AIABBFUYNASADQQA2AhwgAyABNgIUIANBgg82AhAgA0EgNgIMQQAhAgzOAQtB9wAhAgy0AQsgA0GPATYCHCADIAE2AhQgA0HsGzYCECADQRU2AgxBACECDMwBCyABIARGBEBBjwEhAgzMAQsCQCABLQAAQSBGBEAgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GbHzYCECADQQY2AgxBACECDMwBC0ECIQIMsgELA0AgAS0AAEEgRw0CIAQgAUEBaiIBRw0AC0GOASECDMoBCyABIARGBEBBjQEhAgzKAQsCQCABLQAAQQlrDgRKAABKAAtB9QAhAgywAQsgAy0AKUEFRgRAQfYAIQIMsAELQfQAIQIMrwELIAEgBEYEQEGMASECDMgBCyADQRA2AgggAyABNgIEDAoLIAEgBEYEQEGLASECDMcBCwJAIAEtAABBCWsOBEcAAEcAC0HzACECDK0BCyABIARHBEAgA0EQNgIIIAMgATYCBEHxACECDK0BC0GKASECDMUBCwJAIAEgBEcEQANAIAEtAABBoNAAai0AACIAQQNHBEACQCAAQQFrDgJJAAQLQfAAIQIMrwELIAQgAUEBaiIBRw0AC0GIASEC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BCABQQFqIgFHDQALQfsAIQIMpwELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB2wA2AhwgAyABNgIUIAMgADYCDEEAIQIMpgELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB3QA2AhwgAyABNgIUIAMgADYCDEEAIQIMpQELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB+gA2AhwgAyABNgIUIAMgADYCDEEAIQIMpAELIANBADYCHCADIAE2AhQgA0G8CjYCECADQQc2AgxBACECDKMBC0HPACECDIkBC0HRACECDIgBC0HnACECDIcBCyABIARGBEBB+gAhAgygAQsCQCABLQAAQQlrDgQgAAAgAAsgAUEBaiEBQeYAIQIMhgELIAEgBEYEQEH5ACECDJ8BCwJAIAEtAABBCWsOBB8AAB8AC0EAIQACQCADKAI4IgJFDQAgAigCOCICRQ0AIAMgAhEAACEACyAARQRAQeIBIQIMhgELIABBFUcEQCADQQA2AhwgAyABNgIUIANByQ02AhAgA0EaNgIMQQAhAgyfAQsgA0H4ADYCHCADIAE2AhQgA0HqGjYCECADQRU2AgxBACECDJ4BCyABIARHBEAgA0ENNgIIIAMgATYCBEHkACECDIUBC0H3ACECDJ0BCyABIARGBEBB9gAhAgydAQsCQAJAAkAgAS0AAEHIAGsOCwABCwsLCwsLCwsCCwsgAUEBaiEBQd0AIQIMhQELIAFBAWohAUHgACECDIQBCyABQQFqIQFB4wAhAgyDAQtB9QAhAiABIARGDZsBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbXVAGotAABHDQggAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJwBCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQKyIABEAgA0H0ADYCHCADIAE2AhQgAyAANgIMQQAhAgycAQtB4gAhAgyCAQtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJwBC0HhACECDIIBCyADQfMANgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMmgELIAMtACkiAEEja0ELSQ0JAkAgAEEGSw0AQQEgAHRBygBxRQ0ADAoLQQAhAiADQQA2AhwgAyABNgIUIANB7Qk2AhAgA0EINgIMDJkBC0HyACECIAEgBEYNmAEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBs9UAai0AAEcNBSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMmQELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgAEQCADQfEANgIcIAMgATYCFCADIAA2AgxBACECDJkBC0HfACECDH8LQQAhAAJAIAMoAjgiAkUNACACKAI0IgJFDQAgAyACEQAAIQALAkAgAARAIABBFUYNASADQQA2AhwgAyABNgIUIANB6g02AhAgA0EmNgIMQQAhAgyZAQtB3gAhAgx/CyADQfAANgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMlwELIAMtAClBIUYNBiADQQA2AhwgAyABNgIUIANBkQo2AhAgA0EINgIMQQAhAgyWAQtB7wAhAiABIARGDZUBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbDVAGotAABHDQIgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJYBCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQKyIARQ0CIANB7QA2AhwgAyABNgIUIAMgADYCDEEAIQIMlQELIANBADYCAAsgAygCBCEAIANBADYCBCADIAAgARArIgBFDYABIANB7gA2AhwgAyABNgIUIAMgADYCDEEAIQIMkwELQdwAIQIMeQtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJMBC0HbACECDHkLIANB7AA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyRAQsgAy0AKSIAQSNJDQAgAEEuRg0AIANBADYCHCADIAE2AhQgA0HJCTYCECADQQg2AgxBACECDJABC0HaACECDHYLIAEgBEYEQEHrACECDI8BCwJAIAEtAABBL0YEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQbI4NgIQIANBCDYCDEEAIQIMjwELQdkAIQIMdQsgASAERwRAIANBDjYCCCADIAE2AgRB2AAhAgx1C0HqACECDI0BCyABIARGBEBB6QAhAgyNAQsgAS0AAEEwayIAQf8BcUEKSQRAIAMgADoAKiABQQFqIQFB1wAhAgx0CyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNeiADQegANgIcIAMgATYCFCADIAA2AgxBACECDIwBCyABIARGBEBB5wAhAgyMAQsCQCABLQAAQS5GBEAgAUEBaiEBDAELIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ17IANB5gA2AhwgAyABNgIUIAMgADYCDEEAIQIMjAELQdYAIQIMcgsgASAERgRAQeUAIQIMiwELQQAhAEEBIQVBASEHQQAhAgJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAEtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyECQQAhBUEAIQcMAgtBCSECQQEhAEEAIQVBACEHDAELQQAhBUEBIQILIAMgAjoAKyABQQFqIQECQAJAIAMtAC5BEHENAAJAAkACQCADLQAqDgMBAAIECyAHRQ0DDAILIAANAQwCCyAFRQ0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNAiADQeIANgIcIAMgATYCFCADIAA2AgxBACECDI0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNfSADQeMANgIcIAMgATYCFCADIAA2AgxBACECDIwBCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNeyADQeQANgIcIAMgATYCFCADIAA2AgwMiwELQdQAIQIMcQsgAy0AKUEiRg2GAUHTACECDHALQQAhAAJAIAMoAjgiAkUNACACKAJEIgJFDQAgAyACEQAAIQALIABFBEBB1QAhAgxwCyAAQRVHBEAgA0EANgIcIAMgATYCFCADQaQNNgIQIANBITYCDEEAIQIMiQELIANB4QA2AhwgAyABNgIUIANB0Bo2AhAgA0EVNgIMQQAhAgyIAQsgASAERgRAQeAAIQIMiAELAkACQAJAAkACQCABLQAAQQprDgQBBAQABAsgAUEBaiEBDAELIAFBAWohASADQS9qLQAAQQFxRQ0BC0HSACECDHALIANBADYCHCADIAE2AhQgA0G2ETYCECADQQk2AgxBACECDIgBCyADQQA2AhwgAyABNgIUIANBthE2AhAgA0EJNgIMQQAhAgyHAQsgASAERgRAQd8AIQIMhwELIAEtAABBCkYEQCABQQFqIQEMCQsgAy0ALkHAAHENCCADQQA2AhwgAyABNgIUIANBthE2AhAgA0ECNgIMQQAhAgyGAQsgASAERgRAQd0AIQIMhgELIAEtAAAiAkENRgRAIAFBAWohAUHQACECDG0LIAEhACACQQlrDgQFAQEFAQsgBCABIgBGBEBB3AAhAgyFAQsgAC0AAEEKRw0AIABBAWoMAgtBACECIANBADYCHCADIAA2AhQgA0HKLTYCECADQQc2AgwMgwELIAEgBEYEQEHbACECDIMBCwJAIAEtAABBCWsOBAMAAAMACyABQQFqCyEBQc4AIQIMaAsgASAERgRAQdoAIQIMgQELIAEtAABBCWsOBAABAQABC0EAIQIgA0EANgIcIANBmhI2AhAgA0EHNgIMIAMgAUEBajYCFAx/CyADQYASOwEqQQAhAAJAIAMoAjgiAkUNACACKAI4IgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB2QA2AhwgAyABNgIUIANB6ho2AhAgA0EVNgIMQQAhAgx+C0HNACECDGQLIANBADYCHCADIAE2AhQgA0HJDTYCECADQRo2AgxBACECDHwLIAEgBEYEQEHZACECDHwLIAEtAABBIEcNPSABQQFqIQEgAy0ALkEBcQ09IANBADYCHCADIAE2AhQgA0HCHDYCECADQR42AgxBACECDHsLIAEgBEYEQEHYACECDHsLAkACQAJAAkACQCABLQAAIgBBCmsOBAIDAwABCyABQQFqIQFBLCECDGULIABBOkcNASADQQA2AhwgAyABNgIUIANB5xE2AhAgA0EKNgIMQQAhAgx9CyABQQFqIQEgA0Evai0AAEEBcUUNcyADLQAyQYABcUUEQCADQTJqIQIgAxA1QQAhAAJAIAMoAjgiBkUNACAGKAIoIgZFDQAgAyAGEQAAIQALAkACQCAADhZNTEsBAQEBAQEBAQEBAQEBAQEBAQEAAQsgA0EpNgIcIAMgATYCFCADQawZNgIQIANBFTYCDEEAIQIMfgsg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c3BvbnNlIHN0YXR1cwBFeHBlY3RlZCBMRiBhZnRlciBoZWFkZXJzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3Byb3RvY29sX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fcHJvdG9jb2wARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgAVHJhbnNmZXItRW5jb2RpbmcgY2FuJ3QgYmUgcHJlc2VudCB3aXRoIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgc2l6ZQBFeHBlY3RlZCBMRiBhZnRlciBjaHVuayBzaXplAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBVbmV4cGVjdGVkIHdoaXRlc3BhY2UgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciBjaHVuayBleHRlbnNpb24gdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIHF1b3RlZC1wYWlyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fcHJvdG9jb2xfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciByZXNwb25zZSBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgZXh0ZW5zaW9uIG5hbWUASW52YWxpZCBzdGF0dXMgY29kZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABNaXNzaW5nIGV4cGVjdGVkIENSIGFmdGVyIGNodW5rIGRhdGEARXhwZWN0ZWQgTEYgYWZ0ZXIgY2h1bmsgZGF0YQBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AARGF0YSBhZnRlciBgQ29ubmVjdGlvbjogY2xvc2VgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBRVUVSWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAEV4cGVjdGVkIExGIGFmdGVyIENSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX1BST1RPQ09MX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8sIFJUU1AvIG9yIElDRS8A5xUAAK8VAACkEgAAkhoAACYWAACeFAAA2xkAAHkVAAB+EgAA/hQAADYVAAALFgAA2BYAAPMSAABCGAAArBYAABIVAAAUFwAA7xcAAEgUAABxFwAAshoAAGsZAAB+GQAANRQAAIIaAABEFwAA/RYAAB4YAACHFwAAqhkAAJMSAAAHGAAALBcAAMoXAACkFwAA5xUAAOcVAABYFwAAOxgAAKASAAAtHAAAwxEAAEgRAADeEgAAQhMAAKQZAAD9EAAA9xUAAKUVAADvFgAA+BkAAEoWAABWFgAA9RUAAAoaAAAIGgAAARoAAKsVAABCEgAA1xAAAEwRAAAFGQAAVBYAAB4RAADKGQAAyBkAAE4WAAD/GAAAcRQAAPAVAADuFQAAlBkAAPwVAAC/GQAAmxkAAHwUAABDEQAAcBgAAJUUAAAnFAAAGRQAANUSAADUGQAARBYAAPcQAEG5OwsBAQBB0DsL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBuj0LBAEAAAIAQdE9C14DBAMDAwMDAAADAwADAwADAwMDAwMDAwMDAAUAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAwADAEG6PwsEAQAAAgBB0T8LXgMAAwMDAwMAAAMDAAMDAAMDAwMDAwMDAwMABAAFAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwADAAMAQbDBAAsNbG9zZWVlcC1hbGl2ZQBBycEACwEBAEHgwQAL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBycMACwEBAEHgwwAL5wEBAQEBAQEBAQEBAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAWNodW5rZWQAQfHFAAteAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBB0McACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQYDIAAsgcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQpTTQ0KDQoAQanIAAsFAQIAAQMAQcDIAAtfBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanKAAsFAQIAAQMAQcDKAAtfBAUFBgUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanMAAsEAQAAAQBBwcwAC14CAgACAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEGpzgALBQECAAEDAEHAzgALXwQFAAAFBQUFBQUFBQUFBQYFBQUFBQUFBQUFBQUABQAHCAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFAAUABQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAAAAFAEGp0AALBQEBAAEBAEHA0AALAQEAQdrQAAtBAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQanSAAsFAQEAAQEAQcDSAAsBAQBBytIACwYCAAAAAAIAQeHSAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBBoNQAC50BTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRVVFUllPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFVFRQQ0VUU1BBRFRQLw==";
|
|
20516
20516
|
let wasmBuffer$1;
|
|
@@ -20520,8 +20520,8 @@ var require_llhttp_wasm = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pn
|
|
|
20520
20520
|
}) });
|
|
20521
20521
|
|
|
20522
20522
|
//#endregion
|
|
20523
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
20524
|
-
var require_llhttp_simd_wasm = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
20523
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
|
|
20524
|
+
var require_llhttp_simd_wasm = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js": ((exports, module) => {
|
|
20525
20525
|
const { Buffer: Buffer$3 } = __require$1("node:buffer");
|
|
20526
20526
|
const wasmBase64 = "AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAn9/AGABfwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAzU0BQYAAAMAAAAAAAADAQMAAwMDAAACAAAAAAICAgICAgICAgIBAQEBAQEBAQEBAwAAAwAAAAQFAXABExMFAwEAAgYIAX8BQcDZBAsHxQcoBm1lbW9yeQIAC19pbml0aWFsaXplAAgZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEAC2xsaHR0cF9pbml0AAkYbGxodHRwX3Nob3VsZF9rZWVwX2FsaXZlADcMbGxodHRwX2FsbG9jAAsGbWFsbG9jADkLbGxodHRwX2ZyZWUADARmcmVlAAwPbGxodHRwX2dldF90eXBlAA0VbGxodHRwX2dldF9odHRwX21ham9yAA4VbGxodHRwX2dldF9odHRwX21pbm9yAA8RbGxodHRwX2dldF9tZXRob2QAEBZsbGh0dHBfZ2V0X3N0YXR1c19jb2RlABESbGxodHRwX2dldF91cGdyYWRlABIMbGxodHRwX3Jlc2V0ABMObGxodHRwX2V4ZWN1dGUAFBRsbGh0dHBfc2V0dGluZ3NfaW5pdAAVDWxsaHR0cF9maW5pc2gAFgxsbGh0dHBfcGF1c2UAFw1sbGh0dHBfcmVzdW1lABgbbGxodHRwX3Jlc3VtZV9hZnRlcl91cGdyYWRlABkQbGxodHRwX2dldF9lcnJubwAaF2xsaHR0cF9nZXRfZXJyb3JfcmVhc29uABsXbGxodHRwX3NldF9lcnJvcl9yZWFzb24AHBRsbGh0dHBfZ2V0X2Vycm9yX3BvcwAdEWxsaHR0cF9lcnJub19uYW1lAB4SbGxodHRwX21ldGhvZF9uYW1lAB8SbGxodHRwX3N0YXR1c19uYW1lACAabGxodHRw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AXRrQT5qIQILIAEgAjYCHCABQgA3AhAgAkECdEH01wBqIQACQEHI1QAoAgAiA0EBIAJ0IgdxRQRAIAAgATYCAEHI1QAgAyAHcjYCACABIAA2AhggASABNgIIIAEgATYCDAwBCyAEQRkgAkEBdmtBACACQR9HG3QhAiAAKAIAIQACQANAIAAiAygCBEF4cSAERg0BIAJBHXYhACACQQF0IQIgAyAAQQRxakEQaiIHKAIAIgANAAsgByABNgIAIAEgAzYCGCABIAE2AgwgASABNgIIDAELIAMoAggiACABNgIMIAMgATYCCCABQQA2AhggASADNgIMIAEgADYCCAtB5NUAQeTVACgCAEEBayIAQX8gABs2AgALCwcAIAAtACgLBwAgAC0AKgsHACAALQArCwcAIAAtACkLBwAgAC8BNAsHACAALQAwC0ABBH8gACgCGCEBIAAvAS4hAiAALQAoIQMgACgCOCEEIAAQOCAAIAQ2AjggACADOgAoIAAgAjsBLiAAIAE2AhgLhocCAwd/A34BeyABIAJqIQQCQCAAIgMoAgwiAA0AIAMoAgQEQCADIAE2AgQLIwBBEGsiCSQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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DAgLQeMBDAcLQdcBDAYLQdgBDAULQdkBDAQLQdoBDAMLQdsBDAILQd0BDAELQdwBCyECA0ACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAn8CQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAwJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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A0EXNgIcIAMgADYCDCADIAFBAWo2AhQM+AILIABBFUYNI0EAIQIgA0EANgIcIAMgATYCFCADQdYMNgIQIANBIzYCDAz3AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQwdCyADQRk2AhwgAyAANgIMIAMgAUEBajYCFAz2AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQzvAgsgA0EaNgIcIAMgADYCDCADIAFBAWo2AhQM9QILIABBFUYNH0EAIQIgA0EANgIcIAMgATYCFCADQdAPNgIQIANBIjYCDAz0AgsgAygCBCEAIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDBsLIANBHDYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgzzAgsgAygCBCEAIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDOsCCyADQR02AhwgAyAANgIMIAMgAUEBajYCFEEAIQIM8gILIABBO0cNASABQQFqIQELQSYhAgzXAgtBACECIANBADYCHCADIAE2AhQgA0GfFTYCECADQQw2AgwM7wILIAEgBEcEQANAIAEtAABBIEcNhAIgBCABQQFqIgFHDQALQSwhAgzvAgtBLCECDO4CCyABIARGBEBBNCECDO4CCwJAAkADQAJAIAEtAABBCmsOBAIAAAMACyAEIAFBAWoiAUcNAAtBNCECDO8CCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUNnwIgA0EyNgIcIAMgATYCFCADIAA2AgxBACECDO4CCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUEQCABQQFqIQEMnwILIANBMjYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgztAgsgASAERwRAAkADQCABLQAAQTBrIgBB/wFxQQpPBEBBOiECDNcCCyADKQMgIgtCmbPmzJmz5swZVg0BIAMgC0IKfiIKNwMgIAogAK1C/wGDIgtCf4VWDQEgAyAKIAt8NwMgIAQgAUEBaiIBRw0AC0HAACECDO4CCyADKAIEIQAgA0EANgIEIAMgACABQQFqIgEQMSIADRcM4gILQcAAIQIM7AILIAEgBEYEQEHJACECDOwCCwJAA0ACQCABLQAAQQlrDhgAAqICogKpAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAgCiAgsgBCABQQFqIgFHDQALQckAIQIM7AILIAFBAWohASADQS9qLQAAQQFxDaUCIANBADYCHCADIAE2AhQgA0GXEDYCECADQQo2AgxBACECDOsCCyABIARHBEADQCABLQAAQSBHDRUgBCABQQFqIgFHDQALQfgAIQIM6wILQfgAIQIM6gILIANBAjoAKAw4C0EAIQIgA0EANgIcIANBvws2AhAgA0ECNgIMIAMgAUEBajYCFAzoAgtBACECDM4CC0ENIQIMzQILQRMhAgzMAgtBFSECDMsCC0EWIQIMygILQRghAgzJAgtBGSECDMgCC0EaIQIMxwILQRshAgzGAgtBHCECDMUCC0EdIQIMxAILQR4hAgzDAgtBHyECDMICC0EgIQIMwQILQSIhAgzAAgtBIyECDL8CC0ElIQIMvgILQeUAIQIMvQILIANBPTYCHCADIAE2AhQgAyAANgIMQQAhAgzVAgsgA0EbNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIM1AILIANBIDYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNMCCyADQRM2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzSAgsgA0ELNgIcIAMgATYCFCADQZgaNgIQIANBFTYCDEEAIQIM0QILIANBEDYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNACCyADQSA2AhwgAyABNgIUIANBpBw2AhAgA0EVNgIMQQAhAgzPAgsgA0ELNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIMzgILIANBDDYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDM0CC0EAIQIgA0EANgIcIAMgATYCFCADQd0ONgIQIANBEjYCDAzMAgsCQANAAkAgAS0AAEEKaw4EAAICAAILIAQgAUEBaiIBRw0AC0H9ASECDMwCCwJAAkAgAy0ANkEBRw0AQQAhAAJAIAMoAjgiAkUNACACKAJgIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB/AE2AhwgAyABNgIUIANB3Bk2AhAgA0EVNgIMQQAhAgzNAgtB3AEhAgyzAgsgA0EANgIcIAMgATYCFCADQfkLNgIQIANBHzYCDEEAIQIMywILAkACQCADLQAoQQFrDgIEAQALQdsBIQIMsgILQdQBIQIMsQILIANBAjoAMUEAIQACQCADKAI4IgJFDQAgAigCACICRQ0AIAMgAhEAACEACyAARQRAQd0BIQIMsQILIABBFUcEQCADQQA2AhwgAyABNgIUIANBtAw2AhAgA0EQNgIMQQAhAgzKAgsgA0H7ATYCHCADIAE2AhQgA0GBGjYCECADQRU2AgxBACECDMkCCyABIARGBEBB+gEhAgzJAgsgAS0AAEHIAEYNASADQQE6ACgLQcABIQIMrgILQdoBIQIMrQILIAEgBEcEQCADQQw2AgggAyABNgIEQdkBIQIMrQILQfkBIQIMxQILIAEgBEYEQEH4ASECDMUCCyABLQAAQcgARw0EIAFBAWohAUHYASECDKsCCyABIARGBEBB9wEhAgzEAgsCQAJAIAEtAABBxQBrDhAABQUFBQUFBQUFBQUFBQUBBQsgAUEBaiEBQdYBIQIMqwILIAFBAWohAUHXASECDKoCC0H2ASECIAEgBEYNwgIgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABButUAai0AAEcNAyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMwwILIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARAuIgBFBEBB4wEhAgyqAgsgA0H1ATYCHCADIAE2AhQgAyAANgIMQQAhAgzCAgtB9AEhAiABIARGDcECIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQbjVAGotAABHDQIgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADMICCyADQYEEOwEoIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARAuIgANAwwCCyADQQA2AgALQQAhAiADQQA2AhwgAyABNgIUIANB5R82AhAgA0EINgIMDL8CC0HVASECDKUCCyADQfMBNgIcIAMgATYCFCADIAA2AgxBACECDL0CC0EAIQACQCADKAI4IgJFDQAgAigCQCICRQ0AIAMgAhEAACEACyAARQ1uIABBFUcEQCADQQA2AhwgAyABNgIUIANBgg82AhAgA0EgNgIMQQAhAgy9AgsgA0GPATYCHCADIAE2AhQgA0HsGzYCECADQRU2AgxBACECDLwCCyABIARHBEAgA0ENNgIIIAMgATYCBEHTASECDKMCC0HyASECDLsCCyABIARGBEBB8QEhAgy7AgsCQAJAAkAgAS0AAEHIAGsOCwABCAgICAgICAgCCAsgAUEBaiEBQdABIQIMowILIAFBAWohAUHRASECDKICCyABQQFqIQFB0gEhAgyhAgtB8AEhAiABIARGDbkCIAMoAgAiACAEIAFraiEGIAEgAGtBAmohBQNAIAEtAAAgAEG11QBqLQAARw0EIABBAkYNAyAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy5AgtB7wEhAiABIARGDbgCIAMoAgAiACAEIAFraiEGIAEgAGtBAWohBQNAIAEtAAAgAEGz1QBqLQAARw0DIABBAUYNAiAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy4AgtB7gEhAiABIARGDbcCIAMoAgAiACAEIAFraiEGIAEgAGtBAmohBQNAIAEtAAAgAEGw1QBqLQAARw0CIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy3AgsgAygCBCEAIANCADcDACADIAAgBUEBaiIBECsiAEUNAiADQewBNgIcIAMgATYCFCADIAA2AgxBACECDLYCCyADQQA2AgALIAMoAgQhACADQQA2AgQgAyAAIAEQKyIARQ2cAiADQe0BNgIcIAMgATYCFCADIAA2AgxBACECDLQCC0HPASECDJoCC0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMtAILQc4BIQIMmgILIANB6wE2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyyAgsgASAERgRAQesBIQIMsgILIAEtAABBL0YEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQbI4NgIQIANBCDYCDEEAIQIMsQILQc0BIQIMlwILIAEgBEcEQCADQQ42AgggAyABNgIEQcwBIQIMlwILQeoBIQIMrwILIAEgBEYEQEHpASECDK8CCyABLQAAQTBrIgBB/wFxQQpJBEAgAyAAOgAqIAFBAWohAUHLASECDJYCCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNlwIgA0HoATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgsgASAERgRAQecBIQIMrgILAkAgAS0AAEEuRgRAIAFBAWohAQwBCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNmAIgA0HmATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgtBygEhAgyUAgsgASAERgRAQeUBIQIMrQILQQAhAEEBIQVBASEHQQAhAgJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAEtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyECQQAhBUEAIQcMAgtBCSECQQEhAEEAIQVBACEHDAELQQAhBUEBIQILIAMgAjoAKyABQQFqIQECQAJAIAMtAC5BEHENAAJAAkACQCADLQAqDgMBAAIECyAHRQ0DDAILIAANAQwCCyAFRQ0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNAiADQeIBNgIcIAMgATYCFCADIAA2AgxBACECDK8CCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNmgIgA0HjATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZgCIANB5AE2AhwgAyABNgIUIAMgADYCDAytAgtByQEhAgyTAgtBACEAAkAgAygCOCICRQ0AIAIoAkQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0GkDTYCECADQSE2AgxBACECDK0CC0HIASECDJMCCyADQeEBNgIcIAMgATYCFCADQdAaNgIQIANBFTYCDEEAIQIMqwILIAEgBEYEQEHhASECDKsCCwJAIAEtAABBIEYEQCADQQA7ATQgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GZETYCECADQQk2AgxBACECDKsCC0HHASECDJECCyABIARGBEBB4AEhAgyqAgsCQCABLQAAQTBrQf8BcSICQQpJBEAgAUEBaiEBAkAgAy8BNCIAQZkzSw0AIAMgAEEKbCIAOwE0IABB/v8DcSACQf//A3NLDQAgAyAAIAJqOwE0DAILQQAhAiADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMDKsCCyADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMQQAhAgyqAgtBxgEhAgyQAgsgASAERgRAQd8BIQIMqQILAkAgAS0AAEEwa0H/AXEiAkEKSQRAIAFBAWohAQJAIAMvATQiAEGZM0sNACADIABBCmwiADsBNCAAQf7/A3EgAkH//wNzSw0AIAMgACACajsBNAwCC0EAIQIgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDAyqAgsgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDEEAIQIMqQILQcUBIQIMjwILIAEgBEYEQEHeASECDKgCCwJAIAEtAABBMGtB/wFxIgJBCkkEQCABQQFqIQECQCADLwE0IgBBmTNLDQAgAyAAQQpsIgA7ATQgAEH+/wNxIAJB//8Dc0sNACADIAAgAmo7ATQMAgtBACECIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgwMqQILIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgxBACECDKgCC0HEASECDI4CCyABIARGBEBB3QEhAgynAgsCQAJAAkACQCABLQAAQQprDhcCAwMAAwMDAwMDAwMDAwMDAwMDAwMDAQMLIAFBAWoMBQsgAUEBaiEBQcMBIQIMjwILIAFBAWohASADQS9qLQAAQQFxDQggA0EANgIcIAMgATYCFCADQY0LNgIQIANBDTYCDEEAIQIMpwILIANBADYCHCADIAE2AhQgA0GNCzYCECADQQ02AgxBACECDKYCCyABIARHBEAgA0EPNgIIIAMgATYCBEEBIQIMjQILQdwBIQIMpQILAkACQANAAkAgAS0AAEEKaw4EAgAAAwALIAQgAUEBaiIBRw0AC0HbASECDKYCCyADKAIEIQAgA0EANgIEIAMgACABEC0iAEUEQCABQQFqIQEMBAsgA0HaATYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgylAgsgAygCBCEAIANBADYCBCADIAAgARAtIgANASABQQFqCyEBQcEBIQIMigILIANB2QE2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMogILQcIBIQIMiAILIANBL2otAABBAXENASADQQA2AhwgAyABNgIUIANB5Bw2AhAgA0EZNgIMQQAhAgygAgsgASAERgRAQdkB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CyADIAU2AgAMkAILIANBADYCACAGQQFqIQFBGgw8C0HKASECIAEgBEYNjgIgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBjdUAai0AAEcNOyAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMjwILIANBADYCACAGQQFqIQFBIQw7CyABIARGBEBByQEhAgyOAgsCQAJAIAEtAABBwQBrDhQAPT09PT09PT09PT09PT09PT09AT0LIAFBAWohAUGtASECDPUBCyABQQFqIQFBsAEhAgz0AQsgASAERgRAQcgBIQIMjQILAkACQCABLQAAQdUAaw4LADw8PDw8PDw8PAE8CyABQQFqIQFBrgEhAgz0AQsgAUEBaiEBQa8BIQIM8wELQccBIQIgASAERg2LAiADKAIAIgAgBCABa2ohBSABIABrQQhqIQYCQANAIAEtAAAgAEGE1QBqLQAARw04IABBCEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyMAgsgA0EANgIAIAZBAWohAUEqDDgLIAEgBEYEQEHGASECDIsCCyABLQAAQdAARw04IAFBAWohAUElDDcLQcUBIQIgASAERg2JAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGB1QBqLQAARw02IABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyKAgsgA0EANgIAIAZBAWohAUEODDYLIAEgBEYEQEHEASECDIkCCyABLQAAQcUARw02IAFBAWohAUGrASECDO8BCyABIARGBEBBwwEhAgyIAgsCQAJAAkACQCABLQAAQcIAaw4PAAECOTk5OTk5OTk5OTkDOQsgAUEBaiEBQacBIQIM8QELIAFBAWohAUGoASECDPABCyABQQFqIQFBqQEhAgzvAQsgAUEBaiEBQaoBIQIM7gELQcIBIQIgASAERg2GAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEH+1ABqLQAARw0zIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyHAgsgA0EANgIAIAZBAWohAUEUDDMLQcEBIQIgASAERg2FAiADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEH51ABqLQAARw0yIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyGAgsgA0EANgIAIAZBAWohAUErDDILQcABIQIgASAERg2EAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEH21ABqLQAARw0xIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyFAgsgA0EANgIAIAZBAWohAUEsDDELQb8BIQIgASAERg2DAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGh1QBqLQAARw0wIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyEAgsgA0EANgIAIAZBAWohAUERDDALQb4BIQIgASAERg2CAiADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEHy1ABqLQAARw0vIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyDAgsgA0EANgIAIAZBAWohAUEuDC8LIAEgBEYEQEG9ASECDIICCwJAAkACQAJAAkAgAS0AAEHBAGsOFQA0NDQ0NDQ0NDQ0ATQ0AjQ0AzQ0BDQLIAFBAWohAUGbASECDOwBCyABQQFqIQFBnAEhAgzrAQsgAUEBaiEBQZ0BIQIM6gELIAFBAWohAUGiASECDOkBCyABQQFqIQFBpAEhAgzoAQsgASAERgRAQbwBIQIMgQILAkACQCABLQAAQdIAaw4DADABMAsgAUEBaiEBQaMBIQIM6AELIAFBAWohAUEEDC0LQbsBIQIgASAERg3/ASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHw1ABqLQAARw0sIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyAAgsgA0EANgIAIAZBAWohAUEdDCwLIAEgBEYEQEG6ASECDP8BCwJAAkAgAS0AAEHJAGsOBwEuLi4uLgAuCyABQQFqIQFBoQEhAgzmAQsgAUEBaiEBQSIMKwsgASAERgRAQbkBIQIM/gELIAEtAABB0ABHDSsgAUEBaiEBQaABIQIM5AELIAEgBEYEQEG4ASECDP0BCwJAAkAgAS0AAEHGAGsOCwAsLCwsLCwsLCwBLAsgAUEBaiEBQZ4BIQIM5AELIAFBAWohAUGfASECDOMBC0G3ASECIAEgBEYN+wEgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABB7NQAai0AAEcNKCAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM/AELIANBADYCACAGQQFqIQFBDQwoC0G2ASECIAEgBEYN+gEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBodUAai0AAEcNJyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM+wELIANBADYCACAGQQFqIQFBDAwnC0G1ASECIAEgBEYN+QEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABB6tQAai0AAEcNJiAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM+gELIANBADYCACAGQQFqIQFBAwwmC0G0ASECIAEgBEYN+AEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABB6NQAai0AAEcNJSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM+QELIANBADYCACAGQQFqIQFBJgwlCyABIARGBEBBswEhAgz4AQsCQAJAIAEtAABB1ABrDgIAAScLIAFBAWohAUGZASECDN8BCyABQQFqIQFBmgEhAgzeAQtBsgEhAiABIARGDfYBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQebUAGotAABHDSMgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPcBCyADQQA2AgAgBkEBaiEBQScMIwtBsQEhAiABIARGDfUBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQeTUAGotAABHDSIgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPYBCyADQQA2AgAgBkEBaiEBQRwMIgtBsAEhAiABIARGDfQBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQd7UAGotAABHDSEgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPUBCyADQQA2AgAgBkEBaiEBQQYMIQtBrwEhAiABIARGDfMBIAMoAgAiACAEIAFraiEFIAEgAGtBBGohBgJAA0AgAS0AACAAQdnUAGotAABHDSAgAEEERg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPQBCyADQQA2AgAgBkEBaiEBQRkMIAsgASAERgRAQa4BIQIM8wELAkACQAJAAkAgAS0AAEEtaw4jACQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkASQkJCQkAiQkJAMkCyABQQFqIQFBjgEhAgzcAQsgAUEBaiEBQY8BIQIM2wELIAFBAWohAUGUASECDNoBCyABQQFqIQFBlQEhAgzZAQtBrQEhAiABIARGDfEBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQdfUAGotAABHDR4gAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPIBCyADQQA2AgAgBkEBaiEBQQsMHgsgASAERgRAQawBIQIM8QELAkACQCABLQAAQcEAaw4DACABIAsgAUEBaiEBQZABIQIM2AELIAFBAWohAUGTASECDNcBCyABIARGBEBBqwEhAgzwAQsCQAJAIAEtAABBwQBrDg8AHx8fHx8fHx8fHx8fHwEfCyABQQFqIQFBkQEhAgzXAQsgAUEBaiEBQZIBIQIM1gELIAEgBEYEQEGqASECDO8BCyABLQAAQcwARw0cIAFBAWohAUEKDBsLQakBIQIgASAERg3tASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHR1ABqLQAARw0aIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzuAQsgA0EANgIAIAZBAWohAUEeDBoLQagBIQIgASAERg3sASADKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEHK1ABqLQAARw0ZIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAztAQsgA0EANgIAIAZBAWohAUEVDBkLQacBIQIgASAERg3rASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEHH1ABqLQAARw0YIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzsAQsgA0EANgIAIAZBAWohAUEXDBgLQaYBIQIgASAERg3qASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHB1ABqLQAARw0XIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzrAQsgA0EANgIAIAZBAWohAUEYDBcLIAEgBEYEQEGlASECDOoBCwJAAkAgAS0AAEHJAGsOBwAZGRkZGQEZCyABQQFqIQFBiwEhAgzRAQsgAUEBaiEBQYwBIQIM0AELQaQBIQIgASAERg3oASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGm1QBqLQAARw0VIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzpAQsgA0EANgIAIAZBAWohAUEJDBULQaMBIQIgASAERg3nASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGk1QBqLQAARw0UIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzoAQsgA0EANgIAIAZBAWohAUEfDBQLQaIBIQIgASAERg3mASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEG+1ABqLQAARw0TIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAznAQsgA0EANgIAIAZBAWohAUECDBMLQaEBIQIgASAERg3lASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYDQCABLQAAIABBvNQAai0AAEcNESAAQQFGDQIgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM5QELIAEgBEYEQEGgASECDOUBC0EBIAEtAABB3wBHDREaIAFBAWohAUGHASECDMsBCyADQQA2AgAgBkEBaiEBQYgBIQIMygELQZ8BIQIgASAERg3iASADKAIAIgAgBCABa2ohBSABIABrQQhqIQYCQANAIAEtAAAgAEGE1QBqLQAARw0PIABBCEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzjAQsgA0EANgIAIAZBAWohAUEpDA8LQZ4BIQIgASAERg3hASADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEG41ABqLQAARw0OIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAziAQsgA0EANgIAIAZBAWohAUEtDA4LIAEgBEYEQEGdASECDOEBCyABLQAAQcUARw0OIAFBAWohAUGEASECDMcBCyABIARGBEBBnAEhAgzgAQsCQAJAIAEtAABBzABrDggADw8PDw8PAQ8LIAFBAWohAUGCASECDMcBCyABQQFqIQFBgwEhAgzGAQtBmwEhAiABIARGDd4BIAMoAgAiACAEIAFraiEFIAEgAGtBBGohBgJAA0AgAS0AACAAQbPUAGotAABHDQsgAEEERg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADN8BCyADQQA2AgAgBkEBaiEBQSMMCwtBmgEhAiABIARGDd0BIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbDUAGotAABHDQogAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADN4BCyADQQA2AgAgBkEBaiEBQQAMCgsgASAERgRAQZkBIQIM3QELAkACQCABLQAAQcgAaw4IAAwMDAwMDAEMCyABQQFqIQFB/QAhAgzEAQsgAUEBaiEBQYABIQIMwwELIAEgBEYEQEGYASECDNwBCwJAAkAgAS0AAEHOAGsOAwALAQsLIAFBAWohAUH+ACECDMMBCyABQQFqIQFB/wAhAgzCAQsgASAERgRAQZcBIQIM2wELIAEtAABB2QBHDQggAUEBaiEBQQgMBwtBlgEhAiABIARGDdkBIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQazUAGotAABHDQYgAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNoBCyADQQA2AgAgBkEBaiEBQQUMBgtBlQEhAiABIARGDdgBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQabUAGotAABHDQUgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNkBCyADQQA2AgAgBkEBaiEBQRYMBQtBlAEhAiABIARGDdcBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQaHVAGotAABHDQQgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNgBCyADQQA2AgAgBkEBaiEBQRAMBAsgASAERgRAQZMBIQIM1wELAkACQCABLQAAQcMAaw4MAAYGBgYGBgYGBgYBBgsgAUEBaiEBQfkAIQIMvgELIAFBAWohAUH6ACECDL0BC0GSASECIAEgBEYN1QEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBoNQAai0AAEcNAiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM1gELIANBADYCACAGQQFqIQFBJAwCCyADQQA2AgAMAgsgASAERgRAQZEBIQIM1AELIAEtAABBzABHDQEgAUEBaiEBQRMLOgApIAMoAgQhACADQQA2AgQgAyAAIAEQLiIADQIMAQtBACECIANBADYCHCADIAE2AhQgA0H+HzYCECADQQY2AgwM0QELQfgAIQIMtwELIANBkAE2AhwgAyABNgIUIAMgADYCDEEAIQIMzwELQQAhAAJAIAMoAjgiAkUNACACKAJAIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRg0BIANBADYCHCADIAE2AhQgA0GCDzYCECADQSA2AgxBACECDM4BC0H3ACECDLQBCyADQY8BNgIcIAMgATYCFCADQewbNgIQIANBFTYCDEEAIQIMzAELIAEgBEYEQEGPASECDMwBCwJAIAEtAABBIEYEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQZsfNgIQIANBBjYCDEEAIQIMzAELQQIhAgyyAQsDQCABLQAAQSBHDQIgBCABQQFqIgFHDQALQY4BIQIMygELIAEgBEYEQEGNASECDMoBCwJAIAEtAABBCWsOBEoAAEoAC0H1ACECDLABCyADLQApQQVGBEBB9gAhAgywAQtB9AAhAgyvAQsgASAERgRAQYwBIQIMyAELIANBEDYCCCADIAE2AgQMCgsgASAERgRAQYsBIQIMxwELAkAgAS0AAEEJaw4ERwAARwALQfMAIQIMrQELIAEgBEcEQCADQRA2AgggAyABNgIEQfEAIQIMrQELQYoBIQIMxQELAkAgASAERwRAA0AgAS0AAEGg0ABqLQAAIgBBA0cEQAJAIABBAWsOAkkABAtB8AAhAgyvAQsgBCABQQFqIgFHDQALQYgBIQIMxgELQYgBIQIMxQELIANBADYCHCADIAE2AhQgA0HbIDYCECADQQc2AgxBACECDMQBCyABIARGBEBBiQEhAgzEAQsCQAJAAkAgAS0AAEGg0gBqLQAAQQFrDgNGAgABC0HyACECDKwBCyADQQA2AhwgAyABNgIUIANBtBI2AhAgA0EHNgIMQQAhAgzEAQtB6gAhAgyqAQsgASAERwRAIAFBAWohAUHvACECDKoBC0GHASECDMIBCyAEIAEiAEYEQEGGASECDMIBCyAALQAAIgFBL0YEQCAAQQFqIQFB7gAhAgypAQsgAUEJayICQRdLDQEgACEBQQEgAnRBm4CABHENQQwBCyAEIAEiAEYEQEGFASECDMEBCyAALQAAQS9HDQAgAEEBaiEBDAMLQQAhAiADQQA2AhwgAyAANgIUIANB2yA2AhAgA0EHNgIMDL8BCwJAAkACQAJAAkADQCABLQAAQaDOAGotAAAiAEEFRwRAAkACQCAAQQFrDghHBQYHCAAEAQgLQesAIQIMrQELIAFBAWohAUHtACECDKwBCyAEIAFBAWoiAUcNAAtBhAEhAgzDAQsgAUEBagwUCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQdsANgIcIAMgATYCFCADIAA2AgxBACECDMEBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQd0ANgIcIAMgATYCFCADIAA2AgxBACECDMABCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQfoANgIcIAMgATYCFCADIAA2AgxBACECDL8BCyADQQA2AhwgAyABNgIUIANB+Q82AhAgA0EHNgIMQQAhAgy+AQsgASAERgRAQYMBIQIMvgELAkAgAS0AAEGgzgBqLQAAQQFrDgg+BAUGAAgCAwcLIAFBAWohAQtBAyECDKMBCyABQQFqDA0LQQAhAiADQQA2AhwgA0HREjYCECADQQc2AgwgAyABQQFqNgIUDLoBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQdsANgIcIAMgATYCFCADIAA2AgxBACECDLkBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQd0ANgIcIAMgATYCFCADIAA2AgxBACECDLgBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQfoANgIcIAMgATYCFCADIAA2AgxBACECDLcBCyADQQA2AhwgAyABNgIUIANB+Q82AhAgA0EHNgIMQQAhAgy2AQtB7AAhAgycAQsgASAERgRAQYIBIQIMtQELIAFBAWoMAgsgASAERgRAQYEBIQIMtAELIAFBAWoMAQsgASAERg0BIAFBAWoLIQFBBCECDJgBC0GAASECDLABCwNAIAEtAABBoMwAai0AACIAQQJHBEAgAEEBRwRAQekAIQIMmQELDDELIAQgAUEBaiIBRw0AC0H/ACECDK8BCyABIARGBEBB/gAhAgyvAQsCQCABLQAAQQlrDjcvAwYvBAYGBgYGBgYGBgYGBgYGBgYGBgUGBgIGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYABgsgAUEBagshAUEFIQIMlAELIAFBAWoMBgsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgyrAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgyqAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgypAQsgA0EANgIcIAMgATYCFCADQY0UNgIQIANBBzYCDEEAIQIMqAELAkACQAJAAkADQCABLQAAQaDKAGotAAAiAEEFRwRAAkAgAEEBaw4GLgMEBQYABgtB6AAhAgyUAQsgBCABQQFqIgFHDQALQf0AIQIMqwELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB2wA2AhwgAyABNgIUIAMgADYCDEEAIQIMqgELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB3QA2AhwgAyABNgIUIAMgADYCDEEAIQIMqQELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB+gA2AhwgAyABNgIUIAMgADYCDEEAIQIMqAELIANBADYCHCADIAE2AhQgA0HkCDYCECADQQc2AgxBACECDKcBCyABIARGDQEgAUEBagshAUEGIQIMjAELQfwAIQIMpAELAkACQAJAAkADQCABLQAAQaDIAGotAAAiAEEFRwRAIABBAWsOBCkCAwQFCyAEIAFBAWoiAUcNAAtB+wAhAgynAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgymAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgylAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgykAQsgA0EANgIcIAMgATYCFCADQbwKNgIQIANBBzYCDEEAIQIMowELQc8AIQIMiQELQdEAIQIMiAELQecAIQIMhwELIAEgBEYEQEH6ACECDKABCwJAIAEtAABBCWsOBCAAACAACyABQQFqIQFB5gAhAgyGAQsgASAERgRAQfkAIQIMnwELAkAgAS0AAEEJaw4EHwAAHwALQQAhAAJAIAMoAjgiAkUNACACKAI4IgJFDQAgAyACEQAAIQALIABFBEBB4gEhAgyGAQsgAEEVRwRAIANBADYCHCADIAE2AhQgA0HJDTYCECADQRo2AgxBACECDJ8BCyADQfgANgIcIAMgATYCFCADQeoaNgIQIANBFTYCDEEAIQIMngELIAEgBEcEQCADQQ02AgggAyABNgIEQeQAIQIMhQELQfcAIQIMnQELIAEgBEYEQEH2ACECDJ0BCwJAAkACQCABLQAAQcgAaw4LAAELCwsLCwsLCwILCyABQQFqIQFB3QAhAgyFAQsgAUEBaiEBQeAAIQIMhAELIAFBAWohAUHjACECDIMBC0H1ACECIAEgBEYNmwEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBtdUAai0AAEcNCCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMnAELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgAEQCADQfQANgIcIAMgATYCFCADIAA2AgxBACECDJwBC0HiACECDIIBC0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMnAELQeEAIQIMggELIANB8wA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyaAQsgAy0AKSIAQSNrQQtJDQkCQCAAQQZLDQBBASAAdEHKAHFFDQAMCgtBACECIANBADYCHCADIAE2AhQgA0HtCTYCECADQQg2AgwMmQELQfIAIQIgASAERg2YASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGz1QBqLQAARw0FIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyZAQsgAygCBCEAIANCADcDACADIAAgBkEBaiIBECsiAARAIANB8QA2AhwgAyABNgIUIAMgADYCDEEAIQIMmQELQd8AIQIMfwtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJkBC0HeACECDH8LIANB8AA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyXAQsgAy0AKUEhRg0GIANBADYCHCADIAE2AhQgA0GRCjYCECADQQg2AgxBACECDJYBC0HvACECIAEgBEYNlQEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBsNUAai0AAEcNAiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMlgELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgBFDQIgA0HtADYCHCADIAE2AhQgAyAANgIMQQAhAgyVAQsgA0EANgIACyADKAIEIQAgA0EANgIEIAMgACABECsiAEUNgAEgA0HuADYCHCADIAE2AhQgAyAANgIMQQAhAgyTAQtB3AAhAgx5C0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMkwELQdsAIQIMeQsgA0HsADYCHCADIAE2AhQgA0GAGzYCECADQRU2AgxBACECDJEBCyADLQApIgBBI0kNACAAQS5GDQAgA0EANgIcIAMgATYCFCADQckJNgIQIANBCDYCDEEAIQIMkAELQdoAIQIMdgsgASAERgRAQesAIQIMjwELAkAgAS0AAEEvRgRAIAFBAWohAQwBCyAD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ciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBFeHBlY3RlZCBMRiBhZnRlciBoZWFkZXJzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3Byb3RvY29sX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fcHJvdG9jb2wARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgAVHJhbnNmZXItRW5jb2RpbmcgY2FuJ3QgYmUgcHJlc2VudCB3aXRoIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgc2l6ZQBFeHBlY3RlZCBMRiBhZnRlciBjaHVuayBzaXplAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBVbmV4cGVjdGVkIHdoaXRlc3BhY2UgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciBjaHVuayBleHRlbnNpb24gdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIHF1b3RlZC1wYWlyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fcHJvdG9jb2xfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciByZXNwb25zZSBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgZXh0ZW5zaW9uIG5hbWUASW52YWxpZCBzdGF0dXMgY29kZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABNaXNzaW5nIGV4cGVjdGVkIENSIGFmdGVyIGNodW5rIGRhdGEARXhwZWN0ZWQgTEYgYWZ0ZXIgY2h1bmsgZGF0YQBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AARGF0YSBhZnRlciBgQ29ubmVjdGlvbjogY2xvc2VgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBRVUVSWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAEV4cGVjdGVkIExGIGFmdGVyIENSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX1BST1RPQ09MX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8sIFJUU1AvIG9yIElDRS8A5xUAAK8VAACkEgAAkhoAACYWAACeFAAA2xkAAHkVAAB+EgAA/hQAADYVAAALFgAA2BYAAPMSAABCGAAArBYAABIVAAAUFwAA7xcAAEgUAABxFwAAshoAAGsZAAB+GQAANRQAAIIaAABEFwAA/RYAAB4YAACHFwAAqhkAAJMSAAAHGAAALBcAAMoXAACkFwAA5xUAAOcVAABYFwAAOxgAAKASAAAtHAAAwxEAAEgRAADeEgAAQhMAAKQZAAD9EAAA9xUAAKUVAADvFgAA+BkAAEoWAABWFgAA9RUAAAoaAAAIGgAAARoAAKsVAABCEgAA1xAAAEwRAAAFGQAAVBYAAB4RAADKGQAAyBkAAE4WAAD/GAAAcRQAAPAVAADuFQAAlBkAAPwVAAC/GQAAmxkAAHwUAABDEQAAcBgAAJUUAAAnFAAAGRQAANUSAADUGQAARBYAAPcQAEG5OwsBAQBB0DsL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBuj0LBAEAAAIAQdE9C14DBAMDAwMDAAADAwADAwADAwMDAwMDAwMDAAUAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAwADAEG6PwsEAQAAAgBB0T8LXgMAAwMDAwMAAAMDAAMDAAMDAwMDAwMDAwMABAAFAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwADAAMAQbDBAAsNbG9zZWVlcC1hbGl2ZQBBycEACwEBAEHgwQAL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBycMACwEBAEHgwwAL5wEBAQEBAQEBAQEBAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAWNodW5rZWQAQfHFAAteAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBB0McACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQYDIAAsgcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQpTTQ0KDQoAQanIAAsFAQIAAQMAQcDIAAtfBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanKAAsFAQIAAQMAQcDKAAtfBAUFBgUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanMAAsEAQAAAQBBwcwAC14CAgACAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEGpzgALBQECAAEDAEHAzgALXwQFAAAFBQUFBQUFBQUFBQYFBQUFBQUFBQUFBQUABQAHCAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFAAUABQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAAAAFAEGp0AALBQEBAAEBAEHA0AALAQEAQdrQAAtBAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQanSAAsFAQEAAQEAQcDSAAsBAQBBytIACwYCAAAAAAIAQeHSAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBBoNQAC50BTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRVVFUllPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFVFRQQ0VUU1BBRFRQLw==";
|
|
20527
20527
|
let wasmBuffer;
|
|
@@ -20531,8 +20531,8 @@ var require_llhttp_simd_wasm = /* @__PURE__ */ __commonJS$2({ "../../node_module
|
|
|
20531
20531
|
}) });
|
|
20532
20532
|
|
|
20533
20533
|
//#endregion
|
|
20534
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
20535
|
-
var require_constants$4 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
20534
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/fetch/constants.js
|
|
20535
|
+
var require_constants$4 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/fetch/constants.js": ((exports, module) => {
|
|
20536
20536
|
const corsSafeListedMethods = [
|
|
20537
20537
|
"GET",
|
|
20538
20538
|
"HEAD",
|
|
@@ -20754,8 +20754,8 @@ var require_constants$4 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pn
|
|
|
20754
20754
|
}) });
|
|
20755
20755
|
|
|
20756
20756
|
//#endregion
|
|
20757
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
20758
|
-
var require_global$1 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
20757
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/fetch/global.js
|
|
20758
|
+
var require_global$1 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/fetch/global.js": ((exports, module) => {
|
|
20759
20759
|
const globalOrigin = Symbol.for("undici.globalOrigin.1");
|
|
20760
20760
|
function getGlobalOrigin$2() {
|
|
20761
20761
|
return globalThis[globalOrigin];
|
|
@@ -20786,8 +20786,8 @@ var require_global$1 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/
|
|
|
20786
20786
|
}) });
|
|
20787
20787
|
|
|
20788
20788
|
//#endregion
|
|
20789
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
20790
|
-
var require_encoding = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
20789
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/encoding/index.js
|
|
20790
|
+
var require_encoding = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/encoding/index.js": ((exports, module) => {
|
|
20791
20791
|
const textDecoder = new TextDecoder();
|
|
20792
20792
|
/**
|
|
20793
20793
|
* @see https://encoding.spec.whatwg.org/#utf-8-decode
|
|
@@ -20802,8 +20802,8 @@ var require_encoding = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/
|
|
|
20802
20802
|
}) });
|
|
20803
20803
|
|
|
20804
20804
|
//#endregion
|
|
20805
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
20806
|
-
var require_infra = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
20805
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/infra/index.js
|
|
20806
|
+
var require_infra = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/infra/index.js": ((exports, module) => {
|
|
20807
20807
|
const assert$31 = __require$1("node:assert");
|
|
20808
20808
|
const { utf8DecodeBytes: utf8DecodeBytes$2 } = require_encoding();
|
|
20809
20809
|
/**
|
|
@@ -20953,8 +20953,8 @@ var require_infra = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/und
|
|
|
20953
20953
|
}) });
|
|
20954
20954
|
|
|
20955
20955
|
//#endregion
|
|
20956
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
20957
|
-
var require_data_url = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
20956
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/fetch/data-url.js
|
|
20957
|
+
var require_data_url = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/fetch/data-url.js": ((exports, module) => {
|
|
20958
20958
|
const assert$30 = __require$1("node:assert");
|
|
20959
20959
|
const { forgivingBase64, collectASequenceOfCodePoints: collectASequenceOfCodePoints$1, collectASequenceOfCodePointsFast: collectASequenceOfCodePointsFast$2, isomorphicDecode: isomorphicDecode$1, removeASCIIWhitespace, removeChars: removeChars$2 } = require_infra();
|
|
20960
20960
|
const encoder = new TextEncoder();
|
|
@@ -21195,8 +21195,8 @@ var require_data_url = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/
|
|
|
21195
21195
|
}) });
|
|
21196
21196
|
|
|
21197
21197
|
//#endregion
|
|
21198
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
21199
|
-
var require_runtime_features = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
21198
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/util/runtime-features.js
|
|
21199
|
+
var require_runtime_features = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/util/runtime-features.js": ((exports, module) => {
|
|
21200
21200
|
/** @typedef {`node:${string}`} NodeModuleName */
|
|
21201
21201
|
/** @type {Record<NodeModuleName, () => any>} */
|
|
21202
21202
|
const lazyLoaders = {
|
|
@@ -21294,8 +21294,8 @@ var require_runtime_features = /* @__PURE__ */ __commonJS$2({ "../../node_module
|
|
|
21294
21294
|
}) });
|
|
21295
21295
|
|
|
21296
21296
|
//#endregion
|
|
21297
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
21298
|
-
var require_webidl = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
21297
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/webidl/index.js
|
|
21298
|
+
var require_webidl = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/webidl/index.js": ((exports, module) => {
|
|
21299
21299
|
const assert$29 = __require$1("node:assert");
|
|
21300
21300
|
const { types, inspect: inspect$1 } = __require$1("node:util");
|
|
21301
21301
|
const { runtimeFeatures: runtimeFeatures$7 } = require_runtime_features();
|
|
@@ -21796,8 +21796,8 @@ var require_webidl = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/un
|
|
|
21796
21796
|
}) });
|
|
21797
21797
|
|
|
21798
21798
|
//#endregion
|
|
21799
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
21800
|
-
var require_util$4 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
21799
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/fetch/util.js
|
|
21800
|
+
var require_util$4 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/fetch/util.js": ((exports, module) => {
|
|
21801
21801
|
const { Transform: Transform$2 } = __require$1("node:stream");
|
|
21802
21802
|
const zlib$2 = __require$1("node:zlib");
|
|
21803
21803
|
const { redirectStatusSet: redirectStatusSet$2, referrerPolicyTokens, badPortsSet } = require_constants$4();
|
|
@@ -22587,8 +22587,8 @@ var require_util$4 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/un
|
|
|
22587
22587
|
}) });
|
|
22588
22588
|
|
|
22589
22589
|
//#endregion
|
|
22590
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
22591
|
-
var require_formdata = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
22590
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/fetch/formdata.js
|
|
22591
|
+
var require_formdata = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/fetch/formdata.js": ((exports, module) => {
|
|
22592
22592
|
const { iteratorMixin: iteratorMixin$1 } = require_util$4();
|
|
22593
22593
|
const { kEnumerableProperty: kEnumerableProperty$10 } = require_util$5();
|
|
22594
22594
|
const { webidl: webidl$14 } = require_webidl();
|
|
@@ -22734,8 +22734,8 @@ var require_formdata = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/
|
|
|
22734
22734
|
}) });
|
|
22735
22735
|
|
|
22736
22736
|
//#endregion
|
|
22737
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
22738
|
-
var require_formdata_parser = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
22737
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/fetch/formdata-parser.js
|
|
22738
|
+
var require_formdata_parser = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/fetch/formdata-parser.js": ((exports, module) => {
|
|
22739
22739
|
const { bufferToLowerCasedHeaderName: bufferToLowerCasedHeaderName$1 } = require_util$5();
|
|
22740
22740
|
const { HTTP_TOKEN_CODEPOINTS } = require_data_url();
|
|
22741
22741
|
const { makeEntry } = require_formdata();
|
|
@@ -22982,8 +22982,8 @@ var require_formdata_parser = /* @__PURE__ */ __commonJS$2({ "../../node_modules
|
|
|
22982
22982
|
}) });
|
|
22983
22983
|
|
|
22984
22984
|
//#endregion
|
|
22985
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
22986
|
-
var require_promise = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
22985
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/util/promise.js
|
|
22986
|
+
var require_promise = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/util/promise.js": ((exports, module) => {
|
|
22987
22987
|
/**
|
|
22988
22988
|
* @template {*} T
|
|
22989
22989
|
* @typedef {Object} DeferredPromise
|
|
@@ -23011,8 +23011,8 @@ var require_promise = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/u
|
|
|
23011
23011
|
}) });
|
|
23012
23012
|
|
|
23013
23013
|
//#endregion
|
|
23014
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
23015
|
-
var require_body = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
23014
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/fetch/body.js
|
|
23015
|
+
var require_body = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/fetch/body.js": ((exports, module) => {
|
|
23016
23016
|
const util$22 = require_util$5();
|
|
23017
23017
|
const { ReadableStreamFrom: ReadableStreamFrom$1, readableStreamClose: readableStreamClose$1, fullyReadBody: fullyReadBody$1, extractMimeType: extractMimeType$1 } = require_util$4();
|
|
23018
23018
|
const { FormData: FormData$2, setFormDataState } = require_formdata();
|
|
@@ -23270,14 +23270,14 @@ Content-Type: ${value.type || "application/octet-stream"}\r\n\r\n`);
|
|
|
23270
23270
|
}) });
|
|
23271
23271
|
|
|
23272
23272
|
//#endregion
|
|
23273
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
23274
|
-
var require_client_h1 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
23273
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/client-h1.js
|
|
23274
|
+
var require_client_h1 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/client-h1.js": ((exports, module) => {
|
|
23275
23275
|
const assert$25 = __require$1("node:assert");
|
|
23276
23276
|
const util$21 = require_util$5();
|
|
23277
23277
|
const { channels: channels$5 } = require_diagnostics();
|
|
23278
23278
|
const timers = require_timers();
|
|
23279
|
-
const { RequestContentLengthMismatchError: RequestContentLengthMismatchError$1, ResponseContentLengthMismatchError, RequestAbortedError: RequestAbortedError$8, InvalidArgumentError: InvalidArgumentError$
|
|
23280
|
-
const { kUrl: kUrl$7, kReset: kReset$1, kClient: kClient$3, kParser, kBlocking, kRunning: kRunning$4, kPending: kPending$3, kSize: kSize$4, kWriting, kQueue: kQueue$3, kNoRef, kKeepAliveDefaultTimeout: kKeepAliveDefaultTimeout$1, kHostHeader: kHostHeader$1, kPendingIdx: kPendingIdx$2, kRunningIdx: kRunningIdx$2, kError: kError$4, kPipelining: kPipelining$1, kSocket: kSocket$1, kKeepAliveTimeoutValue: kKeepAliveTimeoutValue$1, kMaxHeadersSize: kMaxHeadersSize$1, kKeepAliveMaxTimeout: kKeepAliveMaxTimeout$1, kKeepAliveTimeoutThreshold: kKeepAliveTimeoutThreshold$1, kHeadersTimeout: kHeadersTimeout$
|
|
23279
|
+
const { RequestContentLengthMismatchError: RequestContentLengthMismatchError$1, ResponseContentLengthMismatchError, RequestAbortedError: RequestAbortedError$8, InvalidArgumentError: InvalidArgumentError$32, HeadersTimeoutError: HeadersTimeoutError$1, HeadersOverflowError, SocketError: SocketError$3, InformationalError: InformationalError$3, BodyTimeoutError: BodyTimeoutError$1, HTTPParserError, ResponseExceededMaxSizeError: ResponseExceededMaxSizeError$1 } = require_errors();
|
|
23280
|
+
const { kUrl: kUrl$7, kReset: kReset$1, kClient: kClient$3, kParser, kBlocking, kRunning: kRunning$4, kPending: kPending$3, kSize: kSize$4, kWriting, kQueue: kQueue$3, kNoRef, kKeepAliveDefaultTimeout: kKeepAliveDefaultTimeout$1, kHostHeader: kHostHeader$1, kPendingIdx: kPendingIdx$2, kRunningIdx: kRunningIdx$2, kError: kError$4, kPipelining: kPipelining$1, kSocket: kSocket$1, kKeepAliveTimeoutValue: kKeepAliveTimeoutValue$1, kMaxHeadersSize: kMaxHeadersSize$1, kKeepAliveMaxTimeout: kKeepAliveMaxTimeout$1, kKeepAliveTimeoutThreshold: kKeepAliveTimeoutThreshold$1, kHeadersTimeout: kHeadersTimeout$2, kBodyTimeout: kBodyTimeout$2, kStrictContentLength: kStrictContentLength$2, kMaxRequests: kMaxRequests$1, kCounter: kCounter$1, kMaxResponseSize: kMaxResponseSize$1, kOnError: kOnError$2, kResume: kResume$3, kHTTPContext: kHTTPContext$2, kClosed: kClosed$2 } = require_symbols();
|
|
23281
23281
|
const constants$3 = require_constants$5();
|
|
23282
23282
|
const EMPTY_BUF = Buffer.alloc(0);
|
|
23283
23283
|
const FastBuffer$3 = Buffer[Symbol.species];
|
|
@@ -23672,7 +23672,7 @@ var require_client_h1 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm
|
|
|
23672
23672
|
}
|
|
23673
23673
|
assert$25(statusCode >= 200);
|
|
23674
23674
|
if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) {
|
|
23675
|
-
util$21.destroy(socket, new ResponseExceededMaxSizeError());
|
|
23675
|
+
util$21.destroy(socket, new ResponseExceededMaxSizeError$1());
|
|
23676
23676
|
return -1;
|
|
23677
23677
|
}
|
|
23678
23678
|
this.bytesRead += buf.length;
|
|
@@ -23728,10 +23728,10 @@ var require_client_h1 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm
|
|
|
23728
23728
|
if (timeoutType === TIMEOUT_HEADERS) {
|
|
23729
23729
|
if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning$4] > 1) {
|
|
23730
23730
|
assert$25(!paused, "cannot be paused while waiting for headers");
|
|
23731
|
-
util$21.destroy(socket, new HeadersTimeoutError());
|
|
23731
|
+
util$21.destroy(socket, new HeadersTimeoutError$1());
|
|
23732
23732
|
}
|
|
23733
23733
|
} else if (timeoutType === TIMEOUT_BODY) {
|
|
23734
|
-
if (!paused) util$21.destroy(socket, new BodyTimeoutError());
|
|
23734
|
+
if (!paused) util$21.destroy(socket, new BodyTimeoutError$1());
|
|
23735
23735
|
} else if (timeoutType === TIMEOUT_KEEP_ALIVE) {
|
|
23736
23736
|
assert$25(client[kRunning$4] === 0 && client[kKeepAliveTimeoutValue$1]);
|
|
23737
23737
|
util$21.destroy(socket, new InformationalError$3("socket idle timeout"));
|
|
@@ -23851,19 +23851,18 @@ var require_client_h1 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm
|
|
|
23851
23851
|
}
|
|
23852
23852
|
function clearIdleSocketValidation(socket) {
|
|
23853
23853
|
if (socket[kIdleSocketValidationTimeout]) {
|
|
23854
|
-
|
|
23854
|
+
clearImmediate(socket[kIdleSocketValidationTimeout]);
|
|
23855
23855
|
socket[kIdleSocketValidationTimeout] = null;
|
|
23856
23856
|
}
|
|
23857
23857
|
socket[kIdleSocketValidation] = 0;
|
|
23858
23858
|
}
|
|
23859
23859
|
function scheduleIdleSocketValidation(client, socket) {
|
|
23860
23860
|
socket[kIdleSocketValidation] = 1;
|
|
23861
|
-
socket[kIdleSocketValidationTimeout] =
|
|
23861
|
+
socket[kIdleSocketValidationTimeout] = setImmediate(() => {
|
|
23862
23862
|
socket[kIdleSocketValidationTimeout] = null;
|
|
23863
23863
|
socket[kIdleSocketValidation] = 2;
|
|
23864
23864
|
if (client[kSocket$1] === socket && !socket.destroyed) client[kResume$3]();
|
|
23865
|
-
}
|
|
23866
|
-
socket[kIdleSocketValidationTimeout].unref?.();
|
|
23865
|
+
});
|
|
23867
23866
|
}
|
|
23868
23867
|
/**
|
|
23869
23868
|
* @param {import('./client.js')} client
|
|
@@ -23902,7 +23901,7 @@ var require_client_h1 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm
|
|
|
23902
23901
|
} else if (client[kRunning$4] > 0 && socket[kParser].statusCode < 200) {
|
|
23903
23902
|
if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {
|
|
23904
23903
|
const request$1 = client[kQueue$3][client[kRunningIdx$2]];
|
|
23905
|
-
const headersTimeout = request$1.headersTimeout != null ? request$1.headersTimeout : client[kHeadersTimeout$
|
|
23904
|
+
const headersTimeout = request$1.headersTimeout != null ? request$1.headersTimeout : client[kHeadersTimeout$2];
|
|
23906
23905
|
socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS);
|
|
23907
23906
|
}
|
|
23908
23907
|
}
|
|
@@ -23931,7 +23930,7 @@ var require_client_h1 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm
|
|
|
23931
23930
|
if (contentType) {
|
|
23932
23931
|
const contentTypeValue = `${contentType}`;
|
|
23933
23932
|
if (!util$21.isValidHeaderValue(contentTypeValue)) {
|
|
23934
|
-
util$21.errorRequest(client, request$1, new InvalidArgumentError$
|
|
23933
|
+
util$21.errorRequest(client, request$1, new InvalidArgumentError$32("invalid content-type header"));
|
|
23935
23934
|
return false;
|
|
23936
23935
|
}
|
|
23937
23936
|
headers.push("content-type", contentTypeValue);
|
|
@@ -24284,13 +24283,13 @@ var require_client_h1 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm
|
|
|
24284
24283
|
}) });
|
|
24285
24284
|
|
|
24286
24285
|
//#endregion
|
|
24287
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
24288
|
-
var require_client_h2 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
24286
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/client-h2.js
|
|
24287
|
+
var require_client_h2 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/client-h2.js": ((exports, module) => {
|
|
24289
24288
|
const assert$24 = __require$1("node:assert");
|
|
24290
24289
|
const { pipeline: pipeline$4 } = __require$1("node:stream");
|
|
24291
24290
|
const util$20 = require_util$5();
|
|
24292
|
-
const { RequestContentLengthMismatchError, RequestAbortedError: RequestAbortedError$7, SocketError: SocketError$2, InformationalError: InformationalError$2, InvalidArgumentError: InvalidArgumentError$
|
|
24293
|
-
const { kUrl: kUrl$6, kReset, kClient: kClient$2, kRunning: kRunning$3, kPending: kPending$2, kQueue: kQueue$2, kPendingIdx: kPendingIdx$1, kRunningIdx: kRunningIdx$1, kError: kError$3, kSocket, kStrictContentLength: kStrictContentLength$1, kOnError: kOnError$1, kMaxConcurrentStreams: kMaxConcurrentStreams$1, kPingInterval: kPingInterval$1, kHTTP2Session, kHTTP2InitialWindowSize: kHTTP2InitialWindowSize$1, kHTTP2ConnectionWindowSize: kHTTP2ConnectionWindowSize$1, kResume: kResume$2, kSize: kSize$3, kHTTPContext: kHTTPContext$1, kClosed: kClosed$1, kBodyTimeout: kBodyTimeout$1, kEnableConnectProtocol, kRemoteSettings, kHTTP2Stream: kHTTP2Stream$1, kHTTP2SessionState } = require_symbols();
|
|
24291
|
+
const { RequestContentLengthMismatchError, RequestAbortedError: RequestAbortedError$7, SocketError: SocketError$2, InformationalError: InformationalError$2, InvalidArgumentError: InvalidArgumentError$31, HeadersTimeoutError, BodyTimeoutError } = require_errors();
|
|
24292
|
+
const { kUrl: kUrl$6, kReset, kClient: kClient$2, kRunning: kRunning$3, kPending: kPending$2, kQueue: kQueue$2, kPendingIdx: kPendingIdx$1, kRunningIdx: kRunningIdx$1, kError: kError$3, kSocket, kStrictContentLength: kStrictContentLength$1, kOnError: kOnError$1, kMaxConcurrentStreams: kMaxConcurrentStreams$1, kPingInterval: kPingInterval$1, kHTTP2Session, kHTTP2InitialWindowSize: kHTTP2InitialWindowSize$1, kHTTP2ConnectionWindowSize: kHTTP2ConnectionWindowSize$1, kResume: kResume$2, kSize: kSize$3, kHTTPContext: kHTTPContext$1, kClosed: kClosed$1, kBodyTimeout: kBodyTimeout$1, kHeadersTimeout: kHeadersTimeout$1, kEnableConnectProtocol, kRemoteSettings, kHTTP2Stream: kHTTP2Stream$1, kHTTP2SessionState } = require_symbols();
|
|
24294
24293
|
const { channels: channels$4 } = require_diagnostics();
|
|
24295
24294
|
const kOpenStreams = Symbol("open streams");
|
|
24296
24295
|
let extractBody$3;
|
|
@@ -24370,7 +24369,7 @@ var require_client_h2 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm
|
|
|
24370
24369
|
}
|
|
24371
24370
|
function resumeH2(client) {
|
|
24372
24371
|
const socket = client[kSocket];
|
|
24373
|
-
if (socket?.destroyed === false) if (client[kSize$3] === 0
|
|
24372
|
+
if (socket?.destroyed === false) if (client[kSize$3] === 0) {
|
|
24374
24373
|
socket.unref();
|
|
24375
24374
|
client[kHTTP2Session].unref();
|
|
24376
24375
|
} else {
|
|
@@ -24443,6 +24442,20 @@ var require_client_h2 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm
|
|
|
24443
24442
|
* @this {import('http2').ClientHttp2Session}
|
|
24444
24443
|
* @param {number} errorCode
|
|
24445
24444
|
*/
|
|
24445
|
+
function completeRequest(client, request$1, resetPendingIdx = false) {
|
|
24446
|
+
const queue = client[kQueue$2];
|
|
24447
|
+
const runningIdx = client[kRunningIdx$1];
|
|
24448
|
+
if (runningIdx < client[kPendingIdx$1] && queue[runningIdx] === request$1) {
|
|
24449
|
+
queue[runningIdx] = null;
|
|
24450
|
+
client[kRunningIdx$1] = runningIdx + 1;
|
|
24451
|
+
return;
|
|
24452
|
+
}
|
|
24453
|
+
const index = queue.indexOf(request$1, runningIdx);
|
|
24454
|
+
if (index === -1 || index >= client[kPendingIdx$1]) return;
|
|
24455
|
+
queue.splice(index, 1);
|
|
24456
|
+
client[kPendingIdx$1]--;
|
|
24457
|
+
if (resetPendingIdx && client[kPendingIdx$1] < client[kRunningIdx$1]) client[kPendingIdx$1] = client[kRunningIdx$1];
|
|
24458
|
+
}
|
|
24446
24459
|
function onHttp2SessionGoAway(errorCode) {
|
|
24447
24460
|
const err = this[kError$3] || new SocketError$2(`HTTP/2: "GOAWAY" frame received with code ${errorCode}`, util$20.getSocketInfo(this[kSocket]));
|
|
24448
24461
|
const client = this[kClient$2];
|
|
@@ -24454,7 +24467,7 @@ var require_client_h2 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm
|
|
|
24454
24467
|
if (client[kRunningIdx$1] < client[kQueue$2].length) {
|
|
24455
24468
|
const request$1 = client[kQueue$2][client[kRunningIdx$1]];
|
|
24456
24469
|
client[kQueue$2][client[kRunningIdx$1]++] = null;
|
|
24457
|
-
util$20.errorRequest(client, request$1, err);
|
|
24470
|
+
if (request$1 != null) util$20.errorRequest(client, request$1, err);
|
|
24458
24471
|
client[kPendingIdx$1] = client[kRunningIdx$1];
|
|
24459
24472
|
}
|
|
24460
24473
|
assert$24(client[kRunning$3] === 0);
|
|
@@ -24477,7 +24490,7 @@ var require_client_h2 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm
|
|
|
24477
24490
|
const requests = client[kQueue$2].splice(client[kRunningIdx$1]);
|
|
24478
24491
|
for (let i = 0; i < requests.length; i++) {
|
|
24479
24492
|
const request$1 = requests[i];
|
|
24480
|
-
util$20.errorRequest(client, request$1, err);
|
|
24493
|
+
if (request$1 != null) util$20.errorRequest(client, request$1, err);
|
|
24481
24494
|
}
|
|
24482
24495
|
}
|
|
24483
24496
|
}
|
|
@@ -24507,12 +24520,13 @@ var require_client_h2 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm
|
|
|
24507
24520
|
return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
|
|
24508
24521
|
}
|
|
24509
24522
|
function writeH2(client, request$1) {
|
|
24510
|
-
const
|
|
24523
|
+
const headersTimeout = request$1.headersTimeout ?? client[kHeadersTimeout$1];
|
|
24524
|
+
const bodyTimeout = request$1.bodyTimeout ?? client[kBodyTimeout$1];
|
|
24511
24525
|
const session = client[kHTTP2Session];
|
|
24512
24526
|
const { method, path: path$3, host, upgrade: upgrade$1, expectContinue, signal, protocol, headers: reqHeaders } = request$1;
|
|
24513
24527
|
let { body } = request$1;
|
|
24514
24528
|
if (upgrade$1 != null && upgrade$1 !== "websocket") {
|
|
24515
|
-
util$20.errorRequest(client, request$1, new InvalidArgumentError$
|
|
24529
|
+
util$20.errorRequest(client, request$1, new InvalidArgumentError$31(`Custom upgrade "${upgrade$1}" not supported over HTTP/2`));
|
|
24516
24530
|
return false;
|
|
24517
24531
|
}
|
|
24518
24532
|
const headers = {};
|
|
@@ -24542,6 +24556,7 @@ var require_client_h2 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm
|
|
|
24542
24556
|
stream$2.removeAllListeners("data");
|
|
24543
24557
|
stream$2.close();
|
|
24544
24558
|
client[kOnError$1](err);
|
|
24559
|
+
completeRequest(client, request$1);
|
|
24545
24560
|
client[kResume$2]();
|
|
24546
24561
|
}
|
|
24547
24562
|
util$20.destroy(body, err);
|
|
@@ -24574,7 +24589,7 @@ var require_client_h2 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm
|
|
|
24574
24589
|
const { [HTTP2_HEADER_STATUS]: statusCode,...realHeaders } = headers$1;
|
|
24575
24590
|
request$1.onUpgrade(statusCode, parseH2Headers(realHeaders), stream$2);
|
|
24576
24591
|
++session[kOpenStreams];
|
|
24577
|
-
client
|
|
24592
|
+
completeRequest(client, request$1);
|
|
24578
24593
|
});
|
|
24579
24594
|
stream$2.on("error", () => {
|
|
24580
24595
|
if (stream$2.rstCode === NGHTTP2_REFUSED_STREAM || stream$2.rstCode === NGHTTP2_CANCEL) abort$1(new InformationalError$2(`HTTP/2: "stream error" received - code ${stream$2.rstCode}`));
|
|
@@ -24583,7 +24598,7 @@ var require_client_h2 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm
|
|
|
24583
24598
|
session[kOpenStreams] -= 1;
|
|
24584
24599
|
if (session[kOpenStreams] === 0) session.unref();
|
|
24585
24600
|
});
|
|
24586
|
-
stream$2.setTimeout(
|
|
24601
|
+
stream$2.setTimeout(headersTimeout);
|
|
24587
24602
|
return true;
|
|
24588
24603
|
}
|
|
24589
24604
|
stream$2 = session.request(headers, {
|
|
@@ -24595,13 +24610,14 @@ var require_client_h2 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm
|
|
|
24595
24610
|
const { [HTTP2_HEADER_STATUS]: statusCode,...realHeaders } = headers$1;
|
|
24596
24611
|
request$1.onUpgrade(statusCode, parseH2Headers(realHeaders), stream$2);
|
|
24597
24612
|
++session[kOpenStreams];
|
|
24598
|
-
client
|
|
24613
|
+
completeRequest(client, request$1);
|
|
24599
24614
|
});
|
|
24615
|
+
stream$2.on("error", abort$1);
|
|
24600
24616
|
stream$2.once("close", () => {
|
|
24601
24617
|
session[kOpenStreams] -= 1;
|
|
24602
24618
|
if (session[kOpenStreams] === 0) session.unref();
|
|
24603
24619
|
});
|
|
24604
|
-
stream$2.setTimeout(
|
|
24620
|
+
stream$2.setTimeout(headersTimeout);
|
|
24605
24621
|
return true;
|
|
24606
24622
|
}
|
|
24607
24623
|
headers[HTTP2_HEADER_PATH] = path$3;
|
|
@@ -24657,12 +24673,13 @@ var require_client_h2 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm
|
|
|
24657
24673
|
writeBodyH2();
|
|
24658
24674
|
}
|
|
24659
24675
|
++session[kOpenStreams];
|
|
24660
|
-
stream$2.setTimeout(
|
|
24676
|
+
stream$2.setTimeout(headersTimeout);
|
|
24661
24677
|
let responseReceived = false;
|
|
24662
24678
|
stream$2.once("response", (headers$1) => {
|
|
24663
24679
|
const { [HTTP2_HEADER_STATUS]: statusCode,...realHeaders } = headers$1;
|
|
24664
24680
|
request$1.onResponseStarted();
|
|
24665
24681
|
responseReceived = true;
|
|
24682
|
+
stream$2.setTimeout(bodyTimeout);
|
|
24666
24683
|
if (request$1.aborted) {
|
|
24667
24684
|
stream$2.removeAllListeners("data");
|
|
24668
24685
|
return;
|
|
@@ -24677,12 +24694,11 @@ var require_client_h2 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm
|
|
|
24677
24694
|
stream$2.removeAllListeners("data");
|
|
24678
24695
|
if (responseReceived) {
|
|
24679
24696
|
if (!request$1.aborted && !request$1.completed) request$1.onComplete({});
|
|
24680
|
-
client
|
|
24697
|
+
completeRequest(client, request$1);
|
|
24681
24698
|
client[kResume$2]();
|
|
24682
24699
|
} else {
|
|
24683
24700
|
abort$1(new InformationalError$2("HTTP/2: stream half-closed (remote)"));
|
|
24684
|
-
client
|
|
24685
|
-
client[kPendingIdx$1] = client[kRunningIdx$1];
|
|
24701
|
+
completeRequest(client, request$1, true);
|
|
24686
24702
|
client[kResume$2]();
|
|
24687
24703
|
}
|
|
24688
24704
|
});
|
|
@@ -24690,6 +24706,7 @@ var require_client_h2 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm
|
|
|
24690
24706
|
stream$2.removeAllListeners("data");
|
|
24691
24707
|
session[kOpenStreams] -= 1;
|
|
24692
24708
|
if (session[kOpenStreams] === 0) session.unref();
|
|
24709
|
+
if (!request$1.aborted && !request$1.completed) abort$1(new InformationalError$2("HTTP/2: stream closed before the response was complete"));
|
|
24693
24710
|
});
|
|
24694
24711
|
stream$2.once("error", function(err) {
|
|
24695
24712
|
stream$2.removeAllListeners("data");
|
|
@@ -24703,7 +24720,7 @@ var require_client_h2 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm
|
|
|
24703
24720
|
stream$2.removeAllListeners("data");
|
|
24704
24721
|
});
|
|
24705
24722
|
stream$2.on("timeout", () => {
|
|
24706
|
-
const err = new
|
|
24723
|
+
const err = responseReceived ? new BodyTimeoutError(`HTTP/2: "body timeout after ${bodyTimeout}"`) : new HeadersTimeoutError(`HTTP/2: "headers timeout after ${headersTimeout}"`);
|
|
24707
24724
|
stream$2.removeAllListeners("data");
|
|
24708
24725
|
session[kOpenStreams] -= 1;
|
|
24709
24726
|
if (session[kOpenStreams] === 0) session.unref();
|
|
@@ -24814,8 +24831,8 @@ var require_client_h2 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm
|
|
|
24814
24831
|
}) });
|
|
24815
24832
|
|
|
24816
24833
|
//#endregion
|
|
24817
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
24818
|
-
var require_client = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
24834
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/client.js
|
|
24835
|
+
var require_client = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/client.js": ((exports, module) => {
|
|
24819
24836
|
const assert$23 = __require$1("node:assert");
|
|
24820
24837
|
const net$3 = __require$1("node:net");
|
|
24821
24838
|
const http$3 = __require$1("node:http");
|
|
@@ -24824,14 +24841,14 @@ var require_client = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/un
|
|
|
24824
24841
|
const { channels: channels$3 } = require_diagnostics();
|
|
24825
24842
|
const Request$4 = require_request$1();
|
|
24826
24843
|
const DispatcherBase$5 = require_dispatcher_base();
|
|
24827
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
24844
|
+
const { InvalidArgumentError: InvalidArgumentError$30, InformationalError: InformationalError$1, ClientDestroyedError } = require_errors();
|
|
24828
24845
|
const buildConnector$5 = require_connect();
|
|
24829
24846
|
const { kUrl: kUrl$5, kServerName, kClient: kClient$1, kBusy: kBusy$1, kConnect, kResuming, kRunning: kRunning$2, kPending: kPending$1, kSize: kSize$2, kQueue: kQueue$1, kConnected: kConnected$3, kConnecting, kNeedDrain: kNeedDrain$4, kKeepAliveDefaultTimeout, kHostHeader, kPendingIdx, kRunningIdx, kError: kError$2, kPipelining, kKeepAliveTimeoutValue, kMaxHeadersSize, kKeepAliveMaxTimeout, kKeepAliveTimeoutThreshold, kHeadersTimeout, kBodyTimeout, kStrictContentLength, kConnector: kConnector$1, kMaxRequests, kCounter, kClose: kClose$7, kDestroy: kDestroy$5, kDispatch: kDispatch$5, kLocalAddress, kMaxResponseSize, kOnError, kHTTPContext, kMaxConcurrentStreams, kHTTP2InitialWindowSize, kHTTP2ConnectionWindowSize, kResume: kResume$1, kPingInterval } = require_symbols();
|
|
24830
24847
|
const connectH1 = require_client_h1();
|
|
24831
24848
|
const connectH2 = require_client_h2();
|
|
24832
24849
|
const kClosedResolve$1 = Symbol("kClosedResolve");
|
|
24833
24850
|
const getDefaultNodeMaxHeaderSize = http$3 && http$3.maxHeaderSize && Number.isInteger(http$3.maxHeaderSize) && http$3.maxHeaderSize > 0 ? () => http$3.maxHeaderSize : () => {
|
|
24834
|
-
throw new InvalidArgumentError$
|
|
24851
|
+
throw new InvalidArgumentError$30("http module not available or http.maxHeaderSize invalid");
|
|
24835
24852
|
};
|
|
24836
24853
|
const noop$7 = () => {};
|
|
24837
24854
|
function getPipelining(client) {
|
|
@@ -24847,32 +24864,32 @@ var require_client = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/un
|
|
|
24847
24864
|
* @param {import('../../types/client.js').Client.Options} options
|
|
24848
24865
|
*/
|
|
24849
24866
|
constructor(url$2, { maxHeaderSize, headersTimeout, socketTimeout, requestTimeout, connectTimeout, bodyTimeout, idleTimeout, keepAlive, keepAliveTimeout, maxKeepAliveTimeout, keepAliveMaxTimeout, keepAliveTimeoutThreshold, socketPath, pipelining, tls: tls$3, strictContentLength, maxCachedSessions, connect: connect$2, maxRequestsPerClient, localAddress, maxResponseSize, autoSelectFamily, autoSelectFamilyAttemptTimeout, maxConcurrentStreams, allowH2, useH2c, initialWindowSize, connectionWindowSize, pingInterval, webSocket } = {}) {
|
|
24850
|
-
if (keepAlive !== void 0) throw new InvalidArgumentError$
|
|
24851
|
-
if (socketTimeout !== void 0) throw new InvalidArgumentError$
|
|
24852
|
-
if (requestTimeout !== void 0) throw new InvalidArgumentError$
|
|
24853
|
-
if (idleTimeout !== void 0) throw new InvalidArgumentError$
|
|
24854
|
-
if (maxKeepAliveTimeout !== void 0) throw new InvalidArgumentError$
|
|
24867
|
+
if (keepAlive !== void 0) throw new InvalidArgumentError$30("unsupported keepAlive, use pipelining=0 instead");
|
|
24868
|
+
if (socketTimeout !== void 0) throw new InvalidArgumentError$30("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");
|
|
24869
|
+
if (requestTimeout !== void 0) throw new InvalidArgumentError$30("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");
|
|
24870
|
+
if (idleTimeout !== void 0) throw new InvalidArgumentError$30("unsupported idleTimeout, use keepAliveTimeout instead");
|
|
24871
|
+
if (maxKeepAliveTimeout !== void 0) throw new InvalidArgumentError$30("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");
|
|
24855
24872
|
if (maxHeaderSize != null) {
|
|
24856
|
-
if (!Number.isInteger(maxHeaderSize) || maxHeaderSize < 1) throw new InvalidArgumentError$
|
|
24873
|
+
if (!Number.isInteger(maxHeaderSize) || maxHeaderSize < 1) throw new InvalidArgumentError$30("invalid maxHeaderSize");
|
|
24857
24874
|
} else maxHeaderSize = getDefaultNodeMaxHeaderSize();
|
|
24858
|
-
if (socketPath != null && typeof socketPath !== "string") throw new InvalidArgumentError$
|
|
24859
|
-
if (connectTimeout != null && (!Number.isFinite(connectTimeout) || connectTimeout < 0)) throw new InvalidArgumentError$
|
|
24860
|
-
if (keepAliveTimeout != null && (!Number.isFinite(keepAliveTimeout) || keepAliveTimeout <= 0)) throw new InvalidArgumentError$
|
|
24861
|
-
if (keepAliveMaxTimeout != null && (!Number.isFinite(keepAliveMaxTimeout) || keepAliveMaxTimeout <= 0)) throw new InvalidArgumentError$
|
|
24862
|
-
if (keepAliveTimeoutThreshold != null && !Number.isFinite(keepAliveTimeoutThreshold)) throw new InvalidArgumentError$
|
|
24863
|
-
if (headersTimeout != null && (!Number.isInteger(headersTimeout) || headersTimeout < 0)) throw new InvalidArgumentError$
|
|
24864
|
-
if (bodyTimeout != null && (!Number.isInteger(bodyTimeout) || bodyTimeout < 0)) throw new InvalidArgumentError$
|
|
24865
|
-
if (connect$2 != null && typeof connect$2 !== "function" && typeof connect$2 !== "object") throw new InvalidArgumentError$
|
|
24866
|
-
if (maxRequestsPerClient != null && (!Number.isInteger(maxRequestsPerClient) || maxRequestsPerClient < 0)) throw new InvalidArgumentError$
|
|
24867
|
-
if (localAddress != null && (typeof localAddress !== "string" || net$3.isIP(localAddress) === 0)) throw new InvalidArgumentError$
|
|
24868
|
-
if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) throw new InvalidArgumentError$
|
|
24869
|
-
if (autoSelectFamilyAttemptTimeout != null && (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)) throw new InvalidArgumentError$
|
|
24870
|
-
if (allowH2 != null && typeof allowH2 !== "boolean") throw new InvalidArgumentError$
|
|
24871
|
-
if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) throw new InvalidArgumentError$
|
|
24872
|
-
if (useH2c != null && typeof useH2c !== "boolean") throw new InvalidArgumentError$
|
|
24873
|
-
if (initialWindowSize != null && (!Number.isInteger(initialWindowSize) || initialWindowSize < 1)) throw new InvalidArgumentError$
|
|
24874
|
-
if (connectionWindowSize != null && (!Number.isInteger(connectionWindowSize) || connectionWindowSize < 1)) throw new InvalidArgumentError$
|
|
24875
|
-
if (pingInterval != null && (typeof pingInterval !== "number" || !Number.isInteger(pingInterval) || pingInterval < 0)) throw new InvalidArgumentError$
|
|
24875
|
+
if (socketPath != null && typeof socketPath !== "string") throw new InvalidArgumentError$30("invalid socketPath");
|
|
24876
|
+
if (connectTimeout != null && (!Number.isFinite(connectTimeout) || connectTimeout < 0)) throw new InvalidArgumentError$30("invalid connectTimeout");
|
|
24877
|
+
if (keepAliveTimeout != null && (!Number.isFinite(keepAliveTimeout) || keepAliveTimeout <= 0)) throw new InvalidArgumentError$30("invalid keepAliveTimeout");
|
|
24878
|
+
if (keepAliveMaxTimeout != null && (!Number.isFinite(keepAliveMaxTimeout) || keepAliveMaxTimeout <= 0)) throw new InvalidArgumentError$30("invalid keepAliveMaxTimeout");
|
|
24879
|
+
if (keepAliveTimeoutThreshold != null && !Number.isFinite(keepAliveTimeoutThreshold)) throw new InvalidArgumentError$30("invalid keepAliveTimeoutThreshold");
|
|
24880
|
+
if (headersTimeout != null && (!Number.isInteger(headersTimeout) || headersTimeout < 0)) throw new InvalidArgumentError$30("headersTimeout must be a positive integer or zero");
|
|
24881
|
+
if (bodyTimeout != null && (!Number.isInteger(bodyTimeout) || bodyTimeout < 0)) throw new InvalidArgumentError$30("bodyTimeout must be a positive integer or zero");
|
|
24882
|
+
if (connect$2 != null && typeof connect$2 !== "function" && typeof connect$2 !== "object") throw new InvalidArgumentError$30("connect must be a function or an object");
|
|
24883
|
+
if (maxRequestsPerClient != null && (!Number.isInteger(maxRequestsPerClient) || maxRequestsPerClient < 0)) throw new InvalidArgumentError$30("maxRequestsPerClient must be a positive number");
|
|
24884
|
+
if (localAddress != null && (typeof localAddress !== "string" || net$3.isIP(localAddress) === 0)) throw new InvalidArgumentError$30("localAddress must be valid string IP address");
|
|
24885
|
+
if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) throw new InvalidArgumentError$30("maxResponseSize must be a positive number");
|
|
24886
|
+
if (autoSelectFamilyAttemptTimeout != null && (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)) throw new InvalidArgumentError$30("autoSelectFamilyAttemptTimeout must be a positive number");
|
|
24887
|
+
if (allowH2 != null && typeof allowH2 !== "boolean") throw new InvalidArgumentError$30("allowH2 must be a valid boolean value");
|
|
24888
|
+
if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) throw new InvalidArgumentError$30("maxConcurrentStreams must be a positive integer, greater than 0");
|
|
24889
|
+
if (useH2c != null && typeof useH2c !== "boolean") throw new InvalidArgumentError$30("useH2c must be a valid boolean value");
|
|
24890
|
+
if (initialWindowSize != null && (!Number.isInteger(initialWindowSize) || initialWindowSize < 1)) throw new InvalidArgumentError$30("initialWindowSize must be a positive integer, greater than 0");
|
|
24891
|
+
if (connectionWindowSize != null && (!Number.isInteger(connectionWindowSize) || connectionWindowSize < 1)) throw new InvalidArgumentError$30("connectionWindowSize must be a positive integer, greater than 0");
|
|
24892
|
+
if (pingInterval != null && (typeof pingInterval !== "number" || !Number.isInteger(pingInterval) || pingInterval < 0)) throw new InvalidArgumentError$30("pingInterval must be a positive integer, greater or equal to 0");
|
|
24876
24893
|
super({ webSocket });
|
|
24877
24894
|
if (typeof connect$2 !== "function") connect$2 = buildConnector$5({
|
|
24878
24895
|
...tls$3,
|
|
@@ -24975,7 +24992,7 @@ var require_client = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/un
|
|
|
24975
24992
|
const requests = this[kQueue$1].splice(this[kPendingIdx]);
|
|
24976
24993
|
for (let i = 0; i < requests.length; i++) {
|
|
24977
24994
|
const request$1 = requests[i];
|
|
24978
|
-
util$19.errorRequest(this, request$1, err);
|
|
24995
|
+
if (request$1 != null) util$19.errorRequest(this, request$1, err);
|
|
24979
24996
|
}
|
|
24980
24997
|
const callback = () => {
|
|
24981
24998
|
if (this[kClosedResolve$1]) {
|
|
@@ -24998,7 +25015,7 @@ var require_client = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/un
|
|
|
24998
25015
|
const requests = client[kQueue$1].splice(client[kRunningIdx]);
|
|
24999
25016
|
for (let i = 0; i < requests.length; i++) {
|
|
25000
25017
|
const request$1 = requests[i];
|
|
25001
|
-
util$19.errorRequest(client, request$1, err);
|
|
25018
|
+
if (request$1 != null) util$19.errorRequest(client, request$1, err);
|
|
25002
25019
|
}
|
|
25003
25020
|
assert$23(client[kSize$2] === 0);
|
|
25004
25021
|
}
|
|
@@ -25187,8 +25204,8 @@ var require_client = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/un
|
|
|
25187
25204
|
}) });
|
|
25188
25205
|
|
|
25189
25206
|
//#endregion
|
|
25190
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
25191
|
-
var require_fixed_queue = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
25207
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/fixed-queue.js
|
|
25208
|
+
var require_fixed_queue = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/fixed-queue.js": ((exports, module) => {
|
|
25192
25209
|
const kSize$1 = 2048;
|
|
25193
25210
|
const kMask = kSize$1 - 1;
|
|
25194
25211
|
/**
|
|
@@ -25260,8 +25277,8 @@ var require_fixed_queue = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pn
|
|
|
25260
25277
|
}) });
|
|
25261
25278
|
|
|
25262
25279
|
//#endregion
|
|
25263
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
25264
|
-
var require_pool_base = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
25280
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/pool-base.js
|
|
25281
|
+
var require_pool_base = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/pool-base.js": ((exports, module) => {
|
|
25265
25282
|
const { PoolStats } = require_stats();
|
|
25266
25283
|
const DispatcherBase$4 = require_dispatcher_base();
|
|
25267
25284
|
const FixedQueue$1 = require_fixed_queue();
|
|
@@ -25409,11 +25426,11 @@ var require_pool_base = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm
|
|
|
25409
25426
|
}) });
|
|
25410
25427
|
|
|
25411
25428
|
//#endregion
|
|
25412
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
25413
|
-
var require_pool = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
25429
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/pool.js
|
|
25430
|
+
var require_pool = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/pool.js": ((exports, module) => {
|
|
25414
25431
|
const { PoolBase: PoolBase$2, kClients: kClients$4, kNeedDrain: kNeedDrain$2, kAddClient: kAddClient$2, kGetDispatcher: kGetDispatcher$2, kRemoveClient: kRemoveClient$2 } = require_pool_base();
|
|
25415
25432
|
const Client$6 = require_client();
|
|
25416
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
25433
|
+
const { InvalidArgumentError: InvalidArgumentError$29 } = require_errors();
|
|
25417
25434
|
const util$18 = require_util$5();
|
|
25418
25435
|
const { kUrl: kUrl$3 } = require_symbols();
|
|
25419
25436
|
const buildConnector$4 = require_connect();
|
|
@@ -25425,9 +25442,9 @@ var require_pool = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undi
|
|
|
25425
25442
|
}
|
|
25426
25443
|
var Pool$6 = class extends PoolBase$2 {
|
|
25427
25444
|
constructor(origin, { connections, factory = defaultFactory$4, connect: connect$2, connectTimeout, tls: tls$3, maxCachedSessions, socketPath, autoSelectFamily, autoSelectFamilyAttemptTimeout, allowH2, clientTtl,...options } = {}) {
|
|
25428
|
-
if (connections != null && (!Number.isFinite(connections) || connections < 0)) throw new InvalidArgumentError$
|
|
25429
|
-
if (typeof factory !== "function") throw new InvalidArgumentError$
|
|
25430
|
-
if (connect$2 != null && typeof connect$2 !== "function" && typeof connect$2 !== "object") throw new InvalidArgumentError$
|
|
25445
|
+
if (connections != null && (!Number.isFinite(connections) || connections < 0)) throw new InvalidArgumentError$29("invalid connections");
|
|
25446
|
+
if (typeof factory !== "function") throw new InvalidArgumentError$29("factory must be a function.");
|
|
25447
|
+
if (connect$2 != null && typeof connect$2 !== "function" && typeof connect$2 !== "object") throw new InvalidArgumentError$29("connect must be a function or an object");
|
|
25431
25448
|
if (typeof connect$2 !== "function") connect$2 = buildConnector$4({
|
|
25432
25449
|
...tls$3,
|
|
25433
25450
|
maxCachedSessions,
|
|
@@ -25477,9 +25494,9 @@ var require_pool = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undi
|
|
|
25477
25494
|
}) });
|
|
25478
25495
|
|
|
25479
25496
|
//#endregion
|
|
25480
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
25481
|
-
var require_balanced_pool = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
25482
|
-
const { BalancedPoolMissingUpstreamError, InvalidArgumentError: InvalidArgumentError$
|
|
25497
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/balanced-pool.js
|
|
25498
|
+
var require_balanced_pool = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/balanced-pool.js": ((exports, module) => {
|
|
25499
|
+
const { BalancedPoolMissingUpstreamError, InvalidArgumentError: InvalidArgumentError$28 } = require_errors();
|
|
25483
25500
|
const { PoolBase: PoolBase$1, kClients: kClients$3, kNeedDrain: kNeedDrain$1, kAddClient: kAddClient$1, kRemoveClient: kRemoveClient$1, kGetDispatcher: kGetDispatcher$1 } = require_pool_base();
|
|
25484
25501
|
const Pool$5 = require_pool();
|
|
25485
25502
|
const { kUrl: kUrl$2 } = require_symbols();
|
|
@@ -25513,10 +25530,16 @@ var require_balanced_pool = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.
|
|
|
25513
25530
|
return new Pool$5(origin, opts);
|
|
25514
25531
|
}
|
|
25515
25532
|
var BalancedPool$1 = class extends PoolBase$1 {
|
|
25516
|
-
constructor(upstreams = [], { factory = defaultFactory$3,...opts } = {}) {
|
|
25517
|
-
if (typeof factory !== "function") throw new InvalidArgumentError$
|
|
25533
|
+
constructor(upstreams = [], { factory = defaultFactory$3, connect: connect$2, tls: tls$3,...opts } = {}) {
|
|
25534
|
+
if (typeof factory !== "function") throw new InvalidArgumentError$28("factory must be a function.");
|
|
25518
25535
|
super(opts);
|
|
25519
|
-
|
|
25536
|
+
if (connect$2 && typeof connect$2 !== "function") connect$2 = { ...connect$2 };
|
|
25537
|
+
if (tls$3 && typeof tls$3 !== "function") tls$3 = { ...tls$3 };
|
|
25538
|
+
this[kOptions$3] = {
|
|
25539
|
+
...util$17.deepClone(opts),
|
|
25540
|
+
connect: connect$2,
|
|
25541
|
+
tls: tls$3
|
|
25542
|
+
};
|
|
25520
25543
|
this[kOptions$3].interceptors = opts.interceptors ? { ...opts.interceptors } : void 0;
|
|
25521
25544
|
this[kIndex$1] = -1;
|
|
25522
25545
|
this[kCurrentWeight] = 0;
|
|
@@ -25593,11 +25616,11 @@ var require_balanced_pool = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.
|
|
|
25593
25616
|
}) });
|
|
25594
25617
|
|
|
25595
25618
|
//#endregion
|
|
25596
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
25597
|
-
var require_round_robin_pool = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
25619
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/round-robin-pool.js
|
|
25620
|
+
var require_round_robin_pool = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/round-robin-pool.js": ((exports, module) => {
|
|
25598
25621
|
const { PoolBase, kClients: kClients$2, kNeedDrain, kAddClient, kGetDispatcher, kRemoveClient } = require_pool_base();
|
|
25599
25622
|
const Client$5 = require_client();
|
|
25600
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
25623
|
+
const { InvalidArgumentError: InvalidArgumentError$27 } = require_errors();
|
|
25601
25624
|
const util$16 = require_util$5();
|
|
25602
25625
|
const { kUrl: kUrl$1 } = require_symbols();
|
|
25603
25626
|
const buildConnector$3 = require_connect();
|
|
@@ -25610,9 +25633,9 @@ var require_round_robin_pool = /* @__PURE__ */ __commonJS$2({ "../../node_module
|
|
|
25610
25633
|
}
|
|
25611
25634
|
var RoundRobinPool$1 = class extends PoolBase {
|
|
25612
25635
|
constructor(origin, { connections, factory = defaultFactory$2, connect: connect$2, connectTimeout, tls: tls$3, maxCachedSessions, socketPath, autoSelectFamily, autoSelectFamilyAttemptTimeout, allowH2, clientTtl,...options } = {}) {
|
|
25613
|
-
if (connections != null && (!Number.isFinite(connections) || connections < 0)) throw new InvalidArgumentError$
|
|
25614
|
-
if (typeof factory !== "function") throw new InvalidArgumentError$
|
|
25615
|
-
if (connect$2 != null && typeof connect$2 !== "function" && typeof connect$2 !== "object") throw new InvalidArgumentError$
|
|
25636
|
+
if (connections != null && (!Number.isFinite(connections) || connections < 0)) throw new InvalidArgumentError$27("invalid connections");
|
|
25637
|
+
if (typeof factory !== "function") throw new InvalidArgumentError$27("factory must be a function.");
|
|
25638
|
+
if (connect$2 != null && typeof connect$2 !== "function" && typeof connect$2 !== "object") throw new InvalidArgumentError$27("connect must be a function or an object");
|
|
25616
25639
|
if (typeof connect$2 !== "function") connect$2 = buildConnector$3({
|
|
25617
25640
|
...tls$3,
|
|
25618
25641
|
maxCachedSessions,
|
|
@@ -25679,9 +25702,9 @@ var require_round_robin_pool = /* @__PURE__ */ __commonJS$2({ "../../node_module
|
|
|
25679
25702
|
}) });
|
|
25680
25703
|
|
|
25681
25704
|
//#endregion
|
|
25682
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
25683
|
-
var require_agent = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
25684
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
25705
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/agent.js
|
|
25706
|
+
var require_agent = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/agent.js": ((exports, module) => {
|
|
25707
|
+
const { InvalidArgumentError: InvalidArgumentError$26, MaxOriginsReachedError } = require_errors();
|
|
25685
25708
|
const { kClients: kClients$1, kRunning, kClose: kClose$5, kDestroy: kDestroy$3, kDispatch: kDispatch$3, kUrl } = require_symbols();
|
|
25686
25709
|
const DispatcherBase$3 = require_dispatcher_base();
|
|
25687
25710
|
const Pool$4 = require_pool();
|
|
@@ -25699,9 +25722,9 @@ var require_agent = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/und
|
|
|
25699
25722
|
}
|
|
25700
25723
|
var Agent$6 = class extends DispatcherBase$3 {
|
|
25701
25724
|
constructor({ factory = defaultFactory$1, maxOrigins = Infinity, connect: connect$2,...options } = {}) {
|
|
25702
|
-
if (typeof factory !== "function") throw new InvalidArgumentError$
|
|
25703
|
-
if (connect$2 != null && typeof connect$2 !== "function" && typeof connect$2 !== "object") throw new InvalidArgumentError$
|
|
25704
|
-
if (typeof maxOrigins !== "number" || Number.isNaN(maxOrigins) || maxOrigins <= 0) throw new InvalidArgumentError$
|
|
25725
|
+
if (typeof factory !== "function") throw new InvalidArgumentError$26("factory must be a function.");
|
|
25726
|
+
if (connect$2 != null && typeof connect$2 !== "function" && typeof connect$2 !== "object") throw new InvalidArgumentError$26("connect must be a function or an object");
|
|
25727
|
+
if (typeof maxOrigins !== "number" || Number.isNaN(maxOrigins) || maxOrigins <= 0) throw new InvalidArgumentError$26("maxOrigins must be a number greater than 0");
|
|
25705
25728
|
super(options);
|
|
25706
25729
|
if (connect$2 && typeof connect$2 !== "function") connect$2 = { ...connect$2 };
|
|
25707
25730
|
this[kOptions$1] = {
|
|
@@ -25733,7 +25756,7 @@ var require_agent = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/und
|
|
|
25733
25756
|
[kDispatch$3](opts, handler) {
|
|
25734
25757
|
let key;
|
|
25735
25758
|
if (opts.origin && (typeof opts.origin === "string" || opts.origin instanceof URL)) key = String(opts.origin);
|
|
25736
|
-
else throw new InvalidArgumentError$
|
|
25759
|
+
else throw new InvalidArgumentError$26("opts.origin must be a non-empty string or URL.");
|
|
25737
25760
|
if (this[kOrigins].size >= this[kOptions$1].maxOrigins && !this[kOrigins].has(key)) throw new MaxOriginsReachedError();
|
|
25738
25761
|
const result = this[kClients$1].get(key);
|
|
25739
25762
|
let dispatcher = result && result.dispatcher;
|
|
@@ -25790,11 +25813,11 @@ var require_agent = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/und
|
|
|
25790
25813
|
}) });
|
|
25791
25814
|
|
|
25792
25815
|
//#endregion
|
|
25793
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
25794
|
-
var require_socks5_utils = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
25816
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/core/socks5-utils.js
|
|
25817
|
+
var require_socks5_utils = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/core/socks5-utils.js": ((exports, module) => {
|
|
25795
25818
|
const { Buffer: Buffer$2 } = __require$1("node:buffer");
|
|
25796
25819
|
const net$2 = __require$1("node:net");
|
|
25797
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
25820
|
+
const { InvalidArgumentError: InvalidArgumentError$25 } = require_errors();
|
|
25798
25821
|
/**
|
|
25799
25822
|
* Parse an address and determine its type
|
|
25800
25823
|
* @param {string} address - The address to parse
|
|
@@ -25813,7 +25836,7 @@ var require_socks5_utils = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.p
|
|
|
25813
25836
|
buffer: parseIPv6(address)
|
|
25814
25837
|
};
|
|
25815
25838
|
const domainBuffer = Buffer$2.from(address, "utf8");
|
|
25816
|
-
if (domainBuffer.length > 255) throw new InvalidArgumentError$
|
|
25839
|
+
if (domainBuffer.length > 255) throw new InvalidArgumentError$25("Domain name too long (max 255 bytes)");
|
|
25817
25840
|
return {
|
|
25818
25841
|
type: 3,
|
|
25819
25842
|
buffer: Buffer$2.concat([Buffer$2.from([domainBuffer.length]), domainBuffer])
|
|
@@ -25882,27 +25905,27 @@ var require_socks5_utils = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.p
|
|
|
25882
25905
|
* @returns {{address: string, port: number, bytesRead: number}}
|
|
25883
25906
|
*/
|
|
25884
25907
|
function parseResponseAddress(buffer$1, offset = 0) {
|
|
25885
|
-
if (buffer$1.length < offset + 1) throw new InvalidArgumentError$
|
|
25908
|
+
if (buffer$1.length < offset + 1) throw new InvalidArgumentError$25("Buffer too small to contain address type");
|
|
25886
25909
|
const addressType = buffer$1[offset];
|
|
25887
25910
|
let address;
|
|
25888
25911
|
let currentOffset = offset + 1;
|
|
25889
25912
|
switch (addressType) {
|
|
25890
25913
|
case 1:
|
|
25891
|
-
if (buffer$1.length < currentOffset + 6) throw new InvalidArgumentError$
|
|
25914
|
+
if (buffer$1.length < currentOffset + 6) throw new InvalidArgumentError$25("Buffer too small for IPv4 address");
|
|
25892
25915
|
address = Array.from(buffer$1.subarray(currentOffset, currentOffset + 4)).join(".");
|
|
25893
25916
|
currentOffset += 4;
|
|
25894
25917
|
break;
|
|
25895
25918
|
case 3: {
|
|
25896
|
-
if (buffer$1.length < currentOffset + 1) throw new InvalidArgumentError$
|
|
25919
|
+
if (buffer$1.length < currentOffset + 1) throw new InvalidArgumentError$25("Buffer too small for domain length");
|
|
25897
25920
|
const domainLength = buffer$1[currentOffset];
|
|
25898
25921
|
currentOffset += 1;
|
|
25899
|
-
if (buffer$1.length < currentOffset + domainLength + 2) throw new InvalidArgumentError$
|
|
25922
|
+
if (buffer$1.length < currentOffset + domainLength + 2) throw new InvalidArgumentError$25("Buffer too small for domain address");
|
|
25900
25923
|
address = buffer$1.subarray(currentOffset, currentOffset + domainLength).toString("utf8");
|
|
25901
25924
|
currentOffset += domainLength;
|
|
25902
25925
|
break;
|
|
25903
25926
|
}
|
|
25904
25927
|
case 4: {
|
|
25905
|
-
if (buffer$1.length < currentOffset + 18) throw new InvalidArgumentError$
|
|
25928
|
+
if (buffer$1.length < currentOffset + 18) throw new InvalidArgumentError$25("Buffer too small for IPv6 address");
|
|
25906
25929
|
const parts = [];
|
|
25907
25930
|
for (let i = 0; i < 8; i++) {
|
|
25908
25931
|
const value = buffer$1.readUInt16BE(currentOffset + i * 2);
|
|
@@ -25912,9 +25935,9 @@ var require_socks5_utils = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.p
|
|
|
25912
25935
|
currentOffset += 16;
|
|
25913
25936
|
break;
|
|
25914
25937
|
}
|
|
25915
|
-
default: throw new InvalidArgumentError$
|
|
25938
|
+
default: throw new InvalidArgumentError$25(`Invalid address type: ${addressType}`);
|
|
25916
25939
|
}
|
|
25917
|
-
if (buffer$1.length < currentOffset + 2) throw new InvalidArgumentError$
|
|
25940
|
+
if (buffer$1.length < currentOffset + 2) throw new InvalidArgumentError$25("Buffer too small for port");
|
|
25918
25941
|
const port = buffer$1.readUInt16BE(currentOffset);
|
|
25919
25942
|
currentOffset += 2;
|
|
25920
25943
|
return {
|
|
@@ -25953,11 +25976,11 @@ var require_socks5_utils = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.p
|
|
|
25953
25976
|
}) });
|
|
25954
25977
|
|
|
25955
25978
|
//#endregion
|
|
25956
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
25957
|
-
var require_socks5_client = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
25979
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/core/socks5-client.js
|
|
25980
|
+
var require_socks5_client = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/core/socks5-client.js": ((exports, module) => {
|
|
25958
25981
|
const { EventEmitter: EventEmitter$4 } = __require$1("node:events");
|
|
25959
25982
|
const { Buffer: Buffer$1 } = __require$1("node:buffer");
|
|
25960
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
25983
|
+
const { InvalidArgumentError: InvalidArgumentError$24, Socks5ProxyError } = require_errors();
|
|
25961
25984
|
const { debuglog: debuglog$2 } = __require$1("node:util");
|
|
25962
25985
|
const { parseAddress } = require_socks5_utils();
|
|
25963
25986
|
const debug$7 = debuglog$2("undici:socks5");
|
|
@@ -26007,7 +26030,7 @@ var require_socks5_client = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.
|
|
|
26007
26030
|
var Socks5Client$1 = class extends EventEmitter$4 {
|
|
26008
26031
|
constructor(socket, options = {}) {
|
|
26009
26032
|
super();
|
|
26010
|
-
if (!socket) throw new InvalidArgumentError$
|
|
26033
|
+
if (!socket) throw new InvalidArgumentError$24("socket is required");
|
|
26011
26034
|
this.socket = socket;
|
|
26012
26035
|
this.options = options;
|
|
26013
26036
|
this.state = STATES$1.INITIAL;
|
|
@@ -26075,7 +26098,7 @@ var require_socks5_client = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.
|
|
|
26075
26098
|
* Start the SOCKS5 handshake
|
|
26076
26099
|
*/
|
|
26077
26100
|
handshake() {
|
|
26078
|
-
if (this.state !== STATES$1.INITIAL) throw new InvalidArgumentError$
|
|
26101
|
+
if (this.state !== STATES$1.INITIAL) throw new InvalidArgumentError$24("Handshake already started");
|
|
26079
26102
|
debug$7("starting handshake with", this.authMethods.length, "auth methods");
|
|
26080
26103
|
this.state = STATES$1.HANDSHAKING;
|
|
26081
26104
|
const request$1 = Buffer$1.alloc(2 + this.authMethods.length);
|
|
@@ -26108,11 +26131,11 @@ var require_socks5_client = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.
|
|
|
26108
26131
|
*/
|
|
26109
26132
|
sendAuthRequest() {
|
|
26110
26133
|
const { username, password } = this.options;
|
|
26111
|
-
if (!username || !password) throw new InvalidArgumentError$
|
|
26134
|
+
if (!username || !password) throw new InvalidArgumentError$24("Username and password required for authentication");
|
|
26112
26135
|
debug$7("sending username/password auth");
|
|
26113
26136
|
const usernameBuffer = Buffer$1.from(username);
|
|
26114
26137
|
const passwordBuffer = Buffer$1.from(password);
|
|
26115
|
-
if (usernameBuffer.length > 255 || passwordBuffer.length > 255) throw new InvalidArgumentError$
|
|
26138
|
+
if (usernameBuffer.length > 255 || passwordBuffer.length > 255) throw new InvalidArgumentError$24("Username or password too long");
|
|
26116
26139
|
const request$1 = Buffer$1.alloc(3 + usernameBuffer.length + passwordBuffer.length);
|
|
26117
26140
|
request$1[0] = 1;
|
|
26118
26141
|
request$1[1] = usernameBuffer.length;
|
|
@@ -26140,8 +26163,8 @@ var require_socks5_client = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.
|
|
|
26140
26163
|
* @param {number} port - Target port
|
|
26141
26164
|
*/
|
|
26142
26165
|
connect(address, port) {
|
|
26143
|
-
if (this.state === STATES$1.CONNECTING || this.state === STATES$1.CONNECTED) throw new InvalidArgumentError$
|
|
26144
|
-
if (this.state !== STATES$1.AUTHENTICATED) throw new InvalidArgumentError$
|
|
26166
|
+
if (this.state === STATES$1.CONNECTING || this.state === STATES$1.CONNECTED) throw new InvalidArgumentError$24("Connection already in progress");
|
|
26167
|
+
if (this.state !== STATES$1.AUTHENTICATED) throw new InvalidArgumentError$24("Client must be authenticated before CONNECT");
|
|
26145
26168
|
debug$7("connecting to", address, port);
|
|
26146
26169
|
this.state = STATES$1.CONNECTING;
|
|
26147
26170
|
const request$1 = this.buildConnectRequest(COMMANDS.CONNECT, address, port);
|
|
@@ -26236,12 +26259,12 @@ var require_socks5_client = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.
|
|
|
26236
26259
|
}) });
|
|
26237
26260
|
|
|
26238
26261
|
//#endregion
|
|
26239
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
26240
|
-
var require_socks5_proxy_agent = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
26262
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/socks5-proxy-agent.js
|
|
26263
|
+
var require_socks5_proxy_agent = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/socks5-proxy-agent.js": ((exports, module) => {
|
|
26241
26264
|
const { URL: URL$3 } = __require$1("node:url");
|
|
26242
26265
|
let tls$1;
|
|
26243
26266
|
const DispatcherBase$2 = require_dispatcher_base();
|
|
26244
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
26267
|
+
const { InvalidArgumentError: InvalidArgumentError$23 } = require_errors();
|
|
26245
26268
|
const { Socks5Client, STATES } = require_socks5_client();
|
|
26246
26269
|
const { kDispatch: kDispatch$2, kClose: kClose$4, kDestroy: kDestroy$2 } = require_symbols();
|
|
26247
26270
|
const Pool$3 = require_pool();
|
|
@@ -26266,9 +26289,9 @@ var require_socks5_proxy_agent = /* @__PURE__ */ __commonJS$2({ "../../node_modu
|
|
|
26266
26289
|
process.emitWarning("SOCKS5 proxy support is experimental and subject to change", "ExperimentalWarning");
|
|
26267
26290
|
experimentalWarningEmitted = true;
|
|
26268
26291
|
}
|
|
26269
|
-
if (!proxyUrl) throw new InvalidArgumentError$
|
|
26292
|
+
if (!proxyUrl) throw new InvalidArgumentError$23("Proxy URL is mandatory");
|
|
26270
26293
|
const url$2 = typeof proxyUrl === "string" ? new URL$3(proxyUrl) : proxyUrl;
|
|
26271
|
-
if (url$2.protocol !== "socks5:" && url$2.protocol !== "socks:") throw new InvalidArgumentError$
|
|
26294
|
+
if (url$2.protocol !== "socks5:" && url$2.protocol !== "socks:") throw new InvalidArgumentError$23("Proxy URL must use socks5:// or socks:// protocol");
|
|
26272
26295
|
this[kProxyUrl] = url$2;
|
|
26273
26296
|
this[kProxyHeaders$1] = options.headers || {};
|
|
26274
26297
|
this[kProxyProtocol] = options.proxyTls ? "https:" : "http:";
|
|
@@ -26422,13 +26445,13 @@ var require_socks5_proxy_agent = /* @__PURE__ */ __commonJS$2({ "../../node_modu
|
|
|
26422
26445
|
}) });
|
|
26423
26446
|
|
|
26424
26447
|
//#endregion
|
|
26425
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
26426
|
-
var require_proxy_agent = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
26448
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/proxy-agent.js
|
|
26449
|
+
var require_proxy_agent = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/proxy-agent.js": ((exports, module) => {
|
|
26427
26450
|
const { kProxy, kClose: kClose$3, kDestroy: kDestroy$1, kDispatch: kDispatch$1 } = require_symbols();
|
|
26428
26451
|
const Agent$5 = require_agent();
|
|
26429
26452
|
const Pool$2 = require_pool();
|
|
26430
26453
|
const DispatcherBase$1 = require_dispatcher_base();
|
|
26431
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
26454
|
+
const { InvalidArgumentError: InvalidArgumentError$22, RequestAbortedError: RequestAbortedError$6, SecureProxyConnectionError } = require_errors();
|
|
26432
26455
|
const buildConnector$1 = require_connect();
|
|
26433
26456
|
const Client$3 = require_client();
|
|
26434
26457
|
const { channels: channels$2 } = require_diagnostics();
|
|
@@ -26454,7 +26477,7 @@ var require_proxy_agent = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pn
|
|
|
26454
26477
|
var Http1ProxyWrapper = class extends DispatcherBase$1 {
|
|
26455
26478
|
#client;
|
|
26456
26479
|
constructor(proxyUrl, { headers = {}, connect: connect$2, factory }) {
|
|
26457
|
-
if (!proxyUrl) throw new InvalidArgumentError$
|
|
26480
|
+
if (!proxyUrl) throw new InvalidArgumentError$22("Proxy URL is mandatory");
|
|
26458
26481
|
super();
|
|
26459
26482
|
this[kProxyHeaders] = headers;
|
|
26460
26483
|
if (factory) this.#client = factory(proxyUrl, { connect: connect$2 });
|
|
@@ -26464,7 +26487,7 @@ var require_proxy_agent = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pn
|
|
|
26464
26487
|
const onHeaders = handler.onHeaders;
|
|
26465
26488
|
handler.onHeaders = function(statusCode, data, resume$2) {
|
|
26466
26489
|
if (statusCode === 407) {
|
|
26467
|
-
if (typeof handler.onError === "function") handler.onError(new InvalidArgumentError$
|
|
26490
|
+
if (typeof handler.onError === "function") handler.onError(new InvalidArgumentError$22("Proxy Authentication Required (407)"));
|
|
26468
26491
|
return;
|
|
26469
26492
|
}
|
|
26470
26493
|
if (onHeaders) onHeaders.call(this, statusCode, data, resume$2);
|
|
@@ -26490,9 +26513,9 @@ var require_proxy_agent = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pn
|
|
|
26490
26513
|
};
|
|
26491
26514
|
var ProxyAgent$2 = class extends DispatcherBase$1 {
|
|
26492
26515
|
constructor(opts) {
|
|
26493
|
-
if (!opts || typeof opts === "object" && !(opts instanceof URL) && !opts.uri) throw new InvalidArgumentError$
|
|
26516
|
+
if (!opts || typeof opts === "object" && !(opts instanceof URL) && !opts.uri) throw new InvalidArgumentError$22("Proxy uri is mandatory");
|
|
26494
26517
|
const { clientFactory = defaultFactory } = opts;
|
|
26495
|
-
if (typeof clientFactory !== "function") throw new InvalidArgumentError$
|
|
26518
|
+
if (typeof clientFactory !== "function") throw new InvalidArgumentError$22("Proxy opts.clientFactory must be a function.");
|
|
26496
26519
|
const { proxyTunnel = true } = opts;
|
|
26497
26520
|
super();
|
|
26498
26521
|
const url$2 = this.#getUrl(opts);
|
|
@@ -26505,7 +26528,7 @@ var require_proxy_agent = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pn
|
|
|
26505
26528
|
this[kProxyTls] = opts.proxyTls;
|
|
26506
26529
|
this[kProxyHeaders] = opts.headers || {};
|
|
26507
26530
|
this[kTunnelProxy] = proxyTunnel;
|
|
26508
|
-
if (opts.auth && opts.token) throw new InvalidArgumentError$
|
|
26531
|
+
if (opts.auth && opts.token) throw new InvalidArgumentError$22("opts.auth cannot be used in combination with opts.token");
|
|
26509
26532
|
else if (opts.auth) this[kProxyHeaders]["proxy-authorization"] = `Basic ${opts.auth}`;
|
|
26510
26533
|
else if (opts.token) this[kProxyHeaders]["proxy-authorization"] = opts.token;
|
|
26511
26534
|
else if (username && password) this[kProxyHeaders]["proxy-authorization"] = `Basic ${Buffer.from(`${decodeURIComponent(username)}:${decodeURIComponent(password)}`).toString("base64")}`;
|
|
@@ -26537,7 +26560,7 @@ var require_proxy_agent = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pn
|
|
|
26537
26560
|
factory,
|
|
26538
26561
|
connect: async (opts$1, callback) => {
|
|
26539
26562
|
if (!this[kClient]) {
|
|
26540
|
-
callback(new InvalidArgumentError$
|
|
26563
|
+
callback(new InvalidArgumentError$22("Cannot establish tunnel connection without a proxy client"));
|
|
26541
26564
|
return;
|
|
26542
26565
|
}
|
|
26543
26566
|
let requestedPath = opts$1.host;
|
|
@@ -26638,14 +26661,14 @@ var require_proxy_agent = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pn
|
|
|
26638
26661
|
* It should be removed in the next major version for performance reasons
|
|
26639
26662
|
*/
|
|
26640
26663
|
function throwIfProxyAuthIsSent(headers) {
|
|
26641
|
-
if (headers && Object.keys(headers).find((key) => key.toLowerCase() === "proxy-authorization")) throw new InvalidArgumentError$
|
|
26664
|
+
if (headers && Object.keys(headers).find((key) => key.toLowerCase() === "proxy-authorization")) throw new InvalidArgumentError$22("Proxy-Authorization should be sent in ProxyAgent constructor");
|
|
26642
26665
|
}
|
|
26643
26666
|
module.exports = ProxyAgent$2;
|
|
26644
26667
|
}) });
|
|
26645
26668
|
|
|
26646
26669
|
//#endregion
|
|
26647
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
26648
|
-
var require_env_http_proxy_agent = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
26670
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js
|
|
26671
|
+
var require_env_http_proxy_agent = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js": ((exports, module) => {
|
|
26649
26672
|
const DispatcherBase = require_dispatcher_base();
|
|
26650
26673
|
const { kClose: kClose$2, kDestroy, kClosed, kDestroyed, kDispatch, kNoProxyAgent, kHttpProxyAgent, kHttpsProxyAgent } = require_symbols();
|
|
26651
26674
|
const ProxyAgent$1 = require_proxy_agent();
|
|
@@ -26743,8 +26766,8 @@ var require_env_http_proxy_agent = /* @__PURE__ */ __commonJS$2({ "../../node_mo
|
|
|
26743
26766
|
}) });
|
|
26744
26767
|
|
|
26745
26768
|
//#endregion
|
|
26746
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
26747
|
-
var require_retry_handler = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
26769
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/handler/retry-handler.js
|
|
26770
|
+
var require_retry_handler = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/handler/retry-handler.js": ((exports, module) => {
|
|
26748
26771
|
const assert$22 = __require$1("node:assert");
|
|
26749
26772
|
const { kRetryHandlerDefaultRetry } = require_symbols();
|
|
26750
26773
|
const { RequestRetryError } = require_errors();
|
|
@@ -26820,21 +26843,29 @@ var require_retry_handler = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.
|
|
|
26820
26843
|
}
|
|
26821
26844
|
onResponseStartWithRetry(controller, statusCode, headers, statusMessage, err) {
|
|
26822
26845
|
if (this.retryOpts.throwOnError) {
|
|
26823
|
-
if (this.retryOpts.statusCodes.includes(statusCode) === false)
|
|
26846
|
+
if (this.retryOpts.statusCodes.includes(statusCode) === false) if (this.headersSent) this.handler.onResponseError?.(controller, err);
|
|
26847
|
+
else {
|
|
26824
26848
|
this.headersSent = true;
|
|
26849
|
+
this.checkpointResponseEnd(headers);
|
|
26825
26850
|
this.handler.onResponseStart?.(controller, statusCode, headers, statusMessage);
|
|
26826
|
-
}
|
|
26851
|
+
}
|
|
26852
|
+
else this.error = err;
|
|
26827
26853
|
return;
|
|
26828
26854
|
}
|
|
26829
26855
|
if (isDisturbed$1(this.opts.body)) {
|
|
26830
26856
|
this.headersSent = true;
|
|
26857
|
+
this.checkpointResponseEnd(headers);
|
|
26831
26858
|
this.handler.onResponseStart?.(controller, statusCode, headers, statusMessage);
|
|
26832
26859
|
return;
|
|
26833
26860
|
}
|
|
26834
26861
|
function shouldRetry(passedErr) {
|
|
26835
26862
|
if (passedErr) {
|
|
26836
|
-
this.headersSent
|
|
26837
|
-
|
|
26863
|
+
if (this.headersSent) this.handler.onResponseError?.(controller, passedErr);
|
|
26864
|
+
else {
|
|
26865
|
+
this.headersSent = true;
|
|
26866
|
+
this.checkpointResponseEnd(headers);
|
|
26867
|
+
this.handler.onResponseStart?.(controller, statusCode, headers, statusMessage);
|
|
26868
|
+
}
|
|
26838
26869
|
controller.resume();
|
|
26839
26870
|
return;
|
|
26840
26871
|
}
|
|
@@ -26850,6 +26881,14 @@ var require_retry_handler = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.
|
|
|
26850
26881
|
}
|
|
26851
26882
|
}, shouldRetry.bind(this));
|
|
26852
26883
|
}
|
|
26884
|
+
checkpointResponseEnd(headers) {
|
|
26885
|
+
if (this.end == null && this.opts.method !== "HEAD") {
|
|
26886
|
+
const contentLength = headers["content-length"];
|
|
26887
|
+
this.end = contentLength != null ? Number(contentLength) - 1 : null;
|
|
26888
|
+
assert$22(this.end == null || Number.isFinite(this.end), "invalid content-length");
|
|
26889
|
+
this.resume = this.end != null;
|
|
26890
|
+
}
|
|
26891
|
+
}
|
|
26853
26892
|
onRequestStart(controller, context) {
|
|
26854
26893
|
if (!this.headersSent) this.handler.onRequestStart?.(controller, context);
|
|
26855
26894
|
}
|
|
@@ -26912,8 +26951,10 @@ var require_retry_handler = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.
|
|
|
26912
26951
|
});
|
|
26913
26952
|
validatePartialResponseContentLength(headers, contentRange, statusCode, this.retryCount);
|
|
26914
26953
|
const { start, size, end = size ? size - 1 : null } = contentRange;
|
|
26915
|
-
|
|
26916
|
-
|
|
26954
|
+
if (this.start !== start || this.end != null && this.end !== end) throw new RequestRetryError("Content-Range mismatch", statusCode, {
|
|
26955
|
+
headers,
|
|
26956
|
+
data: { count: this.retryCount }
|
|
26957
|
+
});
|
|
26917
26958
|
return;
|
|
26918
26959
|
}
|
|
26919
26960
|
if (this.end == null) {
|
|
@@ -26980,7 +27021,7 @@ var require_retry_handler = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.
|
|
|
26980
27021
|
}
|
|
26981
27022
|
}
|
|
26982
27023
|
onResponseError(controller, err) {
|
|
26983
|
-
if (controller?.aborted || isDisturbed$1(this.opts.body)) {
|
|
27024
|
+
if (controller?.aborted || isDisturbed$1(this.opts.body) || this.headersSent && !this.resume) {
|
|
26984
27025
|
this.handler.onResponseError?.(controller, err);
|
|
26985
27026
|
return;
|
|
26986
27027
|
}
|
|
@@ -27006,8 +27047,8 @@ var require_retry_handler = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.
|
|
|
27006
27047
|
}) });
|
|
27007
27048
|
|
|
27008
27049
|
//#endregion
|
|
27009
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
27010
|
-
var require_retry_agent = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
27050
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/retry-agent.js
|
|
27051
|
+
var require_retry_agent = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/retry-agent.js": ((exports, module) => {
|
|
27011
27052
|
const Dispatcher$2 = require_dispatcher();
|
|
27012
27053
|
const RetryHandler$2 = require_retry_handler();
|
|
27013
27054
|
var RetryAgent$1 = class extends Dispatcher$2 {
|
|
@@ -27039,20 +27080,20 @@ var require_retry_agent = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pn
|
|
|
27039
27080
|
}) });
|
|
27040
27081
|
|
|
27041
27082
|
//#endregion
|
|
27042
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
27043
|
-
var require_h2c_client = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
27044
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
27083
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/h2c-client.js
|
|
27084
|
+
var require_h2c_client = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/dispatcher/h2c-client.js": ((exports, module) => {
|
|
27085
|
+
const { InvalidArgumentError: InvalidArgumentError$21 } = require_errors();
|
|
27045
27086
|
const Client$2 = require_client();
|
|
27046
27087
|
var H2CClient$1 = class extends Client$2 {
|
|
27047
27088
|
constructor(origin, clientOpts) {
|
|
27048
27089
|
if (typeof origin === "string") origin = new URL(origin);
|
|
27049
|
-
if (origin.protocol !== "http:") throw new InvalidArgumentError$
|
|
27090
|
+
if (origin.protocol !== "http:") throw new InvalidArgumentError$21("h2c-client: Only h2c protocol is supported");
|
|
27050
27091
|
const { maxConcurrentStreams, pipelining,...opts } = clientOpts ?? {};
|
|
27051
27092
|
let defaultMaxConcurrentStreams = 100;
|
|
27052
27093
|
let defaultPipelining = 100;
|
|
27053
27094
|
if (maxConcurrentStreams != null && Number.isInteger(maxConcurrentStreams) && maxConcurrentStreams > 0) defaultMaxConcurrentStreams = maxConcurrentStreams;
|
|
27054
27095
|
if (pipelining != null && Number.isInteger(pipelining) && pipelining > 0) defaultPipelining = pipelining;
|
|
27055
|
-
if (defaultPipelining > defaultMaxConcurrentStreams) throw new InvalidArgumentError$
|
|
27096
|
+
if (defaultPipelining > defaultMaxConcurrentStreams) throw new InvalidArgumentError$21("h2c-client: pipelining cannot be greater than maxConcurrentStreams");
|
|
27056
27097
|
super(origin, {
|
|
27057
27098
|
...opts,
|
|
27058
27099
|
maxConcurrentStreams: defaultMaxConcurrentStreams,
|
|
@@ -27066,11 +27107,11 @@ var require_h2c_client = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnp
|
|
|
27066
27107
|
}) });
|
|
27067
27108
|
|
|
27068
27109
|
//#endregion
|
|
27069
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
27070
|
-
var require_readable = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
27110
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/api/readable.js
|
|
27111
|
+
var require_readable = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/api/readable.js": ((exports, module) => {
|
|
27071
27112
|
const assert$21 = __require$1("node:assert");
|
|
27072
27113
|
const { Readable: Readable$5 } = __require$1("node:stream");
|
|
27073
|
-
const { RequestAbortedError: RequestAbortedError$5, NotSupportedError, InvalidArgumentError: InvalidArgumentError$
|
|
27114
|
+
const { RequestAbortedError: RequestAbortedError$5, NotSupportedError, InvalidArgumentError: InvalidArgumentError$20, AbortError: AbortError$1 } = require_errors();
|
|
27074
27115
|
const util$14 = require_util$5();
|
|
27075
27116
|
const { ReadableStreamFrom } = require_util$5();
|
|
27076
27117
|
const kConsume = Symbol("kConsume");
|
|
@@ -27278,7 +27319,7 @@ var require_readable = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/
|
|
|
27278
27319
|
*/
|
|
27279
27320
|
dump(opts) {
|
|
27280
27321
|
const signal = opts?.signal;
|
|
27281
|
-
if (signal != null && (typeof signal !== "object" || !("aborted" in signal))) return Promise.reject(new InvalidArgumentError$
|
|
27322
|
+
if (signal != null && (typeof signal !== "object" || !("aborted" in signal))) return Promise.reject(new InvalidArgumentError$20("signal must be an AbortSignal"));
|
|
27282
27323
|
const limit = opts?.limit && Number.isFinite(opts.limit) ? opts.limit : 128 * 1024;
|
|
27283
27324
|
if (signal?.aborted) return Promise.reject(signal.reason ?? new AbortError$1());
|
|
27284
27325
|
if (this._readableState.closeEmitted) return Promise.resolve(null);
|
|
@@ -27480,24 +27521,24 @@ var require_readable = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/
|
|
|
27480
27521
|
}) });
|
|
27481
27522
|
|
|
27482
27523
|
//#endregion
|
|
27483
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
27484
|
-
var require_api_request = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
27524
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/api/api-request.js
|
|
27525
|
+
var require_api_request = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/api/api-request.js": ((exports, module) => {
|
|
27485
27526
|
const assert$20 = __require$1("node:assert");
|
|
27486
27527
|
const { AsyncResource: AsyncResource$4 } = __require$1("node:async_hooks");
|
|
27487
27528
|
const { Readable: Readable$4 } = require_readable();
|
|
27488
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
27529
|
+
const { InvalidArgumentError: InvalidArgumentError$19, RequestAbortedError: RequestAbortedError$4 } = require_errors();
|
|
27489
27530
|
const util$13 = require_util$5();
|
|
27490
27531
|
function noop$4() {}
|
|
27491
27532
|
var RequestHandler = class extends AsyncResource$4 {
|
|
27492
27533
|
constructor(opts, callback) {
|
|
27493
|
-
if (!opts || typeof opts !== "object") throw new InvalidArgumentError$
|
|
27534
|
+
if (!opts || typeof opts !== "object") throw new InvalidArgumentError$19("invalid opts");
|
|
27494
27535
|
const { signal, method, opaque, body, onInfo, responseHeaders, highWaterMark } = opts;
|
|
27495
27536
|
try {
|
|
27496
|
-
if (typeof callback !== "function") throw new InvalidArgumentError$
|
|
27497
|
-
if (highWaterMark != null && (!Number.isFinite(highWaterMark) || highWaterMark < 0)) throw new InvalidArgumentError$
|
|
27498
|
-
if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") throw new InvalidArgumentError$
|
|
27499
|
-
if (method === "CONNECT") throw new InvalidArgumentError$
|
|
27500
|
-
if (onInfo && typeof onInfo !== "function") throw new InvalidArgumentError$
|
|
27537
|
+
if (typeof callback !== "function") throw new InvalidArgumentError$19("invalid callback");
|
|
27538
|
+
if (highWaterMark != null && (!Number.isFinite(highWaterMark) || highWaterMark < 0)) throw new InvalidArgumentError$19("invalid highWaterMark");
|
|
27539
|
+
if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") throw new InvalidArgumentError$19("signal must be an EventEmitter or EventTarget");
|
|
27540
|
+
if (method === "CONNECT") throw new InvalidArgumentError$19("invalid method");
|
|
27541
|
+
if (onInfo && typeof onInfo !== "function") throw new InvalidArgumentError$19("invalid onInfo callback");
|
|
27501
27542
|
super("UNDICI_REQUEST");
|
|
27502
27543
|
} catch (err) {
|
|
27503
27544
|
if (util$13.isStream(body)) util$13.destroy(body.on("error", noop$4), err);
|
|
@@ -27630,8 +27671,8 @@ var require_api_request = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pn
|
|
|
27630
27671
|
}) });
|
|
27631
27672
|
|
|
27632
27673
|
//#endregion
|
|
27633
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
27634
|
-
var require_abort_signal = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
27674
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/api/abort-signal.js
|
|
27675
|
+
var require_abort_signal = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/api/abort-signal.js": ((exports, module) => {
|
|
27635
27676
|
const { addAbortListener: addAbortListener$1 } = require_util$5();
|
|
27636
27677
|
const { RequestAbortedError: RequestAbortedError$3 } = require_errors();
|
|
27637
27678
|
const kListener$2 = Symbol("kListener");
|
|
@@ -27670,25 +27711,25 @@ var require_abort_signal = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.p
|
|
|
27670
27711
|
}) });
|
|
27671
27712
|
|
|
27672
27713
|
//#endregion
|
|
27673
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
27674
|
-
var require_api_stream = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
27714
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/api/api-stream.js
|
|
27715
|
+
var require_api_stream = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/api/api-stream.js": ((exports, module) => {
|
|
27675
27716
|
const assert$19 = __require$1("node:assert");
|
|
27676
27717
|
const { finished: finished$1 } = __require$1("node:stream");
|
|
27677
27718
|
const { AsyncResource: AsyncResource$3 } = __require$1("node:async_hooks");
|
|
27678
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
27719
|
+
const { InvalidArgumentError: InvalidArgumentError$18, InvalidReturnValueError: InvalidReturnValueError$1 } = require_errors();
|
|
27679
27720
|
const util$12 = require_util$5();
|
|
27680
27721
|
const { addSignal: addSignal$3, removeSignal: removeSignal$3 } = require_abort_signal();
|
|
27681
27722
|
function noop$3() {}
|
|
27682
27723
|
var StreamHandler = class extends AsyncResource$3 {
|
|
27683
27724
|
constructor(opts, factory, callback) {
|
|
27684
|
-
if (!opts || typeof opts !== "object") throw new InvalidArgumentError$
|
|
27725
|
+
if (!opts || typeof opts !== "object") throw new InvalidArgumentError$18("invalid opts");
|
|
27685
27726
|
const { signal, method, opaque, body, onInfo, responseHeaders } = opts;
|
|
27686
27727
|
try {
|
|
27687
|
-
if (typeof callback !== "function") throw new InvalidArgumentError$
|
|
27688
|
-
if (typeof factory !== "function") throw new InvalidArgumentError$
|
|
27689
|
-
if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") throw new InvalidArgumentError$
|
|
27690
|
-
if (method === "CONNECT") throw new InvalidArgumentError$
|
|
27691
|
-
if (onInfo && typeof onInfo !== "function") throw new InvalidArgumentError$
|
|
27728
|
+
if (typeof callback !== "function") throw new InvalidArgumentError$18("invalid callback");
|
|
27729
|
+
if (typeof factory !== "function") throw new InvalidArgumentError$18("invalid factory");
|
|
27730
|
+
if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") throw new InvalidArgumentError$18("signal must be an EventEmitter or EventTarget");
|
|
27731
|
+
if (method === "CONNECT") throw new InvalidArgumentError$18("invalid method");
|
|
27732
|
+
if (onInfo && typeof onInfo !== "function") throw new InvalidArgumentError$18("invalid onInfo callback");
|
|
27692
27733
|
super("UNDICI_STREAM");
|
|
27693
27734
|
} catch (err) {
|
|
27694
27735
|
if (util$12.isStream(body)) util$12.destroy(body.on("error", noop$3), err);
|
|
@@ -27801,12 +27842,12 @@ var require_api_stream = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnp
|
|
|
27801
27842
|
}) });
|
|
27802
27843
|
|
|
27803
27844
|
//#endregion
|
|
27804
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
27805
|
-
var require_api_pipeline = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
27845
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/api/api-pipeline.js
|
|
27846
|
+
var require_api_pipeline = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/api/api-pipeline.js": ((exports, module) => {
|
|
27806
27847
|
const { Readable: Readable$3, Duplex: Duplex$4, PassThrough } = __require$1("node:stream");
|
|
27807
27848
|
const assert$18 = __require$1("node:assert");
|
|
27808
27849
|
const { AsyncResource: AsyncResource$2 } = __require$1("node:async_hooks");
|
|
27809
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
27850
|
+
const { InvalidArgumentError: InvalidArgumentError$17, InvalidReturnValueError, RequestAbortedError: RequestAbortedError$2 } = require_errors();
|
|
27810
27851
|
const util$11 = require_util$5();
|
|
27811
27852
|
const { addSignal: addSignal$2, removeSignal: removeSignal$2 } = require_abort_signal();
|
|
27812
27853
|
function noop$2() {}
|
|
@@ -27843,12 +27884,12 @@ var require_api_pipeline = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.p
|
|
|
27843
27884
|
};
|
|
27844
27885
|
var PipelineHandler = class extends AsyncResource$2 {
|
|
27845
27886
|
constructor(opts, handler) {
|
|
27846
|
-
if (!opts || typeof opts !== "object") throw new InvalidArgumentError$
|
|
27847
|
-
if (typeof handler !== "function") throw new InvalidArgumentError$
|
|
27887
|
+
if (!opts || typeof opts !== "object") throw new InvalidArgumentError$17("invalid opts");
|
|
27888
|
+
if (typeof handler !== "function") throw new InvalidArgumentError$17("invalid handler");
|
|
27848
27889
|
const { signal, method, opaque, onInfo, responseHeaders } = opts;
|
|
27849
|
-
if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") throw new InvalidArgumentError$
|
|
27850
|
-
if (method === "CONNECT") throw new InvalidArgumentError$
|
|
27851
|
-
if (onInfo && typeof onInfo !== "function") throw new InvalidArgumentError$
|
|
27890
|
+
if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") throw new InvalidArgumentError$17("signal must be an EventEmitter or EventTarget");
|
|
27891
|
+
if (method === "CONNECT") throw new InvalidArgumentError$17("invalid method");
|
|
27892
|
+
if (onInfo && typeof onInfo !== "function") throw new InvalidArgumentError$17("invalid onInfo callback");
|
|
27852
27893
|
super("UNDICI_PIPELINE");
|
|
27853
27894
|
this.opaque = opaque || null;
|
|
27854
27895
|
this.responseHeaders = responseHeaders || null;
|
|
@@ -27970,9 +28011,9 @@ var require_api_pipeline = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.p
|
|
|
27970
28011
|
}) });
|
|
27971
28012
|
|
|
27972
28013
|
//#endregion
|
|
27973
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
27974
|
-
var require_api_upgrade = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
27975
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
28014
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/api/api-upgrade.js
|
|
28015
|
+
var require_api_upgrade = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/api/api-upgrade.js": ((exports, module) => {
|
|
28016
|
+
const { InvalidArgumentError: InvalidArgumentError$16, SocketError: SocketError$1 } = require_errors();
|
|
27976
28017
|
const { AsyncResource: AsyncResource$1 } = __require$1("node:async_hooks");
|
|
27977
28018
|
const assert$17 = __require$1("node:assert");
|
|
27978
28019
|
const util$10 = require_util$5();
|
|
@@ -27980,10 +28021,10 @@ var require_api_upgrade = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pn
|
|
|
27980
28021
|
const { addSignal: addSignal$1, removeSignal: removeSignal$1 } = require_abort_signal();
|
|
27981
28022
|
var UpgradeHandler = class extends AsyncResource$1 {
|
|
27982
28023
|
constructor(opts, callback) {
|
|
27983
|
-
if (!opts || typeof opts !== "object") throw new InvalidArgumentError$
|
|
27984
|
-
if (typeof callback !== "function") throw new InvalidArgumentError$
|
|
28024
|
+
if (!opts || typeof opts !== "object") throw new InvalidArgumentError$16("invalid opts");
|
|
28025
|
+
if (typeof callback !== "function") throw new InvalidArgumentError$16("invalid callback");
|
|
27985
28026
|
const { signal, opaque, responseHeaders } = opts;
|
|
27986
|
-
if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") throw new InvalidArgumentError$
|
|
28027
|
+
if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") throw new InvalidArgumentError$16("signal must be an EventEmitter or EventTarget");
|
|
27987
28028
|
super("UNDICI_UPGRADE");
|
|
27988
28029
|
this.responseHeaders = responseHeaders || null;
|
|
27989
28030
|
this.opaque = opaque || null;
|
|
@@ -28052,19 +28093,19 @@ var require_api_upgrade = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pn
|
|
|
28052
28093
|
}) });
|
|
28053
28094
|
|
|
28054
28095
|
//#endregion
|
|
28055
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
28056
|
-
var require_api_connect = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
28096
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/api/api-connect.js
|
|
28097
|
+
var require_api_connect = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/api/api-connect.js": ((exports, module) => {
|
|
28057
28098
|
const assert$16 = __require$1("node:assert");
|
|
28058
28099
|
const { AsyncResource } = __require$1("node:async_hooks");
|
|
28059
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
28100
|
+
const { InvalidArgumentError: InvalidArgumentError$15, SocketError } = require_errors();
|
|
28060
28101
|
const util$9 = require_util$5();
|
|
28061
28102
|
const { addSignal, removeSignal } = require_abort_signal();
|
|
28062
28103
|
var ConnectHandler = class extends AsyncResource {
|
|
28063
28104
|
constructor(opts, callback) {
|
|
28064
|
-
if (!opts || typeof opts !== "object") throw new InvalidArgumentError$
|
|
28065
|
-
if (typeof callback !== "function") throw new InvalidArgumentError$
|
|
28105
|
+
if (!opts || typeof opts !== "object") throw new InvalidArgumentError$15("invalid opts");
|
|
28106
|
+
if (typeof callback !== "function") throw new InvalidArgumentError$15("invalid callback");
|
|
28066
28107
|
const { signal, opaque, responseHeaders } = opts;
|
|
28067
|
-
if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") throw new InvalidArgumentError$
|
|
28108
|
+
if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") throw new InvalidArgumentError$15("signal must be an EventEmitter or EventTarget");
|
|
28068
28109
|
super("UNDICI_CONNECT");
|
|
28069
28110
|
this.opaque = opaque || null;
|
|
28070
28111
|
this.responseHeaders = responseHeaders || null;
|
|
@@ -28132,8 +28173,8 @@ var require_api_connect = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pn
|
|
|
28132
28173
|
}) });
|
|
28133
28174
|
|
|
28134
28175
|
//#endregion
|
|
28135
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
28136
|
-
var require_api = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
28176
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/api/index.js
|
|
28177
|
+
var require_api = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/api/index.js": ((exports, module) => {
|
|
28137
28178
|
module.exports.request = require_api_request();
|
|
28138
28179
|
module.exports.stream = require_api_stream();
|
|
28139
28180
|
module.exports.pipeline = require_api_pipeline();
|
|
@@ -28142,8 +28183,8 @@ var require_api = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undic
|
|
|
28142
28183
|
}) });
|
|
28143
28184
|
|
|
28144
28185
|
//#endregion
|
|
28145
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
28146
|
-
var require_mock_errors = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
28186
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/mock/mock-errors.js
|
|
28187
|
+
var require_mock_errors = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/mock/mock-errors.js": ((exports, module) => {
|
|
28147
28188
|
const { UndiciError: UndiciError$3 } = require_errors();
|
|
28148
28189
|
const kMockNotMatchedError = Symbol.for("undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED");
|
|
28149
28190
|
/**
|
|
@@ -28167,8 +28208,8 @@ var require_mock_errors = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pn
|
|
|
28167
28208
|
}) });
|
|
28168
28209
|
|
|
28169
28210
|
//#endregion
|
|
28170
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
28171
|
-
var require_mock_symbols = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
28211
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/mock/mock-symbols.js
|
|
28212
|
+
var require_mock_symbols = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/mock/mock-symbols.js": ((exports, module) => {
|
|
28172
28213
|
module.exports = {
|
|
28173
28214
|
kAgent: Symbol("agent"),
|
|
28174
28215
|
kOptions: Symbol("options"),
|
|
@@ -28202,14 +28243,14 @@ var require_mock_symbols = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.p
|
|
|
28202
28243
|
}) });
|
|
28203
28244
|
|
|
28204
28245
|
//#endregion
|
|
28205
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
28206
|
-
var require_mock_utils = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
28246
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/mock/mock-utils.js
|
|
28247
|
+
var require_mock_utils = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/mock/mock-utils.js": ((exports, module) => {
|
|
28207
28248
|
const { MockNotMatchedError } = require_mock_errors();
|
|
28208
28249
|
const { kDispatches: kDispatches$4, kMockAgent: kMockAgent$2, kOriginalDispatch: kOriginalDispatch$2, kOrigin: kOrigin$2, kGetNetConnect: kGetNetConnect$1, kTotalDispatchCount } = require_mock_symbols();
|
|
28209
28250
|
const { serializePathWithQuery: serializePathWithQuery$2 } = require_util$5();
|
|
28210
28251
|
const { STATUS_CODES: STATUS_CODES$1 } = __require$1("node:http");
|
|
28211
28252
|
const { types: { isPromise } } = __require$1("node:util");
|
|
28212
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
28253
|
+
const { InvalidArgumentError: InvalidArgumentError$14 } = require_errors();
|
|
28213
28254
|
function matchValue$1(match, value) {
|
|
28214
28255
|
if (typeof match === "string") return match === value;
|
|
28215
28256
|
if (match instanceof RegExp) return match.test(value);
|
|
@@ -28468,9 +28509,9 @@ var require_mock_utils = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnp
|
|
|
28468
28509
|
}
|
|
28469
28510
|
function buildAndValidateMockOptions$1(opts) {
|
|
28470
28511
|
const { agent,...mockOptions } = opts;
|
|
28471
|
-
if ("enableCallHistory" in mockOptions && typeof mockOptions.enableCallHistory !== "boolean") throw new InvalidArgumentError$
|
|
28472
|
-
if ("acceptNonStandardSearchParameters" in mockOptions && typeof mockOptions.acceptNonStandardSearchParameters !== "boolean") throw new InvalidArgumentError$
|
|
28473
|
-
if ("ignoreTrailingSlash" in mockOptions && typeof mockOptions.ignoreTrailingSlash !== "boolean") throw new InvalidArgumentError$
|
|
28512
|
+
if ("enableCallHistory" in mockOptions && typeof mockOptions.enableCallHistory !== "boolean") throw new InvalidArgumentError$14("options.enableCallHistory must to be a boolean");
|
|
28513
|
+
if ("acceptNonStandardSearchParameters" in mockOptions && typeof mockOptions.acceptNonStandardSearchParameters !== "boolean") throw new InvalidArgumentError$14("options.acceptNonStandardSearchParameters must to be a boolean");
|
|
28514
|
+
if ("ignoreTrailingSlash" in mockOptions && typeof mockOptions.ignoreTrailingSlash !== "boolean") throw new InvalidArgumentError$14("options.ignoreTrailingSlash must to be a boolean");
|
|
28474
28515
|
return mockOptions;
|
|
28475
28516
|
}
|
|
28476
28517
|
module.exports = {
|
|
@@ -28495,11 +28536,11 @@ var require_mock_utils = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnp
|
|
|
28495
28536
|
}) });
|
|
28496
28537
|
|
|
28497
28538
|
//#endregion
|
|
28498
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
28499
|
-
var require_mock_interceptor = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
28539
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/mock/mock-interceptor.js
|
|
28540
|
+
var require_mock_interceptor = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/mock/mock-interceptor.js": ((exports, module) => {
|
|
28500
28541
|
const { getResponseData, buildKey, addMockDispatch } = require_mock_utils();
|
|
28501
28542
|
const { kDispatches: kDispatches$3, kDispatchKey, kDefaultHeaders, kDefaultTrailers, kContentLength, kMockDispatch, kIgnoreTrailingSlash: kIgnoreTrailingSlash$3 } = require_mock_symbols();
|
|
28502
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
28543
|
+
const { InvalidArgumentError: InvalidArgumentError$13 } = require_errors();
|
|
28503
28544
|
const { serializePathWithQuery: serializePathWithQuery$1 } = require_util$5();
|
|
28504
28545
|
/**
|
|
28505
28546
|
* Defines the scope API for an interceptor reply
|
|
@@ -28512,7 +28553,7 @@ var require_mock_interceptor = /* @__PURE__ */ __commonJS$2({ "../../node_module
|
|
|
28512
28553
|
* Delay a reply by a set amount in ms.
|
|
28513
28554
|
*/
|
|
28514
28555
|
delay(waitInMs) {
|
|
28515
|
-
if (typeof waitInMs !== "number" || !Number.isInteger(waitInMs) || waitInMs <= 0) throw new InvalidArgumentError$
|
|
28556
|
+
if (typeof waitInMs !== "number" || !Number.isInteger(waitInMs) || waitInMs <= 0) throw new InvalidArgumentError$13("waitInMs must be a valid integer > 0");
|
|
28516
28557
|
this[kMockDispatch].delay = waitInMs;
|
|
28517
28558
|
return this;
|
|
28518
28559
|
}
|
|
@@ -28527,7 +28568,7 @@ var require_mock_interceptor = /* @__PURE__ */ __commonJS$2({ "../../node_module
|
|
|
28527
28568
|
* Allow one to define a reply for a set amount of matching requests.
|
|
28528
28569
|
*/
|
|
28529
28570
|
times(repeatTimes) {
|
|
28530
|
-
if (typeof repeatTimes !== "number" || !Number.isInteger(repeatTimes) || repeatTimes <= 0) throw new InvalidArgumentError$
|
|
28571
|
+
if (typeof repeatTimes !== "number" || !Number.isInteger(repeatTimes) || repeatTimes <= 0) throw new InvalidArgumentError$13("repeatTimes must be a valid integer > 0");
|
|
28531
28572
|
this[kMockDispatch].times = repeatTimes;
|
|
28532
28573
|
return this;
|
|
28533
28574
|
}
|
|
@@ -28537,8 +28578,8 @@ var require_mock_interceptor = /* @__PURE__ */ __commonJS$2({ "../../node_module
|
|
|
28537
28578
|
*/
|
|
28538
28579
|
var MockInterceptor$2 = class {
|
|
28539
28580
|
constructor(opts, mockDispatches) {
|
|
28540
|
-
if (typeof opts !== "object") throw new InvalidArgumentError$
|
|
28541
|
-
if (typeof opts.path === "undefined") throw new InvalidArgumentError$
|
|
28581
|
+
if (typeof opts !== "object") throw new InvalidArgumentError$13("opts must be an object");
|
|
28582
|
+
if (typeof opts.path === "undefined") throw new InvalidArgumentError$13("opts.path must be defined");
|
|
28542
28583
|
if (typeof opts.method === "undefined") opts.method = "GET";
|
|
28543
28584
|
if (typeof opts.path === "string") if (opts.query) opts.path = serializePathWithQuery$1(opts.path, opts.query);
|
|
28544
28585
|
else {
|
|
@@ -28571,8 +28612,8 @@ var require_mock_interceptor = /* @__PURE__ */ __commonJS$2({ "../../node_module
|
|
|
28571
28612
|
};
|
|
28572
28613
|
}
|
|
28573
28614
|
validateReplyParameters(replyParameters) {
|
|
28574
|
-
if (typeof replyParameters.statusCode === "undefined") throw new InvalidArgumentError$
|
|
28575
|
-
if (typeof replyParameters.responseOptions !== "object" || replyParameters.responseOptions === null) throw new InvalidArgumentError$
|
|
28615
|
+
if (typeof replyParameters.statusCode === "undefined") throw new InvalidArgumentError$13("statusCode must be defined");
|
|
28616
|
+
if (typeof replyParameters.responseOptions !== "object" || replyParameters.responseOptions === null) throw new InvalidArgumentError$13("responseOptions must be an object");
|
|
28576
28617
|
}
|
|
28577
28618
|
/**
|
|
28578
28619
|
* Mock an undici request with a defined reply.
|
|
@@ -28581,7 +28622,7 @@ var require_mock_interceptor = /* @__PURE__ */ __commonJS$2({ "../../node_module
|
|
|
28581
28622
|
if (typeof replyOptionsCallbackOrStatusCode === "function") {
|
|
28582
28623
|
const wrappedDefaultsCallback = (opts) => {
|
|
28583
28624
|
const resolvedData = replyOptionsCallbackOrStatusCode(opts);
|
|
28584
|
-
if (typeof resolvedData !== "object" || resolvedData === null) throw new InvalidArgumentError$
|
|
28625
|
+
if (typeof resolvedData !== "object" || resolvedData === null) throw new InvalidArgumentError$13("reply options callback must return an object");
|
|
28585
28626
|
const replyParameters$1 = {
|
|
28586
28627
|
data: "",
|
|
28587
28628
|
responseOptions: {},
|
|
@@ -28605,14 +28646,14 @@ var require_mock_interceptor = /* @__PURE__ */ __commonJS$2({ "../../node_module
|
|
|
28605
28646
|
* Mock an undici request with a defined error.
|
|
28606
28647
|
*/
|
|
28607
28648
|
replyWithError(error$2) {
|
|
28608
|
-
if (typeof error$2 === "undefined") throw new InvalidArgumentError$
|
|
28649
|
+
if (typeof error$2 === "undefined") throw new InvalidArgumentError$13("error must be defined");
|
|
28609
28650
|
return new MockScope(addMockDispatch(this[kDispatches$3], this[kDispatchKey], { error: error$2 }, { ignoreTrailingSlash: this[kIgnoreTrailingSlash$3] }));
|
|
28610
28651
|
}
|
|
28611
28652
|
/**
|
|
28612
28653
|
* Set default reply headers on the interceptor for subsequent replies
|
|
28613
28654
|
*/
|
|
28614
28655
|
defaultReplyHeaders(headers) {
|
|
28615
|
-
if (typeof headers === "undefined") throw new InvalidArgumentError$
|
|
28656
|
+
if (typeof headers === "undefined") throw new InvalidArgumentError$13("headers must be defined");
|
|
28616
28657
|
this[kDefaultHeaders] = headers;
|
|
28617
28658
|
return this;
|
|
28618
28659
|
}
|
|
@@ -28620,7 +28661,7 @@ var require_mock_interceptor = /* @__PURE__ */ __commonJS$2({ "../../node_module
|
|
|
28620
28661
|
* Set default reply trailers on the interceptor for subsequent replies
|
|
28621
28662
|
*/
|
|
28622
28663
|
defaultReplyTrailers(trailers) {
|
|
28623
|
-
if (typeof trailers === "undefined") throw new InvalidArgumentError$
|
|
28664
|
+
if (typeof trailers === "undefined") throw new InvalidArgumentError$13("trailers must be defined");
|
|
28624
28665
|
this[kDefaultTrailers] = trailers;
|
|
28625
28666
|
return this;
|
|
28626
28667
|
}
|
|
@@ -28637,21 +28678,21 @@ var require_mock_interceptor = /* @__PURE__ */ __commonJS$2({ "../../node_module
|
|
|
28637
28678
|
}) });
|
|
28638
28679
|
|
|
28639
28680
|
//#endregion
|
|
28640
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
28641
|
-
var require_mock_client = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
28681
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/mock/mock-client.js
|
|
28682
|
+
var require_mock_client = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/mock/mock-client.js": ((exports, module) => {
|
|
28642
28683
|
const { promisify: promisify$2 } = __require$1("node:util");
|
|
28643
28684
|
const Client$1 = require_client();
|
|
28644
28685
|
const { buildMockDispatch: buildMockDispatch$1 } = require_mock_utils();
|
|
28645
28686
|
const { kDispatches: kDispatches$2, kMockAgent: kMockAgent$1, kClose: kClose$1, kOriginalClose: kOriginalClose$1, kOrigin: kOrigin$1, kOriginalDispatch: kOriginalDispatch$1, kConnected: kConnected$1, kIgnoreTrailingSlash: kIgnoreTrailingSlash$2 } = require_mock_symbols();
|
|
28646
28687
|
const { MockInterceptor: MockInterceptor$1 } = require_mock_interceptor();
|
|
28647
28688
|
const Symbols$1 = require_symbols();
|
|
28648
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
28689
|
+
const { InvalidArgumentError: InvalidArgumentError$12 } = require_errors();
|
|
28649
28690
|
/**
|
|
28650
28691
|
* MockClient provides an API that extends the Client to influence the mockDispatches.
|
|
28651
28692
|
*/
|
|
28652
28693
|
var MockClient$2 = class extends Client$1 {
|
|
28653
28694
|
constructor(origin, opts) {
|
|
28654
|
-
if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") throw new InvalidArgumentError$
|
|
28695
|
+
if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") throw new InvalidArgumentError$12("Argument opts.agent must implement Agent");
|
|
28655
28696
|
super(origin, opts);
|
|
28656
28697
|
this[kMockAgent$1] = opts.agent;
|
|
28657
28698
|
this[kOrigin$1] = origin;
|
|
@@ -28688,23 +28729,23 @@ var require_mock_client = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pn
|
|
|
28688
28729
|
}) });
|
|
28689
28730
|
|
|
28690
28731
|
//#endregion
|
|
28691
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
28692
|
-
var require_mock_call_history = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
28732
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/mock/mock-call-history.js
|
|
28733
|
+
var require_mock_call_history = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/mock/mock-call-history.js": ((exports, module) => {
|
|
28693
28734
|
const { kMockCallHistoryAddLog: kMockCallHistoryAddLog$1 } = require_mock_symbols();
|
|
28694
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
28735
|
+
const { InvalidArgumentError: InvalidArgumentError$11 } = require_errors();
|
|
28695
28736
|
function handleFilterCallsWithOptions(criteria, options, handler, store, allLogs) {
|
|
28696
28737
|
switch (options.operator) {
|
|
28697
28738
|
case "OR":
|
|
28698
28739
|
store.push(...handler(criteria, allLogs));
|
|
28699
28740
|
return store;
|
|
28700
28741
|
case "AND": return handler(criteria, store);
|
|
28701
|
-
default: throw new InvalidArgumentError$
|
|
28742
|
+
default: throw new InvalidArgumentError$11("options.operator must to be a case insensitive string equal to 'OR' or 'AND'");
|
|
28702
28743
|
}
|
|
28703
28744
|
}
|
|
28704
28745
|
function buildAndValidateFilterCallsOptions(options = {}) {
|
|
28705
28746
|
const finalOptions = {};
|
|
28706
28747
|
if ("operator" in options) {
|
|
28707
|
-
if (typeof options.operator !== "string" || options.operator.toUpperCase() !== "OR" && options.operator.toUpperCase() !== "AND") throw new InvalidArgumentError$
|
|
28748
|
+
if (typeof options.operator !== "string" || options.operator.toUpperCase() !== "OR" && options.operator.toUpperCase() !== "AND") throw new InvalidArgumentError$11("options.operator must to be a case insensitive string equal to 'OR' or 'AND'");
|
|
28708
28749
|
return {
|
|
28709
28750
|
...finalOptions,
|
|
28710
28751
|
operator: options.operator.toUpperCase()
|
|
@@ -28720,7 +28761,7 @@ var require_mock_call_history = /* @__PURE__ */ __commonJS$2({ "../../node_modul
|
|
|
28720
28761
|
if (parameterValue instanceof RegExp) return logs.filter((log$2) => {
|
|
28721
28762
|
return parameterValue.test(log$2[parameterName]);
|
|
28722
28763
|
});
|
|
28723
|
-
throw new InvalidArgumentError$
|
|
28764
|
+
throw new InvalidArgumentError$11(`${parameterName} parameter should be one of string, regexp, undefined or null`);
|
|
28724
28765
|
};
|
|
28725
28766
|
}
|
|
28726
28767
|
function computeUrlWithMaybeSearchParameters(requestInit) {
|
|
@@ -28730,7 +28771,7 @@ var require_mock_call_history = /* @__PURE__ */ __commonJS$2({ "../../node_modul
|
|
|
28730
28771
|
url$2.search = new URLSearchParams(requestInit.query).toString();
|
|
28731
28772
|
return url$2;
|
|
28732
28773
|
} catch (error$2) {
|
|
28733
|
-
throw new InvalidArgumentError$
|
|
28774
|
+
throw new InvalidArgumentError$11("An error occurred when computing MockCallHistoryLog.url", { cause: error$2 });
|
|
28734
28775
|
}
|
|
28735
28776
|
}
|
|
28736
28777
|
var MockCallHistoryLog$1 = class {
|
|
@@ -28788,9 +28829,9 @@ var require_mock_call_history = /* @__PURE__ */ __commonJS$2({ "../../node_modul
|
|
|
28788
28829
|
return this.logs.at(-1);
|
|
28789
28830
|
}
|
|
28790
28831
|
nthCall(number$1) {
|
|
28791
|
-
if (typeof number$1 !== "number") throw new InvalidArgumentError$
|
|
28792
|
-
if (!Number.isInteger(number$1)) throw new InvalidArgumentError$
|
|
28793
|
-
if (Math.sign(number$1) !== 1) throw new InvalidArgumentError$
|
|
28832
|
+
if (typeof number$1 !== "number") throw new InvalidArgumentError$11("nthCall must be called with a number");
|
|
28833
|
+
if (!Number.isInteger(number$1)) throw new InvalidArgumentError$11("nthCall must be called with an integer");
|
|
28834
|
+
if (Math.sign(number$1) !== 1) throw new InvalidArgumentError$11("nthCall must be called with a positive value. use firstCall or lastCall instead");
|
|
28794
28835
|
return this.logs.at(number$1 - 1);
|
|
28795
28836
|
}
|
|
28796
28837
|
filterCalls(criteria, options) {
|
|
@@ -28816,7 +28857,7 @@ var require_mock_call_history = /* @__PURE__ */ __commonJS$2({ "../../node_modul
|
|
|
28816
28857
|
if ("method" in criteria) maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.method, finalOptions, this.filterCallsByMethod, maybeDuplicatedLogsFiltered, this.logs);
|
|
28817
28858
|
return [...new Set(maybeDuplicatedLogsFiltered)];
|
|
28818
28859
|
}
|
|
28819
|
-
throw new InvalidArgumentError$
|
|
28860
|
+
throw new InvalidArgumentError$11("criteria parameter should be one of function, regexp, or object");
|
|
28820
28861
|
}
|
|
28821
28862
|
filterCallsByProtocol = makeFilterCalls.call(this, "protocol");
|
|
28822
28863
|
filterCallsByHost = makeFilterCalls.call(this, "host");
|
|
@@ -28843,21 +28884,21 @@ var require_mock_call_history = /* @__PURE__ */ __commonJS$2({ "../../node_modul
|
|
|
28843
28884
|
}) });
|
|
28844
28885
|
|
|
28845
28886
|
//#endregion
|
|
28846
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
28847
|
-
var require_mock_pool = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
28887
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/mock/mock-pool.js
|
|
28888
|
+
var require_mock_pool = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/mock/mock-pool.js": ((exports, module) => {
|
|
28848
28889
|
const { promisify: promisify$1 } = __require$1("node:util");
|
|
28849
28890
|
const Pool$1 = require_pool();
|
|
28850
28891
|
const { buildMockDispatch } = require_mock_utils();
|
|
28851
28892
|
const { kDispatches: kDispatches$1, kMockAgent, kClose, kOriginalClose, kOrigin, kOriginalDispatch, kConnected, kIgnoreTrailingSlash: kIgnoreTrailingSlash$1 } = require_mock_symbols();
|
|
28852
28893
|
const { MockInterceptor } = require_mock_interceptor();
|
|
28853
28894
|
const Symbols = require_symbols();
|
|
28854
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
28895
|
+
const { InvalidArgumentError: InvalidArgumentError$10 } = require_errors();
|
|
28855
28896
|
/**
|
|
28856
28897
|
* MockPool provides an API that extends the Pool to influence the mockDispatches.
|
|
28857
28898
|
*/
|
|
28858
28899
|
var MockPool$2 = class extends Pool$1 {
|
|
28859
28900
|
constructor(origin, opts) {
|
|
28860
|
-
if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") throw new InvalidArgumentError$
|
|
28901
|
+
if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") throw new InvalidArgumentError$10("Argument opts.agent must implement Agent");
|
|
28861
28902
|
super(origin, opts);
|
|
28862
28903
|
this[kMockAgent] = opts.agent;
|
|
28863
28904
|
this[kOrigin] = origin;
|
|
@@ -28894,8 +28935,8 @@ var require_mock_pool = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm
|
|
|
28894
28935
|
}) });
|
|
28895
28936
|
|
|
28896
28937
|
//#endregion
|
|
28897
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
28898
|
-
var require_pending_interceptors_formatter = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
28938
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/mock/pending-interceptors-formatter.js
|
|
28939
|
+
var require_pending_interceptors_formatter = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/mock/pending-interceptors-formatter.js": ((exports, module) => {
|
|
28899
28940
|
const { Transform: Transform$1 } = __require$1("node:stream");
|
|
28900
28941
|
const { Console } = __require$1("node:console");
|
|
28901
28942
|
const PERSISTENT = process.versions.icu ? "✅" : "Y ";
|
|
@@ -28930,15 +28971,15 @@ var require_pending_interceptors_formatter = /* @__PURE__ */ __commonJS$2({ "../
|
|
|
28930
28971
|
}) });
|
|
28931
28972
|
|
|
28932
28973
|
//#endregion
|
|
28933
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
28934
|
-
var require_mock_agent = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
28974
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/mock/mock-agent.js
|
|
28975
|
+
var require_mock_agent = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/mock/mock-agent.js": ((exports, module) => {
|
|
28935
28976
|
const { kClients } = require_symbols();
|
|
28936
28977
|
const Agent$3 = require_agent();
|
|
28937
28978
|
const { kAgent, kMockAgentSet, kMockAgentGet, kDispatches, kIsMockActive, kNetConnect, kGetNetConnect, kOptions, kFactory, kMockAgentRegisterCallHistory, kMockAgentIsCallHistoryEnabled, kMockAgentAddCallHistoryLog, kMockAgentMockCallHistoryInstance, kMockAgentAcceptsNonStandardSearchParameters, kMockCallHistoryAddLog, kIgnoreTrailingSlash } = require_mock_symbols();
|
|
28938
28979
|
const MockClient$1 = require_mock_client();
|
|
28939
28980
|
const MockPool$1 = require_mock_pool();
|
|
28940
28981
|
const { matchValue, normalizeSearchParams, buildAndValidateMockOptions, normalizeOrigin } = require_mock_utils();
|
|
28941
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
28982
|
+
const { InvalidArgumentError: InvalidArgumentError$9, UndiciError: UndiciError$2 } = require_errors();
|
|
28942
28983
|
const Dispatcher$1 = require_dispatcher();
|
|
28943
28984
|
const PendingInterceptorsFormatter = require_pending_interceptors_formatter();
|
|
28944
28985
|
const { MockCallHistory: MockCallHistory$1 } = require_mock_call_history();
|
|
@@ -28951,7 +28992,7 @@ var require_mock_agent = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnp
|
|
|
28951
28992
|
this[kMockAgentIsCallHistoryEnabled] = mockOptions.enableCallHistory ?? false;
|
|
28952
28993
|
this[kMockAgentAcceptsNonStandardSearchParameters] = mockOptions.acceptNonStandardSearchParameters ?? false;
|
|
28953
28994
|
this[kIgnoreTrailingSlash] = mockOptions.ignoreTrailingSlash ?? false;
|
|
28954
|
-
if (opts?.agent && typeof opts.agent.dispatch !== "function") throw new InvalidArgumentError$
|
|
28995
|
+
if (opts?.agent && typeof opts.agent.dispatch !== "function") throw new InvalidArgumentError$9("Argument opts.agent must implement Agent");
|
|
28955
28996
|
const agent = opts?.agent ? opts.agent : new Agent$3(opts);
|
|
28956
28997
|
this[kAgent] = agent;
|
|
28957
28998
|
this[kClients] = agent[kClients];
|
|
@@ -28995,7 +29036,7 @@ var require_mock_agent = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnp
|
|
|
28995
29036
|
if (typeof matcher === "string" || typeof matcher === "function" || matcher instanceof RegExp) if (Array.isArray(this[kNetConnect])) this[kNetConnect].push(matcher);
|
|
28996
29037
|
else this[kNetConnect] = [matcher];
|
|
28997
29038
|
else if (typeof matcher === "undefined") this[kNetConnect] = true;
|
|
28998
|
-
else throw new InvalidArgumentError$
|
|
29039
|
+
else throw new InvalidArgumentError$9("Unsupported matcher. Must be one of String|Function|RegExp.");
|
|
28999
29040
|
}
|
|
29000
29041
|
disableNetConnect() {
|
|
29001
29042
|
this[kNetConnect] = false;
|
|
@@ -29071,9 +29112,9 @@ var require_mock_agent = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnp
|
|
|
29071
29112
|
}) });
|
|
29072
29113
|
|
|
29073
29114
|
//#endregion
|
|
29074
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
29075
|
-
var require_snapshot_utils = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
29076
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
29115
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/mock/snapshot-utils.js
|
|
29116
|
+
var require_snapshot_utils = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/mock/snapshot-utils.js": ((exports, module) => {
|
|
29117
|
+
const { InvalidArgumentError: InvalidArgumentError$8 } = require_errors();
|
|
29077
29118
|
const { runtimeFeatures: runtimeFeatures$5 } = require_runtime_features();
|
|
29078
29119
|
/**
|
|
29079
29120
|
* @typedef {Object} HeaderFilters
|
|
@@ -29175,7 +29216,7 @@ var require_snapshot_utils = /* @__PURE__ */ __commonJS$2({ "../../node_modules/
|
|
|
29175
29216
|
* @returns {asserts mode is SnapshotMode}
|
|
29176
29217
|
*/
|
|
29177
29218
|
function validateSnapshotMode$1(mode) {
|
|
29178
|
-
if (!validSnapshotModes.includes(mode)) throw new InvalidArgumentError$
|
|
29219
|
+
if (!validSnapshotModes.includes(mode)) throw new InvalidArgumentError$8(`Invalid snapshot mode: ${mode}. Must be one of: ${validSnapshotModes.join(", ")}`);
|
|
29179
29220
|
}
|
|
29180
29221
|
module.exports = {
|
|
29181
29222
|
createHeaderFilters: createHeaderFilters$1,
|
|
@@ -29188,12 +29229,12 @@ var require_snapshot_utils = /* @__PURE__ */ __commonJS$2({ "../../node_modules/
|
|
|
29188
29229
|
}) });
|
|
29189
29230
|
|
|
29190
29231
|
//#endregion
|
|
29191
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
29192
|
-
var require_snapshot_recorder = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
29232
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/mock/snapshot-recorder.js
|
|
29233
|
+
var require_snapshot_recorder = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/mock/snapshot-recorder.js": ((exports, module) => {
|
|
29193
29234
|
const { writeFile, readFile, mkdir } = __require$1("node:fs/promises");
|
|
29194
29235
|
const { dirname: dirname$1, resolve: resolve$2 } = __require$1("node:path");
|
|
29195
29236
|
const { setTimeout: setTimeout$2, clearTimeout: clearTimeout$1 } = __require$1("node:timers");
|
|
29196
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
29237
|
+
const { InvalidArgumentError: InvalidArgumentError$7, UndiciError: UndiciError$1 } = require_errors();
|
|
29197
29238
|
const { hashId, isUrlExcludedFactory, normalizeHeaders: normalizeHeaders$4, createHeaderFilters } = require_snapshot_utils();
|
|
29198
29239
|
/**
|
|
29199
29240
|
* @typedef {Object} SnapshotRequestOptions
|
|
@@ -29454,7 +29495,7 @@ var require_snapshot_recorder = /* @__PURE__ */ __commonJS$2({ "../../node_modul
|
|
|
29454
29495
|
*/
|
|
29455
29496
|
async loadSnapshots(filePath) {
|
|
29456
29497
|
const path$3 = filePath || this.#snapshotPath;
|
|
29457
|
-
if (!path$3) throw new InvalidArgumentError$
|
|
29498
|
+
if (!path$3) throw new InvalidArgumentError$7("Snapshot path is required");
|
|
29458
29499
|
try {
|
|
29459
29500
|
const data = await readFile(resolve$2(path$3), "utf8");
|
|
29460
29501
|
const parsed = JSON.parse(data);
|
|
@@ -29475,7 +29516,7 @@ var require_snapshot_recorder = /* @__PURE__ */ __commonJS$2({ "../../node_modul
|
|
|
29475
29516
|
*/
|
|
29476
29517
|
async saveSnapshots(filePath) {
|
|
29477
29518
|
const path$3 = filePath || this.#snapshotPath;
|
|
29478
|
-
if (!path$3) throw new InvalidArgumentError$
|
|
29519
|
+
if (!path$3) throw new InvalidArgumentError$7("Snapshot path is required");
|
|
29479
29520
|
const resolvedPath = resolve$2(path$3);
|
|
29480
29521
|
await mkdir(dirname$1(resolvedPath), { recursive: true });
|
|
29481
29522
|
const data = Array.from(this.#snapshots.entries()).map(([hash$1, snapshot]) => ({
|
|
@@ -29607,13 +29648,13 @@ var require_snapshot_recorder = /* @__PURE__ */ __commonJS$2({ "../../node_modul
|
|
|
29607
29648
|
}) });
|
|
29608
29649
|
|
|
29609
29650
|
//#endregion
|
|
29610
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
29611
|
-
var require_snapshot_agent = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
29651
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/mock/snapshot-agent.js
|
|
29652
|
+
var require_snapshot_agent = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/mock/snapshot-agent.js": ((exports, module) => {
|
|
29612
29653
|
const Agent$2 = require_agent();
|
|
29613
29654
|
const MockAgent$1 = require_mock_agent();
|
|
29614
29655
|
const { SnapshotRecorder } = require_snapshot_recorder();
|
|
29615
29656
|
const WrapHandler$1 = require_wrap_handler();
|
|
29616
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
29657
|
+
const { InvalidArgumentError: InvalidArgumentError$6, UndiciError } = require_errors();
|
|
29617
29658
|
const { validateSnapshotMode } = require_snapshot_utils();
|
|
29618
29659
|
const kSnapshotRecorder = Symbol("kSnapshotRecorder");
|
|
29619
29660
|
const kSnapshotMode = Symbol("kSnapshotMode");
|
|
@@ -29630,7 +29671,7 @@ var require_snapshot_agent = /* @__PURE__ */ __commonJS$2({ "../../node_modules/
|
|
|
29630
29671
|
const { mode = "record", snapshotPath = null,...mockAgentOpts } = opts;
|
|
29631
29672
|
super(mockAgentOpts);
|
|
29632
29673
|
validateSnapshotMode(mode);
|
|
29633
|
-
if ((mode === "playback" || mode === "update") && !snapshotPath) throw new InvalidArgumentError$
|
|
29674
|
+
if ((mode === "playback" || mode === "update") && !snapshotPath) throw new InvalidArgumentError$6(`snapshotPath is required when mode is '${mode}'`);
|
|
29634
29675
|
this[kSnapshotMode] = mode;
|
|
29635
29676
|
this[kSnapshotPath] = snapshotPath;
|
|
29636
29677
|
this[kSnapshotRecorder] = new SnapshotRecorder({
|
|
@@ -29867,15 +29908,15 @@ var require_snapshot_agent = /* @__PURE__ */ __commonJS$2({ "../../node_modules/
|
|
|
29867
29908
|
}) });
|
|
29868
29909
|
|
|
29869
29910
|
//#endregion
|
|
29870
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
29871
|
-
var require_global = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
29911
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/global.js
|
|
29912
|
+
var require_global = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/global.js": ((exports, module) => {
|
|
29872
29913
|
const globalDispatcher = Symbol.for("undici.globalDispatcher.2");
|
|
29873
29914
|
const legacyGlobalDispatcher = Symbol.for("undici.globalDispatcher.1");
|
|
29874
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
29915
|
+
const { InvalidArgumentError: InvalidArgumentError$5 } = require_errors();
|
|
29875
29916
|
const Agent$1 = require_agent();
|
|
29876
29917
|
if (getGlobalDispatcher$3() === void 0) setGlobalDispatcher$1(new Agent$1());
|
|
29877
29918
|
function setGlobalDispatcher$1(agent) {
|
|
29878
|
-
if (!agent || typeof agent.dispatch !== "function") throw new InvalidArgumentError$
|
|
29919
|
+
if (!agent || typeof agent.dispatch !== "function") throw new InvalidArgumentError$5("Argument agent must implement Agent");
|
|
29879
29920
|
Object.defineProperty(globalThis, globalDispatcher, {
|
|
29880
29921
|
value: agent,
|
|
29881
29922
|
writable: true,
|
|
@@ -29912,8 +29953,8 @@ var require_global = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/un
|
|
|
29912
29953
|
}) });
|
|
29913
29954
|
|
|
29914
29955
|
//#endregion
|
|
29915
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
29916
|
-
var require_decorator_handler = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
29956
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/handler/decorator-handler.js
|
|
29957
|
+
var require_decorator_handler = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/handler/decorator-handler.js": ((exports, module) => {
|
|
29917
29958
|
const assert$15 = __require$1("node:assert");
|
|
29918
29959
|
const WrapHandler = require_wrap_handler();
|
|
29919
29960
|
/**
|
|
@@ -29966,12 +30007,12 @@ var require_decorator_handler = /* @__PURE__ */ __commonJS$2({ "../../node_modul
|
|
|
29966
30007
|
}) });
|
|
29967
30008
|
|
|
29968
30009
|
//#endregion
|
|
29969
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
29970
|
-
var require_redirect_handler = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
30010
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/handler/redirect-handler.js
|
|
30011
|
+
var require_redirect_handler = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/handler/redirect-handler.js": ((exports, module) => {
|
|
29971
30012
|
const util$8 = require_util$5();
|
|
29972
30013
|
const { kBodyUsed } = require_symbols();
|
|
29973
30014
|
const assert$14 = __require$1("node:assert");
|
|
29974
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
30015
|
+
const { InvalidArgumentError: InvalidArgumentError$4 } = require_errors();
|
|
29975
30016
|
const EE$2 = __require$1("node:events");
|
|
29976
30017
|
const redirectableStatusCodes = [
|
|
29977
30018
|
300,
|
|
@@ -29996,12 +30037,12 @@ var require_redirect_handler = /* @__PURE__ */ __commonJS$2({ "../../node_module
|
|
|
29996
30037
|
};
|
|
29997
30038
|
var RedirectHandler$2 = class RedirectHandler$2 {
|
|
29998
30039
|
static buildDispatch(dispatcher, maxRedirections) {
|
|
29999
|
-
if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) throw new InvalidArgumentError$
|
|
30040
|
+
if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) throw new InvalidArgumentError$4("maxRedirections must be a positive number");
|
|
30000
30041
|
const dispatch = dispatcher.dispatch.bind(dispatcher);
|
|
30001
30042
|
return (opts, originalHandler) => dispatch(opts, new RedirectHandler$2(dispatch, maxRedirections, opts, originalHandler));
|
|
30002
30043
|
}
|
|
30003
30044
|
constructor(dispatch, maxRedirections, opts, handler) {
|
|
30004
|
-
if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) throw new InvalidArgumentError$
|
|
30045
|
+
if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) throw new InvalidArgumentError$4("maxRedirections must be a positive number");
|
|
30005
30046
|
this.dispatch = dispatch;
|
|
30006
30047
|
this.location = null;
|
|
30007
30048
|
const { maxRedirections: _,...cleanOpts } = opts;
|
|
@@ -30052,7 +30093,7 @@ var require_redirect_handler = /* @__PURE__ */ __commonJS$2({ "../../node_module
|
|
|
30052
30093
|
const { origin, pathname, search } = util$8.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin)));
|
|
30053
30094
|
const path$3 = search ? `${pathname}${search}` : pathname;
|
|
30054
30095
|
const redirectUrlString = `${origin}${path$3}`;
|
|
30055
|
-
for (const historyUrl of this.history) if (historyUrl.toString() === redirectUrlString) throw new InvalidArgumentError$
|
|
30096
|
+
for (const historyUrl of this.history) if (historyUrl.toString() === redirectUrlString) throw new InvalidArgumentError$4(`Redirect loop detected. Cannot redirect to ${origin}. This typically happens when using a Client or Pool with cross-origin redirects. Use an Agent for cross-origin redirects.`);
|
|
30056
30097
|
this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin);
|
|
30057
30098
|
this.opts.path = path$3;
|
|
30058
30099
|
this.opts.origin = origin;
|
|
@@ -30092,8 +30133,8 @@ var require_redirect_handler = /* @__PURE__ */ __commonJS$2({ "../../node_module
|
|
|
30092
30133
|
}) });
|
|
30093
30134
|
|
|
30094
30135
|
//#endregion
|
|
30095
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
30096
|
-
var require_redirect = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
30136
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/interceptor/redirect.js
|
|
30137
|
+
var require_redirect = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/interceptor/redirect.js": ((exports, module) => {
|
|
30097
30138
|
const RedirectHandler$1 = require_redirect_handler();
|
|
30098
30139
|
function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections } = {}) {
|
|
30099
30140
|
return (dispatch) => {
|
|
@@ -30109,8 +30150,8 @@ var require_redirect = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/
|
|
|
30109
30150
|
}) });
|
|
30110
30151
|
|
|
30111
30152
|
//#endregion
|
|
30112
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
30113
|
-
var require_response_error = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
30153
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/interceptor/response-error.js
|
|
30154
|
+
var require_response_error = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/interceptor/response-error.js": ((exports, module) => {
|
|
30114
30155
|
const DecoratorHandler$4 = require_decorator_handler();
|
|
30115
30156
|
const { ResponseError } = require_errors();
|
|
30116
30157
|
var ResponseErrorHandler = class extends DecoratorHandler$4 {
|
|
@@ -30178,8 +30219,8 @@ var require_response_error = /* @__PURE__ */ __commonJS$2({ "../../node_modules/
|
|
|
30178
30219
|
}) });
|
|
30179
30220
|
|
|
30180
30221
|
//#endregion
|
|
30181
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
30182
|
-
var require_retry = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
30222
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/interceptor/retry.js
|
|
30223
|
+
var require_retry = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/interceptor/retry.js": ((exports, module) => {
|
|
30183
30224
|
const RetryHandler$1 = require_retry_handler();
|
|
30184
30225
|
module.exports = (globalOpts) => {
|
|
30185
30226
|
return (dispatch) => {
|
|
@@ -30200,19 +30241,18 @@ var require_retry = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/und
|
|
|
30200
30241
|
}) });
|
|
30201
30242
|
|
|
30202
30243
|
//#endregion
|
|
30203
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
30204
|
-
var require_dump = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
30205
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
30244
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/interceptor/dump.js
|
|
30245
|
+
var require_dump = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/interceptor/dump.js": ((exports, module) => {
|
|
30246
|
+
const { InvalidArgumentError: InvalidArgumentError$3, RequestAbortedError: RequestAbortedError$1 } = require_errors();
|
|
30206
30247
|
const DecoratorHandler$3 = require_decorator_handler();
|
|
30207
30248
|
var DumpHandler = class extends DecoratorHandler$3 {
|
|
30208
30249
|
#maxSize = 1024 * 1024;
|
|
30209
30250
|
#dumped = false;
|
|
30210
30251
|
#size = 0;
|
|
30211
|
-
#controller = null;
|
|
30212
30252
|
aborted = false;
|
|
30213
30253
|
reason = false;
|
|
30214
30254
|
constructor({ maxSize, signal }, handler) {
|
|
30215
|
-
if (maxSize != null && (!Number.isFinite(maxSize) || maxSize < 1)) throw new InvalidArgumentError$
|
|
30255
|
+
if (maxSize != null && (!Number.isFinite(maxSize) || maxSize < 1)) throw new InvalidArgumentError$3("maxSize must be a number greater than 0");
|
|
30216
30256
|
super(handler);
|
|
30217
30257
|
this.#maxSize = maxSize ?? this.#maxSize;
|
|
30218
30258
|
}
|
|
@@ -30222,7 +30262,6 @@ var require_dump = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undi
|
|
|
30222
30262
|
}
|
|
30223
30263
|
onRequestStart(controller, context) {
|
|
30224
30264
|
controller.abort = this.#abort.bind(this);
|
|
30225
|
-
this.#controller = controller;
|
|
30226
30265
|
return super.onRequestStart(controller, context);
|
|
30227
30266
|
}
|
|
30228
30267
|
onResponseStart(controller, statusCode, headers, statusMessage) {
|
|
@@ -30232,32 +30271,26 @@ var require_dump = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undi
|
|
|
30232
30271
|
return super.onResponseStart(controller, statusCode, headers, statusMessage);
|
|
30233
30272
|
}
|
|
30234
30273
|
onResponseError(controller, err) {
|
|
30235
|
-
|
|
30236
|
-
err = this.#controller?.reason ?? err;
|
|
30237
|
-
super.onResponseError(controller, err);
|
|
30274
|
+
super.onResponseError(controller, this.aborted === true ? this.reason : err);
|
|
30238
30275
|
}
|
|
30239
30276
|
onResponseData(controller, chunk) {
|
|
30240
30277
|
this.#size = this.#size + chunk.length;
|
|
30241
|
-
if (this.#size
|
|
30242
|
-
|
|
30243
|
-
if (this.aborted === true) super.onResponseError(controller, this.reason);
|
|
30244
|
-
else super.onResponseEnd(controller, {});
|
|
30245
|
-
}
|
|
30278
|
+
if (this.#size > this.#maxSize) throw new RequestAbortedError$1(`Response size (${this.#size}) larger than maxSize (${this.#maxSize})`);
|
|
30279
|
+
if (this.#size === this.#maxSize) this.#dumped = true;
|
|
30246
30280
|
return true;
|
|
30247
30281
|
}
|
|
30248
30282
|
onResponseEnd(controller, trailers) {
|
|
30249
|
-
if (this
|
|
30250
|
-
if (this.#controller.aborted === true) {
|
|
30283
|
+
if (this.aborted === true) {
|
|
30251
30284
|
super.onResponseError(controller, this.reason);
|
|
30252
30285
|
return;
|
|
30253
30286
|
}
|
|
30254
|
-
super.onResponseEnd(controller, trailers);
|
|
30287
|
+
super.onResponseEnd(controller, this.#dumped ? {} : trailers);
|
|
30255
30288
|
}
|
|
30256
30289
|
};
|
|
30257
|
-
function createDumpInterceptor({ maxSize: defaultMaxSize } = { maxSize: 1024 * 1024 }) {
|
|
30290
|
+
function createDumpInterceptor({ maxSize: defaultMaxSize$1 } = { maxSize: 1024 * 1024 }) {
|
|
30258
30291
|
return (dispatch) => {
|
|
30259
30292
|
return function Intercept(opts, handler) {
|
|
30260
|
-
const { dumpMaxSize = defaultMaxSize } = opts;
|
|
30293
|
+
const { dumpMaxSize = defaultMaxSize$1 } = opts;
|
|
30261
30294
|
return dispatch(opts, new DumpHandler({
|
|
30262
30295
|
maxSize: dumpMaxSize,
|
|
30263
30296
|
signal: opts.signal
|
|
@@ -30269,12 +30302,12 @@ var require_dump = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undi
|
|
|
30269
30302
|
}) });
|
|
30270
30303
|
|
|
30271
30304
|
//#endregion
|
|
30272
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
30273
|
-
var require_dns = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
30305
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/interceptor/dns.js
|
|
30306
|
+
var require_dns = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/interceptor/dns.js": ((exports, module) => {
|
|
30274
30307
|
const { isIP } = __require$1("node:net");
|
|
30275
30308
|
const { lookup } = __require$1("node:dns");
|
|
30276
30309
|
const DecoratorHandler$2 = require_decorator_handler();
|
|
30277
|
-
const { InvalidArgumentError: InvalidArgumentError$
|
|
30310
|
+
const { InvalidArgumentError: InvalidArgumentError$2, InformationalError } = require_errors();
|
|
30278
30311
|
const maxInt = Math.pow(2, 31) - 1;
|
|
30279
30312
|
function hasSafeIterator$1(headers) {
|
|
30280
30313
|
const prototype = Object.getPrototypeOf(headers);
|
|
@@ -30543,13 +30576,13 @@ var require_dns = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undic
|
|
|
30543
30576
|
}
|
|
30544
30577
|
};
|
|
30545
30578
|
module.exports = (interceptorOpts) => {
|
|
30546
|
-
if (interceptorOpts?.maxTTL != null && (typeof interceptorOpts?.maxTTL !== "number" || interceptorOpts?.maxTTL < 0)) throw new InvalidArgumentError$
|
|
30547
|
-
if (interceptorOpts?.maxItems != null && (typeof interceptorOpts?.maxItems !== "number" || interceptorOpts?.maxItems < 1)) throw new InvalidArgumentError$
|
|
30548
|
-
if (interceptorOpts?.affinity != null && interceptorOpts?.affinity !== 4 && interceptorOpts?.affinity !== 6) throw new InvalidArgumentError$
|
|
30549
|
-
if (interceptorOpts?.dualStack != null && typeof interceptorOpts?.dualStack !== "boolean") throw new InvalidArgumentError$
|
|
30550
|
-
if (interceptorOpts?.lookup != null && typeof interceptorOpts?.lookup !== "function") throw new InvalidArgumentError$
|
|
30551
|
-
if (interceptorOpts?.pick != null && typeof interceptorOpts?.pick !== "function") throw new InvalidArgumentError$
|
|
30552
|
-
if (interceptorOpts?.storage != null && (typeof interceptorOpts?.storage?.get !== "function" || typeof interceptorOpts?.storage?.set !== "function" || typeof interceptorOpts?.storage?.full !== "function" || typeof interceptorOpts?.storage?.delete !== "function")) throw new InvalidArgumentError$
|
|
30579
|
+
if (interceptorOpts?.maxTTL != null && (typeof interceptorOpts?.maxTTL !== "number" || interceptorOpts?.maxTTL < 0)) throw new InvalidArgumentError$2("Invalid maxTTL. Must be a positive number");
|
|
30580
|
+
if (interceptorOpts?.maxItems != null && (typeof interceptorOpts?.maxItems !== "number" || interceptorOpts?.maxItems < 1)) throw new InvalidArgumentError$2("Invalid maxItems. Must be a positive number and greater than zero");
|
|
30581
|
+
if (interceptorOpts?.affinity != null && interceptorOpts?.affinity !== 4 && interceptorOpts?.affinity !== 6) throw new InvalidArgumentError$2("Invalid affinity. Must be either 4 or 6");
|
|
30582
|
+
if (interceptorOpts?.dualStack != null && typeof interceptorOpts?.dualStack !== "boolean") throw new InvalidArgumentError$2("Invalid dualStack. Must be a boolean");
|
|
30583
|
+
if (interceptorOpts?.lookup != null && typeof interceptorOpts?.lookup !== "function") throw new InvalidArgumentError$2("Invalid lookup. Must be a function");
|
|
30584
|
+
if (interceptorOpts?.pick != null && typeof interceptorOpts?.pick !== "function") throw new InvalidArgumentError$2("Invalid pick. Must be a function");
|
|
30585
|
+
if (interceptorOpts?.storage != null && (typeof interceptorOpts?.storage?.get !== "function" || typeof interceptorOpts?.storage?.set !== "function" || typeof interceptorOpts?.storage?.full !== "function" || typeof interceptorOpts?.storage?.delete !== "function")) throw new InvalidArgumentError$2("Invalid storage. Must be a object with methods: { get, set, full, delete }");
|
|
30553
30586
|
const dualStack = interceptorOpts?.dualStack ?? true;
|
|
30554
30587
|
let affinity;
|
|
30555
30588
|
if (dualStack) affinity = interceptorOpts?.affinity ?? null;
|
|
@@ -30588,8 +30621,8 @@ var require_dns = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undic
|
|
|
30588
30621
|
}) });
|
|
30589
30622
|
|
|
30590
30623
|
//#endregion
|
|
30591
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
30592
|
-
var require_cache$2 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
30624
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/util/cache.js
|
|
30625
|
+
var require_cache$2 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/util/cache.js": ((exports, module) => {
|
|
30593
30626
|
const { safeHTTPMethods, pathHasQueryOrFragment, hasSafeIterator, isValidHTTPToken: isValidHTTPToken$1 } = require_util$5();
|
|
30594
30627
|
const { serializePathWithQuery } = require_util$5();
|
|
30595
30628
|
const MAX_DELTA_SECONDS = 2147483647;
|
|
@@ -31021,8 +31054,8 @@ var require_cache$2 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/u
|
|
|
31021
31054
|
}) });
|
|
31022
31055
|
|
|
31023
31056
|
//#endregion
|
|
31024
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
31025
|
-
var require_date = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
31057
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/util/date.js
|
|
31058
|
+
var require_date = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/util/date.js": ((exports, module) => {
|
|
31026
31059
|
/**
|
|
31027
31060
|
* @see https://www.rfc-editor.org/rfc/rfc9110.html#name-date-time-formats
|
|
31028
31061
|
*
|
|
@@ -31343,8 +31376,8 @@ var require_date = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undi
|
|
|
31343
31376
|
}) });
|
|
31344
31377
|
|
|
31345
31378
|
//#endregion
|
|
31346
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
31347
|
-
var require_cache_handler = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
31379
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/handler/cache-handler.js
|
|
31380
|
+
var require_cache_handler = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/handler/cache-handler.js": ((exports, module) => {
|
|
31348
31381
|
const util$7 = require_util$5();
|
|
31349
31382
|
const { parseCacheControlHeader: parseCacheControlHeader$1, hasInvalidCacheControlDirective, parseVaryHeader, hasVaryStar, isInvalidOrWildcardVaryHeader: isInvalidOrWildcardVaryHeader$1, isEtagUsable } = require_cache$2();
|
|
31350
31383
|
const { parseHttpDate: parseHttpDate$1 } = require_date();
|
|
@@ -31485,13 +31518,17 @@ var require_cache_handler = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.
|
|
|
31485
31518
|
return downstreamOnHeaders();
|
|
31486
31519
|
}
|
|
31487
31520
|
const cacheControlHeader = resHeaders["cache-control"];
|
|
31521
|
+
const cacheControlDirectives = cacheControlHeader ? parseCacheControlHeader$1(cacheControlHeader) : {};
|
|
31522
|
+
if (revalidationResponseDisallowsCachedReuse$1(this.#cacheType, resHeaders, cacheControlDirectives)) {
|
|
31523
|
+
deleteCachedValue$1(this.#store, this.#cacheKey);
|
|
31524
|
+
return downstreamOnHeaders();
|
|
31525
|
+
}
|
|
31488
31526
|
const heuristicallyCacheable = resHeaders["last-modified"] && arrayIncludes$1(HEURISTICALLY_CACHEABLE_STATUS_CODES, statusCode);
|
|
31489
31527
|
if (!cacheControlHeader && !resHeaders["expires"] && !heuristicallyCacheable && !this.#cacheByDefault) {
|
|
31490
31528
|
if (statusCode === 304 && resHeaders.vary && isInvalidOrWildcardVaryHeader$1(resHeaders.vary)) deleteCachedValue$1(this.#store, this.#cacheKey);
|
|
31491
31529
|
return downstreamOnHeaders();
|
|
31492
31530
|
}
|
|
31493
|
-
|
|
31494
|
-
if (!canCacheResponse(this.#cacheType, statusCode, resHeaders, cacheControlDirectives, this.#cacheKey.headers)) {
|
|
31531
|
+
if (!canCacheResponse(this.#cacheType, this.#cacheKey.method, statusCode, resHeaders, cacheControlDirectives, this.#cacheKey.headers)) {
|
|
31495
31532
|
if (statusCode === 304 && (cacheControlHeader || revalidationResponseDisallowsCachedReuse$1(this.#cacheType, resHeaders, cacheControlDirectives))) deleteCachedValue$1(this.#store, this.#cacheKey);
|
|
31496
31533
|
return downstreamOnHeaders();
|
|
31497
31534
|
}
|
|
@@ -31643,22 +31680,24 @@ var require_cache_handler = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.
|
|
|
31643
31680
|
* @returns {boolean}
|
|
31644
31681
|
*/
|
|
31645
31682
|
function revalidationResponseDisallowsCachedReuse$1(cacheType, resHeaders, cacheControlDirectives) {
|
|
31646
|
-
return cacheControlDirectives["no-store"] === true || cacheType === "shared" && cacheControlDirectives.private === true || (resHeaders.vary ? isInvalidOrWildcardVaryHeader$1(resHeaders.vary) : false);
|
|
31683
|
+
return cacheControlDirectives["no-store"] === true || cacheType === "shared" && (cacheControlDirectives.private === true || Object.hasOwn(resHeaders, "set-cookie")) || (resHeaders.vary ? isInvalidOrWildcardVaryHeader$1(resHeaders.vary) : false);
|
|
31647
31684
|
}
|
|
31648
31685
|
/**
|
|
31649
31686
|
* @see https://www.rfc-editor.org/rfc/rfc9111.html#name-storing-responses-to-authen
|
|
31650
31687
|
*
|
|
31651
31688
|
* @param {import('../../types/cache-interceptor.d.ts').default.CacheOptions['type']} cacheType
|
|
31689
|
+
* @param {string} method
|
|
31652
31690
|
* @param {number} statusCode
|
|
31653
31691
|
* @param {import('../../types/header.d.ts').IncomingHttpHeaders} resHeaders
|
|
31654
31692
|
* @param {import('../../types/cache-interceptor.d.ts').default.CacheControlDirectives} cacheControlDirectives
|
|
31655
31693
|
* @param {import('../../types/header.d.ts').IncomingHttpHeaders} [reqHeaders]
|
|
31656
31694
|
*/
|
|
31657
|
-
function canCacheResponse(cacheType, statusCode, resHeaders, cacheControlDirectives, reqHeaders) {
|
|
31695
|
+
function canCacheResponse(cacheType, method, statusCode, resHeaders, cacheControlDirectives, reqHeaders) {
|
|
31696
|
+
if (!arrayIncludes$1(util$7.safeHTTPMethods, method)) return false;
|
|
31658
31697
|
if (statusCode < 200 || arrayIncludes$1(NOT_UNDERSTOOD_STATUS_CODES, statusCode)) return false;
|
|
31659
31698
|
if (!arrayIncludes$1(HEURISTICALLY_CACHEABLE_STATUS_CODES, statusCode) && !resHeaders["expires"] && !cacheControlDirectives.public && cacheControlDirectives["max-age"] === void 0 && !(cacheControlDirectives.private && cacheType === "private") && !(cacheControlDirectives["s-maxage"] !== void 0 && cacheType === "shared")) return false;
|
|
31660
31699
|
if (cacheControlDirectives["no-store"]) return false;
|
|
31661
|
-
if (cacheType === "shared" && cacheControlDirectives.private === true) return false;
|
|
31700
|
+
if (cacheType === "shared" && (cacheControlDirectives.private === true || Object.hasOwn(resHeaders, "set-cookie"))) return false;
|
|
31662
31701
|
if (resHeaders.vary && hasVaryStar(resHeaders.vary)) return false;
|
|
31663
31702
|
if (reqHeaders != null && Object.hasOwn(reqHeaders, "authorization")) {
|
|
31664
31703
|
if (!cacheControlDirectives.public && !cacheControlDirectives["s-maxage"] && !cacheControlDirectives["must-revalidate"]) return false;
|
|
@@ -31789,8 +31828,8 @@ var require_cache_handler = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.
|
|
|
31789
31828
|
}) });
|
|
31790
31829
|
|
|
31791
31830
|
//#endregion
|
|
31792
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
31793
|
-
var require_memory_cache_store = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
31831
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/cache/memory-cache-store.js
|
|
31832
|
+
var require_memory_cache_store = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/cache/memory-cache-store.js": ((exports, module) => {
|
|
31794
31833
|
const { Writable: Writable$3 } = __require$1("node:stream");
|
|
31795
31834
|
const { EventEmitter: EventEmitter$3 } = __require$1("node:events");
|
|
31796
31835
|
const { assertCacheKey: assertCacheKey$1, assertCacheValue: assertCacheValue$1 } = require_cache$2();
|
|
@@ -31976,8 +32015,8 @@ var require_memory_cache_store = /* @__PURE__ */ __commonJS$2({ "../../node_modu
|
|
|
31976
32015
|
}) });
|
|
31977
32016
|
|
|
31978
32017
|
//#endregion
|
|
31979
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
31980
|
-
var require_cache_revalidation_handler = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
32018
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/handler/cache-revalidation-handler.js
|
|
32019
|
+
var require_cache_revalidation_handler = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/handler/cache-revalidation-handler.js": ((exports, module) => {
|
|
31981
32020
|
const assert$13 = __require$1("node:assert");
|
|
31982
32021
|
/**
|
|
31983
32022
|
* This takes care of revalidation requests we send to the origin. If we get
|
|
@@ -32056,8 +32095,8 @@ var require_cache_revalidation_handler = /* @__PURE__ */ __commonJS$2({ "../../n
|
|
|
32056
32095
|
}) });
|
|
32057
32096
|
|
|
32058
32097
|
//#endregion
|
|
32059
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
32060
|
-
var require_cache$1 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
32098
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/interceptor/cache.js
|
|
32099
|
+
var require_cache$1 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/interceptor/cache.js": ((exports, module) => {
|
|
32061
32100
|
const assert$12 = __require$1("node:assert");
|
|
32062
32101
|
const { Readable: Readable$2 } = __require$1("node:stream");
|
|
32063
32102
|
const util$6 = require_util$5();
|
|
@@ -32128,7 +32167,7 @@ var require_cache$1 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/u
|
|
|
32128
32167
|
* @returns {boolean}
|
|
32129
32168
|
*/
|
|
32130
32169
|
function revalidationResponseDisallowsCachedReuse(cacheType, headers) {
|
|
32131
|
-
if (headers.vary && isInvalidOrWildcardVaryHeader(headers.vary)) return true;
|
|
32170
|
+
if (headers.vary && isInvalidOrWildcardVaryHeader(headers.vary) || cacheType === "shared" && Object.hasOwn(headers, "set-cookie")) return true;
|
|
32132
32171
|
const cacheControl = headers["cache-control"];
|
|
32133
32172
|
if (!cacheControl) return false;
|
|
32134
32173
|
const cacheControlDirectives = parseCacheControlHeader(cacheControl);
|
|
@@ -32275,6 +32314,11 @@ var require_cache$1 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/u
|
|
|
32275
32314
|
*/
|
|
32276
32315
|
function handleResult(dispatch, globalOpts, cacheKey, handler, opts, reqCacheControl, result) {
|
|
32277
32316
|
if (!result) return handleUncachedResponse(dispatch, globalOpts, cacheKey, handler, opts, reqCacheControl);
|
|
32317
|
+
if (globalOpts.type === "shared" && Object.hasOwn(result.headers, "set-cookie")) {
|
|
32318
|
+
if (util$6.isStream(result.body)) result.body.on("error", nop).destroy();
|
|
32319
|
+
deleteCachedValue(globalOpts.store, cacheKey);
|
|
32320
|
+
return handleUncachedResponse(dispatch, globalOpts, cacheKey, handler, opts, reqCacheControl);
|
|
32321
|
+
}
|
|
32278
32322
|
const now = Date.now();
|
|
32279
32323
|
if (now > result.deleteAt) return dispatch(opts, new CacheHandler(globalOpts, cacheKey, handler));
|
|
32280
32324
|
const age = Math.round((now - result.cachedAt) / 1e3);
|
|
@@ -32380,6 +32424,7 @@ var require_cache$1 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/u
|
|
|
32380
32424
|
* @type {import('../../types/cache-interceptor.d.ts').default.CacheKey}
|
|
32381
32425
|
*/
|
|
32382
32426
|
const cacheKey = makeCacheKey$1(opts$1);
|
|
32427
|
+
if (!arrayIncludes(util$6.safeHTTPMethods, opts$1.method)) return dispatch(opts$1, new CacheHandler(globalOpts, cacheKey, handler));
|
|
32383
32428
|
const result = store.get(cacheKey);
|
|
32384
32429
|
if (result && typeof result.then === "function") return result.then((result$1) => handleResult(dispatch, globalOpts, cacheKey, handler, opts$1, reqCacheControl, result$1));
|
|
32385
32430
|
else return handleResult(dispatch, globalOpts, cacheKey, handler, opts$1, reqCacheControl, result);
|
|
@@ -32389,10 +32434,11 @@ var require_cache$1 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/u
|
|
|
32389
32434
|
}) });
|
|
32390
32435
|
|
|
32391
32436
|
//#endregion
|
|
32392
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
32393
|
-
var require_decompress = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
32437
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/interceptor/decompress.js
|
|
32438
|
+
var require_decompress = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/interceptor/decompress.js": ((exports, module) => {
|
|
32394
32439
|
const { createInflate: createInflate$1, createGunzip, createBrotliDecompress, createZstdDecompress } = __require$1("node:zlib");
|
|
32395
|
-
const { pipeline: pipeline$2 } = __require$1("node:stream");
|
|
32440
|
+
const { pipeline: pipeline$2, Transform: TransformStream$1 } = __require$1("node:stream");
|
|
32441
|
+
const { InvalidArgumentError: InvalidArgumentError$1, ResponseExceededMaxSizeError } = require_errors();
|
|
32396
32442
|
const DecoratorHandler$1 = require_decorator_handler();
|
|
32397
32443
|
const { runtimeFeatures: runtimeFeatures$4 } = require_runtime_features();
|
|
32398
32444
|
/** @typedef {import('node:stream').Transform} Transform */
|
|
@@ -32409,23 +32455,54 @@ var require_decompress = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnp
|
|
|
32409
32455
|
...runtimeFeatures$4.has("zstd") ? { zstd: createZstdDecompress } : {}
|
|
32410
32456
|
};
|
|
32411
32457
|
const defaultSkipStatusCodes = [204, 304];
|
|
32458
|
+
const defaultMaxSize = 64 * 1024 * 1024;
|
|
32459
|
+
/**
|
|
32460
|
+
* Limits the output of one stage in a decompression chain.
|
|
32461
|
+
* @param {number} maxSize - Maximum output size in bytes
|
|
32462
|
+
* @returns {Transform}
|
|
32463
|
+
*/
|
|
32464
|
+
function createMaxSizeLimiter(maxSize) {
|
|
32465
|
+
let size = 0;
|
|
32466
|
+
return new TransformStream$1({ transform(chunk, _encoding, callback) {
|
|
32467
|
+
const decompressedSize = size + chunk.length;
|
|
32468
|
+
if (decompressedSize > maxSize) {
|
|
32469
|
+
callback(new ResponseExceededMaxSizeError(`Decompressed response size (${decompressedSize}) exceeded maxSize (${maxSize})`));
|
|
32470
|
+
return;
|
|
32471
|
+
}
|
|
32472
|
+
size = decompressedSize;
|
|
32473
|
+
callback(null, chunk);
|
|
32474
|
+
} });
|
|
32475
|
+
}
|
|
32412
32476
|
let warningEmitted$1 = false;
|
|
32413
32477
|
/**
|
|
32414
32478
|
* @typedef {Object} DecompressHandlerOptions
|
|
32415
32479
|
* @property {number[]|Readonly<number[]>} [skipStatusCodes=[204, 304]] - List of status codes to skip decompression for
|
|
32416
32480
|
* @property {boolean} [skipErrorResponses] - Whether to skip decompression for error responses (status codes >= 400)
|
|
32481
|
+
* @property {number} [maxSize=67108864] - Maximum decompressed response size in bytes
|
|
32417
32482
|
*/
|
|
32418
32483
|
var DecompressHandler = class extends DecoratorHandler$1 {
|
|
32419
32484
|
/** @type {Transform[]} */
|
|
32420
32485
|
#decompressors = [];
|
|
32486
|
+
/** @type {Record<string, string | string[]> | undefined} */
|
|
32487
|
+
#trailers;
|
|
32421
32488
|
/** @type {Readonly<number[]>} */
|
|
32422
32489
|
#skipStatusCodes;
|
|
32423
32490
|
/** @type {boolean} */
|
|
32424
32491
|
#skipErrorResponses;
|
|
32425
|
-
|
|
32492
|
+
/** @type {number} */
|
|
32493
|
+
#maxSize;
|
|
32494
|
+
/** @type {number} */
|
|
32495
|
+
#decompressedSize = 0;
|
|
32496
|
+
/** @type {boolean} */
|
|
32497
|
+
#terminated = false;
|
|
32498
|
+
/** @type {boolean} */
|
|
32499
|
+
#inputEnded = false;
|
|
32500
|
+
constructor(handler, { skipStatusCodes = defaultSkipStatusCodes, skipErrorResponses = true, maxSize = defaultMaxSize } = {}) {
|
|
32501
|
+
if (!Number.isSafeInteger(maxSize) || maxSize < 1) throw new InvalidArgumentError$1("maxSize must be a positive integer");
|
|
32426
32502
|
super(handler);
|
|
32427
32503
|
this.#skipStatusCodes = skipStatusCodes;
|
|
32428
32504
|
this.#skipErrorResponses = skipErrorResponses;
|
|
32505
|
+
this.#maxSize = maxSize;
|
|
32429
32506
|
}
|
|
32430
32507
|
/**
|
|
32431
32508
|
* Determines if decompression should be skipped based on encoding and status code
|
|
@@ -32443,7 +32520,7 @@ var require_decompress = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnp
|
|
|
32443
32520
|
* Creates a chain of decompressors for multiple content encodings
|
|
32444
32521
|
*
|
|
32445
32522
|
* @param {string} encodings - Comma-separated list of content encodings
|
|
32446
|
-
* @returns {Array<
|
|
32523
|
+
* @returns {Array<Transform>} - Array of decompressor and limiting streams
|
|
32447
32524
|
* @throws {Error} - If the number of content-encodings exceeds the maximum allowed
|
|
32448
32525
|
*/
|
|
32449
32526
|
#createDecompressionChain(encodings) {
|
|
@@ -32461,7 +32538,25 @@ var require_decompress = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnp
|
|
|
32461
32538
|
}
|
|
32462
32539
|
decompressors.push(supportedEncodings[encoding]());
|
|
32463
32540
|
}
|
|
32464
|
-
return decompressors;
|
|
32541
|
+
if (decompressors.length < 2) return decompressors;
|
|
32542
|
+
/** @type {Transform[]} */
|
|
32543
|
+
const streams = [];
|
|
32544
|
+
for (let i = 0; i < decompressors.length; i++) {
|
|
32545
|
+
streams.push(decompressors[i]);
|
|
32546
|
+
if (i < decompressors.length - 1) streams.push(createMaxSizeLimiter(this.#maxSize));
|
|
32547
|
+
}
|
|
32548
|
+
return streams;
|
|
32549
|
+
}
|
|
32550
|
+
/**
|
|
32551
|
+
* Stops decompression and reports an error.
|
|
32552
|
+
* @param {Controller} controller - The controller to coordinate with
|
|
32553
|
+
* @param {Error} error - The decompression error
|
|
32554
|
+
* @returns {void}
|
|
32555
|
+
*/
|
|
32556
|
+
#fail(controller, error$2) {
|
|
32557
|
+
if (this.#terminated) return;
|
|
32558
|
+
if (this.#inputEnded) this.onResponseError(controller, error$2);
|
|
32559
|
+
else controller.abort(error$2);
|
|
32465
32560
|
}
|
|
32466
32561
|
/**
|
|
32467
32562
|
* Sets up event handlers for a decompressor stream using readable events
|
|
@@ -32471,11 +32566,20 @@ var require_decompress = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnp
|
|
|
32471
32566
|
*/
|
|
32472
32567
|
#setupDecompressorEvents(decompressor, controller) {
|
|
32473
32568
|
decompressor.on("readable", () => {
|
|
32569
|
+
if (this.#terminated) return;
|
|
32474
32570
|
let chunk;
|
|
32475
|
-
while ((chunk = decompressor.read()) !== null)
|
|
32571
|
+
while ((chunk = decompressor.read()) !== null) {
|
|
32572
|
+
const decompressedSize = this.#decompressedSize + chunk.length;
|
|
32573
|
+
if (decompressedSize > this.#maxSize) {
|
|
32574
|
+
this.#fail(controller, new ResponseExceededMaxSizeError(`Decompressed response size (${decompressedSize}) exceeded maxSize (${this.#maxSize})`));
|
|
32575
|
+
return;
|
|
32576
|
+
}
|
|
32577
|
+
this.#decompressedSize = decompressedSize;
|
|
32578
|
+
if (super.onResponseData(controller, chunk) === false) break;
|
|
32579
|
+
}
|
|
32476
32580
|
});
|
|
32477
32581
|
decompressor.on("error", (error$2) => {
|
|
32478
|
-
|
|
32582
|
+
this.#fail(controller, error$2);
|
|
32479
32583
|
});
|
|
32480
32584
|
}
|
|
32481
32585
|
/**
|
|
@@ -32487,7 +32591,10 @@ var require_decompress = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnp
|
|
|
32487
32591
|
const decompressor = this.#decompressors[0];
|
|
32488
32592
|
this.#setupDecompressorEvents(decompressor, controller);
|
|
32489
32593
|
decompressor.on("end", () => {
|
|
32490
|
-
|
|
32594
|
+
if (this.#terminated) return;
|
|
32595
|
+
this.#terminated = true;
|
|
32596
|
+
this.#cleanupDecompressors();
|
|
32597
|
+
super.onResponseEnd(controller, this.#trailers);
|
|
32491
32598
|
});
|
|
32492
32599
|
}
|
|
32493
32600
|
/**
|
|
@@ -32499,11 +32606,14 @@ var require_decompress = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnp
|
|
|
32499
32606
|
const lastDecompressor = this.#decompressors[this.#decompressors.length - 1];
|
|
32500
32607
|
this.#setupDecompressorEvents(lastDecompressor, controller);
|
|
32501
32608
|
pipeline$2(this.#decompressors, (err) => {
|
|
32609
|
+
if (this.#terminated) return;
|
|
32502
32610
|
if (err) {
|
|
32503
|
-
|
|
32611
|
+
this.#fail(controller, err);
|
|
32504
32612
|
return;
|
|
32505
32613
|
}
|
|
32506
|
-
|
|
32614
|
+
this.#terminated = true;
|
|
32615
|
+
this.#cleanupDecompressors();
|
|
32616
|
+
super.onResponseEnd(controller, this.#trailers);
|
|
32507
32617
|
});
|
|
32508
32618
|
}
|
|
32509
32619
|
/**
|
|
@@ -32530,6 +32640,22 @@ var require_decompress = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnp
|
|
|
32530
32640
|
}
|
|
32531
32641
|
this.#decompressors = decompressors;
|
|
32532
32642
|
const { "content-encoding": _, "content-length": __,...newHeaders } = headers;
|
|
32643
|
+
if (controller?.rawHeaders) {
|
|
32644
|
+
const rawHeaders = controller.rawHeaders;
|
|
32645
|
+
if (Array.isArray(rawHeaders)) {
|
|
32646
|
+
const filteredHeaders = [];
|
|
32647
|
+
for (let i = 0; i < rawHeaders.length; i += 2) {
|
|
32648
|
+
const headerName = rawHeaders[i];
|
|
32649
|
+
const lowerName = (Buffer.isBuffer(headerName) ? headerName.toString("latin1") : `${headerName}`).toLowerCase();
|
|
32650
|
+
if (lowerName === "content-encoding" || lowerName === "content-length") continue;
|
|
32651
|
+
filteredHeaders.push(rawHeaders[i], rawHeaders[i + 1]);
|
|
32652
|
+
}
|
|
32653
|
+
rawHeaders.splice(0, rawHeaders.length, ...filteredHeaders);
|
|
32654
|
+
} else if (typeof rawHeaders === "object") for (const name of Object.keys(rawHeaders)) {
|
|
32655
|
+
const lowerName = name.toLowerCase();
|
|
32656
|
+
if (lowerName === "content-encoding" || lowerName === "content-length") delete rawHeaders[name];
|
|
32657
|
+
}
|
|
32658
|
+
}
|
|
32533
32659
|
if (this.#decompressors.length === 1) this.#setupSingleDecompressor(controller);
|
|
32534
32660
|
else this.#setupMultipleDecompressors(controller);
|
|
32535
32661
|
return super.onResponseStart(controller, statusCode, newHeaders, statusMessage);
|
|
@@ -32553,8 +32679,9 @@ var require_decompress = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnp
|
|
|
32553
32679
|
*/
|
|
32554
32680
|
onResponseEnd(controller, trailers) {
|
|
32555
32681
|
if (this.#decompressors.length > 0) {
|
|
32682
|
+
this.#inputEnded = true;
|
|
32683
|
+
this.#trailers = trailers;
|
|
32556
32684
|
this.#decompressors[0].end();
|
|
32557
|
-
this.#cleanupDecompressors();
|
|
32558
32685
|
return;
|
|
32559
32686
|
}
|
|
32560
32687
|
super.onResponseEnd(controller, trailers);
|
|
@@ -32565,10 +32692,10 @@ var require_decompress = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnp
|
|
|
32565
32692
|
* @returns {void}
|
|
32566
32693
|
*/
|
|
32567
32694
|
onResponseError(controller, err) {
|
|
32568
|
-
if (this.#
|
|
32569
|
-
|
|
32570
|
-
|
|
32571
|
-
|
|
32695
|
+
if (this.#terminated) return;
|
|
32696
|
+
this.#terminated = true;
|
|
32697
|
+
for (const decompressor of this.#decompressors) decompressor.destroy();
|
|
32698
|
+
this.#cleanupDecompressors();
|
|
32572
32699
|
super.onResponseError(controller, err);
|
|
32573
32700
|
}
|
|
32574
32701
|
};
|
|
@@ -32592,8 +32719,8 @@ var require_decompress = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnp
|
|
|
32592
32719
|
}) });
|
|
32593
32720
|
|
|
32594
32721
|
//#endregion
|
|
32595
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
32596
|
-
var require_deduplication_handler = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
32722
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/handler/deduplication-handler.js
|
|
32723
|
+
var require_deduplication_handler = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/handler/deduplication-handler.js": ((exports, module) => {
|
|
32597
32724
|
const { RequestAbortedError } = require_errors();
|
|
32598
32725
|
/**
|
|
32599
32726
|
* @typedef {import('../../types/dispatcher.d.ts').default.DispatchHandler} DispatchHandler
|
|
@@ -32930,8 +33057,8 @@ var require_deduplication_handler = /* @__PURE__ */ __commonJS$2({ "../../node_m
|
|
|
32930
33057
|
}) });
|
|
32931
33058
|
|
|
32932
33059
|
//#endregion
|
|
32933
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
32934
|
-
var require_deduplicate = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
33060
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/interceptor/deduplicate.js
|
|
33061
|
+
var require_deduplicate = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/interceptor/deduplicate.js": ((exports, module) => {
|
|
32935
33062
|
const diagnosticsChannel = __require$1("node:diagnostics_channel");
|
|
32936
33063
|
const util$5 = require_util$5();
|
|
32937
33064
|
const DeduplicationHandler = require_deduplication_handler();
|
|
@@ -32993,8 +33120,8 @@ var require_deduplicate = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pn
|
|
|
32993
33120
|
}) });
|
|
32994
33121
|
|
|
32995
33122
|
//#endregion
|
|
32996
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
32997
|
-
var require_sqlite_cache_store = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
33123
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/cache/sqlite-cache-store.js
|
|
33124
|
+
var require_sqlite_cache_store = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/cache/sqlite-cache-store.js": ((exports, module) => {
|
|
32998
33125
|
const { Writable: Writable$2 } = __require$1("node:stream");
|
|
32999
33126
|
const { assertCacheKey, assertCacheValue } = require_cache$2();
|
|
33000
33127
|
let DatabaseSync;
|
|
@@ -33314,8 +33441,8 @@ var require_sqlite_cache_store = /* @__PURE__ */ __commonJS$2({ "../../node_modu
|
|
|
33314
33441
|
}) });
|
|
33315
33442
|
|
|
33316
33443
|
//#endregion
|
|
33317
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
33318
|
-
var require_headers = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
33444
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/fetch/headers.js
|
|
33445
|
+
var require_headers = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/fetch/headers.js": ((exports, module) => {
|
|
33319
33446
|
const { kConstruct: kConstruct$7 } = require_symbols();
|
|
33320
33447
|
const { kEnumerableProperty: kEnumerableProperty$9 } = require_util$5();
|
|
33321
33448
|
const { iteratorMixin, isValidHeaderName: isValidHeaderName$1, isValidHeaderValue } = require_util$4();
|
|
@@ -33708,8 +33835,8 @@ var require_headers = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/u
|
|
|
33708
33835
|
}) });
|
|
33709
33836
|
|
|
33710
33837
|
//#endregion
|
|
33711
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
33712
|
-
var require_response = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
33838
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/fetch/response.js
|
|
33839
|
+
var require_response = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/fetch/response.js": ((exports, module) => {
|
|
33713
33840
|
const { Headers: Headers$4, HeadersList: HeadersList$2, fill, getHeadersGuard: getHeadersGuard$1, setHeadersGuard: setHeadersGuard$1, setHeadersList: setHeadersList$1 } = require_headers();
|
|
33714
33841
|
const { extractBody: extractBody$2, cloneBody: cloneBody$1, mixinBody: mixinBody$1, streamRegistry, bodyUnusable: bodyUnusable$1 } = require_body();
|
|
33715
33842
|
const util$3 = require_util$5();
|
|
@@ -34054,8 +34181,8 @@ var require_response = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/
|
|
|
34054
34181
|
}) });
|
|
34055
34182
|
|
|
34056
34183
|
//#endregion
|
|
34057
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
34058
|
-
var require_request = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
34184
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/fetch/request.js
|
|
34185
|
+
var require_request = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/fetch/request.js": ((exports, module) => {
|
|
34059
34186
|
const { extractBody: extractBody$1, mixinBody, cloneBody, bodyUnusable } = require_body();
|
|
34060
34187
|
const { Headers: Headers$3, fill: fillHeaders, HeadersList: HeadersList$1, setHeadersGuard, getHeadersGuard, setHeadersList, getHeadersList: getHeadersList$1 } = require_headers();
|
|
34061
34188
|
const util$2 = require_util$5();
|
|
@@ -34644,8 +34771,8 @@ var require_request = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/u
|
|
|
34644
34771
|
}) });
|
|
34645
34772
|
|
|
34646
34773
|
//#endregion
|
|
34647
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
34648
|
-
var require_subresource_integrity = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
34774
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js
|
|
34775
|
+
var require_subresource_integrity = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js": ((exports, module) => {
|
|
34649
34776
|
const assert$8 = __require$1("node:assert");
|
|
34650
34777
|
const { runtimeFeatures: runtimeFeatures$3 } = require_runtime_features();
|
|
34651
34778
|
/**
|
|
@@ -34811,8 +34938,8 @@ var require_subresource_integrity = /* @__PURE__ */ __commonJS$2({ "../../node_m
|
|
|
34811
34938
|
}) });
|
|
34812
34939
|
|
|
34813
34940
|
//#endregion
|
|
34814
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
34815
|
-
var require_fetch = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
34941
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/fetch/index.js
|
|
34942
|
+
var require_fetch = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/fetch/index.js": ((exports, module) => {
|
|
34816
34943
|
const { makeNetworkError, makeAppropriateNetworkError, filterResponse, makeResponse, fromInnerResponse: fromInnerResponse$1, getResponseState: getResponseState$1 } = require_response();
|
|
34817
34944
|
const { HeadersList } = require_headers();
|
|
34818
34945
|
const { Request: Request$2, cloneRequest, getRequestDispatcher, getRequestState: getRequestState$1 } = require_request();
|
|
@@ -35564,8 +35691,8 @@ var require_fetch = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/und
|
|
|
35564
35691
|
}) });
|
|
35565
35692
|
|
|
35566
35693
|
//#endregion
|
|
35567
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
35568
|
-
var require_util$3 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
35694
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/cache/util.js
|
|
35695
|
+
var require_util$3 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/cache/util.js": ((exports, module) => {
|
|
35569
35696
|
const assert$6 = __require$1("node:assert");
|
|
35570
35697
|
const { URLSerializer: URLSerializer$1 } = require_data_url();
|
|
35571
35698
|
const { isValidHeaderName } = require_util$4();
|
|
@@ -35599,8 +35726,8 @@ var require_util$3 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/un
|
|
|
35599
35726
|
}) });
|
|
35600
35727
|
|
|
35601
35728
|
//#endregion
|
|
35602
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
35603
|
-
var require_cache = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
35729
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/cache/cache.js
|
|
35730
|
+
var require_cache = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/cache/cache.js": ((exports, module) => {
|
|
35604
35731
|
const assert$5 = __require$1("node:assert");
|
|
35605
35732
|
const { kConstruct: kConstruct$4 } = require_symbols();
|
|
35606
35733
|
const { urlEquals, getFieldValues } = require_util$3();
|
|
@@ -36048,8 +36175,8 @@ var require_cache = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/und
|
|
|
36048
36175
|
}) });
|
|
36049
36176
|
|
|
36050
36177
|
//#endregion
|
|
36051
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
36052
|
-
var require_cachestorage = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
36178
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/cache/cachestorage.js
|
|
36179
|
+
var require_cachestorage = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/cache/cachestorage.js": ((exports, module) => {
|
|
36053
36180
|
const { Cache } = require_cache();
|
|
36054
36181
|
const { webidl: webidl$6 } = require_webidl();
|
|
36055
36182
|
const { kEnumerableProperty: kEnumerableProperty$5 } = require_util$5();
|
|
@@ -36139,8 +36266,8 @@ var require_cachestorage = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.p
|
|
|
36139
36266
|
}) });
|
|
36140
36267
|
|
|
36141
36268
|
//#endregion
|
|
36142
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
36143
|
-
var require_constants$3 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
36269
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/cookies/constants.js
|
|
36270
|
+
var require_constants$3 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/cookies/constants.js": ((exports, module) => {
|
|
36144
36271
|
const maxAttributeValueSize$1 = 1024;
|
|
36145
36272
|
const maxNameValuePairSize$1 = 4096;
|
|
36146
36273
|
module.exports = {
|
|
@@ -36150,8 +36277,8 @@ var require_constants$3 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pn
|
|
|
36150
36277
|
}) });
|
|
36151
36278
|
|
|
36152
36279
|
//#endregion
|
|
36153
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
36154
|
-
var require_util$2 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
36280
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/cookies/util.js
|
|
36281
|
+
var require_util$2 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/cookies/util.js": ((exports, module) => {
|
|
36155
36282
|
/**
|
|
36156
36283
|
* @param {string} value
|
|
36157
36284
|
* @returns {boolean}
|
|
@@ -36387,8 +36514,8 @@ var require_util$2 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/un
|
|
|
36387
36514
|
}) });
|
|
36388
36515
|
|
|
36389
36516
|
//#endregion
|
|
36390
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
36391
|
-
var require_parse = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
36517
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/cookies/parse.js
|
|
36518
|
+
var require_parse = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/cookies/parse.js": ((exports, module) => {
|
|
36392
36519
|
const { collectASequenceOfCodePointsFast: collectASequenceOfCodePointsFast$1 } = require_infra();
|
|
36393
36520
|
const { maxNameValuePairSize, maxAttributeValueSize } = require_constants$3();
|
|
36394
36521
|
const { isCTLExcludingHtab } = require_util$2();
|
|
@@ -36490,8 +36617,8 @@ var require_parse = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/und
|
|
|
36490
36617
|
}) });
|
|
36491
36618
|
|
|
36492
36619
|
//#endregion
|
|
36493
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
36494
|
-
var require_cookies = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
36620
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/cookies/index.js
|
|
36621
|
+
var require_cookies = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/cookies/index.js": ((exports, module) => {
|
|
36495
36622
|
const { parseSetCookie } = require_parse();
|
|
36496
36623
|
const { stringify: stringify$3 } = require_util$2();
|
|
36497
36624
|
const { webidl: webidl$5 } = require_webidl();
|
|
@@ -36653,8 +36780,8 @@ var require_cookies = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/u
|
|
|
36653
36780
|
}) });
|
|
36654
36781
|
|
|
36655
36782
|
//#endregion
|
|
36656
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
36657
|
-
var require_events = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
36783
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/websocket/events.js
|
|
36784
|
+
var require_events = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/websocket/events.js": ((exports, module) => {
|
|
36658
36785
|
const { webidl: webidl$4 } = require_webidl();
|
|
36659
36786
|
const { kEnumerableProperty: kEnumerableProperty$4 } = require_util$5();
|
|
36660
36787
|
const { kConstruct: kConstruct$2 } = require_symbols();
|
|
@@ -36916,8 +37043,8 @@ var require_events = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/un
|
|
|
36916
37043
|
}) });
|
|
36917
37044
|
|
|
36918
37045
|
//#endregion
|
|
36919
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
36920
|
-
var require_constants$2 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
37046
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/websocket/constants.js
|
|
37047
|
+
var require_constants$2 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/websocket/constants.js": ((exports, module) => {
|
|
36921
37048
|
/**
|
|
36922
37049
|
* This is a Globally Unique Identifier unique used to validate that the
|
|
36923
37050
|
* endpoint accepts websocket connections.
|
|
@@ -37036,8 +37163,8 @@ var require_constants$2 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pn
|
|
|
37036
37163
|
}) });
|
|
37037
37164
|
|
|
37038
37165
|
//#endregion
|
|
37039
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
37040
|
-
var require_util$1 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
37166
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/websocket/util.js
|
|
37167
|
+
var require_util$1 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/websocket/util.js": ((exports, module) => {
|
|
37041
37168
|
const { states: states$4, opcodes: opcodes$6 } = require_constants$2();
|
|
37042
37169
|
const { isUtf8: isUtf8$1 } = __require$1("node:buffer");
|
|
37043
37170
|
const { removeHTTPWhitespace } = require_data_url();
|
|
@@ -37248,8 +37375,8 @@ var require_util$1 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/un
|
|
|
37248
37375
|
}) });
|
|
37249
37376
|
|
|
37250
37377
|
//#endregion
|
|
37251
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
37252
|
-
var require_frame = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
37378
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/websocket/frame.js
|
|
37379
|
+
var require_frame = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/websocket/frame.js": ((exports, module) => {
|
|
37253
37380
|
const { runtimeFeatures: runtimeFeatures$1 } = require_runtime_features();
|
|
37254
37381
|
const { maxUnsigned16Bit, opcodes: opcodes$5 } = require_constants$2();
|
|
37255
37382
|
const BUFFER_SIZE = 8 * 1024;
|
|
@@ -37349,8 +37476,8 @@ var require_frame = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/und
|
|
|
37349
37476
|
}) });
|
|
37350
37477
|
|
|
37351
37478
|
//#endregion
|
|
37352
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
37353
|
-
var require_connection = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
37479
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/websocket/connection.js
|
|
37480
|
+
var require_connection = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/websocket/connection.js": ((exports, module) => {
|
|
37354
37481
|
const { uid, states: states$3, sentCloseFrameState: sentCloseFrameState$3, emptyBuffer: emptyBuffer$1, opcodes: opcodes$4 } = require_constants$2();
|
|
37355
37482
|
const { parseExtensions, isClosed: isClosed$1, isClosing: isClosing$1, isEstablished: isEstablished$2, isConnecting: isConnecting$1, validateCloseCodeAndReason: validateCloseCodeAndReason$1 } = require_util$1();
|
|
37356
37483
|
const { makeRequest: makeRequest$1 } = require_request();
|
|
@@ -37435,7 +37562,8 @@ var require_connection = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnp
|
|
|
37435
37562
|
}
|
|
37436
37563
|
const secProtocol = response.headersList.get("Sec-WebSocket-Protocol");
|
|
37437
37564
|
if (secProtocol !== null) {
|
|
37438
|
-
|
|
37565
|
+
const requestProtocols = getDecodeSplit("sec-websocket-protocol", request$1.headersList);
|
|
37566
|
+
if (requestProtocols === null || !requestProtocols.includes(secProtocol)) {
|
|
37439
37567
|
failWebsocketConnection$3(handler, 1002, "Protocol was not set in the opening handshake.");
|
|
37440
37568
|
return;
|
|
37441
37569
|
}
|
|
@@ -37500,8 +37628,8 @@ var require_connection = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnp
|
|
|
37500
37628
|
}) });
|
|
37501
37629
|
|
|
37502
37630
|
//#endregion
|
|
37503
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
37504
|
-
var require_permessage_deflate$1 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
37631
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/websocket/permessage-deflate.js
|
|
37632
|
+
var require_permessage_deflate$1 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/websocket/permessage-deflate.js": ((exports, module) => {
|
|
37505
37633
|
const { createInflateRaw, Z_DEFAULT_WINDOWBITS } = __require$1("node:zlib");
|
|
37506
37634
|
const { isValidClientWindowBits } = require_util$1();
|
|
37507
37635
|
const { MessageSizeExceededError: MessageSizeExceededError$1 } = require_errors();
|
|
@@ -37555,6 +37683,7 @@ var require_permessage_deflate$1 = /* @__PURE__ */ __commonJS$2({ "../../node_mo
|
|
|
37555
37683
|
if (this.#maxPayloadSize > 0 && this.#inflate[kLength] > this.#maxPayloadSize) {
|
|
37556
37684
|
callback(new MessageSizeExceededError$1());
|
|
37557
37685
|
this.#inflate.removeAllListeners();
|
|
37686
|
+
this.#inflate.destroy();
|
|
37558
37687
|
this.#inflate = null;
|
|
37559
37688
|
return;
|
|
37560
37689
|
}
|
|
@@ -37580,8 +37709,8 @@ var require_permessage_deflate$1 = /* @__PURE__ */ __commonJS$2({ "../../node_mo
|
|
|
37580
37709
|
}) });
|
|
37581
37710
|
|
|
37582
37711
|
//#endregion
|
|
37583
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
37584
|
-
var require_receiver$1 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
37712
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/websocket/receiver.js
|
|
37713
|
+
var require_receiver$1 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/websocket/receiver.js": ((exports, module) => {
|
|
37585
37714
|
const { Writable: Writable$1 } = __require$1("node:stream");
|
|
37586
37715
|
const assert$2 = __require$1("node:assert");
|
|
37587
37716
|
const { parserStates, opcodes: opcodes$3, states: states$2, emptyBuffer, sentCloseFrameState: sentCloseFrameState$2 } = require_constants$2();
|
|
@@ -37895,8 +38024,8 @@ var require_receiver$1 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnp
|
|
|
37895
38024
|
}) });
|
|
37896
38025
|
|
|
37897
38026
|
//#endregion
|
|
37898
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
37899
|
-
var require_sender$1 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
38027
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/websocket/sender.js
|
|
38028
|
+
var require_sender$1 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/websocket/sender.js": ((exports, module) => {
|
|
37900
38029
|
const { WebsocketFrameSend: WebsocketFrameSend$2 } = require_frame();
|
|
37901
38030
|
const { opcodes: opcodes$2, sendHints: sendHints$1 } = require_constants$2();
|
|
37902
38031
|
const FixedQueue = require_fixed_queue();
|
|
@@ -37979,8 +38108,8 @@ var require_sender$1 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/
|
|
|
37979
38108
|
}) });
|
|
37980
38109
|
|
|
37981
38110
|
//#endregion
|
|
37982
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
37983
|
-
var require_websocket$1 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
38111
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/websocket/websocket.js
|
|
38112
|
+
var require_websocket$1 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/websocket/websocket.js": ((exports, module) => {
|
|
37984
38113
|
const { isArrayBuffer } = __require$1("node:util/types");
|
|
37985
38114
|
const { webidl: webidl$3 } = require_webidl();
|
|
37986
38115
|
const { URLSerializer } = require_data_url();
|
|
@@ -38394,8 +38523,8 @@ var require_websocket$1 = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pn
|
|
|
38394
38523
|
}) });
|
|
38395
38524
|
|
|
38396
38525
|
//#endregion
|
|
38397
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
38398
|
-
var require_websocketerror = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
38526
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/websocket/stream/websocketerror.js
|
|
38527
|
+
var require_websocketerror = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/websocket/stream/websocketerror.js": ((exports, module) => {
|
|
38399
38528
|
const { webidl: webidl$2 } = require_webidl();
|
|
38400
38529
|
const { validateCloseCodeAndReason } = require_util$1();
|
|
38401
38530
|
const { kConstruct: kConstruct$1 } = require_symbols();
|
|
@@ -38466,8 +38595,8 @@ var require_websocketerror = /* @__PURE__ */ __commonJS$2({ "../../node_modules/
|
|
|
38466
38595
|
}) });
|
|
38467
38596
|
|
|
38468
38597
|
//#endregion
|
|
38469
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
38470
|
-
var require_websocketstream = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
38598
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/websocket/stream/websocketstream.js
|
|
38599
|
+
var require_websocketstream = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/websocket/stream/websocketstream.js": ((exports, module) => {
|
|
38471
38600
|
const { createDeferredPromise } = require_promise();
|
|
38472
38601
|
const { environmentSettingsObject: environmentSettingsObject$1 } = require_util$4();
|
|
38473
38602
|
const { states, opcodes, sentCloseFrameState } = require_constants$2();
|
|
@@ -38492,8 +38621,8 @@ var require_websocketstream = /* @__PURE__ */ __commonJS$2({ "../../node_modules
|
|
|
38492
38621
|
#readableStream;
|
|
38493
38622
|
/** @type {ReadableStreamDefaultController} */
|
|
38494
38623
|
#readableStreamController;
|
|
38495
|
-
/** @type {
|
|
38496
|
-
#
|
|
38624
|
+
/** @type {WritableStreamDefaultController} */
|
|
38625
|
+
#writableStreamController;
|
|
38497
38626
|
#handshakeAborted = false;
|
|
38498
38627
|
/** @type {import('../websocket').Handler} */
|
|
38499
38628
|
#handler = {
|
|
@@ -38620,12 +38749,14 @@ var require_websocketstream = /* @__PURE__ */ __commonJS$2({ "../../node_modules
|
|
|
38620
38749
|
cancel: (reason) => this.#cancel(reason)
|
|
38621
38750
|
});
|
|
38622
38751
|
const writable = new WritableStream({
|
|
38752
|
+
start: (controller) => {
|
|
38753
|
+
this.#writableStreamController = controller;
|
|
38754
|
+
},
|
|
38623
38755
|
write: (chunk) => this.#write(chunk),
|
|
38624
38756
|
close: () => closeWebSocketConnection(this.#handler, null, null),
|
|
38625
38757
|
abort: (reason) => this.#closeUsingReason(reason)
|
|
38626
38758
|
});
|
|
38627
38759
|
this.#readableStream = readable;
|
|
38628
|
-
this.#writableStream = writable;
|
|
38629
38760
|
this.#openedPromise.resolve({
|
|
38630
38761
|
extensions,
|
|
38631
38762
|
protocol,
|
|
@@ -38658,7 +38789,7 @@ var require_websocketstream = /* @__PURE__ */ __commonJS$2({ "../../node_modules
|
|
|
38658
38789
|
const reason = result?.reason == null ? "" : utf8DecodeBytes(Buffer.from(result.reason));
|
|
38659
38790
|
if (wasClean) {
|
|
38660
38791
|
this.#readableStreamController.close();
|
|
38661
|
-
|
|
38792
|
+
this.#writableStreamController.error(new DOMException("A closed WebSocketStream cannot be written to", "InvalidStateError"));
|
|
38662
38793
|
this.#closedPromise.resolve({
|
|
38663
38794
|
closeCode: code,
|
|
38664
38795
|
reason
|
|
@@ -38666,7 +38797,7 @@ var require_websocketstream = /* @__PURE__ */ __commonJS$2({ "../../node_modules
|
|
|
38666
38797
|
} else {
|
|
38667
38798
|
const error$2 = createUnvalidatedWebSocketError("unclean close", code, reason);
|
|
38668
38799
|
this.#readableStreamController?.error(error$2);
|
|
38669
|
-
this.#
|
|
38800
|
+
this.#writableStreamController?.error(error$2);
|
|
38670
38801
|
this.#closedPromise.reject(error$2);
|
|
38671
38802
|
}
|
|
38672
38803
|
}
|
|
@@ -38720,8 +38851,8 @@ var require_websocketstream = /* @__PURE__ */ __commonJS$2({ "../../node_modules
|
|
|
38720
38851
|
}) });
|
|
38721
38852
|
|
|
38722
38853
|
//#endregion
|
|
38723
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
38724
|
-
var require_util = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
38854
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/eventsource/util.js
|
|
38855
|
+
var require_util = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/eventsource/util.js": ((exports, module) => {
|
|
38725
38856
|
/**
|
|
38726
38857
|
* Checks if the given value is a valid LastEventId.
|
|
38727
38858
|
* @param {string} value
|
|
@@ -38747,8 +38878,8 @@ var require_util = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undi
|
|
|
38747
38878
|
}) });
|
|
38748
38879
|
|
|
38749
38880
|
//#endregion
|
|
38750
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
38751
|
-
var require_eventsource_stream = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
38881
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/eventsource/eventsource-stream.js
|
|
38882
|
+
var require_eventsource_stream = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/eventsource/eventsource-stream.js": ((exports, module) => {
|
|
38752
38883
|
const { Transform } = __require$1("node:stream");
|
|
38753
38884
|
const { isASCIINumber, isValidLastEventId } = require_util();
|
|
38754
38885
|
/**
|
|
@@ -38775,6 +38906,24 @@ var require_eventsource_stream = /* @__PURE__ */ __commonJS$2({ "../../node_modu
|
|
|
38775
38906
|
* @type {32} SPACE
|
|
38776
38907
|
*/
|
|
38777
38908
|
const SPACE = 32;
|
|
38909
|
+
const DATA = Buffer.from("data");
|
|
38910
|
+
const EVENT = Buffer.from("event");
|
|
38911
|
+
const ID = Buffer.from("id");
|
|
38912
|
+
const RETRY = Buffer.from("retry");
|
|
38913
|
+
function isASCIINumberBytes(buffer$1, start) {
|
|
38914
|
+
if (start >= buffer$1.length) return false;
|
|
38915
|
+
for (let i = start; i < buffer$1.length; i++) if (buffer$1[i] < 48 || buffer$1[i] > 57) return false;
|
|
38916
|
+
return true;
|
|
38917
|
+
}
|
|
38918
|
+
function isValidLastEventIdBytes(buffer$1, start) {
|
|
38919
|
+
for (let i = start; i < buffer$1.length; i++) if (buffer$1[i] === 0) return false;
|
|
38920
|
+
return true;
|
|
38921
|
+
}
|
|
38922
|
+
function isFieldName(line, length, field) {
|
|
38923
|
+
if (length !== field.length) return false;
|
|
38924
|
+
for (let i = 0; i < length; i++) if (line[i] !== field[i]) return false;
|
|
38925
|
+
return true;
|
|
38926
|
+
}
|
|
38778
38927
|
/**
|
|
38779
38928
|
* @typedef {object} EventSourceStreamEvent
|
|
38780
38929
|
* @type {object}
|
|
@@ -38809,10 +38958,13 @@ var require_eventsource_stream = /* @__PURE__ */ __commonJS$2({ "../../node_modu
|
|
|
38809
38958
|
*/
|
|
38810
38959
|
eventEndCheck = false;
|
|
38811
38960
|
/**
|
|
38812
|
-
* @type {Buffer
|
|
38961
|
+
* @type {Buffer[]}
|
|
38813
38962
|
*/
|
|
38814
|
-
|
|
38963
|
+
chunks = [];
|
|
38964
|
+
chunkIndex = 0;
|
|
38815
38965
|
pos = 0;
|
|
38966
|
+
lineChunkIndex = 0;
|
|
38967
|
+
linePos = 0;
|
|
38816
38968
|
event = {
|
|
38817
38969
|
data: void 0,
|
|
38818
38970
|
event: void 0,
|
|
@@ -38842,69 +38994,42 @@ var require_eventsource_stream = /* @__PURE__ */ __commonJS$2({ "../../node_modu
|
|
|
38842
38994
|
callback();
|
|
38843
38995
|
return;
|
|
38844
38996
|
}
|
|
38845
|
-
|
|
38846
|
-
|
|
38847
|
-
|
|
38848
|
-
case 1:
|
|
38849
|
-
if (this.buffer[0] === BOM[0]) {
|
|
38850
|
-
callback();
|
|
38851
|
-
return;
|
|
38852
|
-
}
|
|
38853
|
-
this.checkBOM = false;
|
|
38997
|
+
this.chunks.push(chunk);
|
|
38998
|
+
if (this.checkBOM) {
|
|
38999
|
+
if (this.handleBOM()) {
|
|
38854
39000
|
callback();
|
|
38855
39001
|
return;
|
|
38856
|
-
|
|
38857
|
-
if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1]) {
|
|
38858
|
-
callback();
|
|
38859
|
-
return;
|
|
38860
|
-
}
|
|
38861
|
-
this.checkBOM = false;
|
|
38862
|
-
break;
|
|
38863
|
-
case 3:
|
|
38864
|
-
if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1] && this.buffer[2] === BOM[2]) {
|
|
38865
|
-
this.buffer = Buffer.alloc(0);
|
|
38866
|
-
this.checkBOM = false;
|
|
38867
|
-
callback();
|
|
38868
|
-
return;
|
|
38869
|
-
}
|
|
38870
|
-
this.checkBOM = false;
|
|
38871
|
-
break;
|
|
38872
|
-
default:
|
|
38873
|
-
if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1] && this.buffer[2] === BOM[2]) this.buffer = this.buffer.subarray(3);
|
|
38874
|
-
this.checkBOM = false;
|
|
38875
|
-
break;
|
|
39002
|
+
}
|
|
38876
39003
|
}
|
|
38877
|
-
while (this.
|
|
39004
|
+
while (this.hasCurrentByte()) {
|
|
39005
|
+
const byte = this.currentByte();
|
|
38878
39006
|
if (this.eventEndCheck) {
|
|
38879
39007
|
if (this.crlfCheck) {
|
|
38880
|
-
if (
|
|
38881
|
-
this.buffer = this.buffer.subarray(this.pos + 1);
|
|
38882
|
-
this.pos = 0;
|
|
39008
|
+
if (byte === LF) {
|
|
38883
39009
|
this.crlfCheck = false;
|
|
39010
|
+
this.consumeCurrentByte();
|
|
38884
39011
|
continue;
|
|
38885
39012
|
}
|
|
38886
39013
|
this.crlfCheck = false;
|
|
38887
39014
|
}
|
|
38888
|
-
if (
|
|
38889
|
-
if (
|
|
38890
|
-
this.
|
|
38891
|
-
this.
|
|
38892
|
-
if (this.event.data !== void 0 || this.event.event || this.event.id !== void 0 || this.event.retry) this.processEvent(this.event);
|
|
39015
|
+
if (byte === LF || byte === CR) {
|
|
39016
|
+
if (byte === CR) this.crlfCheck = true;
|
|
39017
|
+
this.consumeCurrentByte();
|
|
39018
|
+
if (this.hasPendingEvent()) this.processEvent(this.event);
|
|
38893
39019
|
this.clearEvent();
|
|
38894
39020
|
continue;
|
|
38895
39021
|
}
|
|
38896
39022
|
this.eventEndCheck = false;
|
|
38897
39023
|
continue;
|
|
38898
39024
|
}
|
|
38899
|
-
if (
|
|
38900
|
-
if (
|
|
38901
|
-
this.parseLine(this.
|
|
38902
|
-
this.
|
|
38903
|
-
this.pos = 0;
|
|
39025
|
+
if (byte === LF || byte === CR) {
|
|
39026
|
+
if (byte === CR) this.crlfCheck = true;
|
|
39027
|
+
this.parseLine(this.readLine(), this.event);
|
|
39028
|
+
this.consumeCurrentByte();
|
|
38904
39029
|
this.eventEndCheck = true;
|
|
38905
39030
|
continue;
|
|
38906
39031
|
}
|
|
38907
|
-
this.
|
|
39032
|
+
this.advanceCursor();
|
|
38908
39033
|
}
|
|
38909
39034
|
callback();
|
|
38910
39035
|
}
|
|
@@ -38916,31 +39041,30 @@ var require_eventsource_stream = /* @__PURE__ */ __commonJS$2({ "../../node_modu
|
|
|
38916
39041
|
if (line.length === 0) return;
|
|
38917
39042
|
const colonPosition = line.indexOf(COLON);
|
|
38918
39043
|
if (colonPosition === 0) return;
|
|
38919
|
-
let
|
|
38920
|
-
let
|
|
39044
|
+
let fieldLength = line.length;
|
|
39045
|
+
let valueStart = line.length;
|
|
38921
39046
|
if (colonPosition !== -1) {
|
|
38922
|
-
|
|
38923
|
-
|
|
39047
|
+
fieldLength = colonPosition;
|
|
39048
|
+
valueStart = colonPosition + 1;
|
|
38924
39049
|
if (line[valueStart] === SPACE) ++valueStart;
|
|
38925
|
-
value = line.subarray(valueStart).toString("utf8");
|
|
38926
|
-
} else {
|
|
38927
|
-
field = line.toString("utf8");
|
|
38928
|
-
value = "";
|
|
38929
39050
|
}
|
|
38930
|
-
|
|
38931
|
-
|
|
38932
|
-
|
|
38933
|
-
|
|
38934
|
-
|
|
38935
|
-
|
|
38936
|
-
|
|
38937
|
-
|
|
38938
|
-
|
|
38939
|
-
|
|
38940
|
-
|
|
38941
|
-
|
|
38942
|
-
|
|
38943
|
-
|
|
39051
|
+
if (isFieldName(line, fieldLength, DATA)) {
|
|
39052
|
+
const value = line.toString("utf8", valueStart);
|
|
39053
|
+
if (event.data === void 0) event.data = value;
|
|
39054
|
+
else event.data += `\n${value}`;
|
|
39055
|
+
return;
|
|
39056
|
+
}
|
|
39057
|
+
if (isFieldName(line, fieldLength, RETRY)) {
|
|
39058
|
+
if (isASCIINumberBytes(line, valueStart)) event.retry = line.toString("utf8", valueStart);
|
|
39059
|
+
return;
|
|
39060
|
+
}
|
|
39061
|
+
if (isFieldName(line, fieldLength, ID)) {
|
|
39062
|
+
if (isValidLastEventIdBytes(line, valueStart)) event.id = line.toString("utf8", valueStart);
|
|
39063
|
+
return;
|
|
39064
|
+
}
|
|
39065
|
+
if (isFieldName(line, fieldLength, EVENT)) {
|
|
39066
|
+
const value = line.toString("utf8", valueStart);
|
|
39067
|
+
if (value.length > 0) event.event = value;
|
|
38944
39068
|
}
|
|
38945
39069
|
}
|
|
38946
39070
|
/**
|
|
@@ -38959,20 +39083,117 @@ var require_eventsource_stream = /* @__PURE__ */ __commonJS$2({ "../../node_modu
|
|
|
38959
39083
|
});
|
|
38960
39084
|
}
|
|
38961
39085
|
clearEvent() {
|
|
38962
|
-
this.event =
|
|
38963
|
-
|
|
38964
|
-
|
|
38965
|
-
|
|
38966
|
-
|
|
38967
|
-
|
|
39086
|
+
this.event.data = void 0;
|
|
39087
|
+
this.event.event = void 0;
|
|
39088
|
+
this.event.id = void 0;
|
|
39089
|
+
this.event.retry = void 0;
|
|
39090
|
+
}
|
|
39091
|
+
hasPendingEvent() {
|
|
39092
|
+
return this.event.data !== void 0 || this.event.event !== void 0 || this.event.id !== void 0 || this.event.retry !== void 0;
|
|
39093
|
+
}
|
|
39094
|
+
hasCurrentByte() {
|
|
39095
|
+
return this.chunkIndex < this.chunks.length && this.pos < this.chunks[this.chunkIndex].length;
|
|
39096
|
+
}
|
|
39097
|
+
currentByte() {
|
|
39098
|
+
return this.chunks[this.chunkIndex][this.pos];
|
|
39099
|
+
}
|
|
39100
|
+
consumeCurrentByte() {
|
|
39101
|
+
this.advanceCursor();
|
|
39102
|
+
this.syncLineStartToCursor();
|
|
39103
|
+
}
|
|
39104
|
+
advanceCursor() {
|
|
39105
|
+
this.pos++;
|
|
39106
|
+
while (this.chunkIndex < this.chunks.length && this.pos >= this.chunks[this.chunkIndex].length) {
|
|
39107
|
+
this.chunkIndex++;
|
|
39108
|
+
this.pos = 0;
|
|
39109
|
+
}
|
|
39110
|
+
}
|
|
39111
|
+
syncLineStartToCursor() {
|
|
39112
|
+
this.lineChunkIndex = this.chunkIndex;
|
|
39113
|
+
this.linePos = this.pos;
|
|
39114
|
+
this.dropConsumedChunks();
|
|
39115
|
+
}
|
|
39116
|
+
dropConsumedChunks() {
|
|
39117
|
+
while (this.lineChunkIndex > 0) {
|
|
39118
|
+
this.chunks.shift();
|
|
39119
|
+
this.lineChunkIndex--;
|
|
39120
|
+
this.chunkIndex--;
|
|
39121
|
+
}
|
|
39122
|
+
if (this.chunkIndex === this.chunks.length) {
|
|
39123
|
+
this.chunks.length = 0;
|
|
39124
|
+
this.chunkIndex = 0;
|
|
39125
|
+
this.pos = 0;
|
|
39126
|
+
this.lineChunkIndex = 0;
|
|
39127
|
+
this.linePos = 0;
|
|
39128
|
+
}
|
|
39129
|
+
}
|
|
39130
|
+
readLine() {
|
|
39131
|
+
if (this.lineChunkIndex === this.chunkIndex) return this.chunks[this.chunkIndex].subarray(this.linePos, this.pos);
|
|
39132
|
+
const chunks = [];
|
|
39133
|
+
let length = 0;
|
|
39134
|
+
for (let i = this.lineChunkIndex; i <= this.chunkIndex; i++) {
|
|
39135
|
+
const chunk = this.chunks[i];
|
|
39136
|
+
const start = i === this.lineChunkIndex ? this.linePos : 0;
|
|
39137
|
+
const end = i === this.chunkIndex ? this.pos : chunk.length;
|
|
39138
|
+
const slice = chunk.subarray(start, end);
|
|
39139
|
+
length += slice.length;
|
|
39140
|
+
chunks.push(slice);
|
|
39141
|
+
}
|
|
39142
|
+
return Buffer.concat(chunks, length);
|
|
39143
|
+
}
|
|
39144
|
+
peekBufferedByte(offset) {
|
|
39145
|
+
let chunkIndex = this.lineChunkIndex;
|
|
39146
|
+
let pos = this.linePos;
|
|
39147
|
+
while (chunkIndex < this.chunks.length) {
|
|
39148
|
+
const chunk = this.chunks[chunkIndex];
|
|
39149
|
+
const remaining = chunk.length - pos;
|
|
39150
|
+
if (offset < remaining) return chunk[pos + offset];
|
|
39151
|
+
offset -= remaining;
|
|
39152
|
+
chunkIndex++;
|
|
39153
|
+
pos = 0;
|
|
39154
|
+
}
|
|
39155
|
+
}
|
|
39156
|
+
discardLeadingBytes(count) {
|
|
39157
|
+
while (count > 0 && this.lineChunkIndex < this.chunks.length) {
|
|
39158
|
+
const remaining = this.chunks[this.lineChunkIndex].length - this.linePos;
|
|
39159
|
+
if (count < remaining) {
|
|
39160
|
+
this.linePos += count;
|
|
39161
|
+
count = 0;
|
|
39162
|
+
} else {
|
|
39163
|
+
count -= remaining;
|
|
39164
|
+
this.lineChunkIndex++;
|
|
39165
|
+
this.linePos = 0;
|
|
39166
|
+
}
|
|
39167
|
+
}
|
|
39168
|
+
this.chunkIndex = this.lineChunkIndex;
|
|
39169
|
+
this.pos = this.linePos;
|
|
39170
|
+
this.dropConsumedChunks();
|
|
39171
|
+
}
|
|
39172
|
+
handleBOM() {
|
|
39173
|
+
const first = this.peekBufferedByte(0);
|
|
39174
|
+
const second = this.peekBufferedByte(1);
|
|
39175
|
+
const third = this.peekBufferedByte(2);
|
|
39176
|
+
if (second === void 0) {
|
|
39177
|
+
if (first === BOM[0]) return true;
|
|
39178
|
+
this.checkBOM = false;
|
|
39179
|
+
return true;
|
|
39180
|
+
}
|
|
39181
|
+
if (third === void 0) {
|
|
39182
|
+
if (first === BOM[0] && second === BOM[1]) return true;
|
|
39183
|
+
this.checkBOM = false;
|
|
39184
|
+
return false;
|
|
39185
|
+
}
|
|
39186
|
+
if (first === BOM[0] && second === BOM[1] && third === BOM[2]) this.discardLeadingBytes(3);
|
|
39187
|
+
this.checkBOM = false;
|
|
39188
|
+
return !this.hasCurrentByte();
|
|
38968
39189
|
}
|
|
38969
39190
|
};
|
|
38970
39191
|
module.exports = { EventSourceStream: EventSourceStream$1 };
|
|
38971
39192
|
}) });
|
|
38972
39193
|
|
|
38973
39194
|
//#endregion
|
|
38974
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
38975
|
-
var require_eventsource = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
39195
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/eventsource/eventsource.js
|
|
39196
|
+
var require_eventsource = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/lib/web/eventsource/eventsource.js": ((exports, module) => {
|
|
38976
39197
|
const { pipeline } = __require$1("node:stream");
|
|
38977
39198
|
const { fetching } = require_fetch();
|
|
38978
39199
|
const { makeRequest } = require_request();
|
|
@@ -39303,8 +39524,8 @@ var require_eventsource = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pn
|
|
|
39303
39524
|
}) });
|
|
39304
39525
|
|
|
39305
39526
|
//#endregion
|
|
39306
|
-
//#region ../../node_modules/.pnpm/undici@7.29.
|
|
39307
|
-
var require_undici = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.
|
|
39527
|
+
//#region ../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/index.js
|
|
39528
|
+
var require_undici = /* @__PURE__ */ __commonJS$2({ "../../node_modules/.pnpm/undici@7.29.1/node_modules/undici/index.js": ((exports, module) => {
|
|
39308
39529
|
const Client = require_client();
|
|
39309
39530
|
const Dispatcher = require_dispatcher();
|
|
39310
39531
|
const Pool = require_pool();
|
|
@@ -52715,7 +52936,7 @@ var __name$2 = (target, value) => __defProp$2(target, "name", {
|
|
|
52715
52936
|
});
|
|
52716
52937
|
|
|
52717
52938
|
//#endregion
|
|
52718
|
-
//#region ../workers-auth/dist/chunk-
|
|
52939
|
+
//#region ../workers-auth/dist/chunk-FT2NMTJB.mjs
|
|
52719
52940
|
var import_undici$2 = require_undici();
|
|
52720
52941
|
createRequire(import.meta.url || (typeof __filename === "string" ? __filename : "/"));
|
|
52721
52942
|
var hasWarnedAboutDeprecatedV1ApiToken = false;
|
|
@@ -52828,16 +53049,23 @@ var getCfAuthorizationTokenFromEnv = getEnvironmentVariableFactory({ variableNam
|
|
|
52828
53049
|
var getCloudflareAuthUseKeyringFromEnv = getBooleanEnvironmentVariableFactory({ variableName: "CLOUDFLARE_AUTH_USE_KEYRING" });
|
|
52829
53050
|
var headersCache = {};
|
|
52830
53051
|
var usesAccessCache = /* @__PURE__ */ new Map();
|
|
53052
|
+
function buildProbeUrl(domain$1, previewToken) {
|
|
53053
|
+
const url2 = new URL(`https://${domain$1}`);
|
|
53054
|
+
if (previewToken) url2.searchParams.set("cf_workers_preview_token", previewToken);
|
|
53055
|
+
return url2.toString();
|
|
53056
|
+
}
|
|
53057
|
+
__name$2(buildProbeUrl, "buildProbeUrl");
|
|
52831
53058
|
function clearAccessCaches() {
|
|
52832
53059
|
for (const key of Object.keys(headersCache)) delete headersCache[key];
|
|
52833
53060
|
usesAccessCache.clear();
|
|
52834
53061
|
}
|
|
52835
53062
|
__name$2(clearAccessCaches, "clearAccessCaches");
|
|
52836
|
-
async function domainUsesAccess(domain$1, logger$1) {
|
|
53063
|
+
async function domainUsesAccess(domain$1, logger$1, previewToken) {
|
|
52837
53064
|
logger$1.debug("Checking if domain has Access enabled:", domain$1);
|
|
52838
|
-
|
|
52839
|
-
|
|
52840
|
-
|
|
53065
|
+
const cacheKey = JSON.stringify([domain$1, Boolean(previewToken)]);
|
|
53066
|
+
if (usesAccessCache.has(cacheKey)) {
|
|
53067
|
+
logger$1.debug("Using cached Access switch for:", domain$1, usesAccessCache.get(cacheKey));
|
|
53068
|
+
return usesAccessCache.get(cacheKey) ?? false;
|
|
52841
53069
|
}
|
|
52842
53070
|
logger$1.debug("Access switch not cached for:", domain$1);
|
|
52843
53071
|
try {
|
|
@@ -52845,17 +53073,19 @@ async function domainUsesAccess(domain$1, logger$1) {
|
|
|
52845
53073
|
const cancel$1 = setTimeout(() => {
|
|
52846
53074
|
controller.abort();
|
|
52847
53075
|
}, 1e3);
|
|
52848
|
-
const output = await (0, import_undici$2.fetch)(
|
|
53076
|
+
const output = await (0, import_undici$2.fetch)(buildProbeUrl(domain$1, previewToken), {
|
|
52849
53077
|
redirect: "manual",
|
|
52850
53078
|
signal: controller.signal
|
|
52851
53079
|
});
|
|
52852
53080
|
clearTimeout(cancel$1);
|
|
52853
53081
|
const usesAccess = !!(output.status === 302 && output.headers.get("location")?.includes("cloudflareaccess.com"));
|
|
52854
|
-
|
|
52855
|
-
|
|
53082
|
+
if (usesAccess || !previewToken) {
|
|
53083
|
+
logger$1.debug("Caching access switch for:", domain$1);
|
|
53084
|
+
usesAccessCache.set(cacheKey, usesAccess);
|
|
53085
|
+
}
|
|
52856
53086
|
return usesAccess;
|
|
52857
53087
|
} catch {
|
|
52858
|
-
|
|
53088
|
+
logger$1.debug("Access probe failed for:", domain$1);
|
|
52859
53089
|
return false;
|
|
52860
53090
|
}
|
|
52861
53091
|
}
|
|
@@ -52872,7 +53102,7 @@ async function getAccessHeaders(domain$1, options) {
|
|
|
52872
53102
|
};
|
|
52873
53103
|
}
|
|
52874
53104
|
if (clientId !== void 0 || clientSecret !== void 0) logger$1.warn(`Both CLOUDFLARE_ACCESS_CLIENT_ID and CLOUDFLARE_ACCESS_CLIENT_SECRET must be set to use Access Service Token authentication. Only ${clientId !== void 0 ? "CLOUDFLARE_ACCESS_CLIENT_ID" : "CLOUDFLARE_ACCESS_CLIENT_SECRET"} was found.`);
|
|
52875
|
-
if (!await domainUsesAccess(domain$1, logger$1)) return {};
|
|
53105
|
+
if (!await domainUsesAccess(domain$1, logger$1, options.previewToken)) return {};
|
|
52876
53106
|
logger$1.debug("Getting Access headers for domain:", domain$1);
|
|
52877
53107
|
if (headersCache[domain$1]) {
|
|
52878
53108
|
logger$1.debug("Using cached Access headers for domain:", domain$1);
|
|
@@ -52882,7 +53112,7 @@ async function getAccessHeaders(domain$1, options) {
|
|
|
52882
53112
|
Set the CLOUDFLARE_ACCESS_CLIENT_ID and CLOUDFLARE_ACCESS_CLIENT_SECRET environment variables to authenticate with an Access Service Token.
|
|
52883
53113
|
See https://developers.cloudflare.com/cloudflare-one/access-controls/service-credentials/service-tokens/`, { telemetryMessage: "user access missing service token non interactive" });
|
|
52884
53114
|
logger$1.debug("Spawning cloudflared to get Access token for domain:");
|
|
52885
|
-
const output = await spawnCloudflaredAccessLogin(domain$1, options.signal);
|
|
53115
|
+
const output = await spawnCloudflaredAccessLogin(buildProbeUrl(domain$1, options.previewToken), options.signal);
|
|
52886
53116
|
if (output.error) throw new UserError$1("To use Wrangler with Cloudflare Access, please install `cloudflared` from https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/installation", { telemetryMessage: "user access missing cloudflared" });
|
|
52887
53117
|
const stringOutput = output.stdout;
|
|
52888
53118
|
logger$1.debug("cloudflared output:", stringOutput);
|
|
@@ -52896,12 +53126,12 @@ See https://developers.cloudflare.com/cloudflare-one/access-controls/service-cre
|
|
|
52896
53126
|
throw new Error("Failed to authenticate with Cloudflare Access");
|
|
52897
53127
|
}
|
|
52898
53128
|
__name$2(getAccessHeaders, "getAccessHeaders");
|
|
52899
|
-
function spawnCloudflaredAccessLogin(
|
|
53129
|
+
function spawnCloudflaredAccessLogin(loginTarget, signal) {
|
|
52900
53130
|
return new Promise((resolve$3, reject) => {
|
|
52901
53131
|
const child = spawn("cloudflared", [
|
|
52902
53132
|
"access",
|
|
52903
53133
|
"login",
|
|
52904
|
-
|
|
53134
|
+
loginTarget
|
|
52905
53135
|
], { signal });
|
|
52906
53136
|
const stdoutChunks = [];
|
|
52907
53137
|
child.stdout.on("data", (chunk) => stdoutChunks.push(chunk));
|
|
@@ -53251,6 +53481,14 @@ var ErrorUnknown = class extends ErrorOAuth2 {
|
|
|
53251
53481
|
return "ErrorUnknown";
|
|
53252
53482
|
}
|
|
53253
53483
|
};
|
|
53484
|
+
var ErrorAuthServerUnreachable = class extends ErrorOAuth2 {
|
|
53485
|
+
static {
|
|
53486
|
+
__name$2(this, "ErrorAuthServerUnreachable");
|
|
53487
|
+
}
|
|
53488
|
+
toString() {
|
|
53489
|
+
return "ErrorAuthServerUnreachable";
|
|
53490
|
+
}
|
|
53491
|
+
};
|
|
53254
53492
|
var ErrorNoAuthCode = class extends ErrorOAuth2 {
|
|
53255
53493
|
static {
|
|
53256
53494
|
__name$2(this, "ErrorNoAuthCode");
|
|
@@ -53560,7 +53798,12 @@ async function fetchAuthToken(body, logger$1, isNonInteractiveOrCI2) {
|
|
|
53560
53798
|
return response;
|
|
53561
53799
|
} catch (e) {
|
|
53562
53800
|
logger$1.debug("Failed to fetch auth token:", e);
|
|
53563
|
-
|
|
53801
|
+
const cause = e?.cause;
|
|
53802
|
+
const code = typeof cause?.code === "string" ? ` (${cause.code})` : "";
|
|
53803
|
+
throw new ErrorAuthServerUnreachable(`Could not reach the Cloudflare auth server at ${getTokenUrlFromEnv()}${code}.`, {
|
|
53804
|
+
cause: e,
|
|
53805
|
+
telemetryMessage: "user oauth token endpoint unreachable"
|
|
53806
|
+
});
|
|
53564
53807
|
}
|
|
53565
53808
|
}
|
|
53566
53809
|
__name$2(fetchAuthToken, "fetchAuthToken");
|
|
@@ -54011,10 +54254,10 @@ function createOAuthFlow(ctx) {
|
|
|
54011
54254
|
refresh_token,
|
|
54012
54255
|
scopes
|
|
54013
54256
|
});
|
|
54014
|
-
return
|
|
54257
|
+
return "refreshed";
|
|
54015
54258
|
} catch (e) {
|
|
54016
54259
|
ctx.logger.debug(`Token refresh failed: ${e instanceof Error ? e.message : String(e)}`);
|
|
54017
|
-
return
|
|
54260
|
+
return e instanceof ErrorAuthServerUnreachable ? "unreachable" : "rejected";
|
|
54018
54261
|
}
|
|
54019
54262
|
}
|
|
54020
54263
|
__name$2(refreshToken, "refreshToken");
|
|
@@ -54035,7 +54278,12 @@ function createOAuthFlow(ctx) {
|
|
|
54035
54278
|
reason: "no-credentials-login-failed"
|
|
54036
54279
|
};
|
|
54037
54280
|
} else if (isRefreshNeeded(props.profile)) {
|
|
54038
|
-
|
|
54281
|
+
const refreshed = await refreshToken(props.profile);
|
|
54282
|
+
if (refreshed === "refreshed") return { loggedIn: true };
|
|
54283
|
+
if (refreshed === "unreachable") return {
|
|
54284
|
+
loggedIn: false,
|
|
54285
|
+
reason: "token-refresh-unreachable"
|
|
54286
|
+
};
|
|
54039
54287
|
if (ctx.isNonInteractiveOrCI()) return {
|
|
54040
54288
|
loggedIn: false,
|
|
54041
54289
|
reason: "token-expired-non-interactive"
|
|
@@ -54080,7 +54328,7 @@ function createOAuthFlow(ctx) {
|
|
|
54080
54328
|
});
|
|
54081
54329
|
if (!stored.accessToken) return;
|
|
54082
54330
|
if (stored.accessToken && /* @__PURE__ */ new Date() >= new Date(stored.accessToken.expiry)) {
|
|
54083
|
-
if (
|
|
54331
|
+
if (await refreshToken() !== "refreshed") return;
|
|
54084
54332
|
stored = readStoredAuthState({
|
|
54085
54333
|
warningLogger: ctx.logger,
|
|
54086
54334
|
storage: getStorage()
|
|
@@ -55162,7 +55410,7 @@ function scrubEncryptedCredentials(options) {
|
|
|
55162
55410
|
__name$2(scrubEncryptedCredentials, "scrubEncryptedCredentials");
|
|
55163
55411
|
|
|
55164
55412
|
//#endregion
|
|
55165
|
-
//#region ../workers-auth/dist/chunk-
|
|
55413
|
+
//#region ../workers-auth/dist/chunk-VVLCNASF.mjs
|
|
55166
55414
|
createRequire(import.meta.url || (typeof __filename === "string" ? __filename : "/"));
|
|
55167
55415
|
function createPreferences(getConfigPath) {
|
|
55168
55416
|
function getUserPreferencesPath() {
|
|
@@ -55865,7 +56113,8 @@ function notLoggedInErrorBodies(loginCommand) {
|
|
|
55865
56113
|
"no-credentials-non-interactive": `Could not authenticate because no credentials were found and the environment is non-interactive. Set a CLOUDFLARE_API_TOKEN environment variable or run \`${loginCommand}\` in an interactive terminal first.`,
|
|
55866
56114
|
"no-credentials-login-failed": `No credentials were found and the login attempt was unsuccessful. Run \`${loginCommand}\` to try again.`,
|
|
55867
56115
|
"token-expired-non-interactive": `Your auth token has expired and could not be refreshed, and the environment is non-interactive. Run \`${loginCommand}\` in an interactive terminal or set a CLOUDFLARE_API_TOKEN.`,
|
|
55868
|
-
"token-expired-login-failed": `Your auth token has expired and could not be refreshed, and the login attempt was unsuccessful. Run \`${loginCommand}\` to try again
|
|
56116
|
+
"token-expired-login-failed": `Your auth token has expired and could not be refreshed, and the login attempt was unsuccessful. Run \`${loginCommand}\` to try again.`,
|
|
56117
|
+
"token-refresh-unreachable": `Your auth token has expired and could not be refreshed because the Cloudflare auth server could not be reached. This is usually a network problem (connectivity, proxy, or IPv6), not an invalid login: your stored credentials were left unchanged. Check your connection and try again.`
|
|
55869
56118
|
};
|
|
55870
56119
|
}
|
|
55871
56120
|
__name$2(notLoggedInErrorBodies, "notLoggedInErrorBodies");
|
|
@@ -56095,6 +56344,7 @@ ${accounts.map((account) => ` \`${redactAccountName ? "(redacted)" : account.na
|
|
|
56095
56344
|
}
|
|
56096
56345
|
const result = await loginOrRefreshIfRequired(config$1);
|
|
56097
56346
|
if (!result.loggedIn) if (result.reason === "no-credentials-non-interactive" || result.reason === "token-expired-non-interactive") throw new UserError$1(`In a non-interactive environment, it's necessary to set a CLOUDFLARE_API_TOKEN environment variable for ${cliName} to work. Please go to https://developers.cloudflare.com/fundamentals/api/get-started/create-token/ for instructions on how to create an api token, and assign its value to CLOUDFLARE_API_TOKEN.`, { telemetryMessage: "user auth missing api token non interactive" });
|
|
56347
|
+
else if (result.reason === "token-refresh-unreachable") throw new UserError$1(NOT_LOGGED_IN_ERROR_BODIES[result.reason], { telemetryMessage: "user auth token refresh unreachable" });
|
|
56098
56348
|
else throw new UserError$1("Did not login, quitting...", { telemetryMessage: "user login cancelled" });
|
|
56099
56349
|
const accountId = await getOrSelectAccountId(config$1);
|
|
56100
56350
|
if (!accountId) throw new UserError$1("No account id found, quitting...", { telemetryMessage: "user auth missing account id" });
|
|
@@ -61264,7 +61514,7 @@ __name$1(createWorkerUploadForm, "createWorkerUploadForm");
|
|
|
61264
61514
|
//#endregion
|
|
61265
61515
|
//#region ../remote-bindings/dist/index.mjs
|
|
61266
61516
|
var import_undici = require_undici();
|
|
61267
|
-
var version = "0.0.
|
|
61517
|
+
var version = "0.0.38";
|
|
61268
61518
|
var NoDefaultValueProvided = class extends UserError$1 {
|
|
61269
61519
|
constructor() {
|
|
61270
61520
|
super("This command cannot be run in a non-interactive context", { telemetryMessage: "remote bindings prompt default missing" });
|
|
@@ -61314,7 +61564,7 @@ function getRemoteBindingsAuthHook(auth, accountId, profileDir, logger$1) {
|
|
|
61314
61564
|
apiToken: remoteBindingsAuth.requireApiToken()
|
|
61315
61565
|
});
|
|
61316
61566
|
}
|
|
61317
|
-
var ProxyServerWorker_default = "// ../../node_modules/.pnpm/capnweb@0.5.0/node_modules/capnweb/dist/index-workers.js\nimport * as cfw from \"cloudflare:workers\";\nvar WORKERS_MODULE_SYMBOL = /* @__PURE__ */ Symbol(\"workers-module\");\nglobalThis[WORKERS_MODULE_SYMBOL] = cfw;\nif (!Symbol.dispose) {\n Symbol.dispose = /* @__PURE__ */ Symbol.for(\"dispose\");\n}\nif (!Symbol.asyncDispose) {\n Symbol.asyncDispose = /* @__PURE__ */ Symbol.for(\"asyncDispose\");\n}\nif (!Promise.withResolvers) {\n Promise.withResolvers = function() {\n let resolve;\n let reject;\n const promise = new Promise((res, rej) => {\n resolve = res;\n reject = rej;\n });\n return { promise, resolve, reject };\n };\n}\nvar workersModule = globalThis[WORKERS_MODULE_SYMBOL];\nvar RpcTarget = workersModule ? workersModule.RpcTarget : class {\n};\nvar AsyncFunction = (async function() {\n}).constructor;\nfunction typeForRpc(value) {\n switch (typeof value) {\n case \"boolean\":\n case \"number\":\n case \"string\":\n return \"primitive\";\n case \"undefined\":\n return \"undefined\";\n case \"object\":\n case \"function\":\n break;\n case \"bigint\":\n return \"bigint\";\n default:\n return \"unsupported\";\n }\n if (value === null) {\n return \"primitive\";\n }\n let prototype = Object.getPrototypeOf(value);\n switch (prototype) {\n case Object.prototype:\n return \"object\";\n case Function.prototype:\n case AsyncFunction.prototype:\n return \"function\";\n case Array.prototype:\n return \"array\";\n case Date.prototype:\n return \"date\";\n case Uint8Array.prototype:\n return \"bytes\";\n case WritableStream.prototype:\n return \"writable\";\n case ReadableStream.prototype:\n return \"readable\";\n case Headers.prototype:\n return \"headers\";\n case Request.prototype:\n return \"request\";\n case Response.prototype:\n return \"response\";\n // TODO: All other structured clone types.\n case RpcStub.prototype:\n return \"stub\";\n case RpcPromise.prototype:\n return \"rpc-promise\";\n // TODO: Promise<T> or thenable\n default:\n if (workersModule) {\n if (prototype == workersModule.RpcStub.prototype || value instanceof workersModule.ServiceStub) {\n return \"rpc-target\";\n } else if (prototype == workersModule.RpcPromise.prototype || prototype == workersModule.RpcProperty.prototype) {\n return \"rpc-thenable\";\n }\n }\n if (value instanceof RpcTarget) {\n return \"rpc-target\";\n }\n if (value instanceof Error) {\n return \"error\";\n }\n return \"unsupported\";\n }\n}\nfunction mapNotLoaded() {\n throw new Error(\"RPC map() implementation was not loaded.\");\n}\nvar mapImpl = { applyMap: mapNotLoaded, sendMap: mapNotLoaded };\nfunction streamNotLoaded() {\n throw new Error(\"Stream implementation was not loaded.\");\n}\nvar streamImpl = {\n createWritableStreamHook: streamNotLoaded,\n createWritableStreamFromHook: streamNotLoaded,\n createReadableStreamHook: streamNotLoaded\n};\nvar StubHook = class {\n // Like call(), but designed for streaming calls (e.g. WritableStream writes). Returns:\n // - promise: A Promise<void> for the completion of the call.\n // - size: If the call was remote, the byte size of the serialized message. For local calls,\n // undefined is returned, indicating the caller should await the promise to serialize writes\n // (no overlapping).\n stream(path, args) {\n let hook = this.call(path, args);\n let pulled = hook.pull();\n let promise;\n if (pulled instanceof Promise) {\n promise = pulled.then((p) => {\n p.dispose();\n });\n } else {\n pulled.dispose();\n promise = Promise.resolve();\n }\n return { promise };\n }\n};\nvar ErrorStubHook = class extends StubHook {\n constructor(error) {\n super();\n this.error = error;\n }\n call(path, args) {\n return this;\n }\n map(path, captures, instructions) {\n return this;\n }\n get(path) {\n return this;\n }\n dup() {\n return this;\n }\n pull() {\n return Promise.reject(this.error);\n }\n ignoreUnhandledRejections() {\n }\n dispose() {\n }\n onBroken(callback) {\n try {\n callback(this.error);\n } catch (err) {\n Promise.resolve(err);\n }\n }\n};\nvar DISPOSED_HOOK = new ErrorStubHook(\n new Error(\"Attempted to use RPC stub after it has been disposed.\")\n);\nvar doCall = (hook, path, params) => {\n return hook.call(path, params);\n};\nfunction withCallInterceptor(interceptor, callback) {\n let oldValue = doCall;\n doCall = interceptor;\n try {\n return callback();\n } finally {\n doCall = oldValue;\n }\n}\nvar RAW_STUB = /* @__PURE__ */ Symbol(\"realStub\");\nvar PROXY_HANDLERS = {\n apply(target, thisArg, argumentsList) {\n let stub = target.raw;\n return new RpcPromise(doCall(\n stub.hook,\n stub.pathIfPromise || [],\n RpcPayload.fromAppParams(argumentsList)\n ), []);\n },\n get(target, prop, receiver) {\n let stub = target.raw;\n if (prop === RAW_STUB) {\n return stub;\n } else if (prop in RpcPromise.prototype) {\n return stub[prop];\n } else if (typeof prop === \"string\") {\n return new RpcPromise(\n stub.hook,\n stub.pathIfPromise ? [...stub.pathIfPromise, prop] : [prop]\n );\n } else if (prop === Symbol.dispose && (!stub.pathIfPromise || stub.pathIfPromise.length == 0)) {\n return () => {\n stub.hook.dispose();\n stub.hook = DISPOSED_HOOK;\n };\n } else {\n return void 0;\n }\n },\n has(target, prop) {\n let stub = target.raw;\n if (prop === RAW_STUB) {\n return true;\n } else if (prop in RpcPromise.prototype) {\n return prop in stub;\n } else if (typeof prop === \"string\") {\n return true;\n } else if (prop === Symbol.dispose && (!stub.pathIfPromise || stub.pathIfPromise.length == 0)) {\n return true;\n } else {\n return false;\n }\n },\n construct(target, args) {\n throw new Error(\"An RPC stub cannot be used as a constructor.\");\n },\n defineProperty(target, property, attributes) {\n throw new Error(\"Can't define properties on RPC stubs.\");\n },\n deleteProperty(target, p) {\n throw new Error(\"Can't delete properties on RPC stubs.\");\n },\n getOwnPropertyDescriptor(target, p) {\n return void 0;\n },\n getPrototypeOf(target) {\n return Object.getPrototypeOf(target.raw);\n },\n isExtensible(target) {\n return false;\n },\n ownKeys(target) {\n return [];\n },\n preventExtensions(target) {\n return true;\n },\n set(target, p, newValue, receiver) {\n throw new Error(\"Can't assign properties on RPC stubs.\");\n },\n setPrototypeOf(target, v) {\n throw new Error(\"Can't override prototype of RPC stubs.\");\n }\n};\nvar RpcStub = class _RpcStub extends RpcTarget {\n // Although `hook` and `path` are declared `public` here, they are effectively hidden by the\n // proxy.\n constructor(hook, pathIfPromise) {\n super();\n if (!(hook instanceof StubHook)) {\n let value = hook;\n if (value instanceof RpcTarget || value instanceof Function) {\n hook = TargetStubHook.create(value, void 0);\n } else {\n hook = new PayloadStubHook(RpcPayload.fromAppReturn(value));\n }\n if (pathIfPromise) {\n throw new TypeError(\"RpcStub constructor expected one argument, received two.\");\n }\n }\n this.hook = hook;\n this.pathIfPromise = pathIfPromise;\n let func = () => {\n };\n func.raw = this;\n return new Proxy(func, PROXY_HANDLERS);\n }\n hook;\n pathIfPromise;\n dup() {\n let target = this[RAW_STUB];\n if (target.pathIfPromise) {\n return new _RpcStub(target.hook.get(target.pathIfPromise));\n } else {\n return new _RpcStub(target.hook.dup());\n }\n }\n onRpcBroken(callback) {\n this[RAW_STUB].hook.onBroken(callback);\n }\n map(func) {\n let { hook, pathIfPromise } = this[RAW_STUB];\n return mapImpl.sendMap(hook, pathIfPromise || [], func);\n }\n toString() {\n return \"[object RpcStub]\";\n }\n};\nvar RpcPromise = class extends RpcStub {\n // TODO: Support passing target value or promise to constructor.\n constructor(hook, pathIfPromise) {\n super(hook, pathIfPromise);\n }\n then(onfulfilled, onrejected) {\n return pullPromise(this).then(...arguments);\n }\n catch(onrejected) {\n return pullPromise(this).catch(...arguments);\n }\n finally(onfinally) {\n return pullPromise(this).finally(...arguments);\n }\n toString() {\n return \"[object RpcPromise]\";\n }\n};\nfunction unwrapStubTakingOwnership(stub) {\n let { hook, pathIfPromise } = stub[RAW_STUB];\n if (pathIfPromise && pathIfPromise.length > 0) {\n return hook.get(pathIfPromise);\n } else {\n return hook;\n }\n}\nfunction unwrapStubAndDup(stub) {\n let { hook, pathIfPromise } = stub[RAW_STUB];\n if (pathIfPromise) {\n return hook.get(pathIfPromise);\n } else {\n return hook.dup();\n }\n}\nfunction unwrapStubNoProperties(stub) {\n let { hook, pathIfPromise } = stub[RAW_STUB];\n if (pathIfPromise && pathIfPromise.length > 0) {\n return void 0;\n }\n return hook;\n}\nfunction unwrapStubOrParent(stub) {\n return stub[RAW_STUB].hook;\n}\nfunction unwrapStubAndPath(stub) {\n return stub[RAW_STUB];\n}\nasync function pullPromise(promise) {\n let { hook, pathIfPromise } = promise[RAW_STUB];\n if (pathIfPromise.length > 0) {\n hook = hook.get(pathIfPromise);\n }\n let payload = await hook.pull();\n return payload.deliverResolve();\n}\nvar RpcPayload = class _RpcPayload {\n // Private constructor; use factory functions above to construct.\n constructor(value, source, hooks, promises) {\n this.value = value;\n this.source = source;\n this.hooks = hooks;\n this.promises = promises;\n }\n // Create a payload from a value passed as params to an RPC from the app.\n //\n // The payload does NOT take ownership of any stubs in `value`, and but promises not to modify\n // `value`. If the payload is delivered locally, `value` will be deep-copied first, so as not\n // to have the sender and recipient end up sharing the same mutable object. `value` will not be\n // touched again after the call returns synchronously (returns a promise) -- by that point,\n // the value has either been copied or serialized to the wire.\n static fromAppParams(value) {\n return new _RpcPayload(value, \"params\");\n }\n // Create a payload from a value return from an RPC implementation by the app.\n //\n // Unlike fromAppParams(), in this case the payload takes ownership of all stubs in `value`, and\n // may hold onto `value` for an arbitrarily long time (e.g. to serve pipelined requests). It\n // will still avoid modifying `value` and will make a deep copy if it is delivered locally.\n static fromAppReturn(value) {\n return new _RpcPayload(value, \"return\");\n }\n // Combine an array of payloads into a single payload whose value is an array. Ownership of all\n // stubs is transferred from the inputs to the outputs, hence if the output is disposed, the\n // inputs should not be. (In case of exception, nothing is disposed, though.)\n static fromArray(array) {\n let hooks = [];\n let promises = [];\n let resultArray = [];\n for (let payload of array) {\n payload.ensureDeepCopied();\n for (let hook of payload.hooks) {\n hooks.push(hook);\n }\n for (let promise of payload.promises) {\n if (promise.parent === payload) {\n promise = {\n parent: resultArray,\n property: resultArray.length,\n promise: promise.promise\n };\n }\n promises.push(promise);\n }\n resultArray.push(payload.value);\n }\n return new _RpcPayload(resultArray, \"owned\", hooks, promises);\n }\n // Create a payload from a value parsed off the wire using Evaluator.evaluate().\n //\n // A payload is constructed with a null value and the given hooks and promises arrays. The value\n // is expected to be filled in by the evaluator, and the hooks and promises arrays are expected\n // to be extended with stubs found during parsing. (This weird usage model is necessary so that\n // if the root value turns out to be a promise, its `parent` in `promises` can be the payload\n // object itself.)\n //\n // When done, the payload takes ownership of the final value and all the stubs within. It may\n // modify the value in preparation for delivery, and may deliver the value directly to the app\n // without copying.\n static forEvaluate(hooks, promises) {\n return new _RpcPayload(null, \"owned\", hooks, promises);\n }\n // Deep-copy the given value, including dup()ing all stubs.\n //\n // If `value` is a function, it should be bound to `oldParent` as its `this`.\n //\n // If deep-copying from a branch of some other RpcPayload, it must be provided, to make sure\n // RpcTargets found within don't get duplicate stubs.\n static deepCopyFrom(value, oldParent, owner) {\n let result = new _RpcPayload(null, \"owned\", [], []);\n result.value = result.deepCopy(\n value,\n oldParent,\n \"value\",\n result,\n /*dupStubs=*/\n true,\n owner\n );\n return result;\n }\n // For `source === \"return\"` payloads only, this tracks any StubHooks created around RpcTargets\n // or WritableStreams found in the payload at the time that it is serialized (or deep-copied) for\n // return, so that we can make sure they are not disposed before the pipeline ends.\n //\n // This is initialized on first use.\n rpcTargets;\n // Get the StubHook representing the given RpcTarget found inside this payload.\n getHookForRpcTarget(target, parent, dupStubs = true) {\n if (this.source === \"params\") {\n if (dupStubs) {\n let dupable = target;\n if (typeof dupable.dup === \"function\") {\n target = dupable.dup();\n }\n }\n return TargetStubHook.create(target, parent);\n } else if (this.source === \"return\") {\n let hook = this.rpcTargets?.get(target);\n if (hook) {\n if (dupStubs) {\n return hook.dup();\n } else {\n this.rpcTargets?.delete(target);\n return hook;\n }\n } else {\n hook = TargetStubHook.create(target, parent);\n if (dupStubs) {\n if (!this.rpcTargets) {\n this.rpcTargets = /* @__PURE__ */ new Map();\n }\n this.rpcTargets.set(target, hook);\n return hook.dup();\n } else {\n return hook;\n }\n }\n } else {\n throw new Error(\"owned payload shouldn't contain raw RpcTargets\");\n }\n }\n // Get the StubHook representing the given WritableStream found inside this payload.\n getHookForWritableStream(stream, parent, dupStubs = true) {\n if (this.source === \"params\") {\n return streamImpl.createWritableStreamHook(stream);\n } else if (this.source === \"return\") {\n let hook = this.rpcTargets?.get(stream);\n if (hook) {\n if (dupStubs) {\n return hook.dup();\n } else {\n this.rpcTargets?.delete(stream);\n return hook;\n }\n } else {\n hook = streamImpl.createWritableStreamHook(stream);\n if (dupStubs) {\n if (!this.rpcTargets) {\n this.rpcTargets = /* @__PURE__ */ new Map();\n }\n this.rpcTargets.set(stream, hook);\n return hook.dup();\n } else {\n return hook;\n }\n }\n } else {\n throw new Error(\"owned payload shouldn't contain raw WritableStreams\");\n }\n }\n // Get the StubHook representing the given ReadableStream found inside this payload.\n getHookForReadableStream(stream, parent, dupStubs = true) {\n if (this.source === \"params\") {\n return streamImpl.createReadableStreamHook(stream);\n } else if (this.source === \"return\") {\n let hook = this.rpcTargets?.get(stream);\n if (hook) {\n if (dupStubs) {\n return hook.dup();\n } else {\n this.rpcTargets?.delete(stream);\n return hook;\n }\n } else {\n hook = streamImpl.createReadableStreamHook(stream);\n if (dupStubs) {\n if (!this.rpcTargets) {\n this.rpcTargets = /* @__PURE__ */ new Map();\n }\n this.rpcTargets.set(stream, hook);\n return hook.dup();\n } else {\n return hook;\n }\n }\n } else {\n throw new Error(\"owned payload shouldn't contain raw ReadableStreams\");\n }\n }\n deepCopy(value, oldParent, property, parent, dupStubs, owner) {\n let kind = typeForRpc(value);\n switch (kind) {\n case \"unsupported\":\n return value;\n case \"primitive\":\n case \"bigint\":\n case \"date\":\n case \"bytes\":\n case \"error\":\n case \"undefined\":\n return value;\n case \"array\": {\n let array = value;\n let len = array.length;\n let result = new Array(len);\n for (let i = 0; i < len; i++) {\n result[i] = this.deepCopy(array[i], array, i, result, dupStubs, owner);\n }\n return result;\n }\n case \"object\": {\n let result = {};\n let object = value;\n for (let i in object) {\n result[i] = this.deepCopy(object[i], object, i, result, dupStubs, owner);\n }\n return result;\n }\n case \"stub\":\n case \"rpc-promise\": {\n let stub = value;\n let hook;\n if (dupStubs) {\n hook = unwrapStubAndDup(stub);\n } else {\n hook = unwrapStubTakingOwnership(stub);\n }\n if (stub instanceof RpcPromise) {\n let promise = new RpcPromise(hook, []);\n this.promises.push({ parent, property, promise });\n return promise;\n } else {\n this.hooks.push(hook);\n return new RpcStub(hook);\n }\n }\n case \"function\":\n case \"rpc-target\": {\n let target = value;\n let hook;\n if (owner) {\n hook = owner.getHookForRpcTarget(target, oldParent, dupStubs);\n } else {\n hook = TargetStubHook.create(target, oldParent);\n }\n this.hooks.push(hook);\n return new RpcStub(hook);\n }\n case \"rpc-thenable\": {\n let target = value;\n let promise;\n if (owner) {\n promise = new RpcPromise(owner.getHookForRpcTarget(target, oldParent, dupStubs), []);\n } else {\n promise = new RpcPromise(TargetStubHook.create(target, oldParent), []);\n }\n this.promises.push({ parent, property, promise });\n return promise;\n }\n case \"writable\": {\n let stream = value;\n let hook;\n if (owner) {\n hook = owner.getHookForWritableStream(stream, oldParent, dupStubs);\n } else {\n hook = streamImpl.createWritableStreamHook(stream);\n }\n this.hooks.push(hook);\n return stream;\n }\n case \"readable\": {\n let stream = value;\n let hook;\n if (owner) {\n hook = owner.getHookForReadableStream(stream, oldParent, dupStubs);\n } else {\n hook = streamImpl.createReadableStreamHook(stream);\n }\n this.hooks.push(hook);\n return stream;\n }\n case \"headers\":\n return new Headers(value);\n case \"request\": {\n let req = value;\n if (req.body) {\n this.deepCopy(req.body, req, \"body\", req, dupStubs, owner);\n }\n return new Request(req);\n }\n case \"response\": {\n let resp = value;\n if (resp.body) {\n this.deepCopy(resp.body, resp, \"body\", resp, dupStubs, owner);\n }\n return new Response(resp.body, resp);\n }\n default:\n throw new Error(\"unreachable\");\n }\n }\n // Ensures that if the value originally came from an unowned source, we have replaced it with a\n // deep copy.\n ensureDeepCopied() {\n if (this.source !== \"owned\") {\n let dupStubs = this.source === \"params\";\n this.hooks = [];\n this.promises = [];\n try {\n this.value = this.deepCopy(this.value, void 0, \"value\", this, dupStubs, this);\n } catch (err) {\n this.hooks = void 0;\n this.promises = void 0;\n throw err;\n }\n this.source = \"owned\";\n if (this.rpcTargets && this.rpcTargets.size > 0) {\n throw new Error(\"Not all rpcTargets were accounted for in deep-copy?\");\n }\n this.rpcTargets = void 0;\n }\n }\n // Resolve all promises in this payload and then assign the final value into `parent[property]`.\n deliverTo(parent, property, promises) {\n this.ensureDeepCopied();\n if (this.value instanceof RpcPromise) {\n _RpcPayload.deliverRpcPromiseTo(this.value, parent, property, promises);\n } else {\n parent[property] = this.value;\n for (let record of this.promises) {\n _RpcPayload.deliverRpcPromiseTo(record.promise, record.parent, record.property, promises);\n }\n }\n }\n static deliverRpcPromiseTo(promise, parent, property, promises) {\n let hook = unwrapStubNoProperties(promise);\n if (!hook) {\n throw new Error(\"property promises should have been resolved earlier\");\n }\n let inner = hook.pull();\n if (inner instanceof _RpcPayload) {\n inner.deliverTo(parent, property, promises);\n } else {\n promises.push(inner.then((payload) => {\n let subPromises = [];\n payload.deliverTo(parent, property, subPromises);\n if (subPromises.length > 0) {\n return Promise.all(subPromises);\n }\n }));\n }\n }\n // Call the given function with the payload as an argument. The call is made synchronously if\n // possible, in order to maintain e-order. However, if any RpcPromises exist in the payload,\n // they are awaited and substituted before calling the function. The result of the call is\n // wrapped into another payload.\n //\n // The payload is automatically disposed after the call completes. The caller should not call\n // dispose().\n async deliverCall(func, thisArg) {\n try {\n let promises = [];\n this.deliverTo(this, \"value\", promises);\n if (promises.length > 0) {\n await Promise.all(promises);\n }\n let result = Function.prototype.apply.call(func, thisArg, this.value);\n if (result instanceof RpcPromise) {\n return _RpcPayload.fromAppReturn(result);\n } else {\n return _RpcPayload.fromAppReturn(await result);\n }\n } finally {\n this.dispose();\n }\n }\n // Produce a promise for this payload for return to the application. Any RpcPromises in the\n // payload are awaited and substituted with their results first.\n //\n // The returned object will have a disposer which disposes the payload. The caller should not\n // separately dispose it.\n async deliverResolve() {\n try {\n let promises = [];\n this.deliverTo(this, \"value\", promises);\n if (promises.length > 0) {\n await Promise.all(promises);\n }\n let result = this.value;\n if (result instanceof Object) {\n if (!(Symbol.dispose in result)) {\n Object.defineProperty(result, Symbol.dispose, {\n // NOTE: Using `this.dispose.bind(this)` here causes Playwright's build of\n // Chromium 140.0.7339.16 to fail when the object is assigned to a `using` variable,\n // with the error:\n // TypeError: Symbol(Symbol.dispose) is not a function\n // I cannot reproduce this problem in Chrome 140.0.7339.127 nor in Node or workerd,\n // so maybe it was a short-lived V8 bug or something. To be safe, though, we use\n // `() => this.dispose()`, which seems to always work.\n value: () => this.dispose(),\n writable: true,\n enumerable: false,\n configurable: true\n });\n }\n }\n return result;\n } catch (err) {\n this.dispose();\n throw err;\n }\n }\n dispose() {\n if (this.source === \"owned\") {\n this.hooks.forEach((hook) => hook.dispose());\n this.promises.forEach((promise) => promise.promise[Symbol.dispose]());\n } else if (this.source === \"return\") {\n this.disposeImpl(this.value, void 0);\n if (this.rpcTargets && this.rpcTargets.size > 0) {\n throw new Error(\"Not all rpcTargets were accounted for in disposeImpl()?\");\n }\n } else ;\n this.source = \"owned\";\n this.hooks = [];\n this.promises = [];\n }\n // Recursive dispose, called only when `source` is \"return\".\n disposeImpl(value, parent) {\n let kind = typeForRpc(value);\n switch (kind) {\n case \"unsupported\":\n case \"primitive\":\n case \"bigint\":\n case \"bytes\":\n case \"date\":\n case \"error\":\n case \"undefined\":\n return;\n case \"array\": {\n let array = value;\n let len = array.length;\n for (let i = 0; i < len; i++) {\n this.disposeImpl(array[i], array);\n }\n return;\n }\n case \"object\": {\n let object = value;\n for (let i in object) {\n this.disposeImpl(object[i], object);\n }\n return;\n }\n case \"stub\":\n case \"rpc-promise\": {\n let stub = value;\n let hook = unwrapStubNoProperties(stub);\n if (hook) {\n hook.dispose();\n }\n return;\n }\n case \"function\":\n case \"rpc-target\": {\n let target = value;\n let hook = this.rpcTargets?.get(target);\n if (hook) {\n hook.dispose();\n this.rpcTargets.delete(target);\n } else {\n disposeRpcTarget(target);\n }\n return;\n }\n case \"rpc-thenable\":\n return;\n case \"headers\":\n return;\n case \"request\": {\n let req = value;\n if (req.body) this.disposeImpl(req.body, req);\n return;\n }\n case \"response\": {\n let resp = value;\n if (resp.body) this.disposeImpl(resp.body, resp);\n return;\n }\n case \"writable\": {\n let stream = value;\n let hook = this.rpcTargets?.get(stream);\n if (hook) {\n this.rpcTargets.delete(stream);\n } else {\n hook = streamImpl.createWritableStreamHook(stream);\n }\n hook.dispose();\n return;\n }\n case \"readable\": {\n let stream = value;\n let hook = this.rpcTargets?.get(stream);\n if (hook) {\n this.rpcTargets.delete(stream);\n } else {\n hook = streamImpl.createReadableStreamHook(stream);\n }\n hook.dispose();\n return;\n }\n default:\n return;\n }\n }\n // Ignore unhandled rejections in all promises in this payload -- that is, all promises that\n // *would* be awaited if this payload were to be delivered. See the similarly-named method of\n // StubHook for explanation.\n ignoreUnhandledRejections() {\n if (this.hooks) {\n this.hooks.forEach((hook) => {\n hook.ignoreUnhandledRejections();\n });\n this.promises.forEach(\n (promise) => unwrapStubOrParent(promise.promise).ignoreUnhandledRejections()\n );\n } else {\n this.ignoreUnhandledRejectionsImpl(this.value);\n }\n }\n ignoreUnhandledRejectionsImpl(value) {\n let kind = typeForRpc(value);\n switch (kind) {\n case \"unsupported\":\n case \"primitive\":\n case \"bigint\":\n case \"bytes\":\n case \"date\":\n case \"error\":\n case \"undefined\":\n case \"function\":\n case \"rpc-target\":\n case \"writable\":\n case \"readable\":\n case \"headers\":\n case \"request\":\n case \"response\":\n return;\n case \"array\": {\n let array = value;\n let len = array.length;\n for (let i = 0; i < len; i++) {\n this.ignoreUnhandledRejectionsImpl(array[i]);\n }\n return;\n }\n case \"object\": {\n let object = value;\n for (let i in object) {\n this.ignoreUnhandledRejectionsImpl(object[i]);\n }\n return;\n }\n case \"stub\":\n case \"rpc-promise\":\n unwrapStubOrParent(value).ignoreUnhandledRejections();\n return;\n case \"rpc-thenable\":\n value.then((_) => {\n }, (_) => {\n });\n return;\n default:\n return;\n }\n }\n};\nfunction followPath(value, parent, path, owner) {\n for (let i = 0; i < path.length; i++) {\n parent = value;\n let part = path[i];\n if (part in Object.prototype) {\n value = void 0;\n continue;\n }\n let kind = typeForRpc(value);\n switch (kind) {\n case \"object\":\n case \"function\":\n if (Object.hasOwn(value, part)) {\n value = value[part];\n } else {\n value = void 0;\n }\n break;\n case \"array\":\n if (Number.isInteger(part) && part >= 0) {\n value = value[part];\n } else {\n value = void 0;\n }\n break;\n case \"rpc-target\":\n case \"rpc-thenable\": {\n if (Object.hasOwn(value, part)) {\n throw new TypeError(\n `Attempted to access property '${part}', which is an instance property of the RpcTarget. To avoid leaking private internals, instance properties cannot be accessed over RPC. If you want to make this property available over RPC, define it as a method or getter on the class, instead of an instance property.`\n );\n } else {\n value = value[part];\n }\n owner = null;\n break;\n }\n case \"stub\":\n case \"rpc-promise\": {\n let { hook, pathIfPromise } = unwrapStubAndPath(value);\n return { hook, remainingPath: pathIfPromise ? pathIfPromise.concat(path.slice(i)) : path.slice(i) };\n }\n case \"writable\":\n value = void 0;\n break;\n case \"readable\":\n value = void 0;\n break;\n case \"primitive\":\n case \"bigint\":\n case \"bytes\":\n case \"date\":\n case \"error\":\n case \"headers\":\n case \"request\":\n case \"response\":\n value = void 0;\n break;\n case \"undefined\":\n value = value[part];\n break;\n case \"unsupported\": {\n if (i === 0) {\n throw new TypeError(`RPC stub points at a non-serializable type.`);\n } else {\n let prefix = path.slice(0, i).join(\".\");\n let remainder = path.slice(0, i).join(\".\");\n throw new TypeError(\n `'${prefix}' is not a serializable type, so property ${remainder} cannot be accessed.`\n );\n }\n }\n default:\n throw new TypeError(\"unreachable\");\n }\n }\n if (value instanceof RpcPromise) {\n let { hook, pathIfPromise } = unwrapStubAndPath(value);\n return { hook, remainingPath: pathIfPromise || [] };\n }\n return {\n value,\n parent,\n owner\n };\n}\nvar ValueStubHook = class extends StubHook {\n call(path, args) {\n try {\n let { value, owner } = this.getValue();\n let followResult = followPath(value, void 0, path, owner);\n if (followResult.hook) {\n return followResult.hook.call(followResult.remainingPath, args);\n }\n if (typeof followResult.value != \"function\") {\n throw new TypeError(`'${path.join(\".\")}' is not a function.`);\n }\n let promise = args.deliverCall(followResult.value, followResult.parent);\n return new PromiseStubHook(promise.then((payload) => {\n return new PayloadStubHook(payload);\n }));\n } catch (err) {\n return new ErrorStubHook(err);\n }\n }\n map(path, captures, instructions) {\n try {\n let followResult;\n try {\n let { value, owner } = this.getValue();\n followResult = followPath(value, void 0, path, owner);\n ;\n } catch (err) {\n for (let cap of captures) {\n cap.dispose();\n }\n throw err;\n }\n if (followResult.hook) {\n return followResult.hook.map(followResult.remainingPath, captures, instructions);\n }\n return mapImpl.applyMap(\n followResult.value,\n followResult.parent,\n followResult.owner,\n captures,\n instructions\n );\n } catch (err) {\n return new ErrorStubHook(err);\n }\n }\n get(path) {\n try {\n let { value, owner } = this.getValue();\n if (path.length === 0 && owner === null) {\n throw new Error(\"Can't dup an RpcTarget stub as a promise.\");\n }\n let followResult = followPath(value, void 0, path, owner);\n if (followResult.hook) {\n return followResult.hook.get(followResult.remainingPath);\n }\n return new PayloadStubHook(RpcPayload.deepCopyFrom(\n followResult.value,\n followResult.parent,\n followResult.owner\n ));\n } catch (err) {\n return new ErrorStubHook(err);\n }\n }\n};\nvar PayloadStubHook = class _PayloadStubHook extends ValueStubHook {\n constructor(payload) {\n super();\n this.payload = payload;\n }\n payload;\n // cleared when disposed\n getPayload() {\n if (this.payload) {\n return this.payload;\n } else {\n throw new Error(\"Attempted to use an RPC StubHook after it was disposed.\");\n }\n }\n getValue() {\n let payload = this.getPayload();\n return { value: payload.value, owner: payload };\n }\n dup() {\n let thisPayload = this.getPayload();\n return new _PayloadStubHook(RpcPayload.deepCopyFrom(\n thisPayload.value,\n void 0,\n thisPayload\n ));\n }\n pull() {\n return this.getPayload();\n }\n ignoreUnhandledRejections() {\n if (this.payload) {\n this.payload.ignoreUnhandledRejections();\n }\n }\n dispose() {\n if (this.payload) {\n this.payload.dispose();\n this.payload = void 0;\n }\n }\n onBroken(callback) {\n if (this.payload) {\n if (this.payload.value instanceof RpcStub) {\n this.payload.value.onRpcBroken(callback);\n }\n }\n }\n};\nfunction disposeRpcTarget(target) {\n if (Symbol.dispose in target) {\n try {\n target[Symbol.dispose]();\n } catch (err) {\n Promise.reject(err);\n }\n }\n}\nvar TargetStubHook = class _TargetStubHook extends ValueStubHook {\n // Constructs a TargetStubHook that is not duplicated from an existing hook.\n //\n // If `value` is a function, `parent` is bound as its \"this\".\n static create(value, parent) {\n if (typeof value !== \"function\") {\n parent = void 0;\n }\n return new _TargetStubHook(value, parent);\n }\n constructor(target, parent, dupFrom) {\n super();\n this.target = target;\n this.parent = parent;\n if (dupFrom) {\n if (dupFrom.refcount) {\n this.refcount = dupFrom.refcount;\n ++this.refcount.count;\n }\n } else if (Symbol.dispose in target) {\n this.refcount = { count: 1 };\n }\n }\n target;\n // cleared when disposed\n parent;\n // `this` parameter when calling `target`\n refcount;\n // undefined if not needed (because target has no disposer)\n getTarget() {\n if (this.target) {\n return this.target;\n } else {\n throw new Error(\"Attempted to use an RPC StubHook after it was disposed.\");\n }\n }\n getValue() {\n return { value: this.getTarget(), owner: null };\n }\n dup() {\n return new _TargetStubHook(this.getTarget(), this.parent, this);\n }\n pull() {\n let target = this.getTarget();\n if (\"then\" in target) {\n return Promise.resolve(target).then((resolution) => {\n return RpcPayload.fromAppReturn(resolution);\n });\n } else {\n return Promise.reject(new Error(\"Tried to resolve a non-promise stub.\"));\n }\n }\n ignoreUnhandledRejections() {\n }\n dispose() {\n if (this.target) {\n if (this.refcount) {\n if (--this.refcount.count == 0) {\n disposeRpcTarget(this.target);\n }\n }\n this.target = void 0;\n }\n }\n onBroken(callback) {\n }\n};\nvar PromiseStubHook = class _PromiseStubHook extends StubHook {\n promise;\n resolution;\n constructor(promise) {\n super();\n this.promise = promise.then((res) => {\n this.resolution = res;\n return res;\n });\n }\n call(path, args) {\n args.ensureDeepCopied();\n return new _PromiseStubHook(this.promise.then((hook) => hook.call(path, args)));\n }\n stream(path, args) {\n args.ensureDeepCopied();\n let promise = this.promise.then((hook) => {\n let result = hook.stream(path, args);\n return result.promise;\n });\n return { promise };\n }\n map(path, captures, instructions) {\n return new _PromiseStubHook(this.promise.then(\n (hook) => hook.map(path, captures, instructions),\n (err) => {\n for (let cap of captures) {\n cap.dispose();\n }\n throw err;\n }\n ));\n }\n get(path) {\n return new _PromiseStubHook(this.promise.then((hook) => hook.get(path)));\n }\n dup() {\n if (this.resolution) {\n return this.resolution.dup();\n } else {\n return new _PromiseStubHook(this.promise.then((hook) => hook.dup()));\n }\n }\n pull() {\n if (this.resolution) {\n return this.resolution.pull();\n } else {\n return this.promise.then((hook) => hook.pull());\n }\n }\n ignoreUnhandledRejections() {\n if (this.resolution) {\n this.resolution.ignoreUnhandledRejections();\n } else {\n this.promise.then((res) => {\n res.ignoreUnhandledRejections();\n }, (err) => {\n });\n }\n }\n dispose() {\n if (this.resolution) {\n this.resolution.dispose();\n } else {\n this.promise.then((hook) => {\n hook.dispose();\n }, (err) => {\n });\n }\n }\n onBroken(callback) {\n if (this.resolution) {\n this.resolution.onBroken(callback);\n } else {\n this.promise.then((hook) => {\n hook.onBroken(callback);\n }, callback);\n }\n }\n};\nvar NullExporter = class {\n exportStub(stub) {\n throw new Error(\"Cannot serialize RPC stubs without an RPC session.\");\n }\n exportPromise(stub) {\n throw new Error(\"Cannot serialize RPC stubs without an RPC session.\");\n }\n getImport(hook) {\n return void 0;\n }\n unexport(ids) {\n }\n createPipe(readable) {\n throw new Error(\"Cannot create pipes without an RPC session.\");\n }\n onSendError(error) {\n }\n};\nvar NULL_EXPORTER = new NullExporter();\nvar ERROR_TYPES = {\n Error,\n EvalError,\n RangeError,\n ReferenceError,\n SyntaxError,\n TypeError,\n URIError,\n AggregateError\n // TODO: DOMError? Others?\n};\nvar Devaluator = class _Devaluator {\n constructor(exporter, source) {\n this.exporter = exporter;\n this.source = source;\n }\n // Devaluate the given value.\n // * value: The value to devaluate.\n // * parent: The value's parent object, which would be used as `this` if the value were called\n // as a function.\n // * exporter: Callbacks to the RPC session for exporting capabilities found in this message.\n // * source: The RpcPayload which contains the value, and therefore owns stubs within.\n //\n // Returns: The devaluated value, ready to be JSON-serialized.\n static devaluate(value, parent, exporter = NULL_EXPORTER, source) {\n let devaluator = new _Devaluator(exporter, source);\n try {\n return devaluator.devaluateImpl(value, parent, 0);\n } catch (err) {\n if (devaluator.exports) {\n try {\n exporter.unexport(devaluator.exports);\n } catch (err2) {\n }\n }\n throw err;\n }\n }\n exports;\n devaluateImpl(value, parent, depth) {\n if (depth >= 64) {\n throw new Error(\n \"Serialization exceeded maximum allowed depth. (Does the message contain cycles?)\"\n );\n }\n let kind = typeForRpc(value);\n switch (kind) {\n case \"unsupported\": {\n let msg;\n try {\n msg = `Cannot serialize value: ${value}`;\n } catch (err) {\n msg = \"Cannot serialize value: (couldn't stringify value)\";\n }\n throw new TypeError(msg);\n }\n case \"primitive\":\n if (typeof value === \"number\" && !isFinite(value)) {\n if (value === Infinity) {\n return [\"inf\"];\n } else if (value === -Infinity) {\n return [\"-inf\"];\n } else {\n return [\"nan\"];\n }\n } else {\n return value;\n }\n case \"object\": {\n let object = value;\n let result = {};\n for (let key in object) {\n result[key] = this.devaluateImpl(object[key], object, depth + 1);\n }\n return result;\n }\n case \"array\": {\n let array = value;\n let len = array.length;\n let result = new Array(len);\n for (let i = 0; i < len; i++) {\n result[i] = this.devaluateImpl(array[i], array, depth + 1);\n }\n return [result];\n }\n case \"bigint\":\n return [\"bigint\", value.toString()];\n case \"date\":\n return [\"date\", value.getTime()];\n case \"bytes\": {\n let bytes = value;\n if (bytes.toBase64) {\n return [\"bytes\", bytes.toBase64({ omitPadding: true })];\n } else {\n return [\n \"bytes\",\n btoa(String.fromCharCode.apply(null, bytes).replace(/=*$/, \"\"))\n ];\n }\n }\n case \"headers\":\n return [\"headers\", [...value]];\n case \"request\": {\n let req = value;\n let init = {};\n if (req.method !== \"GET\") init.method = req.method;\n let headers = [...req.headers];\n if (headers.length > 0) {\n init.headers = headers;\n }\n if (req.body) {\n init.body = this.devaluateImpl(req.body, req, depth + 1);\n init.duplex = req.duplex || \"half\";\n } else if (req.body === void 0 && ![\"GET\", \"HEAD\", \"OPTIONS\", \"TRACE\", \"DELETE\"].includes(req.method)) {\n let bodyPromise = req.arrayBuffer();\n let readable = new ReadableStream({\n async start(controller) {\n try {\n controller.enqueue(new Uint8Array(await bodyPromise));\n controller.close();\n } catch (err) {\n controller.error(err);\n }\n }\n });\n let hook = streamImpl.createReadableStreamHook(readable);\n let importId = this.exporter.createPipe(readable, hook);\n init.body = [\"readable\", importId];\n init.duplex = req.duplex || \"half\";\n }\n if (req.cache && req.cache !== \"default\") init.cache = req.cache;\n if (req.redirect !== \"follow\") init.redirect = req.redirect;\n if (req.integrity) init.integrity = req.integrity;\n if (req.mode && req.mode !== \"cors\") init.mode = req.mode;\n if (req.credentials && req.credentials !== \"same-origin\") {\n init.credentials = req.credentials;\n }\n if (req.referrer && req.referrer !== \"about:client\") init.referrer = req.referrer;\n if (req.referrerPolicy) init.referrerPolicy = req.referrerPolicy;\n if (req.keepalive) init.keepalive = req.keepalive;\n let cfReq = req;\n if (cfReq.cf) init.cf = cfReq.cf;\n if (cfReq.encodeResponseBody && cfReq.encodeResponseBody !== \"automatic\") {\n init.encodeResponseBody = cfReq.encodeResponseBody;\n }\n return [\"request\", req.url, init];\n }\n case \"response\": {\n let resp = value;\n let body = this.devaluateImpl(resp.body, resp, depth + 1);\n let init = {};\n if (resp.status !== 200) init.status = resp.status;\n if (resp.statusText) init.statusText = resp.statusText;\n let headers = [...resp.headers];\n if (headers.length > 0) {\n init.headers = headers;\n }\n let cfResp = resp;\n if (cfResp.cf) init.cf = cfResp.cf;\n if (cfResp.encodeBody && cfResp.encodeBody !== \"automatic\") {\n init.encodeBody = cfResp.encodeBody;\n }\n if (cfResp.webSocket) {\n throw new TypeError(\"Can't serialize a Response containing a webSocket.\");\n }\n return [\"response\", body, init];\n }\n case \"error\": {\n let e = value;\n let rewritten = this.exporter.onSendError(e);\n if (rewritten) {\n e = rewritten;\n }\n let result = [\"error\", e.name, e.message];\n if (rewritten && rewritten.stack) {\n result.push(rewritten.stack);\n }\n return result;\n }\n case \"undefined\":\n return [\"undefined\"];\n case \"stub\":\n case \"rpc-promise\": {\n if (!this.source) {\n throw new Error(\"Can't serialize RPC stubs in this context.\");\n }\n let { hook, pathIfPromise } = unwrapStubAndPath(value);\n let importId = this.exporter.getImport(hook);\n if (importId !== void 0) {\n if (pathIfPromise) {\n if (pathIfPromise.length > 0) {\n return [\"pipeline\", importId, pathIfPromise];\n } else {\n return [\"pipeline\", importId];\n }\n } else {\n return [\"import\", importId];\n }\n }\n if (pathIfPromise) {\n hook = hook.get(pathIfPromise);\n } else {\n hook = hook.dup();\n }\n return this.devaluateHook(pathIfPromise ? \"promise\" : \"export\", hook);\n }\n case \"function\":\n case \"rpc-target\": {\n if (!this.source) {\n throw new Error(\"Can't serialize RPC stubs in this context.\");\n }\n let hook = this.source.getHookForRpcTarget(value, parent);\n return this.devaluateHook(\"export\", hook);\n }\n case \"rpc-thenable\": {\n if (!this.source) {\n throw new Error(\"Can't serialize RPC stubs in this context.\");\n }\n let hook = this.source.getHookForRpcTarget(value, parent);\n return this.devaluateHook(\"promise\", hook);\n }\n case \"writable\": {\n if (!this.source) {\n throw new Error(\"Can't serialize WritableStream in this context.\");\n }\n let hook = this.source.getHookForWritableStream(value, parent);\n return this.devaluateHook(\"writable\", hook);\n }\n case \"readable\": {\n if (!this.source) {\n throw new Error(\"Can't serialize ReadableStream in this context.\");\n }\n let ws = value;\n let hook = this.source.getHookForReadableStream(ws, parent);\n let importId = this.exporter.createPipe(ws, hook);\n return [\"readable\", importId];\n }\n default:\n throw new Error(\"unreachable\");\n }\n }\n devaluateHook(type, hook) {\n if (!this.exports) this.exports = [];\n let exportId = type === \"promise\" ? this.exporter.exportPromise(hook) : this.exporter.exportStub(hook);\n this.exports.push(exportId);\n return [type, exportId];\n }\n};\nvar NullImporter = class {\n importStub(idx) {\n throw new Error(\"Cannot deserialize RPC stubs without an RPC session.\");\n }\n importPromise(idx) {\n throw new Error(\"Cannot deserialize RPC stubs without an RPC session.\");\n }\n getExport(idx) {\n return void 0;\n }\n getPipeReadable(exportId) {\n throw new Error(\"Cannot retrieve pipe readable without an RPC session.\");\n }\n};\nvar NULL_IMPORTER = new NullImporter();\nfunction fixBrokenRequestBody(request, body) {\n let promise = new Response(body).arrayBuffer().then((arrayBuffer) => {\n let bytes = new Uint8Array(arrayBuffer);\n let result = new Request(request, { body: bytes });\n return new PayloadStubHook(RpcPayload.fromAppReturn(result));\n });\n return new RpcPromise(new PromiseStubHook(promise), []);\n}\nvar Evaluator = class _Evaluator {\n constructor(importer) {\n this.importer = importer;\n }\n hooks = [];\n promises = [];\n evaluate(value) {\n let payload = RpcPayload.forEvaluate(this.hooks, this.promises);\n try {\n payload.value = this.evaluateImpl(value, payload, \"value\");\n return payload;\n } catch (err) {\n payload.dispose();\n throw err;\n }\n }\n // Evaluate the value without destroying it.\n evaluateCopy(value) {\n return this.evaluate(structuredClone(value));\n }\n evaluateImpl(value, parent, property) {\n if (value instanceof Array) {\n if (value.length == 1 && value[0] instanceof Array) {\n let result = value[0];\n for (let i = 0; i < result.length; i++) {\n result[i] = this.evaluateImpl(result[i], result, i);\n }\n return result;\n } else switch (value[0]) {\n case \"bigint\":\n if (typeof value[1] == \"string\") {\n return BigInt(value[1]);\n }\n break;\n case \"date\":\n if (typeof value[1] == \"number\") {\n return new Date(value[1]);\n }\n break;\n case \"bytes\": {\n let b64 = Uint8Array;\n if (typeof value[1] == \"string\") {\n if (b64.fromBase64) {\n return b64.fromBase64(value[1]);\n } else {\n let bs = atob(value[1]);\n let len = bs.length;\n let bytes = new Uint8Array(len);\n for (let i = 0; i < len; i++) {\n bytes[i] = bs.charCodeAt(i);\n }\n return bytes;\n }\n }\n break;\n }\n case \"error\":\n if (value.length >= 3 && typeof value[1] === \"string\" && typeof value[2] === \"string\") {\n let cls = ERROR_TYPES[value[1]] || Error;\n let result = new cls(value[2]);\n if (typeof value[3] === \"string\") {\n result.stack = value[3];\n }\n return result;\n }\n break;\n case \"undefined\":\n if (value.length === 1) {\n return void 0;\n }\n break;\n case \"inf\":\n return Infinity;\n case \"-inf\":\n return -Infinity;\n case \"nan\":\n return NaN;\n case \"headers\":\n if (value.length === 2 && value[1] instanceof Array) {\n return new Headers(value[1]);\n }\n break;\n case \"request\": {\n if (value.length !== 3 || typeof value[1] !== \"string\") break;\n let url = value[1];\n let init = value[2];\n if (typeof init !== \"object\" || init === null) break;\n if (init.body) {\n init.body = this.evaluateImpl(init.body, init, \"body\");\n if (init.body === null || typeof init.body === \"string\" || init.body instanceof Uint8Array || init.body instanceof ReadableStream) ;\n else {\n throw new TypeError(\"Request body must be of type ReadableStream.\");\n }\n }\n if (init.signal) {\n init.signal = this.evaluateImpl(init.signal, init, \"signal\");\n if (!(init.signal instanceof AbortSignal)) {\n throw new TypeError(\"Request siganl must be of type AbortSignal.\");\n }\n }\n if (init.headers && !(init.headers instanceof Array)) {\n throw new TypeError(\"Request headers must be serialized as an array of pairs.\");\n }\n let result = new Request(url, init);\n if (init.body instanceof ReadableStream && result.body === void 0) {\n let promise = fixBrokenRequestBody(result, init.body);\n this.promises.push({ promise, parent, property });\n return promise;\n } else {\n return result;\n }\n }\n case \"response\": {\n if (value.length !== 3) break;\n let body = this.evaluateImpl(value[1], parent, property);\n if (body === null || typeof body === \"string\" || body instanceof Uint8Array || body instanceof ReadableStream) ;\n else {\n throw new TypeError(\"Response body must be of type ReadableStream.\");\n }\n let init = value[2];\n if (typeof init !== \"object\" || init === null) break;\n if (init.webSocket) {\n throw new TypeError(\"Can't deserialize a Response containing a webSocket.\");\n }\n if (init.headers && !(init.headers instanceof Array)) {\n throw new TypeError(\"Request headers must be serialized as an array of pairs.\");\n }\n return new Response(body, init);\n }\n case \"import\":\n case \"pipeline\": {\n if (value.length < 2 || value.length > 4) {\n break;\n }\n if (typeof value[1] != \"number\") {\n break;\n }\n let hook = this.importer.getExport(value[1]);\n if (!hook) {\n throw new Error(`no such entry on exports table: ${value[1]}`);\n }\n let isPromise = value[0] == \"pipeline\";\n let addStub = (hook2) => {\n if (isPromise) {\n let promise = new RpcPromise(hook2, []);\n this.promises.push({ promise, parent, property });\n return promise;\n } else {\n this.hooks.push(hook2);\n return new RpcPromise(hook2, []);\n }\n };\n if (value.length == 2) {\n if (isPromise) {\n return addStub(hook.get([]));\n } else {\n return addStub(hook.dup());\n }\n }\n let path = value[2];\n if (!(path instanceof Array)) {\n break;\n }\n if (!path.every(\n (part) => {\n return typeof part == \"string\" || typeof part == \"number\";\n }\n )) {\n break;\n }\n if (value.length == 3) {\n return addStub(hook.get(path));\n }\n let args = value[3];\n if (!(args instanceof Array)) {\n break;\n }\n let subEval = new _Evaluator(this.importer);\n args = subEval.evaluate([args]);\n return addStub(hook.call(path, args));\n }\n case \"remap\": {\n if (value.length !== 5 || typeof value[1] !== \"number\" || !(value[2] instanceof Array) || !(value[3] instanceof Array) || !(value[4] instanceof Array)) {\n break;\n }\n let hook = this.importer.getExport(value[1]);\n if (!hook) {\n throw new Error(`no such entry on exports table: ${value[1]}`);\n }\n let path = value[2];\n if (!path.every(\n (part) => {\n return typeof part == \"string\" || typeof part == \"number\";\n }\n )) {\n break;\n }\n let captures = value[3].map((cap) => {\n if (!(cap instanceof Array) || cap.length !== 2 || cap[0] !== \"import\" && cap[0] !== \"export\" || typeof cap[1] !== \"number\") {\n throw new TypeError(`unknown map capture: ${JSON.stringify(cap)}`);\n }\n if (cap[0] === \"export\") {\n return this.importer.importStub(cap[1]);\n } else {\n let exp = this.importer.getExport(cap[1]);\n if (!exp) {\n throw new Error(`no such entry on exports table: ${cap[1]}`);\n }\n return exp.dup();\n }\n });\n let instructions = value[4];\n let resultHook = hook.map(path, captures, instructions);\n let promise = new RpcPromise(resultHook, []);\n this.promises.push({ promise, parent, property });\n return promise;\n }\n case \"export\":\n case \"promise\":\n if (typeof value[1] == \"number\") {\n if (value[0] == \"promise\") {\n let hook = this.importer.importPromise(value[1]);\n let promise = new RpcPromise(hook, []);\n this.promises.push({ parent, property, promise });\n return promise;\n } else {\n let hook = this.importer.importStub(value[1]);\n this.hooks.push(hook);\n return new RpcStub(hook);\n }\n }\n break;\n case \"writable\":\n if (typeof value[1] == \"number\") {\n let hook = this.importer.importStub(value[1]);\n let stream = streamImpl.createWritableStreamFromHook(hook);\n this.hooks.push(hook);\n return stream;\n }\n break;\n case \"readable\":\n if (typeof value[1] == \"number\") {\n let stream = this.importer.getPipeReadable(value[1]);\n let hook = streamImpl.createReadableStreamHook(stream);\n this.hooks.push(hook);\n return stream;\n }\n break;\n }\n throw new TypeError(`unknown special value: ${JSON.stringify(value)}`);\n } else if (value instanceof Object) {\n let result = value;\n for (let key in result) {\n if (key in Object.prototype || key === \"toJSON\") {\n this.evaluateImpl(result[key], result, key);\n delete result[key];\n } else {\n result[key] = this.evaluateImpl(result[key], result, key);\n }\n }\n return result;\n } else {\n return value;\n }\n }\n};\nvar ImportTableEntry = class {\n constructor(session, importId, pulling) {\n this.session = session;\n this.importId = importId;\n if (pulling) {\n this.activePull = Promise.withResolvers();\n }\n }\n localRefcount = 0;\n remoteRefcount = 1;\n activePull;\n resolution;\n // List of integer indexes into session.onBrokenCallbacks which are callbacks registered on\n // this import. Initialized on first use (so `undefined` is the same as an empty list).\n onBrokenRegistrations;\n resolve(resolution) {\n if (this.localRefcount == 0) {\n resolution.dispose();\n return;\n }\n this.resolution = resolution;\n this.sendRelease();\n if (this.onBrokenRegistrations) {\n for (let i of this.onBrokenRegistrations) {\n let callback = this.session.onBrokenCallbacks[i];\n let endIndex = this.session.onBrokenCallbacks.length;\n resolution.onBroken(callback);\n if (this.session.onBrokenCallbacks[endIndex] === callback) {\n delete this.session.onBrokenCallbacks[endIndex];\n } else {\n delete this.session.onBrokenCallbacks[i];\n }\n }\n this.onBrokenRegistrations = void 0;\n }\n if (this.activePull) {\n this.activePull.resolve();\n this.activePull = void 0;\n }\n }\n async awaitResolution() {\n if (!this.activePull) {\n this.session.sendPull(this.importId);\n this.activePull = Promise.withResolvers();\n }\n await this.activePull.promise;\n return this.resolution.pull();\n }\n dispose() {\n if (this.resolution) {\n this.resolution.dispose();\n } else {\n this.abort(new Error(\"RPC was canceled because the RpcPromise was disposed.\"));\n this.sendRelease();\n }\n }\n abort(error) {\n if (!this.resolution) {\n this.resolution = new ErrorStubHook(error);\n if (this.activePull) {\n this.activePull.reject(error);\n this.activePull = void 0;\n }\n this.onBrokenRegistrations = void 0;\n }\n }\n onBroken(callback) {\n if (this.resolution) {\n this.resolution.onBroken(callback);\n } else {\n let index = this.session.onBrokenCallbacks.length;\n this.session.onBrokenCallbacks.push(callback);\n if (!this.onBrokenRegistrations) this.onBrokenRegistrations = [];\n this.onBrokenRegistrations.push(index);\n }\n }\n sendRelease() {\n if (this.remoteRefcount > 0) {\n this.session.sendRelease(this.importId, this.remoteRefcount);\n this.remoteRefcount = 0;\n }\n }\n};\nvar RpcImportHook = class _RpcImportHook extends StubHook {\n // undefined when we're disposed\n // `pulling` is true if we already expect that this import is going to be resolved later, and\n // null if this import is not allowed to be pulled (i.e. it's a stub not a promise).\n constructor(isPromise, entry) {\n super();\n this.isPromise = isPromise;\n ++entry.localRefcount;\n this.entry = entry;\n }\n entry;\n collectPath(path) {\n return this;\n }\n getEntry() {\n if (this.entry) {\n return this.entry;\n } else {\n throw new Error(\"This RpcImportHook was already disposed.\");\n }\n }\n // -------------------------------------------------------------------------------------\n // implements StubHook\n call(path, args) {\n let entry = this.getEntry();\n if (entry.resolution) {\n return entry.resolution.call(path, args);\n } else {\n return entry.session.sendCall(entry.importId, path, args);\n }\n }\n stream(path, args) {\n let entry = this.getEntry();\n if (entry.resolution) {\n return entry.resolution.stream(path, args);\n } else {\n return entry.session.sendStream(entry.importId, path, args);\n }\n }\n map(path, captures, instructions) {\n let entry;\n try {\n entry = this.getEntry();\n } catch (err) {\n for (let cap of captures) {\n cap.dispose();\n }\n throw err;\n }\n if (entry.resolution) {\n return entry.resolution.map(path, captures, instructions);\n } else {\n return entry.session.sendMap(entry.importId, path, captures, instructions);\n }\n }\n get(path) {\n let entry = this.getEntry();\n if (entry.resolution) {\n return entry.resolution.get(path);\n } else {\n return entry.session.sendCall(entry.importId, path);\n }\n }\n dup() {\n return new _RpcImportHook(false, this.getEntry());\n }\n pull() {\n let entry = this.getEntry();\n if (!this.isPromise) {\n throw new Error(\"Can't pull this hook because it's not a promise hook.\");\n }\n if (entry.resolution) {\n return entry.resolution.pull();\n }\n return entry.awaitResolution();\n }\n ignoreUnhandledRejections() {\n }\n dispose() {\n let entry = this.entry;\n this.entry = void 0;\n if (entry) {\n if (--entry.localRefcount === 0) {\n entry.dispose();\n }\n }\n }\n onBroken(callback) {\n if (this.entry) {\n this.entry.onBroken(callback);\n }\n }\n};\nvar RpcMainHook = class extends RpcImportHook {\n session;\n constructor(entry) {\n super(false, entry);\n this.session = entry.session;\n }\n dispose() {\n if (this.session) {\n let session = this.session;\n this.session = void 0;\n session.shutdown();\n }\n }\n};\nvar RpcSessionImpl = class {\n constructor(transport, mainHook, options) {\n this.transport = transport;\n this.options = options;\n this.exports.push({ hook: mainHook, refcount: 1 });\n this.imports.push(new ImportTableEntry(this, 0, false));\n let rejectFunc;\n let abortPromise = new Promise((resolve, reject) => {\n rejectFunc = reject;\n });\n this.cancelReadLoop = rejectFunc;\n this.readLoop(abortPromise).catch((err) => this.abort(err));\n }\n exports = [];\n reverseExports = /* @__PURE__ */ new Map();\n imports = [];\n abortReason;\n cancelReadLoop;\n // We assign positive numbers to imports we initiate, and negative numbers to exports we\n // initiate. So the next import ID is just `imports.length`, but the next export ID needs\n // to be tracked explicitly.\n nextExportId = -1;\n // If set, call this when all incoming calls are complete.\n onBatchDone;\n // How many promises is our peer expecting us to resolve?\n pullCount = 0;\n // Sparse array of onBrokenCallback registrations. Items are strictly appended to the end but\n // may be deleted from the middle (hence leaving the array sparse).\n onBrokenCallbacks = [];\n // Should only be called once immediately after construction.\n getMainImport() {\n return new RpcMainHook(this.imports[0]);\n }\n shutdown() {\n this.abort(new Error(\"RPC session was shut down by disposing the main stub\"), false);\n }\n exportStub(hook) {\n if (this.abortReason) throw this.abortReason;\n let existingExportId = this.reverseExports.get(hook);\n if (existingExportId !== void 0) {\n ++this.exports[existingExportId].refcount;\n return existingExportId;\n } else {\n let exportId = this.nextExportId--;\n this.exports[exportId] = { hook, refcount: 1 };\n this.reverseExports.set(hook, exportId);\n return exportId;\n }\n }\n exportPromise(hook) {\n if (this.abortReason) throw this.abortReason;\n let exportId = this.nextExportId--;\n this.exports[exportId] = { hook, refcount: 1 };\n this.reverseExports.set(hook, exportId);\n this.ensureResolvingExport(exportId);\n return exportId;\n }\n unexport(ids) {\n for (let id of ids) {\n this.releaseExport(id, 1);\n }\n }\n releaseExport(exportId, refcount) {\n let entry = this.exports[exportId];\n if (!entry) {\n throw new Error(`no such export ID: ${exportId}`);\n }\n if (entry.refcount < refcount) {\n throw new Error(`refcount would go negative: ${entry.refcount} < ${refcount}`);\n }\n entry.refcount -= refcount;\n if (entry.refcount === 0) {\n delete this.exports[exportId];\n this.reverseExports.delete(entry.hook);\n entry.hook.dispose();\n }\n }\n onSendError(error) {\n if (this.options.onSendError) {\n return this.options.onSendError(error);\n }\n }\n ensureResolvingExport(exportId) {\n let exp = this.exports[exportId];\n if (!exp) {\n throw new Error(`no such export ID: ${exportId}`);\n }\n if (!exp.pull) {\n let resolve = async () => {\n let hook = exp.hook;\n for (; ; ) {\n let payload = await hook.pull();\n if (payload.value instanceof RpcStub) {\n let { hook: inner, pathIfPromise } = unwrapStubAndPath(payload.value);\n if (pathIfPromise && pathIfPromise.length == 0) {\n if (this.getImport(hook) === void 0) {\n hook = inner;\n continue;\n }\n }\n }\n return payload;\n }\n };\n let autoRelease = exp.autoRelease;\n ++this.pullCount;\n exp.pull = resolve().then(\n (payload) => {\n let value = Devaluator.devaluate(payload.value, void 0, this, payload);\n this.send([\"resolve\", exportId, value]);\n if (autoRelease) this.releaseExport(exportId, 1);\n },\n (error) => {\n this.send([\"reject\", exportId, Devaluator.devaluate(error, void 0, this)]);\n if (autoRelease) this.releaseExport(exportId, 1);\n }\n ).catch(\n (error) => {\n try {\n this.send([\"reject\", exportId, Devaluator.devaluate(error, void 0, this)]);\n if (autoRelease) this.releaseExport(exportId, 1);\n } catch (error2) {\n this.abort(error2);\n }\n }\n ).finally(() => {\n if (--this.pullCount === 0) {\n if (this.onBatchDone) {\n this.onBatchDone.resolve();\n }\n }\n });\n }\n }\n getImport(hook) {\n if (hook instanceof RpcImportHook && hook.entry && hook.entry.session === this) {\n return hook.entry.importId;\n } else {\n return void 0;\n }\n }\n importStub(idx) {\n if (this.abortReason) throw this.abortReason;\n let entry = this.imports[idx];\n if (!entry) {\n entry = new ImportTableEntry(this, idx, false);\n this.imports[idx] = entry;\n }\n return new RpcImportHook(\n /*isPromise=*/\n false,\n entry\n );\n }\n importPromise(idx) {\n if (this.abortReason) throw this.abortReason;\n if (this.imports[idx]) {\n return new ErrorStubHook(new Error(\n \"Bug in RPC system: The peer sent a promise reusing an existing export ID.\"\n ));\n }\n let entry = new ImportTableEntry(this, idx, true);\n this.imports[idx] = entry;\n return new RpcImportHook(\n /*isPromise=*/\n true,\n entry\n );\n }\n getExport(idx) {\n return this.exports[idx]?.hook;\n }\n getPipeReadable(exportId) {\n let entry = this.exports[exportId];\n if (!entry || !entry.pipeReadable) {\n throw new Error(`Export ${exportId} is not a pipe or its readable end was already consumed.`);\n }\n let readable = entry.pipeReadable;\n entry.pipeReadable = void 0;\n return readable;\n }\n createPipe(readable, readableHook) {\n if (this.abortReason) throw this.abortReason;\n this.send([\"pipe\"]);\n let importId = this.imports.length;\n let entry = new ImportTableEntry(this, importId, false);\n this.imports.push(entry);\n let hook = new RpcImportHook(\n /*isPromise=*/\n false,\n entry\n );\n let writable = streamImpl.createWritableStreamFromHook(hook);\n readable.pipeTo(writable).catch(() => {\n }).finally(() => readableHook.dispose());\n return importId;\n }\n // Serializes and sends a message. Returns the byte length of the serialized message.\n send(msg) {\n if (this.abortReason !== void 0) {\n return 0;\n }\n let msgText;\n try {\n msgText = JSON.stringify(msg);\n } catch (err) {\n try {\n this.abort(err);\n } catch (err2) {\n }\n throw err;\n }\n this.transport.send(msgText).catch((err) => this.abort(err, false));\n return msgText.length;\n }\n sendCall(id, path, args) {\n if (this.abortReason) throw this.abortReason;\n let value = [\"pipeline\", id, path];\n if (args) {\n let devalue = Devaluator.devaluate(args.value, void 0, this, args);\n value.push(devalue[0]);\n }\n this.send([\"push\", value]);\n let entry = new ImportTableEntry(this, this.imports.length, false);\n this.imports.push(entry);\n return new RpcImportHook(\n /*isPromise=*/\n true,\n entry\n );\n }\n sendStream(id, path, args) {\n if (this.abortReason) throw this.abortReason;\n let value = [\"pipeline\", id, path];\n let devalue = Devaluator.devaluate(args.value, void 0, this, args);\n value.push(devalue[0]);\n let size = this.send([\"stream\", value]);\n let importId = this.imports.length;\n let entry = new ImportTableEntry(\n this,\n importId,\n /*pulling=*/\n true\n );\n entry.remoteRefcount = 0;\n entry.localRefcount = 1;\n this.imports.push(entry);\n let promise = entry.awaitResolution().then(\n (p) => {\n p.dispose();\n delete this.imports[importId];\n },\n (err) => {\n delete this.imports[importId];\n throw err;\n }\n );\n return { promise, size };\n }\n sendMap(id, path, captures, instructions) {\n if (this.abortReason) {\n for (let cap of captures) {\n cap.dispose();\n }\n throw this.abortReason;\n }\n let devaluedCaptures = captures.map((hook) => {\n let importId = this.getImport(hook);\n if (importId !== void 0) {\n return [\"import\", importId];\n } else {\n return [\"export\", this.exportStub(hook)];\n }\n });\n let value = [\"remap\", id, path, devaluedCaptures, instructions];\n this.send([\"push\", value]);\n let entry = new ImportTableEntry(this, this.imports.length, false);\n this.imports.push(entry);\n return new RpcImportHook(\n /*isPromise=*/\n true,\n entry\n );\n }\n sendPull(id) {\n if (this.abortReason) throw this.abortReason;\n this.send([\"pull\", id]);\n }\n sendRelease(id, remoteRefcount) {\n if (this.abortReason) return;\n this.send([\"release\", id, remoteRefcount]);\n delete this.imports[id];\n }\n abort(error, trySendAbortMessage = true) {\n if (this.abortReason !== void 0) return;\n this.cancelReadLoop(error);\n if (trySendAbortMessage) {\n try {\n this.transport.send(JSON.stringify([\"abort\", Devaluator.devaluate(error, void 0, this)])).catch((err) => {\n });\n } catch (err) {\n }\n }\n if (error === void 0) {\n error = \"undefined\";\n }\n this.abortReason = error;\n if (this.onBatchDone) {\n this.onBatchDone.reject(error);\n }\n if (this.transport.abort) {\n try {\n this.transport.abort(error);\n } catch (err) {\n Promise.resolve(err);\n }\n }\n for (let i in this.onBrokenCallbacks) {\n try {\n this.onBrokenCallbacks[i](error);\n } catch (err) {\n Promise.resolve(err);\n }\n }\n for (let i in this.imports) {\n this.imports[i].abort(error);\n }\n for (let i in this.exports) {\n this.exports[i].hook.dispose();\n }\n }\n async readLoop(abortPromise) {\n while (!this.abortReason) {\n let msg = JSON.parse(await Promise.race([this.transport.receive(), abortPromise]));\n if (this.abortReason) break;\n if (msg instanceof Array) {\n switch (msg[0]) {\n case \"push\":\n if (msg.length > 1) {\n let payload = new Evaluator(this).evaluate(msg[1]);\n let hook = new PayloadStubHook(payload);\n hook.ignoreUnhandledRejections();\n this.exports.push({ hook, refcount: 1 });\n continue;\n }\n break;\n case \"stream\": {\n if (msg.length > 1) {\n let payload = new Evaluator(this).evaluate(msg[1]);\n let hook = new PayloadStubHook(payload);\n hook.ignoreUnhandledRejections();\n let exportId = this.exports.length;\n this.exports.push({ hook, refcount: 1, autoRelease: true });\n this.ensureResolvingExport(exportId);\n continue;\n }\n break;\n }\n case \"pipe\": {\n let { readable, writable } = new TransformStream();\n let hook = streamImpl.createWritableStreamHook(writable);\n this.exports.push({ hook, refcount: 1, pipeReadable: readable });\n continue;\n }\n case \"pull\": {\n let exportId = msg[1];\n if (typeof exportId == \"number\") {\n this.ensureResolvingExport(exportId);\n continue;\n }\n break;\n }\n case \"resolve\":\n // [\"resolve\", ExportId, Expression]\n case \"reject\": {\n let importId = msg[1];\n if (typeof importId == \"number\" && msg.length > 2) {\n let imp = this.imports[importId];\n if (imp) {\n if (msg[0] == \"resolve\") {\n imp.resolve(new PayloadStubHook(new Evaluator(this).evaluate(msg[2])));\n } else {\n let payload = new Evaluator(this).evaluate(msg[2]);\n payload.dispose();\n imp.resolve(new ErrorStubHook(payload.value));\n }\n } else {\n if (msg[0] == \"resolve\") {\n new Evaluator(this).evaluate(msg[2]).dispose();\n }\n }\n continue;\n }\n break;\n }\n case \"release\": {\n let exportId = msg[1];\n let refcount = msg[2];\n if (typeof exportId == \"number\" && typeof refcount == \"number\") {\n this.releaseExport(exportId, refcount);\n continue;\n }\n break;\n }\n case \"abort\": {\n let payload = new Evaluator(this).evaluate(msg[1]);\n payload.dispose();\n this.abort(payload, false);\n break;\n }\n }\n }\n throw new Error(`bad RPC message: ${JSON.stringify(msg)}`);\n }\n }\n async drain() {\n if (this.abortReason) {\n throw this.abortReason;\n }\n if (this.pullCount > 0) {\n let { promise, resolve, reject } = Promise.withResolvers();\n this.onBatchDone = { resolve, reject };\n await promise;\n }\n }\n getStats() {\n let result = { imports: 0, exports: 0 };\n for (let i in this.imports) {\n ++result.imports;\n }\n for (let i in this.exports) {\n ++result.exports;\n }\n return result;\n }\n};\nvar RpcSession = class {\n #session;\n #mainStub;\n constructor(transport, localMain, options = {}) {\n let mainHook;\n if (localMain) {\n mainHook = new PayloadStubHook(RpcPayload.fromAppReturn(localMain));\n } else {\n mainHook = new ErrorStubHook(new Error(\"This connection has no main object.\"));\n }\n this.#session = new RpcSessionImpl(transport, mainHook, options);\n this.#mainStub = new RpcStub(this.#session.getMainImport());\n }\n getRemoteMain() {\n return this.#mainStub;\n }\n getStats() {\n return this.#session.getStats();\n }\n drain() {\n return this.#session.drain();\n }\n};\nfunction newWebSocketRpcSession(webSocket, localMain, options) {\n if (typeof webSocket === \"string\") {\n webSocket = new WebSocket(webSocket);\n }\n let transport = new WebSocketTransport(webSocket);\n let rpc = new RpcSession(transport, localMain, options);\n return rpc.getRemoteMain();\n}\nfunction newWorkersWebSocketRpcResponse(request, localMain, options) {\n if (request.headers.get(\"Upgrade\")?.toLowerCase() !== \"websocket\") {\n return new Response(\"This endpoint only accepts WebSocket requests.\", { status: 400 });\n }\n let pair = new WebSocketPair();\n let server = pair[0];\n server.accept();\n newWebSocketRpcSession(server, localMain, options);\n return new Response(null, {\n status: 101,\n webSocket: pair[1]\n });\n}\nvar WebSocketTransport = class {\n constructor(webSocket) {\n this.#webSocket = webSocket;\n if (webSocket.readyState === WebSocket.CONNECTING) {\n this.#sendQueue = [];\n webSocket.addEventListener(\"open\", (event) => {\n try {\n for (let message of this.#sendQueue) {\n webSocket.send(message);\n }\n } catch (err) {\n this.#receivedError(err);\n }\n this.#sendQueue = void 0;\n });\n }\n webSocket.addEventListener(\"message\", (event) => {\n if (this.#error) ;\n else if (typeof event.data === \"string\") {\n if (this.#receiveResolver) {\n this.#receiveResolver(event.data);\n this.#receiveResolver = void 0;\n this.#receiveRejecter = void 0;\n } else {\n this.#receiveQueue.push(event.data);\n }\n } else {\n this.#receivedError(new TypeError(\"Received non-string message from WebSocket.\"));\n }\n });\n webSocket.addEventListener(\"close\", (event) => {\n this.#receivedError(new Error(`Peer closed WebSocket: ${event.code} ${event.reason}`));\n });\n webSocket.addEventListener(\"error\", (event) => {\n this.#receivedError(new Error(`WebSocket connection failed.`));\n });\n }\n #webSocket;\n #sendQueue;\n // only if not opened yet\n #receiveResolver;\n #receiveRejecter;\n #receiveQueue = [];\n #error;\n async send(message) {\n if (this.#sendQueue === void 0) {\n this.#webSocket.send(message);\n } else {\n this.#sendQueue.push(message);\n }\n }\n async receive() {\n if (this.#receiveQueue.length > 0) {\n return this.#receiveQueue.shift();\n } else if (this.#error) {\n throw this.#error;\n } else {\n return new Promise((resolve, reject) => {\n this.#receiveResolver = resolve;\n this.#receiveRejecter = reject;\n });\n }\n }\n abort(reason) {\n let message;\n if (reason instanceof Error) {\n message = reason.message;\n } else {\n message = `${reason}`;\n }\n this.#webSocket.close(3e3, message);\n if (!this.#error) {\n this.#error = reason;\n }\n }\n #receivedError(reason) {\n if (!this.#error) {\n this.#error = reason;\n if (this.#receiveRejecter) {\n this.#receiveRejecter(reason);\n this.#receiveResolver = void 0;\n this.#receiveRejecter = void 0;\n }\n }\n }\n};\nvar BatchServerTransport = class {\n constructor(batch) {\n this.#batchToReceive = batch;\n }\n #batchToSend = [];\n #batchToReceive;\n #allReceived = Promise.withResolvers();\n async send(message) {\n this.#batchToSend.push(message);\n }\n async receive() {\n let msg = this.#batchToReceive.shift();\n if (msg !== void 0) {\n return msg;\n } else {\n this.#allReceived.resolve();\n return new Promise((r) => {\n });\n }\n }\n abort(reason) {\n this.#allReceived.reject(reason);\n }\n whenAllReceived() {\n return this.#allReceived.promise;\n }\n getResponseBody() {\n return this.#batchToSend.join(\"\\n\");\n }\n};\nasync function newHttpBatchRpcResponse(request, localMain, options) {\n if (request.method !== \"POST\") {\n return new Response(\"This endpoint only accepts POST requests.\", { status: 405 });\n }\n let body = await request.text();\n let batch = body === \"\" ? [] : body.split(\"\\n\");\n let transport = new BatchServerTransport(batch);\n let rpc = new RpcSession(transport, localMain, options);\n await transport.whenAllReceived();\n await rpc.drain();\n return new Response(transport.getResponseBody());\n}\nvar currentMapBuilder;\nvar MapBuilder = class {\n context;\n captureMap = /* @__PURE__ */ new Map();\n instructions = [];\n constructor(subject, path) {\n if (currentMapBuilder) {\n this.context = {\n parent: currentMapBuilder,\n captures: [],\n subject: currentMapBuilder.capture(subject),\n path\n };\n } else {\n this.context = {\n parent: void 0,\n captures: [],\n subject,\n path\n };\n }\n currentMapBuilder = this;\n }\n unregister() {\n currentMapBuilder = this.context.parent;\n }\n makeInput() {\n return new MapVariableHook(this, 0);\n }\n makeOutput(result) {\n let devalued;\n try {\n devalued = Devaluator.devaluate(result.value, void 0, this, result);\n } finally {\n result.dispose();\n }\n this.instructions.push(devalued);\n if (this.context.parent) {\n this.context.parent.instructions.push(\n [\n \"remap\",\n this.context.subject,\n this.context.path,\n this.context.captures.map((cap) => [\"import\", cap]),\n this.instructions\n ]\n );\n return new MapVariableHook(this.context.parent, this.context.parent.instructions.length);\n } else {\n return this.context.subject.map(this.context.path, this.context.captures, this.instructions);\n }\n }\n pushCall(hook, path, params) {\n let devalued = Devaluator.devaluate(params.value, void 0, this, params);\n devalued = devalued[0];\n let subject = this.capture(hook.dup());\n this.instructions.push([\"pipeline\", subject, path, devalued]);\n return new MapVariableHook(this, this.instructions.length);\n }\n pushGet(hook, path) {\n let subject = this.capture(hook.dup());\n this.instructions.push([\"pipeline\", subject, path]);\n return new MapVariableHook(this, this.instructions.length);\n }\n capture(hook) {\n if (hook instanceof MapVariableHook && hook.mapper === this) {\n return hook.idx;\n }\n let result = this.captureMap.get(hook);\n if (result === void 0) {\n if (this.context.parent) {\n let parentIdx = this.context.parent.capture(hook);\n this.context.captures.push(parentIdx);\n } else {\n this.context.captures.push(hook);\n }\n result = -this.context.captures.length;\n this.captureMap.set(hook, result);\n }\n return result;\n }\n // ---------------------------------------------------------------------------\n // implements Exporter\n exportStub(hook) {\n throw new Error(\n \"Can't construct an RpcTarget or RPC callback inside a mapper function. Try creating a new RpcStub outside the callback first, then using it inside the callback.\"\n );\n }\n exportPromise(hook) {\n return this.exportStub(hook);\n }\n getImport(hook) {\n return this.capture(hook);\n }\n unexport(ids) {\n }\n createPipe(readable) {\n throw new Error(\"Cannot send ReadableStream inside a mapper function.\");\n }\n onSendError(error) {\n }\n};\nmapImpl.sendMap = (hook, path, func) => {\n let builder = new MapBuilder(hook, path);\n let result;\n try {\n result = RpcPayload.fromAppReturn(withCallInterceptor(builder.pushCall.bind(builder), () => {\n return func(new RpcPromise(builder.makeInput(), []));\n }));\n } finally {\n builder.unregister();\n }\n if (result instanceof Promise) {\n result.catch((err) => {\n });\n throw new Error(\"RPC map() callbacks cannot be async.\");\n }\n return new RpcPromise(builder.makeOutput(result), []);\n};\nfunction throwMapperBuilderUseError() {\n throw new Error(\n \"Attempted to use an abstract placeholder from a mapper function. Please make sure your map function has no side effects.\"\n );\n}\nvar MapVariableHook = class extends StubHook {\n constructor(mapper, idx) {\n super();\n this.mapper = mapper;\n this.idx = idx;\n }\n // We don't have anything we actually need to dispose, so dup() can just return the same hook.\n dup() {\n return this;\n }\n dispose() {\n }\n get(path) {\n if (path.length == 0) {\n return this;\n } else if (currentMapBuilder) {\n return currentMapBuilder.pushGet(this, path);\n } else {\n throwMapperBuilderUseError();\n }\n }\n // Other methods should never be called.\n call(path, args) {\n throwMapperBuilderUseError();\n }\n map(path, captures, instructions) {\n throwMapperBuilderUseError();\n }\n pull() {\n throwMapperBuilderUseError();\n }\n ignoreUnhandledRejections() {\n }\n onBroken(callback) {\n throwMapperBuilderUseError();\n }\n};\nvar MapApplicator = class {\n constructor(captures, input) {\n this.captures = captures;\n this.variables = [input];\n }\n variables;\n dispose() {\n for (let variable of this.variables) {\n variable.dispose();\n }\n }\n apply(instructions) {\n try {\n if (instructions.length < 1) {\n throw new Error(\"Invalid empty mapper function.\");\n }\n for (let instruction of instructions.slice(0, -1)) {\n let payload = new Evaluator(this).evaluateCopy(instruction);\n if (payload.value instanceof RpcStub) {\n let hook = unwrapStubNoProperties(payload.value);\n if (hook) {\n this.variables.push(hook);\n continue;\n }\n }\n this.variables.push(new PayloadStubHook(payload));\n }\n return new Evaluator(this).evaluateCopy(instructions[instructions.length - 1]);\n } finally {\n for (let variable of this.variables) {\n variable.dispose();\n }\n }\n }\n importStub(idx) {\n throw new Error(\"A mapper function cannot refer to exports.\");\n }\n importPromise(idx) {\n return this.importStub(idx);\n }\n getExport(idx) {\n if (idx < 0) {\n return this.captures[-idx - 1];\n } else {\n return this.variables[idx];\n }\n }\n getPipeReadable(exportId) {\n throw new Error(\"A mapper function cannot use pipe readables.\");\n }\n};\nfunction applyMapToElement(input, parent, owner, captures, instructions) {\n let inputHook = new PayloadStubHook(RpcPayload.deepCopyFrom(input, parent, owner));\n let mapper = new MapApplicator(captures, inputHook);\n try {\n return mapper.apply(instructions);\n } finally {\n mapper.dispose();\n }\n}\nmapImpl.applyMap = (input, parent, owner, captures, instructions) => {\n try {\n let result;\n if (input instanceof RpcPromise) {\n throw new Error(\"applyMap() can't be called on RpcPromise\");\n } else if (input instanceof Array) {\n let payloads = [];\n try {\n for (let elem of input) {\n payloads.push(applyMapToElement(elem, input, owner, captures, instructions));\n }\n } catch (err) {\n for (let payload of payloads) {\n payload.dispose();\n }\n throw err;\n }\n result = RpcPayload.fromArray(payloads);\n } else if (input === null || input === void 0) {\n result = RpcPayload.fromAppReturn(input);\n } else {\n result = applyMapToElement(input, parent, owner, captures, instructions);\n }\n return new PayloadStubHook(result);\n } finally {\n for (let cap of captures) {\n cap.dispose();\n }\n }\n};\nvar WritableStreamStubHook = class _WritableStreamStubHook extends StubHook {\n state;\n // undefined when disposed\n // Creates a new WritableStreamStubHook that is not duplicated from an existing hook.\n static create(stream) {\n let writer = stream.getWriter();\n return new _WritableStreamStubHook({ refcount: 1, writer, closed: false });\n }\n constructor(state, dupFrom) {\n super();\n this.state = state;\n if (dupFrom) {\n ++state.refcount;\n }\n }\n getState() {\n if (this.state) {\n return this.state;\n } else {\n throw new Error(\"Attempted to use a WritableStreamStubHook after it was disposed.\");\n }\n }\n call(path, args) {\n try {\n let state = this.getState();\n if (path.length !== 1 || typeof path[0] !== \"string\") {\n throw new Error(\"WritableStream stub only supports direct method calls\");\n }\n const method = path[0];\n if (method !== \"write\" && method !== \"close\" && method !== \"abort\") {\n args.dispose();\n throw new Error(`Unknown WritableStream method: ${method}`);\n }\n if (method === \"close\" || method === \"abort\") {\n state.closed = true;\n }\n let func = state.writer[method];\n let promise = args.deliverCall(func, state.writer);\n return new PromiseStubHook(promise.then((payload) => new PayloadStubHook(payload)));\n } catch (err) {\n return new ErrorStubHook(err);\n }\n }\n map(path, captures, instructions) {\n for (let cap of captures) {\n cap.dispose();\n }\n return new ErrorStubHook(new Error(\"Cannot use map() on a WritableStream\"));\n }\n get(path) {\n return new ErrorStubHook(new Error(\"Cannot access properties on a WritableStream stub\"));\n }\n dup() {\n let state = this.getState();\n return new _WritableStreamStubHook(state, this);\n }\n pull() {\n return Promise.reject(new Error(\"Cannot pull a WritableStream stub\"));\n }\n ignoreUnhandledRejections() {\n }\n dispose() {\n let state = this.state;\n this.state = void 0;\n if (state) {\n if (--state.refcount === 0) {\n if (!state.closed) {\n state.writer.abort(new Error(\"WritableStream RPC stub was disposed without calling close()\")).catch(() => {\n });\n }\n state.writer.releaseLock();\n }\n }\n }\n onBroken(callback) {\n }\n};\nvar INITIAL_WINDOW = 256 * 1024;\nvar MAX_WINDOW = 1024 * 1024 * 1024;\nvar MIN_WINDOW = 64 * 1024;\nvar STARTUP_GROWTH_FACTOR = 2;\nvar STEADY_GROWTH_FACTOR = 1.25;\nvar DECAY_FACTOR = 0.9;\nvar STARTUP_EXIT_ROUNDS = 3;\nvar FlowController = class {\n constructor(now) {\n this.now = now;\n }\n // The current window size in bytes. The sender blocks when bytesInFlight >= window.\n window = INITIAL_WINDOW;\n // Total bytes currently in flight (sent but not yet acked).\n bytesInFlight = 0;\n // Whether we're still in the startup phase.\n inStartupPhase = true;\n // ----- BDP estimation state (private) -----\n // Total bytes acked so far.\n delivered = 0;\n // Time of most recent ack.\n deliveredTime = 0;\n // Time when the very first ack was received.\n firstAckTime = 0;\n firstAckDelivered = 0;\n // Global minimum RTT observed (milliseconds).\n minRtt = Infinity;\n // For startup exit: count of consecutive RTT rounds where the window didn't meaningfully grow.\n roundsWithoutIncrease = 0;\n // Window size at the start of the current round, for startup exit detection.\n lastRoundWindow = 0;\n // Time when the current round started.\n roundStartTime = 0;\n // Called when a write of `size` bytes is about to be sent. Returns a token that must be\n // passed to onAck() when the ack arrives, and whether the sender should block (window full).\n onSend(size) {\n this.bytesInFlight += size;\n let token = {\n sentTime: this.now(),\n size,\n deliveredAtSend: this.delivered,\n deliveredTimeAtSend: this.deliveredTime,\n windowAtSend: this.window,\n windowFullAtSend: this.bytesInFlight >= this.window\n };\n return { token, shouldBlock: token.windowFullAtSend };\n }\n // Called when a previously-sent write fails. Restores bytesInFlight without updating\n // any BDP estimates.\n onError(token) {\n this.bytesInFlight -= token.size;\n }\n // Called when an ack is received for a previously-sent write. Updates BDP estimates and\n // the window. Returns whether a blocked sender should now unblock.\n onAck(token) {\n let ackTime = this.now();\n this.delivered += token.size;\n this.deliveredTime = ackTime;\n this.bytesInFlight -= token.size;\n let rtt = ackTime - token.sentTime;\n this.minRtt = Math.min(this.minRtt, rtt);\n if (this.firstAckTime === 0) {\n this.firstAckTime = ackTime;\n this.firstAckDelivered = this.delivered;\n } else {\n let baseTime;\n let baseDelivered;\n if (token.deliveredTimeAtSend === 0) {\n baseTime = this.firstAckTime;\n baseDelivered = this.firstAckDelivered;\n } else {\n baseTime = token.deliveredTimeAtSend;\n baseDelivered = token.deliveredAtSend;\n }\n let interval = ackTime - baseTime;\n let bytes = this.delivered - baseDelivered;\n let bandwidth = bytes / interval;\n let growthFactor = this.inStartupPhase ? STARTUP_GROWTH_FACTOR : STEADY_GROWTH_FACTOR;\n let newWindow = bandwidth * this.minRtt * growthFactor;\n newWindow = Math.min(newWindow, token.windowAtSend * growthFactor);\n if (token.windowFullAtSend) {\n newWindow = Math.max(newWindow, token.windowAtSend * DECAY_FACTOR);\n } else {\n newWindow = Math.max(newWindow, this.window);\n }\n this.window = Math.max(Math.min(newWindow, MAX_WINDOW), MIN_WINDOW);\n if (this.inStartupPhase && token.sentTime >= this.roundStartTime) {\n if (this.window > this.lastRoundWindow * STEADY_GROWTH_FACTOR) {\n this.roundsWithoutIncrease = 0;\n } else {\n if (++this.roundsWithoutIncrease >= STARTUP_EXIT_ROUNDS) {\n this.inStartupPhase = false;\n }\n }\n this.roundStartTime = ackTime;\n this.lastRoundWindow = this.window;\n }\n }\n return this.bytesInFlight < this.window;\n }\n};\nfunction createWritableStreamFromHook(hook) {\n let pendingError = void 0;\n let hookDisposed = false;\n let fc = new FlowController(() => performance.now());\n let windowResolve;\n let windowReject;\n const disposeHook = () => {\n if (!hookDisposed) {\n hookDisposed = true;\n hook.dispose();\n }\n };\n return new WritableStream({\n write(chunk, controller) {\n if (pendingError !== void 0) {\n throw pendingError;\n }\n const payload = RpcPayload.fromAppParams([chunk]);\n const { promise, size } = hook.stream([\"write\"], payload);\n if (size === void 0) {\n return promise.catch((err) => {\n if (pendingError === void 0) {\n pendingError = err;\n }\n throw err;\n });\n } else {\n let { token, shouldBlock } = fc.onSend(size);\n promise.then(() => {\n let hasCapacity = fc.onAck(token);\n if (hasCapacity && windowResolve) {\n windowResolve();\n windowResolve = void 0;\n windowReject = void 0;\n }\n }, (err) => {\n fc.onError(token);\n if (pendingError === void 0) {\n pendingError = err;\n controller.error(err);\n disposeHook();\n }\n if (windowReject) {\n windowReject(err);\n windowResolve = void 0;\n windowReject = void 0;\n }\n });\n if (shouldBlock) {\n return new Promise((resolve, reject) => {\n windowResolve = resolve;\n windowReject = reject;\n });\n }\n }\n },\n async close() {\n if (pendingError !== void 0) {\n disposeHook();\n throw pendingError;\n }\n const { promise } = hook.stream([\"close\"], RpcPayload.fromAppParams([]));\n try {\n await promise;\n } catch (err) {\n throw pendingError ?? err;\n } finally {\n disposeHook();\n }\n },\n abort(reason) {\n if (pendingError !== void 0) {\n return;\n }\n pendingError = reason ?? new Error(\"WritableStream was aborted\");\n if (windowReject) {\n windowReject(pendingError);\n windowResolve = void 0;\n windowReject = void 0;\n }\n const { promise } = hook.stream([\"abort\"], RpcPayload.fromAppParams([reason]));\n promise.then(() => disposeHook(), () => disposeHook());\n }\n });\n}\nvar ReadableStreamStubHook = class _ReadableStreamStubHook extends StubHook {\n state;\n // undefined when disposed\n // Creates a new ReadableStreamStubHook.\n static create(stream) {\n return new _ReadableStreamStubHook({ refcount: 1, stream, canceled: false });\n }\n constructor(state, dupFrom) {\n super();\n this.state = state;\n if (dupFrom) {\n ++state.refcount;\n }\n }\n call(path, args) {\n args.dispose();\n return new ErrorStubHook(new Error(\"Cannot call methods on a ReadableStream stub\"));\n }\n map(path, captures, instructions) {\n for (let cap of captures) {\n cap.dispose();\n }\n return new ErrorStubHook(new Error(\"Cannot use map() on a ReadableStream\"));\n }\n get(path) {\n return new ErrorStubHook(new Error(\"Cannot access properties on a ReadableStream stub\"));\n }\n dup() {\n let state = this.state;\n if (!state) {\n throw new Error(\"Attempted to dup a ReadableStreamStubHook after it was disposed.\");\n }\n return new _ReadableStreamStubHook(state, this);\n }\n pull() {\n return Promise.reject(new Error(\"Cannot pull a ReadableStream stub\"));\n }\n ignoreUnhandledRejections() {\n }\n dispose() {\n let state = this.state;\n this.state = void 0;\n if (state) {\n if (--state.refcount === 0) {\n if (!state.canceled) {\n state.canceled = true;\n if (!state.stream.locked) {\n state.stream.cancel(\n new Error(\"ReadableStream RPC stub was disposed without being consumed\")\n ).catch(() => {\n });\n }\n }\n }\n }\n }\n onBroken(callback) {\n }\n};\nstreamImpl.createWritableStreamHook = WritableStreamStubHook.create;\nstreamImpl.createWritableStreamFromHook = createWritableStreamFromHook;\nstreamImpl.createReadableStreamHook = ReadableStreamStubHook.create;\nasync function newWorkersRpcResponse(request, localMain) {\n if (request.method === \"POST\") {\n let response = await newHttpBatchRpcResponse(request, localMain);\n response.headers.set(\"Access-Control-Allow-Origin\", \"*\");\n return response;\n } else if (request.headers.get(\"Upgrade\")?.toLowerCase() === \"websocket\") {\n return newWorkersWebSocketRpcResponse(request, localMain);\n } else {\n return new Response(\"This endpoint only accepts POST or WebSocket requests.\", { status: 400 });\n }\n}\n\n// templates/remoteBindings/ProxyServerWorker.ts\nimport { EmailMessage } from \"cloudflare:email\";\nvar BindingNotFoundError = class extends Error {\n constructor(name) {\n super(`Binding ${name ? `\"${name}\"` : \"\"} not found`);\n }\n};\nfunction getExposedJSRPCBinding(request, env) {\n const url = new URL(request.url);\n const bindingName = url.searchParams.get(\"MF-Binding\");\n if (!bindingName) {\n throw new BindingNotFoundError();\n }\n const targetBinding = env[bindingName];\n if (!targetBinding) {\n throw new BindingNotFoundError(bindingName);\n }\n if (targetBinding.constructor.name === \"SendEmail\") {\n return {\n async send(e) {\n if (\"EmailMessage::raw\" in e) {\n const message = new EmailMessage(\n e.from,\n e.to,\n e[\"EmailMessage::raw\"]\n );\n return targetBinding.send(message);\n } else {\n return targetBinding.send(e);\n }\n }\n };\n }\n const dispatchNamespaceOptions = url.searchParams.get(\n \"MF-Dispatch-Namespace-Options\"\n );\n if (dispatchNamespaceOptions) {\n const { name, args, options } = JSON.parse(dispatchNamespaceOptions);\n return targetBinding.get(name, args, options);\n }\n return targetBinding;\n}\nfunction getExposedFetcher(request, env) {\n const bindingName = request.headers.get(\"MF-Binding\");\n if (!bindingName) {\n throw new BindingNotFoundError();\n }\n const targetBinding = env[bindingName];\n if (!targetBinding) {\n throw new BindingNotFoundError(bindingName);\n }\n const dispatchNamespaceOptions = request.headers.get(\n \"MF-Dispatch-Namespace-Options\"\n );\n if (dispatchNamespaceOptions) {\n const { name, args, options } = JSON.parse(dispatchNamespaceOptions);\n return targetBinding.get(name, args, options);\n }\n return targetBinding;\n}\nfunction isJSRPCBinding(request) {\n const url = new URL(request.url);\n return request.headers.has(\"Upgrade\") && url.searchParams.has(\"MF-Binding\");\n}\nfunction isConnectBinding(request) {\n return request.headers.get(\"Upgrade\") === \"websocket\" && request.headers.has(\"MF-Connect-Address\");\n}\nfunction handleConnect(request, env) {\n const address = request.headers.get(\"MF-Connect-Address\");\n if (address === null) {\n return new Response(\"Missing MF-Connect-Address header\", { status: 400 });\n }\n const fetcher = getExposedFetcher(request, env);\n const { 0: client, 1: server } = new WebSocketPair();\n server.accept();\n const socket = fetcher.connect(address);\n pipeSocketOverWebSocket(socket, server).catch(() => {\n });\n return new Response(null, { status: 101, webSocket: client });\n}\nfunction truncateCloseReason(reason) {\n const bytes = new TextEncoder().encode(reason);\n if (bytes.length <= 123) {\n return reason;\n }\n let end = 123;\n while (end > 0 && ((bytes[end] ?? 0) & 192) === 128) {\n end--;\n }\n return new TextDecoder().decode(bytes.subarray(0, end));\n}\nasync function pipeSocketOverWebSocket(socket, ws) {\n const writer = socket.writable.getWriter();\n const reader = socket.readable.getReader();\n let wsClosed = false;\n function closeWebSocket(code, reason) {\n if (wsClosed) {\n return;\n }\n wsClosed = true;\n try {\n ws.close(\n code,\n reason === void 0 ? void 0 : truncateCloseReason(reason)\n );\n } catch {\n }\n }\n let writeChain = Promise.resolve();\n let writerClosed = false;\n function closeWriter() {\n if (writerClosed) {\n return Promise.resolve();\n }\n writerClosed = true;\n return writeChain.then(() => writer.close());\n }\n let resolveFromWs;\n let rejectFromWs;\n const fromWebSocket = new Promise((resolve, reject) => {\n resolveFromWs = resolve;\n rejectFromWs = reject;\n });\n ws.addEventListener(\"message\", (event) => {\n const chunk = typeof event.data === \"string\" ? new TextEncoder().encode(event.data) : new Uint8Array(event.data);\n writeChain = writeChain.then(() => writer.write(chunk)).catch((error) => {\n closeWebSocket(\n 1011,\n error?.message ?? \"socket write failed\"\n );\n reader.cancel().catch(() => {\n });\n rejectFromWs(error);\n });\n });\n ws.addEventListener(\"close\", (event) => {\n wsClosed = true;\n reader.cancel().catch(() => {\n });\n if (event.code === 1011) {\n rejectFromWs(\n new Error(event.reason || \"Remote tunnel closed with an error\")\n );\n return;\n }\n closeWriter().then(resolveFromWs, rejectFromWs);\n });\n ws.addEventListener(\"error\", () => {\n wsClosed = true;\n reader.cancel().catch(() => {\n });\n rejectFromWs(new Error(\"Tunnel WebSocket errored\"));\n });\n const toWebSocket = (async () => {\n try {\n for (; ; ) {\n const { value, done } = await reader.read();\n if (done) {\n break;\n }\n if (wsClosed) {\n break;\n }\n ws.send(\n value.buffer.slice(\n value.byteOffset,\n value.byteOffset + value.byteLength\n )\n );\n }\n closeWebSocket(1e3);\n } catch (error) {\n closeWebSocket(1011, error?.message ?? \"socket read failed\");\n throw error;\n } finally {\n reader.releaseLock();\n closeWriter().then(resolveFromWs, rejectFromWs);\n }\n })();\n await Promise.all([toWebSocket, fromWebSocket]);\n}\nvar ProxyServerWorker_default = {\n async fetch(request, env) {\n try {\n if (isConnectBinding(request)) {\n return handleConnect(request, env);\n } else if (isJSRPCBinding(request)) {\n return await newWorkersRpcResponse(\n request,\n getExposedJSRPCBinding(request, env)\n );\n } else {\n const fetcher = getExposedFetcher(request, env);\n const originalHeaders = new Headers();\n for (const [name, value] of request.headers) {\n if (name.startsWith(\"mf-header-\")) {\n originalHeaders.set(name.slice(\"mf-header-\".length), value);\n } else if (name === \"upgrade\") {\n originalHeaders.set(name, value);\n }\n }\n return await fetcher.fetch(\n request.headers.get(\"MF-URL\") ?? \"http://example.com\",\n new Request(request, {\n redirect: \"manual\",\n headers: originalHeaders\n })\n );\n }\n } catch (e) {\n if (e instanceof BindingNotFoundError) {\n return new Response(e.message, { status: 400 });\n }\n return new Response(e.message, { status: 500 });\n }\n }\n};\nexport {\n ProxyServerWorker_default as default\n};\n";
|
|
61567
|
+
var ProxyServerWorker_default = "// ../../node_modules/.pnpm/capnweb@0.12.0/node_modules/capnweb/dist/index-workers.js\nimport * as cfw from \"cloudflare:workers\";\nvar WORKERS_MODULE_SYMBOL = /* @__PURE__ */ Symbol(\"workers-module\");\nglobalThis[WORKERS_MODULE_SYMBOL] = cfw;\nif (!Symbol.dispose) Symbol.dispose = /* @__PURE__ */ Symbol.for(\"dispose\");\nif (!Symbol.asyncDispose) Symbol.asyncDispose = /* @__PURE__ */ Symbol.for(\"asyncDispose\");\nif (!Promise.withResolvers) Promise.withResolvers = function() {\n let resolve;\n let reject;\n return {\n promise: new Promise((res, rej) => {\n resolve = res;\n reject = rej;\n }),\n resolve,\n reject\n };\n};\nvar workersModule = globalThis[WORKERS_MODULE_SYMBOL];\nvar RpcTarget$1 = workersModule ? workersModule.RpcTarget : class {\n};\nvar AsyncFunction = (async function() {\n}).constructor;\nvar BUFFER_PROTOTYPE = typeof Buffer !== \"undefined\" ? Buffer.prototype : void 0;\nfunction typeForRpc(value) {\n switch (typeof value) {\n case \"boolean\":\n case \"number\":\n case \"string\":\n return \"primitive\";\n case \"undefined\":\n return \"undefined\";\n case \"object\":\n case \"function\":\n break;\n case \"bigint\":\n return \"bigint\";\n default:\n return \"unsupported\";\n }\n if (value === null) return \"primitive\";\n let prototype = Object.getPrototypeOf(value);\n switch (prototype) {\n case Object.prototype:\n return \"object\";\n case Function.prototype:\n case AsyncFunction.prototype:\n return \"function\";\n case Array.prototype:\n return \"array\";\n case Date.prototype:\n return \"date\";\n case Uint8Array.prototype:\n case BUFFER_PROTOTYPE:\n case ArrayBuffer.prototype:\n case DataView.prototype:\n case Int8Array.prototype:\n case Uint8ClampedArray.prototype:\n case Int16Array.prototype:\n case Uint16Array.prototype:\n case Int32Array.prototype:\n case Uint32Array.prototype:\n case BigInt64Array.prototype:\n case BigUint64Array.prototype:\n case Float32Array.prototype:\n case Float64Array.prototype:\n return \"bytes\";\n case WritableStream.prototype:\n return \"writable\";\n case ReadableStream.prototype:\n return \"readable\";\n case URL.prototype:\n return \"url\";\n case Headers.prototype:\n return \"headers\";\n case Request.prototype:\n return \"request\";\n case Response.prototype:\n return \"response\";\n case Blob.prototype:\n return \"blob\";\n case RpcStub$1.prototype:\n return \"stub\";\n case RpcPromise$1.prototype:\n return \"rpc-promise\";\n default:\n if (workersModule) {\n if (prototype == workersModule.RpcStub.prototype || value instanceof workersModule.ServiceStub) return \"rpc-target\";\n else if (prototype == workersModule.RpcPromise.prototype || prototype == workersModule.RpcProperty.prototype) return \"rpc-thenable\";\n }\n if (value instanceof RpcTarget$1) return \"rpc-target\";\n if (value instanceof Error) return \"error\";\n return \"unsupported\";\n }\n}\nfunction mapNotLoaded() {\n throw new Error(\"RPC map() implementation was not loaded.\");\n}\nvar mapImpl = {\n applyMap: mapNotLoaded,\n sendMap: mapNotLoaded\n};\nfunction streamNotLoaded() {\n throw new Error(\"Stream implementation was not loaded.\");\n}\nvar streamImpl = {\n createWritableStreamHook: streamNotLoaded,\n createWritableStreamFromHook: streamNotLoaded,\n createReadableStreamHook: streamNotLoaded\n};\nvar StubHook = class {\n stream(path, args) {\n let hook = this.call(path, args);\n let pulled;\n try {\n pulled = hook.pull();\n } catch (err) {\n hook.dispose();\n throw err;\n }\n let promise;\n if (pulled instanceof Promise) promise = pulled.then((p) => {\n p.dispose();\n });\n else {\n pulled.dispose();\n promise = Promise.resolve();\n }\n return { promise };\n }\n};\nvar ErrorStubHook = class extends StubHook {\n error;\n constructor(error) {\n super();\n this.error = error;\n }\n call(path, args) {\n args.dispose();\n return this;\n }\n map(path, captures, instructions) {\n for (let cap of captures) cap.dispose();\n return this;\n }\n get(path) {\n return this;\n }\n dup() {\n return this;\n }\n pull() {\n return Promise.reject(this.error);\n }\n ignoreUnhandledRejections() {\n }\n dispose() {\n }\n onBroken(callback) {\n try {\n callback(this.error);\n } catch (err) {\n Promise.resolve(err);\n }\n }\n};\nvar DISPOSED_HOOK = new ErrorStubHook(/* @__PURE__ */ new Error(\"Attempted to use RPC stub after it has been disposed.\"));\nvar doCall = (hook, path, params) => {\n return hook.call(path, params);\n};\nfunction withCallInterceptor(interceptor, callback) {\n let oldValue = doCall;\n doCall = interceptor;\n try {\n return callback();\n } finally {\n doCall = oldValue;\n }\n}\nvar RAW_STUB = /* @__PURE__ */ Symbol(\"realStub\");\nvar PROXY_HANDLERS = {\n apply(target, thisArg, argumentsList) {\n let stub = target.raw;\n return new RpcPromise$1(doCall(stub.hook, stub.pathIfPromise || [], RpcPayload.fromAppParams(argumentsList)), []);\n },\n get(target, prop, receiver) {\n let stub = target.raw;\n if (prop === RAW_STUB) return stub;\n else if (prop in RpcPromise$1.prototype) return stub[prop];\n else if (typeof prop === \"string\") return new RpcPromise$1(stub.hook, stub.pathIfPromise ? [...stub.pathIfPromise, prop] : [prop]);\n else if (prop === Symbol.dispose && (!stub.pathIfPromise || stub.pathIfPromise.length == 0)) return () => {\n stub.hook.dispose();\n stub.hook = DISPOSED_HOOK;\n };\n else return;\n },\n has(target, prop) {\n let stub = target.raw;\n if (prop === RAW_STUB) return true;\n else if (prop in RpcPromise$1.prototype) return prop in stub;\n else if (typeof prop === \"string\") return true;\n else if (prop === Symbol.dispose && (!stub.pathIfPromise || stub.pathIfPromise.length == 0)) return true;\n else return false;\n },\n construct(target, args) {\n throw new Error(\"An RPC stub cannot be used as a constructor.\");\n },\n defineProperty(target, property, attributes) {\n throw new Error(\"Can't define properties on RPC stubs.\");\n },\n deleteProperty(target, p) {\n throw new Error(\"Can't delete properties on RPC stubs.\");\n },\n getOwnPropertyDescriptor(target, p) {\n },\n getPrototypeOf(target) {\n return Object.getPrototypeOf(target.raw);\n },\n isExtensible(target) {\n return false;\n },\n ownKeys(target) {\n return [];\n },\n preventExtensions(target) {\n return true;\n },\n set(target, p, newValue, receiver) {\n throw new Error(\"Can't assign properties on RPC stubs.\");\n },\n setPrototypeOf(target, v) {\n throw new Error(\"Can't override prototype of RPC stubs.\");\n }\n};\nvar RpcStub$1 = class RpcStub$12 extends RpcTarget$1 {\n constructor(hook, pathIfPromise) {\n super();\n if (!(hook instanceof StubHook)) {\n let value = hook;\n if (value instanceof RpcTarget$1 || value instanceof Function) hook = TargetStubHook.create(value, void 0);\n else hook = new PayloadStubHook(RpcPayload.fromAppReturn(value));\n if (pathIfPromise) throw new TypeError(\"RpcStub constructor expected one argument, received two.\");\n }\n this.hook = hook;\n this.pathIfPromise = pathIfPromise;\n let func = () => {\n };\n func.raw = this;\n return new Proxy(func, PROXY_HANDLERS);\n }\n hook;\n pathIfPromise;\n dup() {\n let target = this[RAW_STUB];\n if (target.pathIfPromise) return new RpcStub$12(target.hook.get(target.pathIfPromise));\n else return new RpcStub$12(target.hook.dup());\n }\n onRpcBroken(callback) {\n this[RAW_STUB].hook.onBroken(callback);\n }\n map(func) {\n let { hook, pathIfPromise } = this[RAW_STUB];\n return mapImpl.sendMap(hook, pathIfPromise || [], func);\n }\n toString() {\n return \"[object RpcStub]\";\n }\n};\nvar RpcPromise$1 = class extends RpcStub$1 {\n constructor(hook, pathIfPromise) {\n if (hook instanceof StubHook) super(hook, pathIfPromise ?? []);\n else {\n if (pathIfPromise !== void 0) throw new TypeError(\"RpcPromise constructor expected one argument, received two.\");\n let kind = typeForRpc(hook);\n if (kind === \"rpc-promise\") {\n let raw = unwrapStubAndPath(hook);\n if (raw.pathIfPromise.length > 0) super(raw.hook, raw.pathIfPromise);\n else {\n let adopted = raw.hook;\n raw.hook = DISPOSED_HOOK;\n super(adopted, []);\n }\n } else if (kind === \"rpc-thenable\") super(TargetStubHook.create(hook, void 0), []);\n else {\n let promiseHook = new PromiseStubHook(Promise.resolve(hook).then((value) => new PayloadStubHook(RpcPayload.fromAppReturn(value))));\n promiseHook.ignoreUnhandledRejections();\n super(promiseHook, []);\n }\n }\n }\n then(onfulfilled, onrejected) {\n return pullPromise(this).then(...arguments);\n }\n catch(onrejected) {\n return pullPromise(this).catch(...arguments);\n }\n finally(onfinally) {\n return pullPromise(this).finally(...arguments);\n }\n toString() {\n return \"[object RpcPromise]\";\n }\n};\nfunction unwrapStubTakingOwnership(stub) {\n let { hook, pathIfPromise } = stub[RAW_STUB];\n if (pathIfPromise && pathIfPromise.length > 0) return hook.get(pathIfPromise);\n else return hook;\n}\nfunction unwrapStubAndDup(stub) {\n let { hook, pathIfPromise } = stub[RAW_STUB];\n if (pathIfPromise) return hook.get(pathIfPromise);\n else return hook.dup();\n}\nfunction unwrapStubNoProperties(stub) {\n let { hook, pathIfPromise } = stub[RAW_STUB];\n if (pathIfPromise && pathIfPromise.length > 0) return;\n return hook;\n}\nfunction unwrapStubOrParent(stub) {\n return stub[RAW_STUB].hook;\n}\nfunction unwrapStubAndPath(stub) {\n return stub[RAW_STUB];\n}\nasync function pullPromise(promise) {\n let { hook, pathIfPromise } = promise[RAW_STUB];\n if (pathIfPromise.length > 0) hook = hook.get(pathIfPromise);\n return (await hook.pull()).deliverResolve();\n}\nvar RpcPayload = class RpcPayload2 {\n value;\n source;\n hooks;\n promises;\n static fromAppParams(value) {\n return new RpcPayload2(value, \"params\");\n }\n static fromAppReturn(value) {\n return new RpcPayload2(value, \"return\");\n }\n static fromArray(array) {\n let hooks = [];\n let promises = [];\n let resultArray = [];\n for (let payload of array) {\n payload.ensureDeepCopied();\n for (let hook of payload.hooks) hooks.push(hook);\n for (let promise of payload.promises) {\n if (promise.parent === payload) promise = {\n parent: resultArray,\n property: resultArray.length,\n promise: promise.promise\n };\n promises.push(promise);\n }\n resultArray.push(payload.value);\n }\n return new RpcPayload2(resultArray, \"owned\", hooks, promises);\n }\n static forEvaluate(hooks, promises) {\n return new RpcPayload2(null, \"owned\", hooks, promises);\n }\n static deepCopyFrom(value, oldParent, owner) {\n let result = new RpcPayload2(null, \"owned\", [], []);\n result.value = result.deepCopy(value, oldParent, \"value\", result, true, owner);\n return result;\n }\n constructor(value, source, hooks, promises) {\n this.value = value;\n this.source = source;\n this.hooks = hooks;\n this.promises = promises;\n }\n rpcTargets;\n getHookForRpcTarget(target, parent, dupStubs = true) {\n if (this.source === \"params\") {\n if (dupStubs) {\n let dupable = target;\n if (typeof dupable.dup === \"function\") target = dupable.dup();\n }\n return TargetStubHook.create(target, parent);\n } else if (this.source === \"return\") {\n let hook = this.rpcTargets?.get(target);\n if (hook) if (dupStubs) return hook.dup();\n else {\n this.rpcTargets?.delete(target);\n return hook;\n }\n else {\n hook = TargetStubHook.create(target, parent);\n if (dupStubs) {\n if (!this.rpcTargets) this.rpcTargets = /* @__PURE__ */ new Map();\n this.rpcTargets.set(target, hook);\n return hook.dup();\n } else return hook;\n }\n } else throw new Error(\"owned payload shouldn't contain raw RpcTargets\");\n }\n getHookForWritableStream(stream, parent, dupStubs = true) {\n if (this.source === \"params\") return streamImpl.createWritableStreamHook(stream);\n else if (this.source === \"return\") {\n let hook = this.rpcTargets?.get(stream);\n if (hook) if (dupStubs) return hook.dup();\n else {\n this.rpcTargets?.delete(stream);\n return hook;\n }\n else {\n hook = streamImpl.createWritableStreamHook(stream);\n if (dupStubs) {\n if (!this.rpcTargets) this.rpcTargets = /* @__PURE__ */ new Map();\n this.rpcTargets.set(stream, hook);\n return hook.dup();\n } else return hook;\n }\n } else throw new Error(\"owned payload shouldn't contain raw WritableStreams\");\n }\n getHookForReadableStream(stream, parent, dupStubs = true) {\n if (this.source === \"params\") return streamImpl.createReadableStreamHook(stream);\n else if (this.source === \"return\") {\n let hook = this.rpcTargets?.get(stream);\n if (hook) if (dupStubs) return hook.dup();\n else {\n this.rpcTargets?.delete(stream);\n return hook;\n }\n else {\n hook = streamImpl.createReadableStreamHook(stream);\n if (dupStubs) {\n if (!this.rpcTargets) this.rpcTargets = /* @__PURE__ */ new Map();\n this.rpcTargets.set(stream, hook);\n return hook.dup();\n } else return hook;\n }\n } else throw new Error(\"owned payload shouldn't contain raw ReadableStreams\");\n }\n deepCopy(value, oldParent, property, parent, dupStubs, owner) {\n switch (typeForRpc(value)) {\n case \"unsupported\":\n return value;\n case \"primitive\":\n case \"bigint\":\n case \"date\":\n case \"bytes\":\n case \"blob\":\n case \"url\":\n case \"error\":\n case \"undefined\":\n return value;\n case \"array\": {\n let array = value;\n let len = array.length;\n let result = new Array(len);\n for (let i = 0; i < len; i++) result[i] = this.deepCopy(array[i], array, i, result, dupStubs, owner);\n return result;\n }\n case \"object\": {\n let result = {};\n let object = value;\n for (let i in object) result[i] = this.deepCopy(object[i], object, i, result, dupStubs, owner);\n return result;\n }\n case \"stub\":\n case \"rpc-promise\": {\n let stub = value;\n let hook;\n if (dupStubs) hook = unwrapStubAndDup(stub);\n else hook = unwrapStubTakingOwnership(stub);\n if (stub instanceof RpcPromise$1) {\n let promise = new RpcPromise$1(hook, []);\n this.promises.push({\n parent,\n property,\n promise\n });\n return promise;\n } else {\n this.hooks.push(hook);\n return new RpcStub$1(hook);\n }\n }\n case \"function\":\n case \"rpc-target\": {\n let target = value;\n let hook;\n if (owner) hook = owner.getHookForRpcTarget(target, oldParent, dupStubs);\n else hook = TargetStubHook.create(target, oldParent);\n this.hooks.push(hook);\n return new RpcStub$1(hook);\n }\n case \"rpc-thenable\": {\n let target = value;\n let promise;\n if (owner) promise = new RpcPromise$1(owner.getHookForRpcTarget(target, oldParent, dupStubs), []);\n else promise = new RpcPromise$1(TargetStubHook.create(target, oldParent), []);\n this.promises.push({\n parent,\n property,\n promise\n });\n return promise;\n }\n case \"writable\": {\n let stream = value;\n let hook;\n if (owner) hook = owner.getHookForWritableStream(stream, oldParent, dupStubs);\n else hook = streamImpl.createWritableStreamHook(stream);\n this.hooks.push(hook);\n return stream;\n }\n case \"readable\": {\n let stream = value;\n let hook;\n if (owner) hook = owner.getHookForReadableStream(stream, oldParent, dupStubs);\n else hook = streamImpl.createReadableStreamHook(stream);\n this.hooks.push(hook);\n return stream;\n }\n case \"headers\":\n return new Headers(value);\n case \"request\": {\n let req = value;\n if (req.body) this.deepCopy(req.body, req, \"body\", req, dupStubs, owner);\n return new Request(req);\n }\n case \"response\": {\n let resp = value;\n if (resp.body) this.deepCopy(resp.body, resp, \"body\", resp, dupStubs, owner);\n return new Response(resp.body, resp);\n }\n default:\n throw new Error(\"unreachable\");\n }\n }\n ensureDeepCopied() {\n if (this.source !== \"owned\") {\n let dupStubs = this.source === \"params\";\n this.hooks = [];\n this.promises = [];\n try {\n this.value = this.deepCopy(this.value, void 0, \"value\", this, dupStubs, this);\n } catch (err) {\n this.hooks = void 0;\n this.promises = void 0;\n throw err;\n }\n this.source = \"owned\";\n if (this.rpcTargets && this.rpcTargets.size > 0) throw new Error(\"Not all rpcTargets were accounted for in deep-copy?\");\n this.rpcTargets = void 0;\n }\n }\n deliverTo(parent, property, promises) {\n this.ensureDeepCopied();\n if (this.value instanceof RpcPromise$1) RpcPayload2.deliverRpcPromiseTo(this.value, parent, property, promises);\n else {\n parent[property] = this.value;\n for (let record of this.promises) RpcPayload2.deliverRpcPromiseTo(record.promise, record.parent, record.property, promises);\n }\n }\n static deliverRpcPromiseTo(promise, parent, property, promises) {\n let hook = unwrapStubNoProperties(promise);\n if (!hook) throw new Error(\"property promises should have been resolved earlier\");\n let inner = hook.pull();\n if (inner instanceof RpcPayload2) inner.deliverTo(parent, property, promises);\n else promises.push(inner.then((payload) => {\n let subPromises = [];\n payload.deliverTo(parent, property, subPromises);\n if (subPromises.length > 0) return Promise.all(subPromises);\n }));\n }\n async deliverCall(func, thisArg) {\n try {\n let promises = [];\n this.deliverTo(this, \"value\", promises);\n if (promises.length > 0) await Promise.all(promises);\n let result = Function.prototype.apply.call(func, thisArg, this.value);\n if (result instanceof RpcPromise$1) return RpcPayload2.fromAppReturn(result);\n else return RpcPayload2.fromAppReturn(await result);\n } finally {\n this.dispose();\n }\n }\n async deliverStreamWrite(writer) {\n try {\n let promises = [];\n this.deliverTo(this, \"value\", promises);\n if (promises.length > 0) await Promise.all(promises);\n let chunk = this.value[0];\n if ((this.hooks.length > 0 || this.promises.length > 0) && chunk instanceof Object) {\n if (!(Symbol.dispose in chunk)) Object.defineProperty(chunk, Symbol.dispose, {\n value: () => this.dispose(),\n writable: true,\n enumerable: false,\n configurable: true\n });\n await writer.write(chunk);\n return RpcPayload2.fromAppReturn(void 0);\n }\n await writer.write(chunk);\n this.dispose();\n return RpcPayload2.fromAppReturn(void 0);\n } catch (err) {\n this.dispose();\n throw err;\n }\n }\n async deliverResolve() {\n try {\n let promises = [];\n this.deliverTo(this, \"value\", promises);\n if (promises.length > 0) await Promise.all(promises);\n let result = this.value;\n if (result instanceof Object) {\n if (!(Symbol.dispose in result)) Object.defineProperty(result, Symbol.dispose, {\n value: () => this.dispose(),\n writable: true,\n enumerable: false,\n configurable: true\n });\n }\n return result;\n } catch (err) {\n this.dispose();\n throw err;\n }\n }\n dispose() {\n if (this.source === \"owned\") {\n this.hooks.forEach((hook) => hook.dispose());\n this.promises.forEach((promise) => promise.promise[Symbol.dispose]());\n } else if (this.source === \"return\") {\n this.disposeImpl(this.value, void 0);\n if (this.rpcTargets && this.rpcTargets.size > 0) throw new Error(\"Not all rpcTargets were accounted for in disposeImpl()?\");\n }\n this.source = \"owned\";\n this.hooks = [];\n this.promises = [];\n }\n disposeImpl(value, parent) {\n switch (typeForRpc(value)) {\n case \"unsupported\":\n case \"primitive\":\n case \"bigint\":\n case \"bytes\":\n case \"blob\":\n case \"date\":\n case \"url\":\n case \"error\":\n case \"undefined\":\n return;\n case \"array\": {\n let array = value;\n let len = array.length;\n for (let i = 0; i < len; i++) this.disposeImpl(array[i], array);\n return;\n }\n case \"object\": {\n let object = value;\n for (let i in object) this.disposeImpl(object[i], object);\n return;\n }\n case \"stub\":\n case \"rpc-promise\": {\n let hook = unwrapStubNoProperties(value);\n if (hook) hook.dispose();\n return;\n }\n case \"function\":\n case \"rpc-target\": {\n let target = value;\n let hook = this.rpcTargets?.get(target);\n if (hook) {\n hook.dispose();\n this.rpcTargets.delete(target);\n } else disposeRpcTarget(target);\n return;\n }\n case \"rpc-thenable\":\n return;\n case \"headers\":\n return;\n case \"request\": {\n let req = value;\n if (req.body) this.disposeImpl(req.body, req);\n return;\n }\n case \"response\": {\n let resp = value;\n if (resp.body) this.disposeImpl(resp.body, resp);\n return;\n }\n case \"writable\": {\n let stream = value;\n let hook = this.rpcTargets?.get(stream);\n if (hook) this.rpcTargets.delete(stream);\n else hook = streamImpl.createWritableStreamHook(stream);\n hook.dispose();\n return;\n }\n case \"readable\": {\n let stream = value;\n let hook = this.rpcTargets?.get(stream);\n if (hook) this.rpcTargets.delete(stream);\n else hook = streamImpl.createReadableStreamHook(stream);\n hook.dispose();\n return;\n }\n default:\n return;\n }\n }\n ignoreUnhandledRejections() {\n if (this.hooks) {\n this.hooks.forEach((hook) => {\n hook.ignoreUnhandledRejections();\n });\n this.promises.forEach((promise) => unwrapStubOrParent(promise.promise).ignoreUnhandledRejections());\n } else this.ignoreUnhandledRejectionsImpl(this.value);\n }\n ignoreUnhandledRejectionsImpl(value) {\n switch (typeForRpc(value)) {\n case \"unsupported\":\n case \"primitive\":\n case \"bigint\":\n case \"bytes\":\n case \"blob\":\n case \"date\":\n case \"error\":\n case \"undefined\":\n case \"function\":\n case \"rpc-target\":\n case \"writable\":\n case \"readable\":\n case \"url\":\n case \"headers\":\n case \"request\":\n case \"response\":\n return;\n case \"array\": {\n let array = value;\n let len = array.length;\n for (let i = 0; i < len; i++) this.ignoreUnhandledRejectionsImpl(array[i]);\n return;\n }\n case \"object\": {\n let object = value;\n for (let i in object) this.ignoreUnhandledRejectionsImpl(object[i]);\n return;\n }\n case \"stub\":\n case \"rpc-promise\":\n unwrapStubOrParent(value).ignoreUnhandledRejections();\n return;\n case \"rpc-thenable\":\n value.then((_) => {\n }, (_) => {\n });\n return;\n default:\n return;\n }\n }\n};\nfunction followPath(value, parent, path, owner) {\n for (let i = 0; i < path.length; i++) {\n parent = value;\n let part = path[i];\n if (part in Object.prototype) {\n value = void 0;\n continue;\n }\n switch (typeForRpc(value)) {\n case \"object\":\n case \"function\":\n if (Object.hasOwn(value, part)) value = value[part];\n else value = void 0;\n break;\n case \"array\":\n if (Number.isInteger(part) && part >= 0) value = value[part];\n else value = void 0;\n break;\n case \"rpc-target\":\n case \"rpc-thenable\":\n if (Object.hasOwn(value, part)) throw new TypeError(`Attempted to access property '${part}', which is an instance property of the RpcTarget. To avoid leaking private internals, instance properties cannot be accessed over RPC. If you want to make this property available over RPC, define it as a method or getter on the class, instead of an instance property.`);\n else value = value[part];\n owner = null;\n break;\n case \"stub\":\n case \"rpc-promise\": {\n let { hook, pathIfPromise } = unwrapStubAndPath(value);\n return {\n hook,\n remainingPath: pathIfPromise ? pathIfPromise.concat(path.slice(i)) : path.slice(i)\n };\n }\n case \"writable\":\n value = void 0;\n break;\n case \"readable\":\n value = void 0;\n break;\n case \"primitive\":\n case \"bigint\":\n case \"bytes\":\n case \"blob\":\n case \"date\":\n case \"error\":\n case \"url\":\n case \"headers\":\n case \"request\":\n case \"response\":\n value = void 0;\n break;\n case \"undefined\":\n value = value[part];\n break;\n case \"unsupported\":\n if (i === 0) throw new TypeError(`RPC stub points at a non-serializable type.`);\n else {\n let prefix = path.slice(0, i).join(\".\");\n let remainder = path.slice(0, i).join(\".\");\n throw new TypeError(`'${prefix}' is not a serializable type, so property ${remainder} cannot be accessed.`);\n }\n default:\n throw new TypeError(\"unreachable\");\n }\n }\n if (value instanceof RpcPromise$1) {\n let { hook, pathIfPromise } = unwrapStubAndPath(value);\n return {\n hook,\n remainingPath: pathIfPromise || []\n };\n }\n return {\n value,\n parent,\n owner\n };\n}\nvar ValueStubHook = class extends StubHook {\n call(path, args) {\n let followResult;\n try {\n let { value, owner } = this.getValue();\n followResult = followPath(value, void 0, path, owner);\n } catch (err) {\n args.dispose();\n return new ErrorStubHook(err);\n }\n if (followResult.hook) return followResult.hook.call(followResult.remainingPath, args);\n if (typeof followResult.value != \"function\") {\n args.dispose();\n return new ErrorStubHook(/* @__PURE__ */ new TypeError(`'${path.join(\".\")}' is not a function.`));\n }\n return new PromiseStubHook(args.deliverCall(followResult.value, followResult.parent).then((payload) => {\n return new PayloadStubHook(payload);\n }));\n }\n map(path, captures, instructions) {\n try {\n let followResult;\n try {\n let { value, owner } = this.getValue();\n followResult = followPath(value, void 0, path, owner);\n } catch (err) {\n for (let cap of captures) cap.dispose();\n throw err;\n }\n if (followResult.hook) return followResult.hook.map(followResult.remainingPath, captures, instructions);\n return mapImpl.applyMap(followResult.value, followResult.parent, followResult.owner, captures, instructions);\n } catch (err) {\n return new ErrorStubHook(err);\n }\n }\n get(path) {\n try {\n let { value, owner } = this.getValue();\n if (path.length === 0 && owner === null) {\n if (value instanceof Object && \"then\" in value) return this.dup();\n throw new Error(\"Can't dup an RpcTarget stub as a promise.\");\n }\n let followResult = followPath(value, void 0, path, owner);\n if (followResult.hook) return followResult.hook.get(followResult.remainingPath);\n return new PayloadStubHook(RpcPayload.deepCopyFrom(followResult.value, followResult.parent, followResult.owner));\n } catch (err) {\n return new ErrorStubHook(err);\n }\n }\n};\nvar PayloadStubHook = class PayloadStubHook2 extends ValueStubHook {\n constructor(payload) {\n super();\n this.payload = payload;\n }\n payload;\n getPayload() {\n if (this.payload) return this.payload;\n else throw new Error(\"Attempted to use an RPC StubHook after it was disposed.\");\n }\n getValue() {\n let payload = this.getPayload();\n return {\n value: payload.value,\n owner: payload\n };\n }\n dup() {\n let thisPayload = this.getPayload();\n return new PayloadStubHook2(RpcPayload.deepCopyFrom(thisPayload.value, void 0, thisPayload));\n }\n pull() {\n return this.getPayload();\n }\n ignoreUnhandledRejections() {\n if (this.payload) this.payload.ignoreUnhandledRejections();\n }\n dispose() {\n if (this.payload) {\n this.payload.dispose();\n this.payload = void 0;\n }\n }\n onBroken(callback) {\n if (this.payload) {\n if (this.payload.value instanceof RpcStub$1) this.payload.value.onRpcBroken(callback);\n }\n }\n};\nfunction disposeRpcTarget(target) {\n if (Symbol.dispose in target) try {\n target[Symbol.dispose]();\n } catch (err) {\n Promise.reject(err);\n }\n}\nvar TargetStubHook = class TargetStubHook2 extends ValueStubHook {\n static create(value, parent) {\n if (typeof value !== \"function\") parent = void 0;\n return new TargetStubHook2(value, parent);\n }\n constructor(target, parent, dupFrom) {\n super();\n this.target = target;\n this.parent = parent;\n if (dupFrom) {\n if (dupFrom.refcount) {\n this.refcount = dupFrom.refcount;\n ++this.refcount.count;\n }\n } else if (Symbol.dispose in target) this.refcount = { count: 1 };\n }\n target;\n parent;\n refcount;\n getTarget() {\n if (this.target) return this.target;\n else throw new Error(\"Attempted to use an RPC StubHook after it was disposed.\");\n }\n getValue() {\n return {\n value: this.getTarget(),\n owner: null\n };\n }\n dup() {\n return new TargetStubHook2(this.getTarget(), this.parent, this);\n }\n pull() {\n let target = this.getTarget();\n if (\"then\" in target) return Promise.resolve(target).then((resolution) => {\n return RpcPayload.fromAppReturn(resolution);\n });\n else return Promise.reject(/* @__PURE__ */ new Error(\"Tried to resolve a non-promise stub.\"));\n }\n ignoreUnhandledRejections() {\n }\n dispose() {\n if (this.target) {\n if (this.refcount) {\n if (--this.refcount.count == 0) disposeRpcTarget(this.target);\n }\n this.target = void 0;\n }\n }\n onBroken(callback) {\n let target = this.target;\n if (target && \"then\" in target) Promise.resolve(target).then(() => {\n }, callback);\n }\n};\nvar PromiseStubHook = class PromiseStubHook2 extends StubHook {\n promise;\n resolution;\n constructor(promise) {\n super();\n this.promise = promise.then((res) => {\n this.resolution = res;\n return res;\n });\n }\n call(path, args) {\n args.ensureDeepCopied();\n return new PromiseStubHook2(this.promise.then((hook) => hook.call(path, args), (err) => {\n args.dispose();\n throw err;\n }));\n }\n stream(path, args) {\n args.ensureDeepCopied();\n return { promise: this.promise.then((hook) => hook.stream(path, args).promise, (err) => {\n args.dispose();\n throw err;\n }) };\n }\n map(path, captures, instructions) {\n return new PromiseStubHook2(this.promise.then((hook) => hook.map(path, captures, instructions), (err) => {\n for (let cap of captures) cap.dispose();\n throw err;\n }));\n }\n get(path) {\n return new PromiseStubHook2(this.promise.then((hook) => hook.get(path)));\n }\n dup() {\n if (this.resolution) return this.resolution.dup();\n else return new PromiseStubHook2(this.promise.then((hook) => hook.dup()));\n }\n pull() {\n if (this.resolution) return this.resolution.pull();\n else return this.promise.then((hook) => hook.pull());\n }\n ignoreUnhandledRejections() {\n if (this.resolution) this.resolution.ignoreUnhandledRejections();\n else this.promise.then((res) => {\n res.ignoreUnhandledRejections();\n }, (err) => {\n });\n }\n dispose() {\n this.promise.then((hook) => hook.dispose(), () => {\n });\n }\n onBroken(callback) {\n if (this.resolution) this.resolution.onBroken(callback);\n else this.promise.then((hook) => {\n hook.onBroken(callback);\n }, callback);\n }\n};\nvar DEFAULT_LIMITS = {\n maxBigIntDigits: 16384,\n maxDepth: 256,\n maxMessageSize: 32 * 1024 * 1024\n};\nvar NATIVE_LITTLE_ENDIAN = new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;\nvar BYTE_CONTAINER_TYPE_NAMES = [\n \"ArrayBuffer\",\n \"DataView\",\n \"Int8Array\",\n \"Uint8Array\",\n \"Uint8ClampedArray\",\n \"Int16Array\",\n \"Uint16Array\",\n \"Int32Array\",\n \"Uint32Array\",\n \"BigInt64Array\",\n \"BigUint64Array\",\n \"Float32Array\",\n \"Float64Array\"\n];\nfunction isValidByteContainerName(value) {\n return BYTE_CONTAINER_TYPE_NAMES.includes(value);\n}\nvar TYPED_ARRAY_ELEMENT_SIZE = {\n ArrayBuffer: void 0,\n DataView: void 0,\n Int8Array: void 0,\n Uint8Array: void 0,\n Uint8ClampedArray: void 0,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n BigInt64Array: 8,\n BigUint64Array: 8,\n Float32Array: 4,\n Float64Array: 8\n};\nvar BYTE_CONTAINER_PROTOTYPES = {\n ArrayBuffer: ArrayBuffer.prototype,\n DataView: DataView.prototype,\n Int8Array: Int8Array.prototype,\n Uint8ClampedArray: Uint8ClampedArray.prototype,\n Int16Array: Int16Array.prototype,\n Uint16Array: Uint16Array.prototype,\n Int32Array: Int32Array.prototype,\n Uint32Array: Uint32Array.prototype,\n BigInt64Array: BigInt64Array.prototype,\n BigUint64Array: BigUint64Array.prototype,\n Float32Array: Float32Array.prototype,\n Float64Array: Float64Array.prototype\n};\nvar BYTE_CONTAINER_TYPE_BY_PROTOTYPE = /* @__PURE__ */ new Map();\nfor (let type of Object.keys(BYTE_CONTAINER_PROTOTYPES)) BYTE_CONTAINER_TYPE_BY_PROTOTYPE.set(BYTE_CONTAINER_PROTOTYPES[type], type);\nfunction swapByteOrder(bytes, elementSize) {\n if (elementSize !== 2 && elementSize !== 4 && elementSize !== 8) throw new RangeError(`Unsupported element size: ${elementSize}`);\n let view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);\n for (let offset = 0; offset < bytes.byteLength; offset += elementSize) switch (elementSize) {\n case 2:\n view.setUint16(offset, view.getUint16(offset, false), true);\n break;\n case 4:\n view.setUint32(offset, view.getUint32(offset, false), true);\n break;\n case 8:\n view.setBigUint64(offset, view.getBigUint64(offset, false), true);\n break;\n }\n}\nvar NullExporter = class {\n exportStub(stub) {\n throw new Error(\"Cannot serialize RPC stubs without an RPC session.\");\n }\n exportPromise(stub) {\n throw new Error(\"Cannot serialize RPC stubs without an RPC session.\");\n }\n getImport(hook) {\n }\n unexport(ids) {\n }\n createPipe(readable) {\n throw new Error(\"Cannot create pipes without an RPC session.\");\n }\n onSendError(error) {\n }\n};\nvar NULL_EXPORTER = new NullExporter();\nasync function streamToBlob(stream, type) {\n let b = await new Response(stream).blob();\n return b.type === type ? b : b.slice(0, b.size, type);\n}\nvar ERROR_TYPES = {\n __proto__: null,\n Error,\n EvalError,\n RangeError,\n ReferenceError,\n SyntaxError,\n TypeError,\n URIError,\n AggregateError\n};\nvar Devaluator = class Devaluator2 {\n exporter;\n source;\n encodingLevel;\n constructor(exporter, source, encodingLevel) {\n this.exporter = exporter;\n this.source = source;\n this.encodingLevel = encodingLevel;\n }\n static devaluate(value, parent, exporter = NULL_EXPORTER, source, encodingLevel = \"string\") {\n let devaluator = new Devaluator2(exporter, source, encodingLevel);\n try {\n return devaluator.devaluateImpl(value, parent, 0);\n } catch (err) {\n if (devaluator.exports) try {\n exporter.unexport(devaluator.exports);\n } catch (err2) {\n }\n throw err;\n }\n }\n exports;\n devaluateImpl(value, parent, depth) {\n if (depth >= 256) throw new Error(\"Serialization exceeded maximum allowed depth. (Does the message contain cycles?)\");\n switch (typeForRpc(value)) {\n case \"unsupported\": {\n let msg;\n try {\n msg = `Cannot serialize value: ${value}`;\n } catch (err) {\n msg = \"Cannot serialize value: (couldn't stringify value)\";\n }\n throw new TypeError(msg);\n }\n case \"primitive\":\n if (typeof value === \"number\" && !isFinite(value)) {\n if (this.encodingLevel === \"structuredClonable\") return value;\n if (value === Infinity) return [\"inf\"];\n else if (value === -Infinity) return [\"-inf\"];\n else return [\"nan\"];\n } else return value;\n case \"object\": {\n let object = value;\n let result = {};\n for (let key in object) result[key] = this.devaluateImpl(object[key], object, depth + 1);\n return result;\n }\n case \"array\": {\n let array = value;\n let len = array.length;\n let result = new Array(len);\n for (let i = 0; i < len; i++) result[i] = this.devaluateImpl(array[i], array, depth + 1);\n return [result];\n }\n case \"bigint\":\n if (this.encodingLevel === \"structuredClonable\") return value;\n return [\"bigint\", value.toString()];\n case \"date\": {\n if (this.encodingLevel === \"structuredClonable\") return value;\n const time = value.getTime();\n return [\"date\", Number.isNaN(time) ? null : time];\n }\n case \"bytes\": {\n let alternateTypeName = BYTE_CONTAINER_TYPE_BY_PROTOTYPE.get(Object.getPrototypeOf(value));\n let bytes;\n if (alternateTypeName === \"ArrayBuffer\") bytes = new Uint8Array(value);\n else if (alternateTypeName === void 0) bytes = value;\n else {\n let view = value;\n bytes = new Uint8Array(view.buffer, view.byteOffset, view.byteLength);\n let elementSize = TYPED_ARRAY_ELEMENT_SIZE[alternateTypeName];\n if (!NATIVE_LITTLE_ENDIAN && elementSize) {\n bytes = bytes.slice();\n swapByteOrder(bytes, elementSize);\n }\n }\n if (this.encodingLevel === \"structuredClonable\" || this.encodingLevel === \"jsonCompatibleWithBytes\") return alternateTypeName === void 0 ? [\"bytes\", bytes] : [\n \"bytes\",\n bytes,\n alternateTypeName\n ];\n let b64;\n if (bytes.toBase64) b64 = bytes.toBase64({ omitPadding: true });\n else if (typeof Buffer !== \"undefined\") b64 = (bytes instanceof Buffer ? bytes : Buffer.from(bytes.buffer, bytes.byteOffset, bytes.byteLength)).toString(\"base64\");\n else {\n let binary = \"\";\n for (let i = 0; i < bytes.length; i++) binary += String.fromCharCode(bytes[i]);\n b64 = btoa(binary);\n }\n b64 = b64.replace(/=+$/, \"\");\n return alternateTypeName === void 0 ? [\"bytes\", b64] : [\n \"bytes\",\n b64,\n alternateTypeName\n ];\n }\n case \"url\":\n return [\"url\", value.href];\n case \"headers\":\n return [\"headers\", [...value]];\n case \"request\": {\n let req = value;\n let init = {};\n if (req.method !== \"GET\") init.method = req.method;\n let headers = [...req.headers];\n if (headers.length > 0) init.headers = headers;\n if (req.body) {\n init.body = this.devaluateImpl(req.body, req, depth + 1);\n init.duplex = req.duplex || \"half\";\n } else if (req.body === void 0 && ![\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n \"TRACE\",\n \"DELETE\"\n ].includes(req.method)) {\n let bodyPromise = req.arrayBuffer();\n let readable = new ReadableStream({ async start(controller) {\n try {\n controller.enqueue(new Uint8Array(await bodyPromise));\n controller.close();\n } catch (err) {\n controller.error(err);\n }\n } });\n let hook = streamImpl.createReadableStreamHook(readable);\n init.body = [\"readable\", this.exporter.createPipe(readable, hook)];\n init.duplex = req.duplex || \"half\";\n }\n if (req.cache && req.cache !== \"default\") init.cache = req.cache;\n if (req.redirect !== \"follow\") init.redirect = req.redirect;\n if (req.integrity) init.integrity = req.integrity;\n if (req.mode && req.mode !== \"cors\") init.mode = req.mode;\n if (req.credentials && req.credentials !== \"same-origin\") init.credentials = req.credentials;\n if (req.referrer && req.referrer !== \"about:client\") init.referrer = req.referrer;\n if (req.referrerPolicy) init.referrerPolicy = req.referrerPolicy;\n if (req.keepalive) init.keepalive = req.keepalive;\n let cfReq = req;\n if (cfReq.cf) init.cf = cfReq.cf;\n if (cfReq.encodeResponseBody && cfReq.encodeResponseBody !== \"automatic\") init.encodeResponseBody = cfReq.encodeResponseBody;\n return [\n \"request\",\n req.url,\n init\n ];\n }\n case \"response\": {\n let resp = value;\n let body = this.devaluateImpl(resp.body, resp, depth + 1);\n let init = {};\n if (resp.status !== 200) init.status = resp.status;\n if (resp.statusText) init.statusText = resp.statusText;\n let headers = [...resp.headers];\n if (headers.length > 0) init.headers = headers;\n let cfResp = resp;\n if (cfResp.cf) init.cf = cfResp.cf;\n if (cfResp.encodeBody && cfResp.encodeBody !== \"automatic\") init.encodeBody = cfResp.encodeBody;\n if (cfResp.webSocket) throw new TypeError(\"Can't serialize a Response containing a webSocket.\");\n return [\n \"response\",\n body,\n init\n ];\n }\n case \"blob\": {\n let blob = value;\n let readable = blob.stream();\n let hook = streamImpl.createReadableStreamHook(readable);\n let importId = this.exporter.createPipe(readable, hook);\n return [\n \"blob\",\n blob.type,\n [\"readable\", importId]\n ];\n }\n case \"error\": {\n let e = value;\n let rewritten = this.exporter.onSendError(e);\n if (rewritten) e = rewritten;\n let anyE = e;\n let props;\n let captureProp = (key, val) => {\n let exportsBefore = this.exports?.length ?? 0;\n try {\n let encoded = this.devaluateImpl(val, e, depth + 1);\n if (!props) props = {};\n props[key] = encoded;\n } catch (err) {\n if (this.exports && this.exports.length > exportsBefore) {\n let tail = this.exports.splice(exportsBefore);\n try {\n this.exporter.unexport(tail);\n } catch (err2) {\n }\n }\n }\n };\n for (let key of Object.keys(e)) {\n if (key === \"name\" || key === \"message\" || key === \"stack\") continue;\n captureProp(key, anyE[key]);\n }\n if (\"cause\" in e) captureProp(\"cause\", anyE.cause);\n if (e instanceof AggregateError) captureProp(\"errors\", e.errors);\n let result = [\n \"error\",\n e.name,\n e.message\n ];\n if (props) {\n result.push(rewritten && rewritten.stack ? rewritten.stack : null);\n result.push(props);\n } else if (rewritten && rewritten.stack) result.push(rewritten.stack);\n return result;\n }\n case \"undefined\":\n if (this.encodingLevel === \"structuredClonable\") return;\n return [\"undefined\"];\n case \"stub\":\n case \"rpc-promise\": {\n if (!this.source) throw new Error(\"Can't serialize RPC stubs in this context.\");\n let { hook, pathIfPromise } = unwrapStubAndPath(value);\n let importId = this.exporter.getImport(hook);\n if (importId !== void 0) if (pathIfPromise) if (pathIfPromise.length > 0) return [\n \"pipeline\",\n importId,\n pathIfPromise\n ];\n else return [\"pipeline\", importId];\n else return [\"import\", importId];\n if (pathIfPromise) hook = hook.get(pathIfPromise);\n else hook = hook.dup();\n return this.devaluateHook(pathIfPromise ? \"promise\" : \"export\", hook);\n }\n case \"function\":\n case \"rpc-target\": {\n if (!this.source) throw new Error(\"Can't serialize RPC stubs in this context.\");\n let hook = this.source.getHookForRpcTarget(value, parent);\n return this.devaluateHook(\"export\", hook);\n }\n case \"rpc-thenable\": {\n if (!this.source) throw new Error(\"Can't serialize RPC stubs in this context.\");\n let hook = this.source.getHookForRpcTarget(value, parent);\n return this.devaluateHook(\"promise\", hook);\n }\n case \"writable\": {\n if (!this.source) throw new Error(\"Can't serialize WritableStream in this context.\");\n let hook = this.source.getHookForWritableStream(value, parent);\n return this.devaluateHook(\"writable\", hook);\n }\n case \"readable\": {\n if (!this.source) throw new Error(\"Can't serialize ReadableStream in this context.\");\n let ws = value;\n let hook = this.source.getHookForReadableStream(ws, parent);\n return [\"readable\", this.exporter.createPipe(ws, hook)];\n }\n default:\n throw new Error(\"unreachable\");\n }\n }\n devaluateHook(type, hook) {\n if (!this.exports) this.exports = [];\n let exportId = type === \"promise\" ? this.exporter.exportPromise(hook) : this.exporter.exportStub(hook);\n this.exports.push(exportId);\n return [type, exportId];\n }\n};\nvar NullImporter = class {\n importStub(idx) {\n throw new Error(\"Cannot deserialize RPC stubs without an RPC session.\");\n }\n importPromise(idx) {\n throw new Error(\"Cannot deserialize RPC stubs without an RPC session.\");\n }\n getExport(idx) {\n }\n getPipeReadable(exportId) {\n throw new Error(\"Cannot retrieve pipe readable without an RPC session.\");\n }\n getLimits() {\n return DEFAULT_LIMITS;\n }\n};\nvar NULL_IMPORTER = new NullImporter();\nfunction fixBrokenRequestBody(request, body) {\n return new RpcPromise$1(new PromiseStubHook(new Response(body).arrayBuffer().then((arrayBuffer) => {\n let bytes = new Uint8Array(arrayBuffer);\n let result = new Request(request, { body: bytes });\n return new PayloadStubHook(RpcPayload.fromAppReturn(result));\n })), []);\n}\nfunction streamToBlobPromise(stream, type) {\n return new RpcPromise$1(new PromiseStubHook(streamToBlob(stream, type).then((blob) => {\n return new PayloadStubHook(RpcPayload.fromAppReturn(blob));\n })), []);\n}\nvar Evaluator = class Evaluator2 {\n importer;\n encodingLevel;\n limits;\n constructor(importer, encodingLevel = \"string\") {\n this.importer = importer;\n this.encodingLevel = encodingLevel;\n this.limits = importer.getLimits();\n }\n hooks = [];\n promises = [];\n evaluate(value) {\n return this.evaluateWithDepth(value, 0);\n }\n evaluateWithDepth(value, depth) {\n let payload = RpcPayload.forEvaluate(this.hooks, this.promises);\n try {\n payload.value = this.evaluateImpl(value, payload, \"value\", depth);\n return payload;\n } catch (err) {\n payload.dispose();\n throw err;\n }\n }\n evaluateCopy(value) {\n return this.evaluate(structuredClone(value));\n }\n evaluateImpl(value, parent, property, depth) {\n let maxDepth = this.limits.maxDepth;\n if (depth >= maxDepth) throw new TypeError(`Deserialization exceeded maximum allowed message depth of ${maxDepth}.`);\n if (this.encodingLevel === \"structuredClonable\") {\n if (value instanceof Date || typeof value === \"bigint\") return value;\n }\n if (value instanceof Array) {\n if (value.length == 1 && value[0] instanceof Array) {\n let result = value[0];\n for (let i = 0; i < result.length; i++) result[i] = this.evaluateImpl(result[i], result, i, depth + 1);\n return result;\n } else switch (value[0]) {\n case \"bigint\":\n if (typeof value[1] == \"string\") {\n let digits = value[1];\n let maxBigIntDigits = this.limits.maxBigIntDigits;\n if (digits.length > maxBigIntDigits) throw new TypeError(`Deserialized bigint exceeds maximum length of ${maxBigIntDigits} digits.`);\n return BigInt(digits);\n }\n break;\n case \"date\":\n if (value[1] === null) return /* @__PURE__ */ new Date(NaN);\n if (typeof value[1] == \"number\") return new Date(value[1]);\n break;\n case \"bytes\": {\n let bytes;\n if (value[1] instanceof Uint8Array) bytes = value[1];\n else if (typeof value[1] == \"string\") if (typeof Buffer !== \"undefined\") bytes = Buffer.from(value[1], \"base64\");\n else if (Uint8Array.fromBase64) bytes = Uint8Array.fromBase64(value[1]);\n else {\n let bs = atob(value[1]);\n let len = bs.length;\n bytes = new Uint8Array(len);\n for (let i = 0; i < len; i++) bytes[i] = bs.charCodeAt(i);\n }\n else break;\n if (value.length === 2) return bytes;\n if (typeof value[2] !== \"string\") throw new TypeError(`Unknown bytes type marker type: ${typeof value[2]}`);\n if (!isValidByteContainerName(value[2])) {\n let marker2 = value[2].slice(0, 64);\n throw new TypeError(`Unknown bytes type marker: ${marker2}`);\n }\n let marker = value[2];\n let elementSize = TYPED_ARRAY_ELEMENT_SIZE[marker];\n if (elementSize !== void 0 && bytes.byteLength % elementSize !== 0) throw new TypeError(`Invalid byte length ${bytes.byteLength} for ${marker}; expected a multiple of ${elementSize}`);\n let buffer = bytes.buffer.slice(bytes.byteOffset, bytes.byteOffset + bytes.byteLength);\n if (!NATIVE_LITTLE_ENDIAN && elementSize !== void 0) swapByteOrder(new Uint8Array(buffer), elementSize);\n switch (marker) {\n case \"ArrayBuffer\":\n return buffer;\n case \"DataView\":\n return new DataView(buffer);\n case \"Int8Array\":\n return new Int8Array(buffer);\n case \"Uint8Array\":\n return new Uint8Array(buffer);\n case \"Uint8ClampedArray\":\n return new Uint8ClampedArray(buffer);\n case \"Int16Array\":\n return new Int16Array(buffer);\n case \"Uint16Array\":\n return new Uint16Array(buffer);\n case \"Int32Array\":\n return new Int32Array(buffer);\n case \"Uint32Array\":\n return new Uint32Array(buffer);\n case \"BigInt64Array\":\n return new BigInt64Array(buffer);\n case \"BigUint64Array\":\n return new BigUint64Array(buffer);\n case \"Float32Array\":\n return new Float32Array(buffer);\n case \"Float64Array\":\n return new Float64Array(buffer);\n default:\n }\n }\n case \"error\":\n if (value.length >= 3 && typeof value[1] === \"string\" && typeof value[2] === \"string\") {\n let cls = ERROR_TYPES[value[1]] || Error;\n let result = cls === AggregateError ? new cls([], value[2]) : new cls(value[2]);\n if (typeof value[3] === \"string\") result.stack = value[3];\n if (value.length >= 5) {\n let props = value[4];\n if (!props || typeof props !== \"object\" || Array.isArray(props)) break;\n let anyResult = result;\n let propsObj = props;\n for (let key of Object.keys(propsObj)) {\n if (key === \"name\" || key === \"message\" || key === \"stack\") continue;\n if (key in Object.prototype || key === \"toJSON\") {\n this.evaluateImpl(propsObj[key], result, key, depth + 1);\n continue;\n }\n anyResult[key] = this.evaluateImpl(propsObj[key], result, key, depth + 1);\n }\n }\n return result;\n }\n break;\n case \"undefined\":\n if (value.length === 1) return;\n break;\n case \"inf\":\n return Infinity;\n case \"-inf\":\n return -Infinity;\n case \"nan\":\n return NaN;\n case \"url\":\n if (value.length === 2 && typeof value[1] === \"string\") return new URL(value[1]);\n break;\n case \"headers\":\n if (value.length === 2 && value[1] instanceof Array) return new Headers(value[1]);\n break;\n case \"request\": {\n if (value.length !== 3 || typeof value[1] !== \"string\") break;\n let url = value[1];\n let init = value[2];\n if (typeof init !== \"object\" || init === null) break;\n if (init.body) {\n init.body = this.evaluateImpl(init.body, init, \"body\", depth + 1);\n if (init.body === null || typeof init.body === \"string\" || init.body instanceof Uint8Array || init.body instanceof ReadableStream) {\n } else throw new TypeError(\"Request body must be of type ReadableStream.\");\n }\n if (init.signal) {\n init.signal = this.evaluateImpl(init.signal, init, \"signal\", depth + 1);\n if (!(init.signal instanceof AbortSignal)) throw new TypeError(\"Request siganl must be of type AbortSignal.\");\n }\n if (init.headers && !(init.headers instanceof Array)) throw new TypeError(\"Request headers must be serialized as an array of pairs.\");\n let result = new Request(url, init);\n if (init.body instanceof ReadableStream && result.body === void 0) {\n let promise = fixBrokenRequestBody(result, init.body);\n this.promises.push({\n promise,\n parent,\n property\n });\n return promise;\n } else return result;\n }\n case \"response\": {\n if (value.length !== 3) break;\n let body = this.evaluateImpl(value[1], parent, property, depth + 1);\n if (body === null || typeof body === \"string\" || body instanceof Uint8Array || body instanceof ReadableStream) {\n } else throw new TypeError(\"Response body must be of type ReadableStream.\");\n let init = value[2];\n if (typeof init !== \"object\" || init === null) break;\n if (init.webSocket) throw new TypeError(\"Can't deserialize a Response containing a webSocket.\");\n if (init.headers && !(init.headers instanceof Array)) throw new TypeError(\"Request headers must be serialized as an array of pairs.\");\n return new Response(body, init);\n }\n case \"blob\": {\n if (value.length !== 3 || typeof value[1] !== \"string\") break;\n let contentType = value[1];\n let content = this.evaluateImpl(value[2], parent, property, depth + 1);\n if (!(content instanceof ReadableStream)) throw new TypeError(\"Blob content must be serialized as a ReadableStream.\");\n let promise = streamToBlobPromise(content, contentType);\n this.promises.push({\n promise,\n parent,\n property\n });\n return promise;\n }\n case \"import\":\n case \"pipeline\": {\n if (value.length < 2 || value.length > 4) break;\n if (typeof value[1] != \"number\") break;\n let hook = this.importer.getExport(value[1]);\n if (!hook) throw new Error(`no such entry on exports table: ${value[1]}`);\n let isPromise = value[0] == \"pipeline\";\n let addStub = (hook2) => {\n if (isPromise) {\n let promise = new RpcPromise$1(hook2, []);\n this.promises.push({\n promise,\n parent,\n property\n });\n return promise;\n } else {\n this.hooks.push(hook2);\n return new RpcPromise$1(hook2, []);\n }\n };\n if (value.length == 2) if (isPromise) return addStub(hook.get([]));\n else return addStub(hook.dup());\n let path = value[2];\n if (!(path instanceof Array)) break;\n if (!path.every((part) => {\n return typeof part == \"string\" || typeof part == \"number\";\n })) break;\n if (value.length == 3) return addStub(hook.get(path));\n let args = value[3];\n if (!(args instanceof Array)) break;\n args = new Evaluator2(this.importer).evaluateWithDepth([args], depth);\n return addStub(hook.call(path, args));\n }\n case \"remap\": {\n if (value.length !== 5 || typeof value[1] !== \"number\" || !(value[2] instanceof Array) || !(value[3] instanceof Array) || !(value[4] instanceof Array)) break;\n let hook = this.importer.getExport(value[1]);\n if (!hook) throw new Error(`no such entry on exports table: ${value[1]}`);\n let path = value[2];\n if (!path.every((part) => {\n return typeof part == \"string\" || typeof part == \"number\";\n })) break;\n let captures = value[3].map((cap) => {\n if (!(cap instanceof Array) || cap.length !== 2 || cap[0] !== \"import\" && cap[0] !== \"export\" || typeof cap[1] !== \"number\") throw new TypeError(`unknown map capture: ${JSON.stringify(cap)}`);\n if (cap[0] === \"export\") return this.importer.importStub(cap[1]);\n else {\n let exp = this.importer.getExport(cap[1]);\n if (!exp) throw new Error(`no such entry on exports table: ${cap[1]}`);\n return exp.dup();\n }\n });\n let instructions = value[4];\n let promise = new RpcPromise$1(hook.map(path, captures, instructions), []);\n this.promises.push({\n promise,\n parent,\n property\n });\n return promise;\n }\n case \"export\":\n case \"promise\":\n if (typeof value[1] == \"number\") if (value[0] == \"promise\") {\n let promise = new RpcPromise$1(this.importer.importPromise(value[1]), []);\n this.promises.push({\n parent,\n property,\n promise\n });\n return promise;\n } else {\n let hook = this.importer.importStub(value[1]);\n this.hooks.push(hook);\n return new RpcStub$1(hook);\n }\n break;\n case \"writable\":\n if (typeof value[1] == \"number\") {\n let hook = this.importer.importStub(value[1]);\n let stream = streamImpl.createWritableStreamFromHook(hook);\n this.hooks.push(hook);\n return stream;\n }\n break;\n case \"readable\":\n if (typeof value[1] == \"number\") {\n let stream = this.importer.getPipeReadable(value[1]);\n let hook = streamImpl.createReadableStreamHook(stream);\n this.hooks.push(hook);\n return stream;\n }\n break;\n }\n throw new TypeError(`unknown special value: ${JSON.stringify(value)}`);\n } else if (value instanceof Object) {\n let result = value;\n for (let key in result) if (key in Object.prototype || key === \"toJSON\") {\n this.evaluateImpl(result[key], result, key, depth + 1);\n delete result[key];\n } else result[key] = this.evaluateImpl(result[key], result, key, depth + 1);\n return result;\n } else return value;\n }\n};\nvar ESTIMATED_OBJECT_OVERHEAD = 16;\nvar ESTIMATED_ENTRY_OVERHEAD = 8;\nvar ESTIMATED_BINARY_OVERHEAD = 16;\nvar MAX_ESTIMATE_DEPTH = 64;\nfunction estimateStringSize(value) {\n return 2 + value.length * 3;\n}\nfunction estimateEncodedSize(value, seen, depth = 0) {\n if (depth >= MAX_ESTIMATE_DEPTH) return ESTIMATED_ENTRY_OVERHEAD;\n switch (typeof value) {\n case \"string\":\n return estimateStringSize(value);\n case \"number\":\n return 16;\n case \"bigint\":\n return 16;\n case \"boolean\":\n return 8;\n case \"undefined\":\n return 16;\n case \"object\": {\n if (value === null) return 8;\n if (ArrayBuffer.isView(value)) return ESTIMATED_BINARY_OVERHEAD + value.byteLength;\n if (value instanceof ArrayBuffer) return ESTIMATED_BINARY_OVERHEAD + value.byteLength;\n if (typeof Blob !== \"undefined\" && value instanceof Blob) return ESTIMATED_BINARY_OVERHEAD + value.size;\n if (value instanceof Date) return 16;\n seen ??= /* @__PURE__ */ new WeakSet();\n if (seen.has(value)) return ESTIMATED_ENTRY_OVERHEAD;\n seen.add(value);\n if (value instanceof Array) {\n let size2 = ESTIMATED_OBJECT_OVERHEAD;\n for (let item of value) size2 += ESTIMATED_ENTRY_OVERHEAD + estimateEncodedSize(item, seen, depth + 1);\n return size2;\n }\n if (value instanceof Error) {\n let size2 = ESTIMATED_OBJECT_OVERHEAD + estimateStringSize(value.name) + estimateStringSize(value.message) + estimateStringSize(value.stack ?? \"\");\n for (let key of Object.keys(value)) size2 += ESTIMATED_ENTRY_OVERHEAD + estimateStringSize(key) + estimateEncodedSize(value[key], seen, depth + 1);\n return size2;\n }\n let size = ESTIMATED_OBJECT_OVERHEAD;\n for (let key of Object.keys(value)) size += ESTIMATED_ENTRY_OVERHEAD + estimateStringSize(key) + estimateEncodedSize(value[key], seen, depth + 1);\n return size;\n }\n default:\n return 16;\n }\n}\nvar ImportTableEntry = class {\n session;\n importId;\n constructor(session, importId, pulling) {\n this.session = session;\n this.importId = importId;\n if (pulling) this.activePull = Promise.withResolvers();\n }\n localRefcount = 0;\n remoteRefcount = 1;\n activePull;\n resolution;\n onBrokenRegistrations;\n resolve(resolution) {\n if (this.localRefcount == 0) {\n resolution.dispose();\n return;\n }\n this.resolution = resolution;\n this.sendRelease();\n if (this.onBrokenRegistrations) {\n for (let i of this.onBrokenRegistrations) {\n let callback = this.session.onBrokenCallbacks[i];\n let endIndex = this.session.onBrokenCallbacks.length;\n resolution.onBroken(callback);\n if (this.session.onBrokenCallbacks[endIndex] === callback) delete this.session.onBrokenCallbacks[endIndex];\n else delete this.session.onBrokenCallbacks[i];\n }\n this.onBrokenRegistrations = void 0;\n }\n if (this.activePull) {\n this.activePull.resolve();\n this.activePull = void 0;\n }\n }\n async awaitResolution() {\n if (!this.activePull) {\n this.session.sendPull(this.importId);\n this.activePull = Promise.withResolvers();\n }\n await this.activePull.promise;\n return this.resolution.pull();\n }\n dispose() {\n if (this.resolution) this.resolution.dispose();\n else {\n this.abort(/* @__PURE__ */ new Error(\"RPC was canceled because the RpcPromise was disposed.\"));\n this.sendRelease();\n }\n }\n abort(error) {\n if (!this.resolution) {\n this.resolution = new ErrorStubHook(error);\n if (this.activePull) {\n this.activePull.reject(error);\n this.activePull = void 0;\n }\n this.onBrokenRegistrations = void 0;\n }\n }\n onBroken(callback) {\n if (this.resolution) this.resolution.onBroken(callback);\n else {\n let index = this.session.onBrokenCallbacks.length;\n this.session.onBrokenCallbacks.push(callback);\n if (!this.onBrokenRegistrations) this.onBrokenRegistrations = [];\n this.onBrokenRegistrations.push(index);\n }\n }\n sendRelease() {\n if (this.remoteRefcount > 0) {\n this.session.sendRelease(this.importId, this.remoteRefcount);\n this.remoteRefcount = 0;\n }\n }\n};\nvar RpcImportHook = class RpcImportHook2 extends StubHook {\n isPromise;\n entry;\n constructor(isPromise, entry) {\n super();\n this.isPromise = isPromise;\n ++entry.localRefcount;\n this.entry = entry;\n }\n collectPath(path) {\n return this;\n }\n getEntry() {\n if (this.entry) return this.entry;\n else throw new Error(\"This RpcImportHook was already disposed.\");\n }\n getEntryTakingOwnership(disposeOwned) {\n try {\n return this.getEntry();\n } catch (err) {\n disposeOwned();\n throw err;\n }\n }\n call(path, args) {\n let entry = this.getEntryTakingOwnership(() => args.dispose());\n if (entry.resolution) return entry.resolution.call(path, args);\n else return entry.session.sendCall(entry.importId, path, args);\n }\n stream(path, args) {\n let entry = this.getEntryTakingOwnership(() => args.dispose());\n if (entry.resolution) return entry.resolution.stream(path, args);\n else return entry.session.sendStream(entry.importId, path, args);\n }\n map(path, captures, instructions) {\n let entry = this.getEntryTakingOwnership(() => {\n for (let cap of captures) cap.dispose();\n });\n if (entry.resolution) return entry.resolution.map(path, captures, instructions);\n else return entry.session.sendMap(entry.importId, path, captures, instructions);\n }\n get(path) {\n let entry = this.getEntry();\n if (entry.resolution) return entry.resolution.get(path);\n else return entry.session.sendCall(entry.importId, path);\n }\n dup() {\n return new RpcImportHook2(false, this.getEntry());\n }\n pull() {\n let entry = this.getEntry();\n if (!this.isPromise) throw new Error(\"Can't pull this hook because it's not a promise hook.\");\n if (entry.resolution) return entry.resolution.pull();\n return entry.awaitResolution();\n }\n ignoreUnhandledRejections() {\n }\n dispose() {\n let entry = this.entry;\n this.entry = void 0;\n if (entry) {\n if (--entry.localRefcount === 0) entry.dispose();\n }\n }\n onBroken(callback) {\n if (this.entry) this.entry.onBroken(callback);\n }\n};\nvar RpcMainHook = class extends RpcImportHook {\n session;\n constructor(entry) {\n super(false, entry);\n this.session = entry.session;\n }\n dispose() {\n if (this.session) {\n let session = this.session;\n this.session = void 0;\n session.shutdown();\n }\n }\n};\nvar RpcSessionImpl = class {\n transport;\n options;\n exports = [];\n reverseExports = /* @__PURE__ */ new Map();\n imports = [];\n abortReason;\n cancelReadLoop;\n nextExportId = -1;\n onBatchDone;\n pullCount = 0;\n onBrokenCallbacks = [];\n encodingLevel;\n limits;\n constructor(transport, mainHook, options) {\n this.transport = transport;\n this.options = options;\n let level = \"string\";\n if (\"encodingLevel\" in transport) {\n let raw = transport.encodingLevel;\n if (raw !== void 0) {\n if (raw !== \"string\" && raw !== \"jsonCompatible\" && raw !== \"jsonCompatibleWithBytes\" && raw !== \"structuredClonable\") throw new TypeError(`Unknown transport encodingLevel: ${String(raw)}`);\n level = raw;\n }\n }\n this.encodingLevel = level;\n this.limits = {\n ...DEFAULT_LIMITS,\n ...options.limits\n };\n this.exports.push({\n hook: mainHook,\n refcount: 1\n });\n this.imports.push(new ImportTableEntry(this, 0, false));\n this.readLoop().catch((err) => this.abort(err));\n }\n getMainImport() {\n return new RpcMainHook(this.imports[0]);\n }\n shutdown() {\n this.abort(/* @__PURE__ */ new Error(\"RPC session was shut down by disposing the main stub\"), false);\n }\n exportStub(hook) {\n if (this.abortReason) throw this.abortReason;\n let existingExportId = this.reverseExports.get(hook);\n if (existingExportId !== void 0) {\n ++this.exports[existingExportId].refcount;\n return existingExportId;\n } else {\n let exportId = this.nextExportId--;\n this.exports[exportId] = {\n hook,\n refcount: 1\n };\n this.reverseExports.set(hook, exportId);\n return exportId;\n }\n }\n exportPromise(hook) {\n if (this.abortReason) throw this.abortReason;\n let exportId = this.nextExportId--;\n this.exports[exportId] = {\n hook,\n refcount: 1\n };\n this.reverseExports.set(hook, exportId);\n this.ensureResolvingExport(exportId);\n return exportId;\n }\n unexport(ids) {\n for (let id of ids) this.releaseExport(id, 1);\n }\n releaseExport(exportId, refcount) {\n let entry = this.exports[exportId];\n if (!entry) throw new Error(`no such export ID: ${exportId}`);\n if (entry.refcount < refcount) throw new Error(`refcount would go negative: ${entry.refcount} < ${refcount}`);\n entry.refcount -= refcount;\n if (entry.refcount === 0) {\n delete this.exports[exportId];\n this.reverseExports.delete(entry.hook);\n entry.hook.dispose();\n }\n }\n onSendError(error) {\n if (this.options.onSendError) return this.options.onSendError(error);\n }\n ensureResolvingExport(exportId) {\n let exp = this.exports[exportId];\n if (!exp) throw new Error(`no such export ID: ${exportId}`);\n if (!exp.pull) {\n let resolve = async () => {\n let hook = exp.hook;\n for (; ; ) {\n let payload = await hook.pull();\n if (payload.value instanceof RpcStub$1) {\n let { hook: inner, pathIfPromise } = unwrapStubAndPath(payload.value);\n if (pathIfPromise && pathIfPromise.length == 0) {\n if (this.getImport(hook) === void 0) {\n hook = inner;\n continue;\n }\n }\n }\n return payload;\n }\n };\n let autoRelease = exp.autoRelease;\n ++this.pullCount;\n exp.pull = resolve().then((payload) => {\n let value = Devaluator.devaluate(payload.value, void 0, this, payload, this.encodingLevel);\n this.send([\n \"resolve\",\n exportId,\n value\n ]);\n if (autoRelease) this.releaseExport(exportId, 1);\n }, (error) => {\n this.send([\n \"reject\",\n exportId,\n Devaluator.devaluate(error, void 0, this, void 0, this.encodingLevel)\n ]);\n if (autoRelease) this.releaseExport(exportId, 1);\n }).catch((error) => {\n try {\n this.send([\n \"reject\",\n exportId,\n Devaluator.devaluate(error, void 0, this, void 0, this.encodingLevel)\n ]);\n if (autoRelease) this.releaseExport(exportId, 1);\n } catch (error2) {\n this.abort(error2);\n }\n }).finally(() => {\n if (--this.pullCount === 0) {\n if (this.onBatchDone) this.onBatchDone.resolve();\n }\n });\n }\n }\n getImport(hook) {\n if (hook instanceof RpcImportHook && hook.entry && hook.entry.session === this) return hook.entry.importId;\n else return;\n }\n importStub(idx) {\n if (this.abortReason) throw this.abortReason;\n let entry = this.imports[idx];\n if (!entry) {\n entry = new ImportTableEntry(this, idx, false);\n this.imports[idx] = entry;\n }\n return new RpcImportHook(false, entry);\n }\n importPromise(idx) {\n if (this.abortReason) throw this.abortReason;\n if (this.imports[idx]) return new ErrorStubHook(/* @__PURE__ */ new Error(\"Bug in RPC system: The peer sent a promise reusing an existing export ID.\"));\n let entry = new ImportTableEntry(this, idx, true);\n this.imports[idx] = entry;\n return new RpcImportHook(true, entry);\n }\n getExport(idx) {\n return this.exports[idx]?.hook;\n }\n getPipeReadable(exportId) {\n let entry = this.exports[exportId];\n if (!entry || !entry.pipeReadable) throw new Error(`Export ${exportId} is not a pipe or its readable end was already consumed.`);\n let readable = entry.pipeReadable;\n entry.pipeReadable = void 0;\n return readable;\n }\n getLimits() {\n return this.limits;\n }\n createPipe(readable, readableHook) {\n if (this.abortReason) throw this.abortReason;\n this.send([\"pipe\"]);\n let importId = this.imports.length;\n let entry = new ImportTableEntry(this, importId, false);\n this.imports.push(entry);\n let hook = new RpcImportHook(false, entry);\n let writable = streamImpl.createWritableStreamFromHook(hook);\n readable.pipeTo(writable).catch(() => {\n }).finally(() => readableHook.dispose());\n return importId;\n }\n send(msg) {\n if (this.abortReason !== void 0) return 0;\n if (this.encodingLevel === \"string\") {\n let msgText;\n try {\n msgText = JSON.stringify(msg);\n } catch (err) {\n try {\n this.abort(err);\n } catch (err2) {\n }\n throw err;\n }\n try {\n let sent = this.transport.send(msgText);\n if (sent !== void 0 && typeof sent.catch === \"function\") sent.catch((err) => this.abort(err, false));\n } catch (err) {\n queueMicrotask(() => this.abort(err, false));\n }\n return msgText.length;\n } else try {\n let size = this.transport.send(msg);\n if (typeof size === \"number\") return size;\n let thenable = size;\n if (thenable && typeof thenable.then === \"function\") Promise.resolve(thenable).catch((err) => this.abort(err, false));\n return;\n } catch (err) {\n queueMicrotask(() => this.abort(err, false));\n return;\n }\n }\n sendCall(id, path, args) {\n if (this.abortReason) {\n args?.dispose();\n throw this.abortReason;\n }\n let value = [\n \"pipeline\",\n id,\n path\n ];\n if (args) {\n let devalue;\n try {\n devalue = Devaluator.devaluate(args.value, void 0, this, args, this.encodingLevel);\n } catch (err) {\n args.dispose();\n throw err;\n }\n value.push(devalue[0]);\n }\n this.send([\"push\", value]);\n let entry = new ImportTableEntry(this, this.imports.length, false);\n this.imports.push(entry);\n return new RpcImportHook(true, entry);\n }\n sendStream(id, path, args) {\n if (this.abortReason) {\n args.dispose();\n throw this.abortReason;\n }\n let value = [\n \"pipeline\",\n id,\n path\n ];\n let devalue;\n try {\n devalue = Devaluator.devaluate(args.value, void 0, this, args, this.encodingLevel);\n } catch (err) {\n args.dispose();\n throw err;\n }\n value.push(devalue[0]);\n let msg = [\"stream\", value];\n let size = this.send(msg);\n if (size === void 0) size = estimateEncodedSize(msg);\n let importId = this.imports.length;\n let entry = new ImportTableEntry(this, importId, true);\n entry.remoteRefcount = 0;\n entry.localRefcount = 1;\n this.imports.push(entry);\n return {\n promise: entry.awaitResolution().then((p) => {\n p.dispose();\n delete this.imports[importId];\n }, (err) => {\n delete this.imports[importId];\n throw err;\n }),\n size\n };\n }\n sendMap(id, path, captures, instructions) {\n if (this.abortReason) {\n for (let cap of captures) cap.dispose();\n throw this.abortReason;\n }\n let value = [\n \"remap\",\n id,\n path,\n captures.map((hook) => {\n let importId = this.getImport(hook);\n if (importId !== void 0) return [\"import\", importId];\n else return [\"export\", this.exportStub(hook)];\n }),\n instructions\n ];\n this.send([\"push\", value]);\n let entry = new ImportTableEntry(this, this.imports.length, false);\n this.imports.push(entry);\n return new RpcImportHook(true, entry);\n }\n sendPull(id) {\n if (this.abortReason) throw this.abortReason;\n this.send([\"pull\", id]);\n }\n sendRelease(id, remoteRefcount) {\n if (this.abortReason) return;\n this.send([\n \"release\",\n id,\n remoteRefcount\n ]);\n delete this.imports[id];\n }\n abort(error, trySendAbortMessage = true) {\n if (this.abortReason !== void 0) return;\n this.cancelReadLoop?.(error);\n this.cancelReadLoop = void 0;\n if (trySendAbortMessage) try {\n let abortMsg = [\"abort\", Devaluator.devaluate(error, void 0, this, void 0, this.encodingLevel)];\n if (this.encodingLevel === \"string\") {\n let sent = this.transport.send(JSON.stringify(abortMsg));\n if (sent !== void 0 && typeof sent.catch === \"function\") sent.catch((err) => {\n });\n } else {\n let result = this.transport.send(abortMsg);\n if (result && typeof result.then === \"function\") Promise.resolve(result).catch((err) => {\n });\n }\n } catch (err) {\n }\n if (error === void 0) error = \"undefined\";\n this.abortReason = error;\n if (this.onBatchDone) this.onBatchDone.reject(error);\n if (this.transport.abort) try {\n this.transport.abort(error);\n } catch (err) {\n Promise.resolve(err);\n }\n for (let i in this.onBrokenCallbacks) try {\n this.onBrokenCallbacks[i](error);\n } catch (err) {\n Promise.resolve(err);\n }\n for (let i in this.imports) this.imports[i].abort(error);\n for (let i in this.exports) this.exports[i].hook.dispose();\n }\n async readLoop() {\n while (!this.abortReason) {\n let readCanceled = Promise.withResolvers();\n this.cancelReadLoop = readCanceled.reject;\n let raw;\n try {\n raw = await Promise.race([this.transport.receive(), readCanceled.promise]);\n } finally {\n if (this.cancelReadLoop === readCanceled.reject) this.cancelReadLoop = void 0;\n }\n if (this.encodingLevel === \"string\" && raw.length > this.limits.maxMessageSize) throw new TypeError(`Incoming message exceeds maximum size of ${this.limits.maxMessageSize} UTF-16 code units.`);\n if (this.abortReason) break;\n let msg = this.encodingLevel === \"string\" ? JSON.parse(raw) : raw;\n if (msg instanceof Array) switch (msg[0]) {\n case \"push\":\n if (msg.length > 1) {\n let hook = new PayloadStubHook(new Evaluator(this, this.encodingLevel).evaluate(msg[1]));\n hook.ignoreUnhandledRejections();\n this.exports.push({\n hook,\n refcount: 1\n });\n continue;\n }\n break;\n case \"stream\":\n if (msg.length > 1) {\n let hook = new PayloadStubHook(new Evaluator(this, this.encodingLevel).evaluate(msg[1]));\n hook.ignoreUnhandledRejections();\n let exportId = this.exports.length;\n this.exports.push({\n hook,\n refcount: 1,\n autoRelease: true\n });\n this.ensureResolvingExport(exportId);\n continue;\n }\n break;\n case \"pipe\": {\n let { readable, writable } = new TransformStream();\n let hook = streamImpl.createWritableStreamHook(writable);\n this.exports.push({\n hook,\n refcount: 1,\n pipeReadable: readable\n });\n continue;\n }\n case \"pull\": {\n let exportId = msg[1];\n if (typeof exportId == \"number\") {\n this.ensureResolvingExport(exportId);\n continue;\n }\n break;\n }\n case \"resolve\":\n case \"reject\": {\n let importId = msg[1];\n if (typeof importId == \"number\" && msg.length > 2) {\n let imp = this.imports[importId];\n if (imp) if (msg[0] == \"resolve\") imp.resolve(new PayloadStubHook(new Evaluator(this, this.encodingLevel).evaluate(msg[2])));\n else {\n let payload = new Evaluator(this, this.encodingLevel).evaluate(msg[2]);\n payload.dispose();\n imp.resolve(new ErrorStubHook(payload.value));\n }\n else if (msg[0] == \"resolve\") new Evaluator(this, this.encodingLevel).evaluate(msg[2]).dispose();\n continue;\n }\n break;\n }\n case \"release\": {\n let exportId = msg[1];\n let refcount = msg[2];\n if (typeof exportId == \"number\" && typeof refcount == \"number\") {\n this.releaseExport(exportId, refcount);\n continue;\n }\n break;\n }\n case \"abort\": {\n let payload = new Evaluator(this, this.encodingLevel).evaluate(msg[1]);\n payload.dispose();\n this.abort(payload.value, false);\n break;\n }\n }\n throw new Error(`bad RPC message: ${JSON.stringify(msg)}`);\n }\n }\n async drain() {\n if (this.abortReason) throw this.abortReason;\n if (this.pullCount > 0) {\n let { promise, resolve, reject } = Promise.withResolvers();\n this.onBatchDone = {\n resolve,\n reject\n };\n await promise;\n }\n }\n getStats() {\n let result = {\n imports: 0,\n exports: 0\n };\n for (let i in this.imports) ++result.imports;\n for (let i in this.exports) ++result.exports;\n return result;\n }\n};\nvar RpcSession$1 = class {\n #session;\n #mainStub;\n constructor(transport, localMain, options = {}) {\n let mainHook;\n if (localMain) mainHook = new PayloadStubHook(RpcPayload.fromAppReturn(localMain));\n else mainHook = new ErrorStubHook(/* @__PURE__ */ new Error(\"This connection has no main object.\"));\n this.#session = new RpcSessionImpl(transport, mainHook, options);\n this.#mainStub = new RpcStub$1(this.#session.getMainImport());\n }\n getRemoteMain() {\n return this.#mainStub;\n }\n getStats() {\n return this.#session.getStats();\n }\n drain() {\n return this.#session.drain();\n }\n};\nfunction newWebSocketRpcSession$1(webSocket, localMain, options) {\n if (typeof webSocket === \"string\") webSocket = new WebSocket(webSocket);\n return new RpcSession$1(new WebSocketTransport(webSocket), localMain, options).getRemoteMain();\n}\nfunction newWorkersWebSocketRpcResponse(request, localMain, options) {\n if (request.headers.get(\"Upgrade\")?.toLowerCase() !== \"websocket\") return new Response(\"This endpoint only accepts WebSocket requests.\", { status: 400 });\n let pair = new WebSocketPair();\n let server = pair[0];\n server.accept();\n newWebSocketRpcSession$1(server, localMain, options);\n return new Response(null, {\n status: 101,\n webSocket: pair[1]\n });\n}\nvar WebSocketTransport = class {\n constructor(webSocket) {\n this.#webSocket = webSocket;\n webSocket.binaryType = \"arraybuffer\";\n if (webSocket.readyState === WebSocket.CONNECTING) {\n this.#sendQueue = [];\n webSocket.addEventListener(\"open\", (event) => {\n try {\n for (let message of this.#sendQueue) webSocket.send(message);\n } catch (err) {\n this.#receivedError(err);\n }\n this.#sendQueue = void 0;\n });\n }\n webSocket.addEventListener(\"message\", (event) => {\n if (this.#error) {\n } else if (typeof event.data === \"string\" || event.data instanceof ArrayBuffer) if (this.#receiveResolver) {\n this.#receiveResolver(event.data);\n this.#receiveResolver = void 0;\n this.#receiveRejecter = void 0;\n } else this.#receiveQueue.push(event.data);\n else this.#receivedError(/* @__PURE__ */ new TypeError(\"Received unexpected message type from WebSocket.\"));\n });\n webSocket.addEventListener(\"close\", (event) => {\n this.#receivedError(/* @__PURE__ */ new Error(`Peer closed WebSocket: ${event.code} ${event.reason}`));\n });\n webSocket.addEventListener(\"error\", (event) => {\n this.#receivedError(/* @__PURE__ */ new Error(`WebSocket connection failed.`));\n });\n }\n #webSocket;\n #sendQueue;\n #receiveResolver;\n #receiveRejecter;\n #receiveQueue = [];\n #error;\n send(message) {\n if (this.#sendQueue === void 0) this.#webSocket.send(message);\n else this.#sendQueue.push(message);\n }\n receive() {\n if (this.#receiveQueue.length > 0) return Promise.resolve(this.#receiveQueue.shift());\n else if (this.#error) return Promise.reject(this.#error);\n else return new Promise((resolve, reject) => {\n this.#receiveResolver = resolve;\n this.#receiveRejecter = reject;\n });\n }\n abort(reason) {\n let message;\n if (reason instanceof Error) message = reason.message;\n else message = `${reason}`;\n let reasonBytes = new TextEncoder().encode(message);\n if (reasonBytes.length > 123) message = new TextDecoder().decode(reasonBytes.subarray(0, 123), { stream: true });\n this.#webSocket.close(3e3, message);\n if (!this.#error) this.#error = reason;\n }\n #receivedError(reason) {\n if (!this.#error) {\n this.#error = reason;\n if (this.#receiveRejecter) {\n this.#receiveRejecter(reason);\n this.#receiveResolver = void 0;\n this.#receiveRejecter = void 0;\n }\n }\n }\n};\nvar BatchServerTransport = class {\n constructor(batch) {\n this.#batchToReceive = batch;\n }\n #batchToSend = [];\n #batchToReceive;\n #allReceived = Promise.withResolvers();\n send(message) {\n this.#batchToSend.push(message);\n }\n async receive() {\n let msg = this.#batchToReceive.shift();\n if (msg !== void 0) return msg;\n else {\n this.#allReceived.resolve();\n return new Promise((r) => {\n });\n }\n }\n abort(reason) {\n this.#allReceived.reject(reason);\n }\n whenAllReceived() {\n return this.#allReceived.promise;\n }\n getResponseBody() {\n return this.#batchToSend.join(\"\\n\");\n }\n};\nasync function newHttpBatchRpcResponse(request, localMain, options) {\n if (request.method !== \"POST\") return new Response(\"This endpoint only accepts POST requests.\", { status: 405 });\n let body = await request.text();\n let transport = new BatchServerTransport(body === \"\" ? [] : body.split(\"\\n\"));\n let rpc = new RpcSession$1(transport, localMain, options);\n await transport.whenAllReceived();\n await rpc.drain();\n return new Response(transport.getResponseBody());\n}\nvar currentMapBuilder;\nvar MapBuilder = class {\n context;\n captureMap = /* @__PURE__ */ new Map();\n instructions = [];\n constructor(subject, path) {\n if (currentMapBuilder) this.context = {\n parent: currentMapBuilder,\n captures: [],\n subject: currentMapBuilder.capture(subject),\n path\n };\n else this.context = {\n parent: void 0,\n captures: [],\n subject,\n path\n };\n currentMapBuilder = this;\n }\n unregister() {\n currentMapBuilder = this.context.parent;\n }\n makeInput() {\n return new MapVariableHook(this, 0);\n }\n makeOutput(result) {\n let devalued;\n try {\n devalued = Devaluator.devaluate(result.value, void 0, this, result);\n } finally {\n result.dispose();\n }\n this.instructions.push(devalued);\n if (this.context.parent) {\n this.context.parent.instructions.push([\n \"remap\",\n this.context.subject,\n this.context.path,\n this.context.captures.map((cap) => [\"import\", cap]),\n this.instructions\n ]);\n return new MapVariableHook(this.context.parent, this.context.parent.instructions.length);\n } else return this.context.subject.map(this.context.path, this.context.captures, this.instructions);\n }\n pushCall(hook, path, params) {\n let devalued = Devaluator.devaluate(params.value, void 0, this, params);\n devalued = devalued[0];\n let subject = this.capture(hook.dup());\n this.instructions.push([\n \"pipeline\",\n subject,\n path,\n devalued\n ]);\n return new MapVariableHook(this, this.instructions.length);\n }\n pushGet(hook, path) {\n let subject = this.capture(hook.dup());\n this.instructions.push([\n \"pipeline\",\n subject,\n path\n ]);\n return new MapVariableHook(this, this.instructions.length);\n }\n capture(hook) {\n if (hook instanceof MapVariableHook && hook.mapper === this) return hook.idx;\n let result = this.captureMap.get(hook);\n if (result === void 0) {\n if (this.context.parent) {\n let parentIdx = this.context.parent.capture(hook);\n this.context.captures.push(parentIdx);\n } else this.context.captures.push(hook);\n result = -this.context.captures.length;\n this.captureMap.set(hook, result);\n }\n return result;\n }\n exportStub(hook) {\n throw new Error(\"Can't construct an RpcTarget or RPC callback inside a mapper function. Try creating a new RpcStub outside the callback first, then using it inside the callback.\");\n }\n exportPromise(hook) {\n return this.exportStub(hook);\n }\n getImport(hook) {\n return this.capture(hook);\n }\n unexport(ids) {\n }\n createPipe(readable) {\n throw new Error(\"Cannot send ReadableStream inside a mapper function.\");\n }\n onSendError(error) {\n }\n};\nmapImpl.sendMap = (hook, path, func) => {\n let builder = new MapBuilder(hook, path);\n let result;\n try {\n result = RpcPayload.fromAppReturn(withCallInterceptor(builder.pushCall.bind(builder), () => {\n return func(new RpcPromise$1(builder.makeInput(), []));\n }));\n } finally {\n builder.unregister();\n }\n if (result instanceof Promise) {\n result.catch((err) => {\n });\n throw new Error(\"RPC map() callbacks cannot be async.\");\n }\n return new RpcPromise$1(builder.makeOutput(result), []);\n};\nfunction throwMapperBuilderUseError() {\n throw new Error(\"Attempted to use an abstract placeholder from a mapper function. Please make sure your map function has no side effects.\");\n}\nvar MapVariableHook = class extends StubHook {\n mapper;\n idx;\n constructor(mapper, idx) {\n super();\n this.mapper = mapper;\n this.idx = idx;\n }\n dup() {\n return this;\n }\n dispose() {\n }\n get(path) {\n if (path.length == 0) return this;\n else if (currentMapBuilder) return currentMapBuilder.pushGet(this, path);\n else throwMapperBuilderUseError();\n }\n call(path, args) {\n args.dispose();\n throwMapperBuilderUseError();\n }\n map(path, captures, instructions) {\n for (let cap of captures) cap.dispose();\n throwMapperBuilderUseError();\n }\n pull() {\n throwMapperBuilderUseError();\n }\n ignoreUnhandledRejections() {\n }\n onBroken(callback) {\n throwMapperBuilderUseError();\n }\n};\nvar MapApplicator = class {\n captures;\n variables;\n constructor(captures, input) {\n this.captures = captures;\n this.variables = [input];\n }\n dispose() {\n for (let variable of this.variables) variable.dispose();\n }\n apply(instructions) {\n try {\n if (instructions.length < 1) throw new Error(\"Invalid empty mapper function.\");\n for (let instruction of instructions.slice(0, -1)) {\n let payload = new Evaluator(this).evaluateCopy(instruction);\n if (payload.value instanceof RpcStub$1) {\n let hook = unwrapStubNoProperties(payload.value);\n if (hook) {\n this.variables.push(hook);\n continue;\n }\n }\n this.variables.push(new PayloadStubHook(payload));\n }\n return new Evaluator(this).evaluateCopy(instructions[instructions.length - 1]);\n } finally {\n for (let variable of this.variables) variable.dispose();\n }\n }\n importStub(idx) {\n throw new Error(\"A mapper function cannot refer to exports.\");\n }\n importPromise(idx) {\n return this.importStub(idx);\n }\n getExport(idx) {\n if (idx < 0) return this.captures[-idx - 1];\n else return this.variables[idx];\n }\n getPipeReadable(exportId) {\n throw new Error(\"A mapper function cannot use pipe readables.\");\n }\n getLimits() {\n return DEFAULT_LIMITS;\n }\n};\nfunction applyMapToElement(input, parent, owner, captures, instructions) {\n let mapper = new MapApplicator(captures, new PayloadStubHook(RpcPayload.deepCopyFrom(input, parent, owner)));\n try {\n return mapper.apply(instructions);\n } finally {\n mapper.dispose();\n }\n}\nmapImpl.applyMap = (input, parent, owner, captures, instructions) => {\n try {\n let result;\n if (input instanceof RpcPromise$1) throw new Error(\"applyMap() can't be called on RpcPromise\");\n else if (input instanceof Array) {\n let payloads = [];\n try {\n for (let elem of input) payloads.push(applyMapToElement(elem, input, owner, captures, instructions));\n } catch (err) {\n for (let payload of payloads) payload.dispose();\n throw err;\n }\n result = RpcPayload.fromArray(payloads);\n } else if (input === null || input === void 0) result = RpcPayload.fromAppReturn(input);\n else result = applyMapToElement(input, parent, owner, captures, instructions);\n return new PayloadStubHook(result);\n } finally {\n for (let cap of captures) cap.dispose();\n }\n};\nvar WritableStreamStubHook = class WritableStreamStubHook2 extends StubHook {\n state;\n static create(stream) {\n return new WritableStreamStubHook2({\n refcount: 1,\n writer: stream.getWriter(),\n closed: false\n });\n }\n constructor(state, dupFrom) {\n super();\n this.state = state;\n if (dupFrom) ++state.refcount;\n }\n getState() {\n if (this.state) return this.state;\n else throw new Error(\"Attempted to use a WritableStreamStubHook after it was disposed.\");\n }\n call(path, args) {\n try {\n let state = this.getState();\n if (path.length !== 1 || typeof path[0] !== \"string\") throw new Error(\"WritableStream stub only supports direct method calls\");\n const method = path[0];\n if (method !== \"write\" && method !== \"close\" && method !== \"abort\") throw new Error(`Unknown WritableStream method: ${method}`);\n if (method === \"close\" || method === \"abort\") state.closed = true;\n return new PromiseStubHook((method === \"write\" ? args.deliverStreamWrite(state.writer) : args.deliverCall(state.writer[method], state.writer)).then((payload) => new PayloadStubHook(payload)));\n } catch (err) {\n args.dispose();\n return new ErrorStubHook(err);\n }\n }\n map(path, captures, instructions) {\n for (let cap of captures) cap.dispose();\n return new ErrorStubHook(/* @__PURE__ */ new Error(\"Cannot use map() on a WritableStream\"));\n }\n get(path) {\n return new ErrorStubHook(/* @__PURE__ */ new Error(\"Cannot access properties on a WritableStream stub\"));\n }\n dup() {\n return new WritableStreamStubHook2(this.getState(), this);\n }\n pull() {\n return Promise.reject(/* @__PURE__ */ new Error(\"Cannot pull a WritableStream stub\"));\n }\n ignoreUnhandledRejections() {\n }\n dispose() {\n let state = this.state;\n this.state = void 0;\n if (state) {\n if (--state.refcount === 0) {\n if (!state.closed) state.writer.abort(/* @__PURE__ */ new Error(\"WritableStream RPC stub was disposed without calling close()\")).catch(() => {\n });\n state.writer.releaseLock();\n }\n }\n }\n onBroken(callback) {\n }\n};\nvar INITIAL_WINDOW = 256 * 1024;\nvar MAX_WINDOW = 1024 * 1024 * 1024;\nvar MIN_WINDOW = 64 * 1024;\nvar STARTUP_GROWTH_FACTOR = 2;\nvar STEADY_GROWTH_FACTOR = 1.25;\nvar DECAY_FACTOR = 0.9;\nvar STARTUP_EXIT_ROUNDS = 3;\nvar FlowController = class {\n now;\n window = INITIAL_WINDOW;\n bytesInFlight = 0;\n inStartupPhase = true;\n delivered = 0;\n deliveredTime = 0;\n firstAckTime = 0;\n firstAckDelivered = 0;\n minRtt = Infinity;\n roundsWithoutIncrease = 0;\n lastRoundWindow = 0;\n roundStartTime = 0;\n constructor(now) {\n this.now = now;\n }\n onSend(size) {\n this.bytesInFlight += size;\n let token = {\n sentTime: this.now(),\n size,\n deliveredAtSend: this.delivered,\n deliveredTimeAtSend: this.deliveredTime,\n windowAtSend: this.window,\n windowFullAtSend: this.bytesInFlight >= this.window\n };\n return {\n token,\n shouldBlock: token.windowFullAtSend\n };\n }\n onError(token) {\n this.bytesInFlight -= token.size;\n }\n onAck(token) {\n let ackTime = this.now();\n this.delivered += token.size;\n this.deliveredTime = ackTime;\n this.bytesInFlight -= token.size;\n let rtt = ackTime - token.sentTime;\n this.minRtt = Math.min(this.minRtt, rtt);\n if (this.firstAckTime === 0) {\n this.firstAckTime = ackTime;\n this.firstAckDelivered = this.delivered;\n } else {\n let baseTime;\n let baseDelivered;\n if (token.deliveredTimeAtSend === 0) {\n baseTime = this.firstAckTime;\n baseDelivered = this.firstAckDelivered;\n } else {\n baseTime = token.deliveredTimeAtSend;\n baseDelivered = token.deliveredAtSend;\n }\n let interval = ackTime - baseTime;\n let bandwidth = (this.delivered - baseDelivered) / interval;\n let growthFactor = this.inStartupPhase ? STARTUP_GROWTH_FACTOR : STEADY_GROWTH_FACTOR;\n let newWindow = bandwidth * this.minRtt * growthFactor;\n newWindow = Math.min(newWindow, token.windowAtSend * growthFactor);\n if (token.windowFullAtSend) newWindow = Math.max(newWindow, token.windowAtSend * DECAY_FACTOR);\n else newWindow = Math.max(newWindow, this.window);\n this.window = Math.max(Math.min(newWindow, MAX_WINDOW), MIN_WINDOW);\n if (this.inStartupPhase && token.sentTime >= this.roundStartTime) {\n if (this.window > this.lastRoundWindow * STEADY_GROWTH_FACTOR) this.roundsWithoutIncrease = 0;\n else if (++this.roundsWithoutIncrease >= STARTUP_EXIT_ROUNDS) this.inStartupPhase = false;\n this.roundStartTime = ackTime;\n this.lastRoundWindow = this.window;\n }\n }\n return this.bytesInFlight < this.window;\n }\n};\nfunction createWritableStreamFromHook(hook) {\n let pendingError = void 0;\n let hookDisposed = false;\n let fc = new FlowController(() => performance.now());\n let windowResolve;\n let windowReject;\n const disposeHook = () => {\n if (!hookDisposed) {\n hookDisposed = true;\n hook.dispose();\n }\n };\n return new WritableStream({\n write(chunk, controller) {\n if (pendingError !== void 0) throw pendingError;\n const payload = RpcPayload.fromAppParams([chunk]);\n const { promise, size } = hook.stream([\"write\"], payload);\n if (size === void 0) return promise.catch((err) => {\n if (pendingError === void 0) pendingError = err;\n throw err;\n });\n else {\n let { token, shouldBlock } = fc.onSend(size);\n promise.then(() => {\n if (fc.onAck(token) && windowResolve) {\n windowResolve();\n windowResolve = void 0;\n windowReject = void 0;\n }\n }, (err) => {\n fc.onError(token);\n if (pendingError === void 0) {\n pendingError = err;\n controller.error(err);\n disposeHook();\n }\n if (windowReject) {\n windowReject(err);\n windowResolve = void 0;\n windowReject = void 0;\n }\n });\n if (shouldBlock) return new Promise((resolve, reject) => {\n windowResolve = resolve;\n windowReject = reject;\n });\n }\n },\n async close() {\n if (pendingError !== void 0) {\n disposeHook();\n throw pendingError;\n }\n const { promise } = hook.stream([\"close\"], RpcPayload.fromAppParams([]));\n try {\n await promise;\n } catch (err) {\n throw pendingError ?? err;\n } finally {\n disposeHook();\n }\n },\n abort(reason) {\n if (pendingError !== void 0) return;\n pendingError = reason ?? /* @__PURE__ */ new Error(\"WritableStream was aborted\");\n if (windowReject) {\n windowReject(pendingError);\n windowResolve = void 0;\n windowReject = void 0;\n }\n const { promise } = hook.stream([\"abort\"], RpcPayload.fromAppParams([reason]));\n promise.then(() => disposeHook(), () => disposeHook());\n }\n });\n}\nvar ReadableStreamStubHook = class ReadableStreamStubHook2 extends StubHook {\n state;\n static create(stream) {\n return new ReadableStreamStubHook2({\n refcount: 1,\n stream,\n canceled: false\n });\n }\n constructor(state, dupFrom) {\n super();\n this.state = state;\n if (dupFrom) ++state.refcount;\n }\n call(path, args) {\n args.dispose();\n return new ErrorStubHook(/* @__PURE__ */ new Error(\"Cannot call methods on a ReadableStream stub\"));\n }\n map(path, captures, instructions) {\n for (let cap of captures) cap.dispose();\n return new ErrorStubHook(/* @__PURE__ */ new Error(\"Cannot use map() on a ReadableStream\"));\n }\n get(path) {\n return new ErrorStubHook(/* @__PURE__ */ new Error(\"Cannot access properties on a ReadableStream stub\"));\n }\n dup() {\n let state = this.state;\n if (!state) throw new Error(\"Attempted to dup a ReadableStreamStubHook after it was disposed.\");\n return new ReadableStreamStubHook2(state, this);\n }\n pull() {\n return Promise.reject(/* @__PURE__ */ new Error(\"Cannot pull a ReadableStream stub\"));\n }\n ignoreUnhandledRejections() {\n }\n dispose() {\n let state = this.state;\n this.state = void 0;\n if (state) {\n if (--state.refcount === 0) {\n if (!state.canceled) {\n state.canceled = true;\n if (!state.stream.locked) state.stream.cancel(/* @__PURE__ */ new Error(\"ReadableStream RPC stub was disposed without being consumed\")).catch(() => {\n });\n }\n }\n }\n }\n onBroken(callback) {\n }\n};\nstreamImpl.createWritableStreamHook = WritableStreamStubHook.create;\nstreamImpl.createWritableStreamFromHook = createWritableStreamFromHook;\nstreamImpl.createReadableStreamHook = ReadableStreamStubHook.create;\nasync function newWorkersRpcResponse(request, localMain, options) {\n if (request.method === \"POST\") {\n let response = await newHttpBatchRpcResponse(request, localMain, options);\n response.headers.set(\"Access-Control-Allow-Origin\", \"*\");\n return response;\n } else if (request.headers.get(\"Upgrade\")?.toLowerCase() === \"websocket\") return newWorkersWebSocketRpcResponse(request, localMain, options);\n else return new Response(\"This endpoint only accepts POST or WebSocket requests.\", { status: 400 });\n}\n\n// templates/remoteBindings/ProxyServerWorker.ts\nimport { EmailMessage } from \"cloudflare:email\";\nvar BindingNotFoundError = class extends Error {\n constructor(name) {\n super(`Binding ${name ? `\"${name}\"` : \"\"} not found`);\n }\n};\nfunction getExposedJSRPCBinding(request, env) {\n const url = new URL(request.url);\n const bindingName = url.searchParams.get(\"MF-Binding\");\n if (!bindingName) {\n throw new BindingNotFoundError();\n }\n const targetBinding = env[bindingName];\n if (!targetBinding) {\n throw new BindingNotFoundError(bindingName);\n }\n if (targetBinding.constructor.name === \"SendEmail\") {\n return {\n async send(e) {\n if (\"EmailMessage::raw\" in e) {\n const message = new EmailMessage(\n e.from,\n e.to,\n e[\"EmailMessage::raw\"]\n );\n return targetBinding.send(message);\n } else {\n return targetBinding.send(e);\n }\n }\n };\n }\n const dispatchNamespaceOptions = url.searchParams.get(\n \"MF-Dispatch-Namespace-Options\"\n );\n if (dispatchNamespaceOptions) {\n const { name, args, options } = JSON.parse(dispatchNamespaceOptions);\n return targetBinding.get(name, args, options);\n }\n return targetBinding;\n}\nfunction getExposedFetcher(request, env) {\n const bindingName = request.headers.get(\"MF-Binding\");\n if (!bindingName) {\n throw new BindingNotFoundError();\n }\n const targetBinding = env[bindingName];\n if (!targetBinding) {\n throw new BindingNotFoundError(bindingName);\n }\n const dispatchNamespaceOptions = request.headers.get(\n \"MF-Dispatch-Namespace-Options\"\n );\n if (dispatchNamespaceOptions) {\n const { name, args, options } = JSON.parse(dispatchNamespaceOptions);\n return targetBinding.get(name, args, options);\n }\n return targetBinding;\n}\nfunction isJSRPCBinding(request) {\n const url = new URL(request.url);\n return request.headers.has(\"Upgrade\") && url.searchParams.has(\"MF-Binding\");\n}\nfunction isConnectBinding(request) {\n return request.headers.get(\"Upgrade\") === \"websocket\" && request.headers.has(\"MF-Connect-Address\");\n}\nfunction handleConnect(request, env) {\n const address = request.headers.get(\"MF-Connect-Address\");\n if (address === null) {\n return new Response(\"Missing MF-Connect-Address header\", { status: 400 });\n }\n const fetcher = getExposedFetcher(request, env);\n const { 0: client, 1: server } = new WebSocketPair();\n server.accept();\n const socket = fetcher.connect(address);\n pipeSocketOverWebSocket(socket, server).catch(() => {\n });\n return new Response(null, { status: 101, webSocket: client });\n}\nfunction truncateCloseReason(reason) {\n const bytes = new TextEncoder().encode(reason);\n if (bytes.length <= 123) {\n return reason;\n }\n let end = 123;\n while (end > 0 && ((bytes[end] ?? 0) & 192) === 128) {\n end--;\n }\n return new TextDecoder().decode(bytes.subarray(0, end));\n}\nasync function pipeSocketOverWebSocket(socket, ws) {\n const writer = socket.writable.getWriter();\n const reader = socket.readable.getReader();\n let wsClosed = false;\n function closeWebSocket(code, reason) {\n if (wsClosed) {\n return;\n }\n wsClosed = true;\n try {\n ws.close(\n code,\n reason === void 0 ? void 0 : truncateCloseReason(reason)\n );\n } catch {\n }\n }\n let writeChain = Promise.resolve();\n let writerClosed = false;\n function closeWriter() {\n if (writerClosed) {\n return Promise.resolve();\n }\n writerClosed = true;\n return writeChain.then(() => writer.close());\n }\n let resolveFromWs;\n let rejectFromWs;\n const fromWebSocket = new Promise((resolve, reject) => {\n resolveFromWs = resolve;\n rejectFromWs = reject;\n });\n ws.addEventListener(\"message\", (event) => {\n const chunk = typeof event.data === \"string\" ? new TextEncoder().encode(event.data) : new Uint8Array(event.data);\n writeChain = writeChain.then(() => writer.write(chunk)).catch((error) => {\n closeWebSocket(\n 1011,\n error?.message ?? \"socket write failed\"\n );\n reader.cancel().catch(() => {\n });\n rejectFromWs(error);\n });\n });\n ws.addEventListener(\"close\", (event) => {\n wsClosed = true;\n reader.cancel().catch(() => {\n });\n if (event.code === 1011) {\n rejectFromWs(\n new Error(event.reason || \"Remote tunnel closed with an error\")\n );\n return;\n }\n closeWriter().then(resolveFromWs, rejectFromWs);\n });\n ws.addEventListener(\"error\", () => {\n wsClosed = true;\n reader.cancel().catch(() => {\n });\n rejectFromWs(new Error(\"Tunnel WebSocket errored\"));\n });\n const toWebSocket = (async () => {\n try {\n for (; ; ) {\n const { value, done } = await reader.read();\n if (done) {\n break;\n }\n if (wsClosed) {\n break;\n }\n ws.send(\n value.buffer.slice(\n value.byteOffset,\n value.byteOffset + value.byteLength\n )\n );\n }\n closeWebSocket(1e3);\n } catch (error) {\n closeWebSocket(1011, error?.message ?? \"socket read failed\");\n throw error;\n } finally {\n reader.releaseLock();\n closeWriter().then(resolveFromWs, rejectFromWs);\n }\n })();\n await Promise.all([toWebSocket, fromWebSocket]);\n}\nvar ProxyServerWorker_default = {\n async fetch(request, env) {\n try {\n if (isConnectBinding(request)) {\n return handleConnect(request, env);\n } else if (isJSRPCBinding(request)) {\n return await newWorkersRpcResponse(\n request,\n getExposedJSRPCBinding(request, env)\n );\n } else {\n const fetcher = getExposedFetcher(request, env);\n const originalHeaders = new Headers();\n for (const [name, value] of request.headers) {\n if (name.startsWith(\"mf-header-\")) {\n originalHeaders.set(name.slice(\"mf-header-\".length), value);\n } else if (name === \"upgrade\") {\n originalHeaders.set(name, value);\n }\n }\n return await fetcher.fetch(\n request.headers.get(\"MF-URL\") ?? \"http://example.com\",\n new Request(request, {\n redirect: \"manual\",\n headers: originalHeaders\n })\n );\n }\n } catch (e) {\n if (e instanceof BindingNotFoundError) {\n return new Response(e.message, { status: 400 });\n }\n return new Response(e.message, { status: 500 });\n }\n }\n};\nexport {\n ProxyServerWorker_default as default\n};\n";
|
|
61318
61568
|
let logger;
|
|
61319
61569
|
function initLogger(value) {
|
|
61320
61570
|
logger = value;
|
|
@@ -61845,7 +62095,10 @@ var RemoteRuntimeController = class {
|
|
|
61845
62095
|
bundleId
|
|
61846
62096
|
});
|
|
61847
62097
|
if (bundleId !== this.#currentBundleId || !token) return false;
|
|
61848
|
-
const accessHeaders = await getAccessHeaders(token.host, {
|
|
62098
|
+
const accessHeaders = await getAccessHeaders(token.host, {
|
|
62099
|
+
logger,
|
|
62100
|
+
previewToken: token.value
|
|
62101
|
+
});
|
|
61849
62102
|
const proxyData = {
|
|
61850
62103
|
userWorkerUrl: {
|
|
61851
62104
|
protocol: "https:",
|