@workflow/world-testing 5.0.0-beta.42 → 5.0.0-beta.43

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.
@@ -16177,6 +16177,18 @@ function envNumber2(name, fallback, options = {}) {
16177
16177
  }
16178
16178
  return parsed;
16179
16179
  }
16180
+ function envFlag(name, fallback, env = process.env) {
16181
+ const raw = env[name];
16182
+ if (raw === void 0 || raw === "")
16183
+ return fallback;
16184
+ const normalized = raw.toLowerCase();
16185
+ if (normalized === "0" || normalized === "false")
16186
+ return false;
16187
+ if (normalized === "1" || normalized === "true")
16188
+ return true;
16189
+ warnOnce2(`${name}=${raw}`, `Ignoring ${name}: expected 0/1/true/false; using default ${fallback}`);
16190
+ return fallback;
16191
+ }
16180
16192
  function getMaxEventsPerRun() {
16181
16193
  const maxEvents = envNumber2("WORKFLOW_MAX_EVENTS", DEFAULT_MAX_EVENTS_PER_RUN, { integer: true });
16182
16194
  return maxEvents > 0 ? maxEvents : DEFAULT_MAX_EVENTS_PER_RUN;
@@ -16191,6 +16203,7 @@ var init_env_config2 = __esm({
16191
16203
  warnedEnvValues2 = /* @__PURE__ */ new Set();
16192
16204
  __name(warnOnce2, "warnOnce");
16193
16205
  __name(envNumber2, "envNumber");
16206
+ __name(envFlag, "envFlag");
16194
16207
  DEFAULT_MAX_EVENTS_PER_RUN = 25e3;
16195
16208
  __name(getMaxEventsPerRun, "getMaxEventsPerRun");
16196
16209
  __name(_resetEnvWarnCacheForTests, "_resetEnvWarnCacheForTests");
@@ -16497,6 +16510,21 @@ var init_hooks2 = __esm({
16497
16510
  }
16498
16511
  });
16499
16512
 
16513
+ // ../world/dist/node-http-flag.js
16514
+ function isNodeHttpEnabled(env = process.env) {
16515
+ return envFlag(NODE_HTTP_ENV_VAR, NODE_HTTP_DEFAULT, env);
16516
+ }
16517
+ var NODE_HTTP_ENV_VAR, NODE_HTTP_DEFAULT;
16518
+ var init_node_http_flag2 = __esm({
16519
+ "../world/dist/node-http-flag.js"() {
16520
+ "use strict";
16521
+ init_env_config2();
16522
+ NODE_HTTP_ENV_VAR = "WORKFLOW_NODE_HTTP";
16523
+ NODE_HTTP_DEFAULT = false;
16524
+ __name(isNodeHttpEnabled, "isNodeHttpEnabled");
16525
+ }
16526
+ });
16527
+
16500
16528
  // ../world/dist/recovery.js
16501
16529
  async function reenqueueActiveRuns(runs, enqueue, label, namespace) {
16502
16530
  const workflowQueuePrefix = getQueueTopicPrefix2("workflow", resolveQueueNamespace2(namespace));
@@ -16921,6 +16949,8 @@ __export(dist_exports, {
16921
16949
  LegacySerializedDataSchemaV1: () => LegacySerializedDataSchemaV12,
16922
16950
  MAX_EVENT_SLOT: () => MAX_EVENT_SLOT2,
16923
16951
  MessageId: () => MessageId2,
16952
+ NODE_HTTP_DEFAULT: () => NODE_HTTP_DEFAULT,
16953
+ NODE_HTTP_ENV_VAR: () => NODE_HTTP_ENV_VAR,
16924
16954
  PARENT_RUN_ID_ATTRIBUTE: () => PARENT_RUN_ID_ATTRIBUTE2,
16925
16955
  PaginatedResponseSchema: () => PaginatedResponseSchema,
16926
16956
  QueuePayloadSchema: () => QueuePayloadSchema2,
@@ -16960,6 +16990,7 @@ __export(dist_exports, {
16960
16990
  _resetEnvWarnCacheForTests: () => _resetEnvWarnCacheForTests,
16961
16991
  applyAttributeChanges: () => applyAttributeChanges,
16962
16992
  entityEventClass: () => entityEventClass,
16993
+ envFlag: () => envFlag,
16963
16994
  envNumber: () => envNumber2,
16964
16995
  eventIdToSlot: () => eventIdToSlot,
16965
16996
  getEventDataPayloadField: () => getEventDataPayloadField,
@@ -16971,6 +17002,7 @@ __export(dist_exports, {
16971
17002
  isHookEventRequiringExistence: () => isHookEventRequiringExistence,
16972
17003
  isHookLifecycleEventType: () => isHookLifecycleEventType,
16973
17004
  isLegacySpecVersion: () => isLegacySpecVersion2,
17005
+ isNodeHttpEnabled: () => isNodeHttpEnabled,
16974
17006
  isRunEventType: () => isRunEventType,
16975
17007
  isSlotBody: () => isSlotBody,
16976
17008
  isSlotEventId: () => isSlotEventId,
@@ -17002,6 +17034,7 @@ var init_dist6 = __esm({
17002
17034
  init_env_config2();
17003
17035
  init_events2();
17004
17036
  init_hooks2();
17037
+ init_node_http_flag2();
17005
17038
  init_queue2();
17006
17039
  init_recovery2();
17007
17040
  init_runs2();
@@ -20444,6 +20477,281 @@ var init_instrumentObject = __esm({
20444
20477
  }
20445
20478
  });
20446
20479
 
20480
+ // ../world/dist/node-http.js
20481
+ import { Buffer as Buffer2 } from "node:buffer";
20482
+ import http from "node:http";
20483
+ import https from "node:https";
20484
+ import { Transform } from "node:stream";
20485
+ import zlib from "node:zlib";
20486
+ function createNodeHttpAgents(options) {
20487
+ const shared = {
20488
+ keepAlive: true,
20489
+ keepAliveMsecs: options.keepAliveMs,
20490
+ maxSockets: options.maxSockets
20491
+ };
20492
+ return { http: new http.Agent(shared), https: new https.Agent(shared) };
20493
+ }
20494
+ function destroyNodeHttpAgents(agents) {
20495
+ agents.http.destroy();
20496
+ agents.https.destroy();
20497
+ }
20498
+ function transportError(message, code3) {
20499
+ return Object.assign(new Error(message), { code: code3 });
20500
+ }
20501
+ function toOutgoingHeaders(headers) {
20502
+ const outgoing = {};
20503
+ headers?.forEach((value, name) => {
20504
+ outgoing[name] = value;
20505
+ });
20506
+ return outgoing;
20507
+ }
20508
+ function toResponseHeaders(message) {
20509
+ const headers = new Headers();
20510
+ for (const [name, value] of Object.entries(message.headers)) {
20511
+ if (value === void 0)
20512
+ continue;
20513
+ if (Array.isArray(value)) {
20514
+ for (const entry of value)
20515
+ headers.append(name, entry);
20516
+ } else {
20517
+ headers.append(name, value);
20518
+ }
20519
+ }
20520
+ return headers;
20521
+ }
20522
+ function decodeBody(message) {
20523
+ const encoding = message.headers["content-encoding"]?.toLowerCase().trim();
20524
+ if (!encoding || encoding === "identity")
20525
+ return message;
20526
+ let decoder6;
20527
+ if (encoding === "gzip" || encoding === "x-gzip") {
20528
+ decoder6 = zlib.createGunzip(ZLIB_OPTIONS);
20529
+ } else if (encoding === "deflate") {
20530
+ decoder6 = new InflateAuto();
20531
+ } else if (encoding === "br") {
20532
+ decoder6 = zlib.createBrotliDecompress(BROTLI_OPTIONS);
20533
+ } else {
20534
+ return message;
20535
+ }
20536
+ message.on("error", (error95) => decoder6.destroy(error95));
20537
+ message.on("close", () => {
20538
+ if (message.complete)
20539
+ return;
20540
+ decoder6.destroy(transportError("socket hang up", "ECONNRESET"));
20541
+ });
20542
+ decoder6.on("close", () => {
20543
+ if (!message.complete)
20544
+ message.destroy();
20545
+ });
20546
+ return message.pipe(decoder6);
20547
+ }
20548
+ function toWebStream(source, hooks) {
20549
+ let closed = false;
20550
+ const finish = /* @__PURE__ */ __name((fn) => {
20551
+ if (closed)
20552
+ return;
20553
+ closed = true;
20554
+ hooks.done();
20555
+ fn();
20556
+ }, "finish");
20557
+ return new ReadableStream({
20558
+ start(controller) {
20559
+ source.on("data", (chunk) => {
20560
+ hooks.progress();
20561
+ controller.enqueue(new Uint8Array(chunk));
20562
+ if ((controller.desiredSize ?? 1) <= 0)
20563
+ source.pause();
20564
+ });
20565
+ source.on("end", () => finish(() => controller.close()));
20566
+ source.on("error", (error95) => finish(() => controller.error(hooks.failure(error95))));
20567
+ source.on("close", () => finish(() => controller.error(hooks.failure())));
20568
+ },
20569
+ pull() {
20570
+ source.resume();
20571
+ },
20572
+ cancel(reason) {
20573
+ finish(() => {
20574
+ });
20575
+ source.destroy?.(reason instanceof Error ? reason : void 0);
20576
+ }
20577
+ });
20578
+ }
20579
+ function nodeHttpFetch(url3, init = {}) {
20580
+ const { method = "GET", headers, body, signal, agents, headersTimeoutMs, bodyTimeoutMs } = init;
20581
+ const target2 = new URL(url3);
20582
+ const secure = target2.protocol === "https:";
20583
+ if (!secure && target2.protocol !== "http:") {
20584
+ return Promise.reject(new TypeError(`node:http transport cannot request ${target2.protocol}// URLs`));
20585
+ }
20586
+ const outgoing = toOutgoingHeaders(headers);
20587
+ const payload = body == null ? void 0 : typeof body === "string" ? Buffer2.from(body, "utf8") : Buffer2.from(body.buffer, body.byteOffset, body.byteLength);
20588
+ if (payload)
20589
+ outgoing["content-length"] = String(payload.byteLength);
20590
+ if (!("accept-encoding" in outgoing)) {
20591
+ outgoing["accept-encoding"] = ACCEPTED_ENCODINGS;
20592
+ }
20593
+ return new Promise((resolve3, reject) => {
20594
+ if (signal?.aborted) {
20595
+ reject(signal.reason);
20596
+ return;
20597
+ }
20598
+ let settled = false;
20599
+ let headersTimer;
20600
+ let bodyTimer;
20601
+ let teardownReason;
20602
+ const clearTimers = /* @__PURE__ */ __name(() => {
20603
+ clearTimeout(headersTimer);
20604
+ clearTimeout(bodyTimer);
20605
+ headersTimer = void 0;
20606
+ bodyTimer = void 0;
20607
+ }, "clearTimers");
20608
+ const request = (secure ? https : http).request(target2, {
20609
+ method,
20610
+ headers: outgoing,
20611
+ agent: agents ? secure ? agents.https : agents.http : void 0
20612
+ });
20613
+ const abort = /* @__PURE__ */ __name(() => {
20614
+ if (signal?.reason instanceof Error)
20615
+ teardownReason = signal.reason;
20616
+ request.destroy(signal?.reason);
20617
+ }, "abort");
20618
+ signal?.addEventListener("abort", abort, { once: true });
20619
+ const detach = /* @__PURE__ */ __name(() => {
20620
+ signal?.removeEventListener("abort", abort);
20621
+ }, "detach");
20622
+ const fail = /* @__PURE__ */ __name((error95) => {
20623
+ clearTimers();
20624
+ detach();
20625
+ if (settled)
20626
+ return;
20627
+ settled = true;
20628
+ reject(error95);
20629
+ }, "fail");
20630
+ if (headersTimeoutMs) {
20631
+ request.on("socket", () => {
20632
+ headersTimer = setTimeout(() => {
20633
+ request.destroy(transportError(`no response headers within ${headersTimeoutMs}ms`, TIMEOUT_CODE));
20634
+ }, headersTimeoutMs);
20635
+ });
20636
+ }
20637
+ request.on("error", fail);
20638
+ request.on("response", (message) => {
20639
+ clearTimeout(headersTimer);
20640
+ headersTimer = void 0;
20641
+ const status = message.statusCode ?? 0;
20642
+ if (status < 200 || status > 599) {
20643
+ request.destroy();
20644
+ fail(transportError(`origin returned an unusable status line (${status})`, "UNSUPPORTED_STATUS"));
20645
+ return;
20646
+ }
20647
+ const responseHeaders = toResponseHeaders(message);
20648
+ const statusText = message.statusMessage ?? "";
20649
+ const bodiless = NULL_BODY_STATUSES.has(status) || method.toUpperCase() === "HEAD";
20650
+ if (bodiless) {
20651
+ message.resume();
20652
+ clearTimers();
20653
+ detach();
20654
+ settled = true;
20655
+ resolve3(new Response(null, { status, statusText, headers: responseHeaders }));
20656
+ return;
20657
+ }
20658
+ const armBodyTimer = /* @__PURE__ */ __name(() => {
20659
+ if (!bodyTimeoutMs)
20660
+ return;
20661
+ clearTimeout(bodyTimer);
20662
+ bodyTimer = setTimeout(() => {
20663
+ teardownReason = transportError(`no response body progress for ${bodyTimeoutMs}ms`, TIMEOUT_CODE);
20664
+ request.destroy(teardownReason);
20665
+ }, bodyTimeoutMs);
20666
+ }, "armBodyTimer");
20667
+ armBodyTimer();
20668
+ const decoded = decodeBody(message);
20669
+ if (decoded !== message) {
20670
+ responseHeaders.delete("content-encoding");
20671
+ responseHeaders.delete("content-length");
20672
+ }
20673
+ const stream = toWebStream(decoded, {
20674
+ progress: armBodyTimer,
20675
+ done: /* @__PURE__ */ __name(() => {
20676
+ clearTimers();
20677
+ detach();
20678
+ }, "done"),
20679
+ // A deliberate teardown (body deadline, caller abort) reaches the
20680
+ // socket as a plain reset, so the reason we tore it down for wins over
20681
+ // whatever the socket reported.
20682
+ failure: /* @__PURE__ */ __name((cause) => teardownReason ?? cause ?? transportError("socket hang up", "ECONNRESET"), "failure")
20683
+ });
20684
+ settled = true;
20685
+ resolve3(new Response(stream, { status, statusText, headers: responseHeaders }));
20686
+ });
20687
+ if (payload)
20688
+ request.write(payload);
20689
+ request.end();
20690
+ });
20691
+ }
20692
+ var NULL_BODY_STATUSES, ACCEPTED_ENCODINGS, TIMEOUT_CODE, ZLIB_OPTIONS, BROTLI_OPTIONS, InflateAuto;
20693
+ var init_node_http = __esm({
20694
+ "../world/dist/node-http.js"() {
20695
+ "use strict";
20696
+ __name(createNodeHttpAgents, "createNodeHttpAgents");
20697
+ __name(destroyNodeHttpAgents, "destroyNodeHttpAgents");
20698
+ NULL_BODY_STATUSES = /* @__PURE__ */ new Set([204, 205, 304]);
20699
+ ACCEPTED_ENCODINGS = "gzip, deflate, br";
20700
+ TIMEOUT_CODE = "ETIMEDOUT";
20701
+ __name(transportError, "transportError");
20702
+ __name(toOutgoingHeaders, "toOutgoingHeaders");
20703
+ __name(toResponseHeaders, "toResponseHeaders");
20704
+ ZLIB_OPTIONS = {
20705
+ flush: zlib.constants.Z_SYNC_FLUSH,
20706
+ finishFlush: zlib.constants.Z_SYNC_FLUSH
20707
+ };
20708
+ BROTLI_OPTIONS = {
20709
+ flush: zlib.constants.BROTLI_OPERATION_FLUSH,
20710
+ finishFlush: zlib.constants.BROTLI_OPERATION_FLUSH
20711
+ };
20712
+ InflateAuto = class extends Transform {
20713
+ static {
20714
+ __name(this, "InflateAuto");
20715
+ }
20716
+ inner;
20717
+ _transform(chunk, _encoding, callback) {
20718
+ if (!this.inner) {
20719
+ if (chunk.length === 0) {
20720
+ callback();
20721
+ return;
20722
+ }
20723
+ const inner = (chunk[0] & 15) === 8 ? zlib.createInflate(ZLIB_OPTIONS) : zlib.createInflateRaw(ZLIB_OPTIONS);
20724
+ inner.on("data", (decoded) => this.push(decoded));
20725
+ inner.on("end", () => this.push(null));
20726
+ inner.on("error", (error95) => this.destroy(error95));
20727
+ this.inner = inner;
20728
+ }
20729
+ this.inner.write(chunk, callback);
20730
+ }
20731
+ /**
20732
+ * Overriding `_final` keeps the readable side open past the end of the
20733
+ * writable one, so the last inflated bytes still reach the consumer. It is
20734
+ * closed by the inner stream's `end`, or here when there was no body at all.
20735
+ */
20736
+ _final(callback) {
20737
+ if (this.inner) {
20738
+ this.inner.end();
20739
+ } else {
20740
+ this.push(null);
20741
+ }
20742
+ callback();
20743
+ }
20744
+ _destroy(error95, callback) {
20745
+ this.inner?.destroy();
20746
+ callback(error95);
20747
+ }
20748
+ };
20749
+ __name(decodeBody, "decodeBody");
20750
+ __name(toWebStream, "toWebStream");
20751
+ __name(nodeHttpFetch, "nodeHttpFetch");
20752
+ }
20753
+ });
20754
+
20447
20755
  // ../../node_modules/.pnpm/async-sema@3.1.1/node_modules/async-sema/lib/index.js
20448
20756
  var require_lib = __commonJS({
20449
20757
  "../../node_modules/.pnpm/async-sema@3.1.1/node_modules/async-sema/lib/index.js"(exports) {
@@ -21704,7 +22012,7 @@ var require_tree = __commonJS({
21704
22012
  var require_util = __commonJS({
21705
22013
  "../../node_modules/.pnpm/undici@7.29.0/node_modules/undici/lib/core/util.js"(exports, module) {
21706
22014
  "use strict";
21707
- var assert6 = __require("node:assert");
22015
+ var assert7 = __require("node:assert");
21708
22016
  var { kDestroyed, kBodyUsed, kListeners, kBody } = require_symbols();
21709
22017
  var { IncomingMessage } = __require("node:http");
21710
22018
  var stream = __require("node:stream");
@@ -21725,7 +22033,7 @@ var require_util = __commonJS({
21725
22033
  this[kBodyUsed] = false;
21726
22034
  }
21727
22035
  async *[Symbol.asyncIterator]() {
21728
- assert6(!this[kBodyUsed], "disturbed");
22036
+ assert7(!this[kBodyUsed], "disturbed");
21729
22037
  this[kBodyUsed] = true;
21730
22038
  yield* this[kBody];
21731
22039
  }
@@ -21737,7 +22045,7 @@ var require_util = __commonJS({
21737
22045
  if (isStream(body)) {
21738
22046
  if (bodyLength(body) === 0) {
21739
22047
  body.on("data", function() {
21740
- assert6(false);
22048
+ assert7(false);
21741
22049
  });
21742
22050
  }
21743
22051
  if (typeof body.readableDidRead !== "boolean") {
@@ -21857,7 +22165,7 @@ var require_util = __commonJS({
21857
22165
  function getHostname(host) {
21858
22166
  if (host[0] === "[") {
21859
22167
  const idx2 = host.indexOf("]");
21860
- assert6(idx2 !== -1);
22168
+ assert7(idx2 !== -1);
21861
22169
  return host.substring(1, idx2);
21862
22170
  }
21863
22171
  const idx = host.indexOf(":");
@@ -21869,7 +22177,7 @@ var require_util = __commonJS({
21869
22177
  if (!host) {
21870
22178
  return null;
21871
22179
  }
21872
- assert6(typeof host === "string");
22180
+ assert7(typeof host === "string");
21873
22181
  const servername = getHostname(host);
21874
22182
  if (net2.isIP(servername)) {
21875
22183
  return "";
@@ -22427,7 +22735,7 @@ var require_util = __commonJS({
22427
22735
  function errorRequest(client, request, err) {
22428
22736
  try {
22429
22737
  request.onError(err);
22430
- assert6(request.aborted);
22738
+ assert7(request.aborted);
22431
22739
  } catch (err2) {
22432
22740
  client.emit("error", err2);
22433
22741
  }
@@ -22833,7 +23141,7 @@ var require_request = __commonJS({
22833
23141
  InvalidArgumentError,
22834
23142
  NotSupportedError
22835
23143
  } = require_errors();
22836
- var assert6 = __require("node:assert");
23144
+ var assert7 = __require("node:assert");
22837
23145
  var {
22838
23146
  isValidHTTPToken,
22839
23147
  isValidHeaderValue,
@@ -23035,8 +23343,8 @@ var require_request = __commonJS({
23035
23343
  }
23036
23344
  }
23037
23345
  onConnect(abort) {
23038
- assert6(!this.aborted);
23039
- assert6(!this.completed);
23346
+ assert7(!this.aborted);
23347
+ assert7(!this.completed);
23040
23348
  if (this.error) {
23041
23349
  abort(this.error);
23042
23350
  } else {
@@ -23048,8 +23356,8 @@ var require_request = __commonJS({
23048
23356
  return this[kHandler].onResponseStarted?.();
23049
23357
  }
23050
23358
  onHeaders(statusCode, headers, resume, statusText) {
23051
- assert6(!this.aborted);
23052
- assert6(!this.completed);
23359
+ assert7(!this.aborted);
23360
+ assert7(!this.completed);
23053
23361
  if (channels.headers.hasSubscribers) {
23054
23362
  channels.headers.publish({ request: this, response: { statusCode, headers, statusText } });
23055
23363
  }
@@ -23060,8 +23368,8 @@ var require_request = __commonJS({
23060
23368
  }
23061
23369
  }
23062
23370
  onData(chunk) {
23063
- assert6(!this.aborted);
23064
- assert6(!this.completed);
23371
+ assert7(!this.aborted);
23372
+ assert7(!this.completed);
23065
23373
  if (channels.bodyChunkReceived.hasSubscribers) {
23066
23374
  channels.bodyChunkReceived.publish({ request: this, chunk });
23067
23375
  }
@@ -23073,14 +23381,14 @@ var require_request = __commonJS({
23073
23381
  }
23074
23382
  }
23075
23383
  onUpgrade(statusCode, headers, socket) {
23076
- assert6(!this.aborted);
23077
- assert6(!this.completed);
23384
+ assert7(!this.aborted);
23385
+ assert7(!this.completed);
23078
23386
  return this[kHandler].onUpgrade(statusCode, headers, socket);
23079
23387
  }
23080
23388
  onComplete(trailers) {
23081
23389
  this.onFinally();
23082
- assert6(!this.aborted);
23083
- assert6(!this.completed);
23390
+ assert7(!this.aborted);
23391
+ assert7(!this.completed);
23084
23392
  this.completed = true;
23085
23393
  if (channels.trailers.hasSubscribers) {
23086
23394
  channels.trailers.publish({ request: this, trailers });
@@ -23595,7 +23903,7 @@ var require_connect = __commonJS({
23595
23903
  "../../node_modules/.pnpm/undici@7.29.0/node_modules/undici/lib/core/connect.js"(exports, module) {
23596
23904
  "use strict";
23597
23905
  var net2 = __require("node:net");
23598
- var assert6 = __require("node:assert");
23906
+ var assert7 = __require("node:assert");
23599
23907
  var util = require_util();
23600
23908
  var { InvalidArgumentError } = require_errors();
23601
23909
  var tls;
@@ -23658,7 +23966,7 @@ var require_connect = __commonJS({
23658
23966
  }
23659
23967
  servername = servername || options.servername || util.getServerName(host) || null;
23660
23968
  const sessionKey = servername || hostname5;
23661
- assert6(sessionKey);
23969
+ assert7(sessionKey);
23662
23970
  const session = customSession || sessionCache.get(sessionKey) || null;
23663
23971
  port = port || 443;
23664
23972
  socket = tls.connect({
@@ -23678,7 +23986,7 @@ var require_connect = __commonJS({
23678
23986
  sessionCache.set(sessionKey, session2);
23679
23987
  });
23680
23988
  } else {
23681
- assert6(!httpSocket, "httpSocket can only be sent on TLS update");
23989
+ assert7(!httpSocket, "httpSocket can only be sent on TLS update");
23682
23990
  port = port || 80;
23683
23991
  socket = net2.connect({
23684
23992
  highWaterMark: 64 * 1024,
@@ -24364,12 +24672,12 @@ var require_constants4 = __commonJS({
24364
24672
  var require_llhttp_wasm = __commonJS({
24365
24673
  "../../node_modules/.pnpm/undici@7.29.0/node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports, module) {
24366
24674
  "use strict";
24367
- var { Buffer: Buffer3 } = __require("node:buffer");
24675
+ var { Buffer: Buffer4 } = __require("node:buffer");
24368
24676
  var wasmBase64 = "AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAn9/AGABfwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAzU0BQYAAAMAAAAAAAADAQMAAwMDAAACAAAAAAICAgICAgICAgIBAQEBAQEBAQEBAwAAAwAAAAQFAXABExMFAwEAAgYIAX8BQcDZBAsHxQcoBm1lbW9yeQIAC19pbml0aWFsaXplAAgZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEAC2xsaHR0cF9pbml0AAkYbGxodHRwX3Nob3VsZF9rZWVwX2FsaXZlADcMbGxodHRwX2FsbG9jAAsGbWFsbG9jADkLbGxodHRwX2ZyZWUADARmcmVlAAwPbGxodHRwX2dldF90eXBlAA0VbGxodHRwX2dldF9odHRwX21ham9yAA4VbGxodHRwX2dldF9odHRwX21pbm9yAA8RbGxodHRwX2dldF9tZXRob2QAEBZsbGh0dHBfZ2V0X3N0YXR1c19jb2RlABESbGxodHRwX2dldF91cGdyYWRlABIMbGxodHRwX3Jlc2V0ABMObGxodHRwX2V4ZWN1dGUAFBRsbGh0dHBfc2V0dGluZ3NfaW5pdAAVDWxsaHR0cF9maW5pc2gAFgxsbGh0dHBfcGF1c2UAFw1sbGh0dHBfcmVzdW1lABgbbGxodHRwX3Jlc3VtZV9hZnRlcl91cGdyYWRlABkQbGxodHRwX2dldF9lcnJubwAaF2xsaHR0cF9nZXRfZXJyb3JfcmVhc29uABsXbGxodHRwX3NldF9lcnJvcl9yZWFzb24AHBRsbGh0dHBfZ2V0X2Vycm9yX3BvcwAdEWxsaHR0cF9lcnJub19uYW1lAB4SbGxodHRwX21ldGhvZF9uYW1lAB8SbGxodHRwX3N0YXR1c19uYW1lACAabGxodHRw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AXRrQT5qIQILIAEgAjYCHCABQgA3AhAgAkECdEH01wBqIQACQEHI1QAoAgAiA0EBIAJ0IgdxRQRAIAAgATYCAEHI1QAgAyAHcjYCACABIAA2AhggASABNgIIIAEgATYCDAwBCyAEQRkgAkEBdmtBACACQR9HG3QhAiAAKAIAIQACQANAIAAiAygCBEF4cSAERg0BIAJBHXYhACACQQF0IQIgAyAAQQRxakEQaiIHKAIAIgANAAsgByABNgIAIAEgAzYCGCABIAE2AgwgASABNgIIDAELIAMoAggiACABNgIMIAMgATYCCCABQQA2AhggASADNgIMIAEgADYCCAtB5NUAQeTVACgCAEEBayIAQX8gABs2AgALCwcAIAAtACgLBwAgAC0AKgsHACAALQArCwcAIAAtACkLBwAgAC8BNAsHACAALQAwC0ABBH8gACgCGCEBIAAvAS4hAiAALQAoIQMgACgCOCEEIAAQOCAAIAQ2AjggACADOgAoIAAgAjsBLiAAIAE2AhgL5YUCAgd/A34gASACaiEEAkAgACIDKAIMIgANACADKAIEBEAgAyABNgIECyMAQRBrIgkkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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C0HjAQwHC0HXAQwGC0HYAQwFC0HZAQwEC0HaAQwDC0HbAQwCC0HdAQwBC0HcAQshAgNAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJ/AkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAg7jAQABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEjJCUnKCmeA5sDmgORA4oDgwOAA/0C+wL4AvIC8QLvAu0C6ALnAuYC5QLkAtwC2wLaAtkC2ALXAtYC1QLPAs4CzALLAsoCyQLIAscCxgLEAsMCvgK8AroCuQK4ArcCtgK1ArQCswKyArECsAKuAq0CqQKoAqcCpgKlAqQCowKiAqECoAKfApgCkAKMAosCigKBAv4B/QH8AfsB+gH5AfgB9wH1AfMB8AHrAekB6AHnAeYB5QHkAeMB4gHhAeAB3wHeAd0B3AHaAdkB2AHXAdYB1QHUAdMB0gHRAdABzwHOAc0BzAHLAcoByQHIAccBxgHFAcQBwwHCAcEBwAG/Ab4BvQG8AbsBugG5AbgBtwG2AbUBtAGzAbIBsQGwAa8BrgGtAawBqwGqAakBqAGnAaYBpQGkAaMBogGfAZ4BmQGYAZcBlgGVAZQBkwGSAZEBkAGPAY0BjAGHAYYBhQGEAYMBggF9fHt6eXZ1dFBRUlNUVQsgASAERw1yQf0BIQIMvgMLIAEgBEcNmAFB2wEhAgy9AwsgASAERw3xAUGOASECDLwDCyABIARHDfwBQYQBIQIMuwMLIAEgBEcNigJB/wAhAgy6AwsgASAERw2RAkH9ACECDLkDCyABIARHDZQCQfsAIQIMuAMLIAEgBEcNHkEeIQIMtwMLIAEgBEcNGUEYIQIMtgMLIAEgBEcNygJBzQAhAgy1AwsgASAERw3VAkHGACECDLQDCyABIARHDdYCQcMAIQIMswMLIAEgBEcN3AJBOCECDLIDCyADLQAwQQFGDa0DDIkDC0EAIQACQAJAAkAgAy0AKkUNACADLQArRQ0AIAMvATIiAkECcUUNAQwCCyADLwEyIgJBAXFFDQELQQEhACADLQAoQQFGDQAgAy8BNCIGQeQAa0HkAEkNACAGQcwBRg0AIAZBsAJGDQAgAkHAAHENAEEAIQAgAkGIBHFBgARGDQAgAkEocUEARyEACyADQQA7ATIgA0EAOgAxAkAgAEUEQCADQQA6ADEgAy0ALkEEcQ0BDLEDCyADQgA3AyALIANBADoAMSADQQE6ADYMSAtBACEAAkAgAygCOCICRQ0AIAIoAjAiAkUNACADIAIRAAAhAAsgAEUNSCAAQRVHDWIgA0EENgIcIAMgATYCFCADQdIbNgIQIANBFTYCDEEAIQIMrwMLIAEgBEYEQEEGIQIMrwMLIAEtAABBCkcNGSABQQFqIQEMGgsgA0IANwMgQRIhAgyUAwsgASAERw2KA0EjIQIMrAMLIAEgBEYEQEEHIQIMrAMLAkACQCABLQAAQQprDgQBGBgAGAsgAUEBaiEBQRAhAgyTAwsgAUEBaiEBIANBL2otAABBAXENF0EAIQIgA0EANgIcIAMgATYCFCADQZkgNgIQIANBGTYCDAyrAwsgAyADKQMgIgwgBCABa60iCn0iC0IAIAsgDFgbNwMgIAogDFoNGEEIIQIMqgMLIAEgBEcEQCADQQk2AgggAyABNgIEQRQhAgyRAwtBCSECDKkDCyADKQMgUA2uAgxDCyABIARGBEBBCyECDKgDCyABLQAAQQpHDRYgAUEBaiEBDBcLIANBL2otAABBAXFFDRkMJgtBACEAAkAgAygCOCICRQ0AIAIoAlAiAkUNACADIAIRAAAhAAsgAA0ZDEILQQAhAAJAIAMoAjgiAkUNACACKAJQIgJFDQAgAyACEQAAIQALIAANGgwkC0EAIQACQCADKAI4IgJFDQAgAigCUCICRQ0AIAMgAhEAACEACyAADRsMMgsgA0Evai0AAEEBcUUNHAwiC0EAIQACQCADKAI4IgJFDQAgAigCVCICRQ0AIAMgAhEAACEACyAADRwMQgtBACEAAkAgAygCOCICRQ0AIAIoAlQiAkUNACADIAIRAAAhAAsgAA0dDCALIAEgBEYEQEETIQIMoAMLAkAgAS0AACIAQQprDgQfIyMAIgsgAUEBaiEBDB8LQQAhAAJAIAMoAjgiAkUNACACKAJUIgJFDQAgAyACEQAAIQALIAANIgxCCyABIARGBEBBFiECDJ4DCyABLQAAQcDBAGotAABBAUcNIwyDAwsCQANAIAEtAABBsDtqLQAAIgBBAUcEQAJAIABBAmsOAgMAJwsgAUEBaiEBQSEhAgyGAwsgBCABQQFqIgFHDQALQRghAgydAwsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAFBAWoiARA0IgANIQxBC0EAIQACQCADKAI4IgJFDQAgAigCVCICRQ0AIAMgAhEAACEACyAADSMMKgsgASAERgRAQRwhAgybAwsgA0EKNgIIIAMgATYCBEEAIQACQCADKAI4IgJFDQAgAigCUCICRQ0AIAMgAhEAACEACyAADSVBJCECDIEDCyABIARHBEADQCABLQAAQbA9ai0AACIAQQNHBEAgAEEBaw4FGBomggMlJgsgBCABQQFqIgFHDQALQRshAgyaAwtBGyECDJkDCwNAIAEtAABBsD9qLQAAIgBBA0cEQCAAQQFrDgUPEScTJicLIAQgAUEBaiIBRw0AC0EeIQIMmAMLIAEgBEcEQCADQQs2AgggAyABNgIEQQchAgz/AgtBHyECDJcDCyABIARGBEBBICECDJcDCwJAIAEtAABBDWsOFC4/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8APwtBACECIANBADYCHCADQb8LNgIQIANBAjYCDCADIAFBAWo2AhQMlgMLIANBL2ohAgNAIAEgBEYEQEEhIQIMlwMLAkACQAJAIAEtAAAiAEEJaw4YAgApKQEpKSkpKSkpKSkpKSkpKSkpKSkCJwsgAUEBaiEBIANBL2otAABBAXFFDQoMGAsgAUEBaiEBDBcLIAFBAWohASACLQAAQQJxDQALQQAhAiADQQA2AhwgAyABNgIUIANBnxU2AhAgA0EMNgIMDJUDCyADLQAuQYABcUUNAQtBACEAAkAgAygCOCICRQ0AIAIoAlwiAkUNACADIAIRAAAhAAsgAEUN5gIgAEEVRgRAIANBJDYCHCADIAE2AhQgA0GbGzYCECADQRU2AgxBACECDJQDC0EAIQIgA0EANgIcIAMgATYCFCADQZAONgIQIANBFDYCDAyTAwtBACECIANBADYCHCADIAE2AhQgA0G+IDYCECADQQI2AgwMkgMLIAMoAgQhAEEAIQIgA0EANgIEIAMgACABIAynaiIBEDIiAEUNKyADQQc2AhwgAyABNgIUIAMgADYCDAyRAwsgAy0ALkHAAHFFDQELQQAhAAJAIAMoAjgiAkUNACACKAJYIgJFDQAgAyACEQAAIQALIABFDSsgAEEVRgRAIANBCjYCHCADIAE2AhQgA0HrGTYCECADQRU2AgxBACECDJADC0EAIQIgA0EANgIcIAMgATYCFCADQZMMNgIQIANBEzYCDAyPAwtBACECIANBADYCHCADIAE2AhQgA0GCFTYCECADQQI2AgwMjgMLQQAhAiADQQA2AhwgAyABNgIUIANB3RQ2AhAgA0EZNgIMDI0DC0EAIQIgA0EANgIcIAMgATYCFCADQeYdNgIQIANBGTYCDAyMAwsgAEEVRg09QQAhAiADQQA2AhwgAyABNgIUIANB0A82AhAgA0EiNgIMDIsDCyADKAIEIQBBACECIANBADYCBCADIAAgARAzIgBFDSggA0ENNgIcIAMgATYCFCADIAA2AgwMigMLIABBFUYNOkEAIQIgA0EANgIcIAMgATYCFCADQdAPNgIQIANBIjYCDAyJAwsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQMyIARQRAIAFBAWohAQwoCyADQQ42AhwgAyAANgIMIAMgAUEBajYCFAyIAwsgAEEVRg03QQAhAiADQQA2AhwgAyABNgIUIANB0A82AhAgA0EiNgIMDIcDCyADKAIEIQBBACECIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDCcLIANBDzYCHCADIAA2AgwgAyABQQFqNgIUDIYDC0EAIQIgA0EANgIcIAMgATYCFCADQeIXNgIQIANBGTYCDAyFAwsgAEEVRg0zQQAhAiADQQA2AhwgAyABNgIUIANB1gw2AhAgA0EjNgIMDIQDCyADKAIEIQBBACECIANBADYCBCADIAAgARA0IgBFDSUgA0ERNgIcIAMgATYCFCADIAA2AgwMgwMLIABBFUYNMEEAIQIgA0EANgIcIAMgATYCFCADQdYMNgIQIANBIzYCDAyCAwsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQwlCyADQRI2AhwgAyAANgIMIAMgAUEBajYCFAyBAwsgA0Evai0AAEEBcUUNAQtBFyECDOYCC0EAIQIgA0EANgIcIAMgATYCFCADQeIXNgIQIANBGTYCDAz+AgsgAEE7Rw0AIAFBAWohAQwMC0EAIQIgA0EANgIcIAMgATYCFCADQZIYNgIQIANBAjYCDAz8AgsgAEEVRg0oQQAhAiADQQA2AhwgAyABNgIUIANB1gw2AhAgA0EjNgIMDPsCCyADQRQ2AhwgAyABNgIUIAMgADYCDAz6AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQz1AgsgA0EVNgIcIAMgADYCDCADIAFBAWo2AhQM+QILIAMoAgQhAEEAIQIgA0EANgIEIAMgACABEDQiAEUEQCABQQFqIQEM8wILIANBFzYCHCADIAA2AgwgAyABQQFqNgIUDPgCCyAAQRVGDSNBACECIANBADYCHCADIAE2AhQgA0HWDDYCECADQSM2AgwM9wILIAMoAgQhAEEAIQIgA0EANgIEIAMgACABEDQiAEUEQCABQQFqIQEMHQsgA0EZNgIcIAMgADYCDCADIAFBAWo2AhQM9gILIAMoAgQhAEEAIQIgA0EANgIEIAMgACABEDQiAEUEQCABQQFqIQEM7wILIANBGjYCHCADIAA2AgwgAyABQQFqNgIUDPUCCyAAQRVGDR9BACECIANBADYCHCADIAE2AhQgA0HQDzYCECADQSI2AgwM9AILIAMoAgQhACADQQA2AgQgAyAAIAEQMyIARQRAIAFBAWohAQwbCyADQRw2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIM8wILIAMoAgQhACADQQA2AgQgAyAAIAEQMyIARQRAIAFBAWohAQzrAgsgA0EdNgIcIAMgADYCDCADIAFBAWo2AhRBACECDPICCyAAQTtHDQEgAUEBaiEBC0EmIQIM1wILQQAhAiADQQA2AhwgAyABNgIUIANBnxU2AhAgA0EMNgIMDO8CCyABIARHBEADQCABLQAAQSBHDYQCIAQgAUEBaiIBRw0AC0EsIQIM7wILQSwhAgzuAgsgASAERgRAQTQhAgzuAgsCQAJAA0ACQCABLQAAQQprDgQCAAADAAsgBCABQQFqIgFHDQALQTQhAgzvAgsgAygCBCEAIANBADYCBCADIAAgARAxIgBFDZ8CIANBMjYCHCADIAE2AhQgAyAANgIMQQAhAgzuAgsgAygCBCEAIANBADYCBCADIAAgARAxIgBFBEAgAUEBaiEBDJ8CCyADQTI2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIM7QILIAEgBEcEQAJAA0AgAS0AAEEwayIAQf8BcUEKTwRAQTohAgzXAgsgAykDICILQpmz5syZs+bMGVYNASADIAtCCn4iCjcDICAKIACtQv8BgyILQn+FVg0BIAMgCiALfDcDICAEIAFBAWoiAUcNAAtBwAAhAgzuAgsgAygCBCEAIANBADYCBCADIAAgAUEBaiIBEDEiAA0XDOICC0HAACECDOwCCyABIARGBEBByQAhAgzsAgsCQANAAkAgAS0AAEEJaw4YAAKiAqICqQKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogIAogILIAQgAUEBaiIBRw0AC0HJACECDOwCCyABQQFqIQEgA0Evai0AAEEBcQ2lAiADQQA2AhwgAyABNgIUIANBlxA2AhAgA0EKNgIMQQAhAgzrAgsgASAERwRAA0AgAS0AAEEgRw0VIAQgAUEBaiIBRw0AC0H4ACECDOsCC0H4ACECDOoCCyADQQI6ACgMOAtBACECIANBADYCHCADQb8LNgIQIANBAjYCDCADIAFBAWo2AhQM6AILQQAhAgzOAgtBDSECDM0CC0ETIQIMzAILQRUhAgzLAgtBFiECDMoCC0EYIQIMyQILQRkhAgzIAgtBGiECDMcCC0EbIQIMxgILQRwhAgzFAgtBHSECDMQCC0EeIQIMwwILQR8hAgzCAgtBICECDMECC0EiIQIMwAILQSMhAgy/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==";
24369
24677
  var wasmBuffer;
24370
24678
  Object.defineProperty(module, "exports", {
24371
24679
  get: /* @__PURE__ */ __name(() => {
24372
- return wasmBuffer ? wasmBuffer : wasmBuffer = Buffer3.from(wasmBase64, "base64");
24680
+ return wasmBuffer ? wasmBuffer : wasmBuffer = Buffer4.from(wasmBase64, "base64");
24373
24681
  }, "get")
24374
24682
  });
24375
24683
  }
@@ -24379,12 +24687,12 @@ var require_llhttp_wasm = __commonJS({
24379
24687
  var require_llhttp_simd_wasm = __commonJS({
24380
24688
  "../../node_modules/.pnpm/undici@7.29.0/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports, module) {
24381
24689
  "use strict";
24382
- var { Buffer: Buffer3 } = __require("node:buffer");
24690
+ var { Buffer: Buffer4 } = __require("node:buffer");
24383
24691
  var wasmBase64 = "AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAn9/AGABfwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAzU0BQYAAAMAAAAAAAADAQMAAwMDAAACAAAAAAICAgICAgICAgIBAQEBAQEBAQEBAwAAAwAAAAQFAXABExMFAwEAAgYIAX8BQcDZBAsHxQcoBm1lbW9yeQIAC19pbml0aWFsaXplAAgZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEAC2xsaHR0cF9pbml0AAkYbGxodHRwX3Nob3VsZF9rZWVwX2FsaXZlADcMbGxodHRwX2FsbG9jAAsGbWFsbG9jADkLbGxodHRwX2ZyZWUADARmcmVlAAwPbGxodHRwX2dldF90eXBlAA0VbGxodHRwX2dldF9odHRwX21ham9yAA4VbGxodHRwX2dldF9odHRwX21pbm9yAA8RbGxodHRwX2dldF9tZXRob2QAEBZsbGh0dHBfZ2V0X3N0YXR1c19jb2RlABESbGxodHRwX2dldF91cGdyYWRlABIMbGxodHRwX3Jlc2V0ABMObGxodHRwX2V4ZWN1dGUAFBRsbGh0dHBfc2V0dGluZ3NfaW5pdAAVDWxsaHR0cF9maW5pc2gAFgxsbGh0dHBfcGF1c2UAFw1sbGh0dHBfcmVzdW1lABgbbGxodHRwX3Jlc3VtZV9hZnRlcl91cGdyYWRlABkQbGxodHRwX2dldF9lcnJubwAaF2xsaHR0cF9nZXRfZXJyb3JfcmVhc29uABsXbGxodHRwX3NldF9lcnJvcl9yZWFzb24AHBRsbGh0dHBfZ2V0X2Vycm9yX3BvcwAdEWxsaHR0cF9lcnJub19uYW1lAB4SbGxodHRwX21ldGhvZF9uYW1lAB8SbGxodHRwX3N0YXR1c19uYW1lACAabGxodHRw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AXRrQT5qIQILIAEgAjYCHCABQgA3AhAgAkECdEH01wBqIQACQEHI1QAoAgAiA0EBIAJ0IgdxRQRAIAAgATYCAEHI1QAgAyAHcjYCACABIAA2AhggASABNgIIIAEgATYCDAwBCyAEQRkgAkEBdmtBACACQR9HG3QhAiAAKAIAIQACQANAIAAiAygCBEF4cSAERg0BIAJBHXYhACACQQF0IQIgAyAAQQRxakEQaiIHKAIAIgANAAsgByABNgIAIAEgAzYCGCABIAE2AgwgASABNgIIDAELIAMoAggiACABNgIMIAMgATYCCCABQQA2AhggASADNgIMIAEgADYCCAtB5NUAQeTVACgCAEEBayIAQX8gABs2AgALCwcAIAAtACgLBwAgAC0AKgsHACAALQArCwcAIAAtACkLBwAgAC8BNAsHACAALQAwC0ABBH8gACgCGCEBIAAvAS4hAiAALQAoIQMgACgCOCEEIAAQOCAAIAQ2AjggACADOgAoIAAgAjsBLiAAIAE2AhgLhocCAwd/A34BeyABIAJqIQQCQCAAIgMoAgwiAA0AIAMoAgQEQCADIAE2AgQLIwBBEGsiCSQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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DAgLQeMBDAcLQdcBDAYLQdgBDAULQdkBDAQLQdoBDAMLQdsBDAILQd0BDAELQdwBCyECA0ACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAn8CQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAwJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCACDuMBAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISMkJScoKZ4DmwOaA5EDigODA4AD/QL7AvgC8gLxAu8C7QLoAucC5gLlAuQC3ALbAtoC2QLYAtcC1gLVAs8CzgLMAssCygLJAsgCxwLGAsQCwwK+ArwCugK5ArgCtwK2ArUCtAKzArICsQKwAq4CrQKpAqgCpwKmAqUCpAKjAqICoQKgAp8CmAKQAowCiwKKAoEC/gH9AfwB+wH6AfkB+AH3AfUB8wHwAesB6QHoAecB5gHlAeQB4wHiAeEB4AHfAd4B3QHcAdoB2QHYAdcB1gHVAdQB0wHSAdEB0AHPAc4BzQHMAcsBygHJAcgBxwHGAcUBxAHDAcIBwQHAAb8BvgG9AbwBuwG6AbkBuAG3AbYBtQG0AbMBsgGxAbABrwGuAa0BrAGrAaoBqQGoAacBpgGlAaQBowGiAZ8BngGZAZgBlwGWAZUBlAGTAZIBkQGQAY8BjQGMAYcBhgGFAYQBgwGCAX18e3p5dnV0UFFSU1RVCyABIARHDXJB/QEhAgy+AwsgASAERw2YAUHbASECDL0DCyABIARHDfEBQY4BIQIMvAMLIAEgBEcN/AFBhAEhAgy7AwsgASAERw2KAkH/ACECDLoDCyABIARHDZECQf0AIQIMuQMLIAEgBEcNlAJB+wAhAgy4AwsgASAERw0eQR4hAgy3AwsgASAERw0ZQRghAgy2AwsgASAERw3KAkHNACECDLUDCyABIARHDdUCQcYAIQIMtAMLIAEgBEcN1gJBwwAhAgyzAwsgASAERw3cAkE4IQIMsgMLIAMtADBBAUYNrQMMiQMLQQAhAAJAAkACQCADLQAqRQ0AIAMtACtFDQAgAy8BMiICQQJxRQ0BDAILIAMvATIiAkEBcUUNAQtBASEAIAMtAChBAUYNACADLwE0IgZB5ABrQeQASQ0AIAZBzAFGDQAgBkGwAkYNACACQcAAcQ0AQQAhACACQYgEcUGABEYNACACQShxQQBHIQALIANBADsBMiADQQA6ADECQCAARQRAIANBADoAMSADLQAuQQRxDQEMsQMLIANCADcDIAsgA0EAOgAxIANBAToANgxIC0EAIQACQCADKAI4IgJFDQAgAigCMCICRQ0AIAMgAhEAACEACyAARQ1IIABBFUcNYiADQQQ2AhwgAyABNgIUIANB0hs2AhAgA0EVNgIMQQAhAgyvAwsgASAERgRAQQYhAgyvAwsgAS0AAEEKRw0ZIAFBAWohAQwaCyADQgA3AyBBEiECDJQDCyABIARHDYoDQSMhAgysAwsgASAERgRAQQchAgysAwsCQAJAIAEtAABBCmsOBAEYGAAYCyABQQFqIQFBECECDJMDCyABQQFqIQEgA0Evai0AAEEBcQ0XQQAhAiADQQA2AhwgAyABNgIUIANBmSA2AhAgA0EZNgIMDKsDCyADIAMpAyAiDCAEIAFrrSIKfSILQgAgCyAMWBs3AyAgCiAMWg0YQQghAgyqAwsgASAERwRAIANBCTYCCCADIAE2AgRBFCECDJEDC0EJIQIMqQMLIAMpAyBQDa4CDEMLIAEgBEYEQEELIQIMqAMLIAEtAABBCkcNFiABQQFqIQEMFwsgA0Evai0AAEEBcUUNGQwmC0EAIQACQCADKAI4IgJFDQAgAigCUCICRQ0AIAMgAhEAACEACyAADRkMQgtBACEAAkAgAygCOCICRQ0AIAIoAlAiAkUNACADIAIRAAAhAAsgAA0aDCQLQQAhAAJAIAMoAjgiAkUNACACKAJQIgJFDQAgAyACEQAAIQALIAANGwwyCyADQS9qLQAAQQFxRQ0cDCILQQAhAAJAIAMoAjgiAkUNACACKAJUIgJFDQAgAyACEQAAIQALIAANHAxCC0EAIQACQCADKAI4IgJFDQAgAigCVCICRQ0AIAMgAhEAACEACyAADR0MIAsgASAERgRAQRMhAgygAwsCQCABLQAAIgBBCmsOBB8jIwAiCyABQQFqIQEMHwtBACEAAkAgAygCOCICRQ0AIAIoAlQiAkUNACADIAIRAAAhAAsgAA0iDEILIAEgBEYEQEEWIQIMngMLIAEtAABBwMEAai0AAEEBRw0jDIMDCwJAA0AgAS0AAEGwO2otAAAiAEEBRwRAAkAgAEECaw4CAwAnCyABQQFqIQFBISECDIYDCyAEIAFBAWoiAUcNAAtBGCECDJ0DCyADKAIEIQBBACECIANBADYCBCADIAAgAUEBaiIBEDQiAA0hDEELQQAhAAJAIAMoAjgiAkUNACACKAJUIgJFDQAgAyACEQAAIQALIAANIwwqCyABIARGBEBBHCECDJsDCyADQQo2AgggAyABNgIEQQAhAAJAIAMoAjgiAkUNACACKAJQIgJFDQAgAyACEQAAIQALIAANJUEkIQIMgQMLIAEgBEcEQANAIAEtAABBsD1qLQAAIgBBA0cEQCAAQQFrDgUYGiaCAyUmCyAEIAFBAWoiAUcNAAtBGyECDJoDC0EbIQIMmQMLA0AgAS0AAEGwP2otAAAiAEEDRwRAIABBAWsOBQ8RJxMmJwsgBCABQQFqIgFHDQALQR4hAgyYAwsgASAERwRAIANBCzYCCCADIAE2AgRBByECDP8CC0EfIQIMlwMLIAEgBEYEQEEgIQIMlwMLAkAgAS0AAEENaw4ULj8/Pz8/Pz8/Pz8/Pz8/Pz8/PwA/C0EAIQIgA0EANgIcIANBvws2AhAgA0ECNgIMIAMgAUEBajYCFAyWAwsgA0EvaiECA0AgASAERgRAQSEhAgyXAwsCQAJAAkAgAS0AACIAQQlrDhgCACkpASkpKSkpKSkpKSkpKSkpKSkpKQInCyABQQFqIQEgA0Evai0AAEEBcUUNCgwYCyABQQFqIQEMFwsgAUEBaiEBIAItAABBAnENAAtBACECIANBADYCHCADIAE2AhQgA0GfFTYCECADQQw2AgwMlQMLIAMtAC5BgAFxRQ0BC0EAIQACQCADKAI4IgJFDQAgAigCXCICRQ0AIAMgAhEAACEACyAARQ3mAiAAQRVGBEAgA0EkNgIcIAMgATYCFCADQZsbNgIQIANBFTYCDEEAIQIMlAMLQQAhAiADQQA2AhwgAyABNgIUIANBkA42AhAgA0EUNgIMDJMDC0EAIQIgA0EANgIcIAMgATYCFCADQb4gNgIQIANBAjYCDAySAwsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEgDKdqIgEQMiIARQ0rIANBBzYCHCADIAE2AhQgAyAANgIMDJEDCyADLQAuQcAAcUUNAQtBACEAAkAgAygCOCICRQ0AIAIoAlgiAkUNACADIAIRAAAhAAsgAEUNKyAAQRVGBEAgA0EKNgIcIAMgATYCFCADQesZNgIQIANBFTYCDEEAIQIMkAMLQQAhAiADQQA2AhwgAyABNgIUIANBkww2AhAgA0ETNgIMDI8DC0EAIQIgA0EANgIcIAMgATYCFCADQYIVNgIQIANBAjYCDAyOAwtBACECIANBADYCHCADIAE2AhQgA0HdFDYCECADQRk2AgwMjQMLQQAhAiADQQA2AhwgAyABNgIUIANB5h02AhAgA0EZNgIMDIwDCyAAQRVGDT1BACECIANBADYCHCADIAE2AhQgA0HQDzYCECADQSI2AgwMiwMLIAMoAgQhAEEAIQIgA0EANgIEIAMgACABEDMiAEUNKCADQQ02AhwgAyABNgIUIAMgADYCDAyKAwsgAEEVRg06QQAhAiADQQA2AhwgAyABNgIUIANB0A82AhAgA0EiNgIMDIkDCyADKAIEIQBBACECIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDCgLIANBDjYCHCADIAA2AgwgAyABQQFqNgIUDIgDCyAAQRVGDTdBACECIANBADYCHCADIAE2AhQgA0HQDzYCECADQSI2AgwMhwMLIAMoAgQhAEEAIQIgA0EANgIEIAMgACABEDMiAEUEQCABQQFqIQEMJwsgA0EPNgIcIAMgADYCDCADIAFBAWo2AhQMhgMLQQAhAiADQQA2AhwgAyABNgIUIANB4hc2AhAgA0EZNgIMDIUDCyAAQRVGDTNBACECIANBADYCHCADIAE2AhQgA0HWDDYCECADQSM2AgwMhAMLIAMoAgQhAEEAIQIgA0EANgIEIAMgACABEDQiAEUNJSADQRE2AhwgAyABNgIUIAMgADYCDAyDAwsgAEEVRg0wQQAhAiADQQA2AhwgAyABNgIUIANB1gw2AhAgA0EjNgIMDIIDCyADKAIEIQBBACECIANBADYCBCADIAAgARA0IgBFBEAgAUEBaiEBDCULIANBEjYCHCADIAA2AgwgAyABQQFqNgIUDIEDCyADQS9qLQAAQQFxRQ0BC0EXIQIM5gILQQAhAiADQQA2AhwgAyABNgIUIANB4hc2AhAgA0EZNgIMDP4CCyAAQTtHDQAgAUEBaiEBDAwLQQAhAiADQQA2AhwgAyABNgIUIANBkhg2AhAgA0ECNgIMDPwCCyAAQRVGDShBACECIANBADYCHCADIAE2AhQgA0HWDDYCECADQSM2AgwM+wILIANBFDYCHCADIAE2AhQgAyAANgIMDPoCCyADKAIEIQBBACECIANBADYCBCADIAAgARA0IgBFBEAgAUEBaiEBDPUCCyADQRU2AhwgAyAANgIMIAMgAUEBajYCFAz5AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQzzAgsgA0EXNgIcIAMgADYCDCADIAFBAWo2AhQM+AILIABBFUYNI0EAIQIgA0EANgIcIAMgATYCFCADQdYMNgIQIANBIzYCDAz3AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQwdCyADQRk2AhwgAyAANgIMIAMgAUEBajYCFAz2AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQzvAgsgA0EaNgIcIAMgADYCDCADIAFBAWo2AhQM9QILIABBFUYNH0EAIQIgA0EANgIcIAMgATYCFCADQdAPNgIQIANBIjYCDAz0AgsgAygCBCEAIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDBsLIANBHDYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgzzAgsgAygCBCEAIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDOsCCyADQR02AhwgAyAANgIMIAMgAUEBajYCFEEAIQIM8gILIABBO0cNASABQQFqIQELQSYhAgzXAgtBACECIANBADYCHCADIAE2AhQgA0GfFTYCECADQQw2AgwM7wILIAEgBEcEQANAIAEtAABBIEcNhAIgBCABQQFqIgFHDQALQSwhAgzvAgtBLCECDO4CCyABIARGBEBBNCECDO4CCwJAAkADQAJAIAEtAABBCmsOBAIAAAMACyAEIAFBAWoiAUcNAAtBNCECDO8CCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUNnwIgA0EyNgIcIAMgATYCFCADIAA2AgxBACECDO4CCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUEQCABQQFqIQEMnwILIANBMjYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgztAgsgASAERwRAAkADQCABLQAAQTBrIgBB/wFxQQpPBEBBOiECDNcCCyADKQMgIgtCmbPmzJmz5swZVg0BIAMgC0IKfiIKNwMgIAogAK1C/wGDIgtCf4VWDQEgAyAKIAt8NwMgIAQgAUEBaiIBRw0AC0HAACECDO4CCyADKAIEIQAgA0EANgIEIAMgACABQQFqIgEQMSIADRcM4gILQcAAIQIM7AILIAEgBEYEQEHJACECDOwCCwJAA0ACQCABLQAAQQlrDhgAAqICogKpAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAgCiAgsgBCABQQFqIgFHDQALQckAIQIM7AILIAFBAWohASADQS9qLQAAQQFxDaUCIANBADYCHCADIAE2AhQgA0GXEDYCECADQQo2AgxBACECDOsCCyABIARHBEADQCABLQAAQSBHDRUgBCABQQFqIgFHDQALQfgAIQIM6wILQfgAIQIM6gILIANBAjoAKAw4C0EAIQIgA0EANgIcIANBvws2AhAgA0ECNgIMIAMgAUEBajYCFAzoAgtBACECDM4CC0ENIQIMzQILQRMhAgzMAgtBFSECDMsCC0EWIQIMygILQRghAgzJAgtBGSECDMgCC0EaIQIMxwILQRshAgzGAgtBHCECDMUCC0EdIQIMxAILQR4hAgzDAgtBHyECDMICC0EgIQIMwQILQSIhAgzAAgtBIyECDL8CC0ElIQIMvgILQeUAIQIMvQILIANBPTYCHCADIAE2AhQgAyAANgIMQQAhAgzVAgsgA0EbNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIM1AILIANBIDYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNMCCyADQRM2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzSAgsgA0ELNgIcIAMgATYCFCADQZgaNgIQIANBFTYCDEEAIQIM0QILIANBEDYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNACCyADQSA2AhwgAyABNgIUIANBpBw2AhAgA0EVNgIMQQAhAgzPAgsgA0ELNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIMzgILIANBDDYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDM0CC0EAIQIgA0EANgIcIAMgATYCFCADQd0ONgIQIANBEjYCDAzMAgsCQANAAkAgAS0AAEEKaw4EAAICAAILIAQgAUEBaiIBRw0AC0H9ASECDMwCCwJAAkAgAy0ANkEBRw0AQQAhAAJAIAMoAjgiAkUNACACKAJgIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB/AE2AhwgAyABNgIUIANB3Bk2AhAgA0EVNgIMQQAhAgzNAgtB3AEhAgyzAgsgA0EANgIcIAMgATYCFCADQfkLNgIQIANBHzYCDEEAIQIMywILAkACQCADLQAoQQFrDgIEAQALQdsBIQIMsgILQdQBIQIMsQILIANBAjoAMUEAIQACQCADKAI4IgJFDQAgAigCACICRQ0AIAMgAhEAACEACyAARQRAQd0BIQIMsQILIABBFUcEQCADQQA2AhwgAyABNgIUIANBtAw2AhAgA0EQNgIMQQAhAgzKAgsgA0H7ATYCHCADIAE2AhQgA0GBGjYCECADQRU2AgxBACECDMkCCyABIARGBEBB+gEhAgzJAgsgAS0AAEHIAEYNASADQQE6ACgLQcABIQIMrgILQdoBIQIMrQILIAEgBEcEQCADQQw2AgggAyABNgIEQdkBIQIMrQILQfkBIQIMxQILIAEgBEYEQEH4ASECDMUCCyABLQAAQcgARw0EIAFBAWohAUHYASECDKsCCyABIARGBEBB9wEhAgzEAgsCQAJAIAEtAABBxQBrDhAABQUFBQUFBQUFBQUFBQUBBQsgAUEBaiEBQdYBIQIMqwILIAFBAWohAUHXASECDKoCC0H2ASECIAEgBEYNwgIgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABButUAai0AAEcNAyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMwwILIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARAuIgBFBEBB4wEhAgyqAgsgA0H1ATYCHCADIAE2AhQgAyAANgIMQQAhAgzCAgtB9AEhAiABIARGDcECIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQbjVAGotAABHDQIgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADMICCyADQYEEOwEoIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARAuIgANAwwCCyADQQA2AgALQQAhAiADQQA2AhwgAyABNgIUIANB5R82AhAgA0EINgIMDL8CC0HVASECDKUCCyADQfMBNgIcIAMgATYCFCADIAA2AgxBACECDL0CC0EAIQACQCADKAI4IgJFDQAgAigCQCICRQ0AIAMgAhEAACEACyAARQ1uIABBFUcEQCADQQA2AhwgAyABNgIUIANBgg82AhAgA0EgNgIMQQAhAgy9AgsgA0GPATYCHCADIAE2AhQgA0HsGzYCECADQRU2AgxBACECDLwCCyABIARHBEAgA0ENNgIIIAMgATYCBEHTASECDKMCC0HyASECDLsCCyABIARGBEBB8QEhAgy7AgsCQAJAAkAgAS0AAEHIAGsOCwABCAgICAgICAgCCAsgAUEBaiEBQdABIQIMowILIAFBAWohAUHRASECDKICCyABQQFqIQFB0gEhAgyhAgtB8AEhAiABIARGDbkCIAMoAgAiACAEIAFraiEGIAEgAGtBAmohBQNAIAEtAAAgAEG11QBqLQAARw0EIABBAkYNAyAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy5AgtB7wEhAiABIARGDbgCIAMoAgAiACAEIAFraiEGIAEgAGtBAWohBQNAIAEtAAAgAEGz1QBqLQAARw0DIABBAUYNAiAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy4AgtB7gEhAiABIARGDbcCIAMoAgAiACAEIAFraiEGIAEgAGtBAmohBQNAIAEtAAAgAEGw1QBqLQAARw0CIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy3AgsgAygCBCEAIANCADcDACADIAAgBUEBaiIBECsiAEUNAiADQewBNgIcIAMgATYCFCADIAA2AgxBACECDLYCCyADQQA2AgALIAMoAgQhACADQQA2AgQgAyAAIAEQKyIARQ2cAiADQe0BNgIcIAMgATYCFCADIAA2AgxBACECDLQCC0HPASECDJoCC0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMtAILQc4BIQIMmgILIANB6wE2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyyAgsgASAERgRAQesBIQIMsgILIAEtAABBL0YEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQbI4NgIQIANBCDYCDEEAIQIMsQILQc0BIQIMlwILIAEgBEcEQCADQQ42AgggAyABNgIEQcwBIQIMlwILQeoBIQIMrwILIAEgBEYEQEHpASECDK8CCyABLQAAQTBrIgBB/wFxQQpJBEAgAyAAOgAqIAFBAWohAUHLASECDJYCCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNlwIgA0HoATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgsgASAERgRAQecBIQIMrgILAkAgAS0AAEEuRgRAIAFBAWohAQwBCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNmAIgA0HmATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgtBygEhAgyUAgsgASAERgRAQeUBIQIMrQILQQAhAEEBIQVBASEHQQAhAgJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAEtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyECQQAhBUEAIQcMAgtBCSECQQEhAEEAIQVBACEHDAELQQAhBUEBIQILIAMgAjoAKyABQQFqIQECQAJAIAMtAC5BEHENAAJAAkACQCADLQAqDgMBAAIECyAHRQ0DDAILIAANAQwCCyAFRQ0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNAiADQeIBNgIcIAMgATYCFCADIAA2AgxBACECDK8CCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNmgIgA0HjATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZgCIANB5AE2AhwgAyABNgIUIAMgADYCDAytAgtByQEhAgyTAgtBACEAAkAgAygCOCICRQ0AIAIoAkQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0GkDTYCECADQSE2AgxBACECDK0CC0HIASECDJMCCyADQeEBNgIcIAMgATYCFCADQdAaNgIQIANBFTYCDEEAIQIMqwILIAEgBEYEQEHhASECDKsCCwJAIAEtAABBIEYEQCADQQA7ATQgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GZETYCECADQQk2AgxBACECDKsCC0HHASECDJECCyABIARGBEBB4AEhAgyqAgsCQCABLQAAQTBrQf8BcSICQQpJBEAgAUEBaiEBAkAgAy8BNCIAQZkzSw0AIAMgAEEKbCIAOwE0IABB/v8DcSACQf//A3NLDQAgAyAAIAJqOwE0DAILQQAhAiADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMDKsCCyADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMQQAhAgyqAgtBxgEhAgyQAgsgASAERgRAQd8BIQIMqQILAkAgAS0AAEEwa0H/AXEiAkEKSQRAIAFBAWohAQJAIAMvATQiAEGZM0sNACADIABBCmwiADsBNCAAQf7/A3EgAkH//wNzSw0AIAMgACACajsBNAwCC0EAIQIgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDAyqAgsgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDEEAIQIMqQILQcUBIQIMjwILIAEgBEYEQEHeASECDKgCCwJAIAEtAABBMGtB/wFxIgJBCkkEQCABQQFqIQECQCADLwE0IgBBmTNLDQAgAyAAQQpsIgA7ATQgAEH+/wNxIAJB//8Dc0sNACADIAAgAmo7ATQMAgtBACECIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgwMqQILIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgxBACECDKgCC0HEASECDI4CCyABIARGBEBB3QEhAgynAgsCQAJAAkACQCABLQAAQQprDhcCAwMAAwMDAwMDAwMDAwMDAwMDAwMDAQMLIAFBAWoMBQsgAUEBaiEBQcMBIQIMjwILIAFBAWohASADQS9qLQAAQQFxDQggA0EANgIcIAMgATYCFCADQY0LNgIQIANBDTYCDEEAIQIMpwILIANBADYCHCADIAE2AhQgA0GNCzYCECADQQ02AgxBACECDKYCCyABIARHBEAgA0EPNgIIIAMgATYCBEEBIQIMjQILQdwBIQIMpQILAkACQANAAkAgAS0AAEEKaw4EAgAAAwALIAQgAUEBaiIBRw0AC0HbASECDKYCCyADKAIEIQAgA0EANgIEIAMgACABEC0iAEUEQCABQQFqIQEMBAsgA0HaATYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgylAgsgAygCBCEAIANBADYCBCADIAAgARAtIgANASABQQFqCyEBQcEBIQIMigILIANB2QE2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMogILQcIBIQIMiAILIANBL2otAABBAXENASADQQA2AhwgAyABNgIUIANB5Bw2AhAgA0EZNgIMQQAhAgygAgsgASAERgRAQdkB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CyADIAU2AgAMkAILIANBADYCACAGQQFqIQFBGgw8C0HKASECIAEgBEYNjgIgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBjdUAai0AAEcNOyAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMjwILIANBADYCACAGQQFqIQFBIQw7CyABIARGBEBByQEhAgyOAgsCQAJAIAEtAABBwQBrDhQAPT09PT09PT09PT09PT09PT09AT0LIAFBAWohAUGtASECDPUBCyABQQFqIQFBsAEhAgz0AQsgASAERgRAQcgBIQIMjQILAkACQCABLQAAQdUAaw4LADw8PDw8PDw8PAE8CyABQQFqIQFBrgEhAgz0AQsgAUEBaiEBQa8BIQIM8wELQccBIQIgASAERg2LAiADKAIAIgAgBCABa2ohBSABIABrQQhqIQYCQANAIAEtAAAgAEGE1QBqLQAARw04IABBCEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyMAgsgA0EANgIAIAZBAWohAUEqDDgLIAEgBEYEQEHGASECDIsCCyABLQAAQdAARw04IAFBAWohAUElDDcLQcUBIQIgASAERg2JAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGB1QBqLQAARw02IABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyKAgsgA0EANgIAIAZBAWohAUEODDYLIAEgBEYEQEHEASECDIkCCyABLQAAQcUARw02IAFBAWohAUGrASECDO8BCyABIARGBEBBwwEhAgyIAgsCQAJAAkACQCABLQAAQcIAaw4PAAECOTk5OTk5OTk5OTkDOQsgAUEBaiEBQacBIQIM8QELIAFBAWohAUGoASECDPABCyABQQFqIQFBqQEhAgzvAQsgAUEBaiEBQaoBIQIM7gELQcIBIQIgASAERg2GAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEH+1ABqLQAARw0zIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyHAgsgA0EANgIAIAZBAWohAUEUDDMLQcEBIQIgASAERg2FAiADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANA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BTYCAAzsAQsgA0EANgIAIAZBAWohAUEXDBgLQaYBIQIgASAERg3qASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHB1ABqLQAARw0XIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzrAQsgA0EANgIAIAZBAWohAUEYDBcLIAEgBEYEQEGlASECDOoBCwJAAkAgAS0AAEHJAGsOBwAZGRkZGQEZCyABQQFqIQFBiwEhAgzRAQsgAUEBaiEBQYwBIQIM0AELQaQBIQIgASAERg3oASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGm1QBqLQAARw0VIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzpAQsgA0EANgIAIAZBAWohAUEJDBULQaMBIQIgASAERg3nASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGk1QBqLQAARw0UIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzoAQsgA0EANgIAIAZBAWohAUEfDBQLQaIBIQIgASAERg3mASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEG+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==";
24384
24692
  var wasmBuffer;
24385
24693
  Object.defineProperty(module, "exports", {
24386
24694
  get: /* @__PURE__ */ __name(() => {
24387
- return wasmBuffer ? wasmBuffer : wasmBuffer = Buffer3.from(wasmBase64, "base64");
24695
+ return wasmBuffer ? wasmBuffer : wasmBuffer = Buffer4.from(wasmBase64, "base64");
24388
24696
  }, "get")
24389
24697
  });
24390
24698
  }
@@ -24678,7 +24986,7 @@ var require_encoding = __commonJS({
24678
24986
  var require_infra = __commonJS({
24679
24987
  "../../node_modules/.pnpm/undici@7.29.0/node_modules/undici/lib/web/infra/index.js"(exports, module) {
24680
24988
  "use strict";
24681
- var assert6 = __require("node:assert");
24989
+ var assert7 = __require("node:assert");
24682
24990
  var { utf8DecodeBytes } = require_encoding();
24683
24991
  function collectASequenceOfCodePoints(condition, input, position3) {
24684
24992
  let result2 = "";
@@ -24749,7 +25057,7 @@ var require_infra = __commonJS({
24749
25057
  __name(isomorphicDecode, "isomorphicDecode");
24750
25058
  var invalidIsomorphicEncodeValueRegex = /[^\x00-\xFF]/;
24751
25059
  function isomorphicEncode(input) {
24752
- assert6(!invalidIsomorphicEncodeValueRegex.test(input));
25060
+ assert7(!invalidIsomorphicEncodeValueRegex.test(input));
24753
25061
  return input;
24754
25062
  }
24755
25063
  __name(isomorphicEncode, "isomorphicEncode");
@@ -24778,7 +25086,7 @@ var require_infra = __commonJS({
24778
25086
  if (result2 === void 0) {
24779
25087
  throw new TypeError("Value is not JSON serializable");
24780
25088
  }
24781
- assert6(typeof result2 === "string");
25089
+ assert7(typeof result2 === "string");
24782
25090
  return result2;
24783
25091
  }
24784
25092
  __name(serializeJavascriptValueToJSONString, "serializeJavascriptValueToJSONString");
@@ -24801,14 +25109,14 @@ var require_infra = __commonJS({
24801
25109
  var require_data_url = __commonJS({
24802
25110
  "../../node_modules/.pnpm/undici@7.29.0/node_modules/undici/lib/web/fetch/data-url.js"(exports, module) {
24803
25111
  "use strict";
24804
- var assert6 = __require("node:assert");
25112
+ var assert7 = __require("node:assert");
24805
25113
  var { forgivingBase64, collectASequenceOfCodePoints, collectASequenceOfCodePointsFast, isomorphicDecode, removeASCIIWhitespace, removeChars } = require_infra();
24806
25114
  var encoder4 = new TextEncoder();
24807
25115
  var HTTP_TOKEN_CODEPOINTS = /^[-!#$%&'*+.^_|~A-Za-z0-9]+$/u;
24808
25116
  var HTTP_WHITESPACE_REGEX = /[\u000A\u000D\u0009\u0020]/u;
24809
25117
  var HTTP_QUOTED_STRING_TOKENS = /^[\u0009\u0020-\u007E\u0080-\u00FF]+$/u;
24810
25118
  function dataURLProcessor(dataURL) {
24811
- assert6(dataURL.protocol === "data:");
25119
+ assert7(dataURL.protocol === "data:");
24812
25120
  let input = URLSerializer(dataURL, true);
24813
25121
  input = input.slice(5);
24814
25122
  const position3 = { position: 0 };
@@ -24980,7 +25288,7 @@ var require_data_url = __commonJS({
24980
25288
  function collectAnHTTPQuotedString(input, position3, extractValue = false) {
24981
25289
  const positionStart = position3.position;
24982
25290
  let value = "";
24983
- assert6(input[position3.position] === '"');
25291
+ assert7(input[position3.position] === '"');
24984
25292
  position3.position++;
24985
25293
  while (true) {
24986
25294
  value += collectASequenceOfCodePoints(
@@ -25001,7 +25309,7 @@ var require_data_url = __commonJS({
25001
25309
  value += input[position3.position];
25002
25310
  position3.position++;
25003
25311
  } else {
25004
- assert6(quoteOrBackslash === '"');
25312
+ assert7(quoteOrBackslash === '"');
25005
25313
  break;
25006
25314
  }
25007
25315
  }
@@ -25012,7 +25320,7 @@ var require_data_url = __commonJS({
25012
25320
  }
25013
25321
  __name(collectAnHTTPQuotedString, "collectAnHTTPQuotedString");
25014
25322
  function serializeAMimeType(mimeType) {
25015
- assert6(mimeType !== "failure");
25323
+ assert7(mimeType !== "failure");
25016
25324
  const { parameters, essence } = mimeType;
25017
25325
  let serialization = essence;
25018
25326
  for (let [name, value] of parameters.entries()) {
@@ -25200,7 +25508,7 @@ var require_runtime_features = __commonJS({
25200
25508
  var require_webidl = __commonJS({
25201
25509
  "../../node_modules/.pnpm/undici@7.29.0/node_modules/undici/lib/web/webidl/index.js"(exports, module) {
25202
25510
  "use strict";
25203
- var assert6 = __require("node:assert");
25511
+ var assert7 = __require("node:assert");
25204
25512
  var { types: types10, inspect: inspect2 } = __require("node:util");
25205
25513
  var { runtimeFeatures } = require_runtime_features();
25206
25514
  var UNDEFINED3 = 1;
@@ -25556,7 +25864,7 @@ var require_webidl = __commonJS({
25556
25864
  offset = jsBufferSource.byteOffset;
25557
25865
  length = jsBufferSource.byteLength;
25558
25866
  } else {
25559
- assert6(types10.isAnyArrayBuffer(jsBufferSource));
25867
+ assert7(types10.isAnyArrayBuffer(jsBufferSource));
25560
25868
  length = jsBufferSource.byteLength;
25561
25869
  }
25562
25870
  if (jsArrayBuffer.detached) {
@@ -25802,14 +26110,14 @@ var require_webidl = __commonJS({
25802
26110
  var require_util2 = __commonJS({
25803
26111
  "../../node_modules/.pnpm/undici@7.29.0/node_modules/undici/lib/web/fetch/util.js"(exports, module) {
25804
26112
  "use strict";
25805
- var { Transform } = __require("node:stream");
25806
- var zlib = __require("node:zlib");
26113
+ var { Transform: Transform2 } = __require("node:stream");
26114
+ var zlib2 = __require("node:zlib");
25807
26115
  var { redirectStatusSet, referrerPolicyTokens, badPortsSet } = require_constants5();
25808
26116
  var { getGlobalOrigin } = require_global();
25809
26117
  var { collectAnHTTPQuotedString, parseMIMEType } = require_data_url();
25810
26118
  var { performance: performance2 } = __require("node:perf_hooks");
25811
26119
  var { ReadableStreamFrom, isValidHTTPToken, normalizedMethodRecordsBase } = require_util();
25812
- var assert6 = __require("node:assert");
26120
+ var assert7 = __require("node:assert");
25813
26121
  var { isUint8Array } = __require("node:util/types");
25814
26122
  var { webidl } = require_webidl();
25815
26123
  var { isomorphicEncode, collectASequenceOfCodePoints, removeChars } = require_infra();
@@ -26013,7 +26321,7 @@ var require_util2 = __commonJS({
26013
26321
  __name(clonePolicyContainer, "clonePolicyContainer");
26014
26322
  function determineRequestsReferrer(request) {
26015
26323
  const policy = request.referrerPolicy;
26016
- assert6(policy);
26324
+ assert7(policy);
26017
26325
  let referrerSource = null;
26018
26326
  if (request.referrer === "client") {
26019
26327
  const globalOrigin = getGlobalOrigin();
@@ -26077,7 +26385,7 @@ var require_util2 = __commonJS({
26077
26385
  }
26078
26386
  __name(determineRequestsReferrer, "determineRequestsReferrer");
26079
26387
  function stripURLForReferrer(url3, originOnly = false) {
26080
- assert6(webidl.is.URL(url3));
26388
+ assert7(webidl.is.URL(url3));
26081
26389
  url3 = new URL(url3);
26082
26390
  if (urlIsLocal(url3)) {
26083
26391
  return "no-referrer";
@@ -26341,7 +26649,7 @@ var require_util2 = __commonJS({
26341
26649
  }
26342
26650
  __name(readAllBytes, "readAllBytes");
26343
26651
  function urlIsLocal(url3) {
26344
- assert6("protocol" in url3);
26652
+ assert7("protocol" in url3);
26345
26653
  const protocol = url3.protocol;
26346
26654
  return protocol === "about:" || protocol === "blob:" || protocol === "data:";
26347
26655
  }
@@ -26351,7 +26659,7 @@ var require_util2 = __commonJS({
26351
26659
  }
26352
26660
  __name(urlHasHttpsScheme, "urlHasHttpsScheme");
26353
26661
  function urlIsHttpHttpsScheme(url3) {
26354
- assert6("protocol" in url3);
26662
+ assert7("protocol" in url3);
26355
26663
  const protocol = url3.protocol;
26356
26664
  return protocol === "http:" || protocol === "https:";
26357
26665
  }
@@ -26438,7 +26746,7 @@ var require_util2 = __commonJS({
26438
26746
  return contentRange;
26439
26747
  }
26440
26748
  __name(buildContentRange, "buildContentRange");
26441
- var InflateStream = class extends Transform {
26749
+ var InflateStream = class extends Transform2 {
26442
26750
  static {
26443
26751
  __name(this, "InflateStream");
26444
26752
  }
@@ -26454,7 +26762,7 @@ var require_util2 = __commonJS({
26454
26762
  callback();
26455
26763
  return;
26456
26764
  }
26457
- this._inflateStream = (chunk[0] & 15) === 8 ? zlib.createInflate(this.#zlibOptions) : zlib.createInflateRaw(this.#zlibOptions);
26765
+ this._inflateStream = (chunk[0] & 15) === 8 ? zlib2.createInflate(this.#zlibOptions) : zlib2.createInflateRaw(this.#zlibOptions);
26458
26766
  this._inflateStream.on("data", this.push.bind(this));
26459
26767
  this._inflateStream.on("end", () => this.push(null));
26460
26768
  this._inflateStream.on("error", (err) => this.destroy(err));
@@ -26524,7 +26832,7 @@ var require_util2 = __commonJS({
26524
26832
  continue;
26525
26833
  }
26526
26834
  } else {
26527
- assert6(input.charCodeAt(position3.position) === 44);
26835
+ assert7(input.charCodeAt(position3.position) === 44);
26528
26836
  position3.position++;
26529
26837
  }
26530
26838
  }
@@ -26800,7 +27108,7 @@ var require_formdata_parser = __commonJS({
26800
27108
  var { HTTP_TOKEN_CODEPOINTS } = require_data_url();
26801
27109
  var { makeEntry } = require_formdata();
26802
27110
  var { webidl } = require_webidl();
26803
- var assert6 = __require("node:assert");
27111
+ var assert7 = __require("node:assert");
26804
27112
  var { isomorphicDecode } = require_infra();
26805
27113
  var dd = Buffer.from("--");
26806
27114
  var decoder6 = new TextDecoder();
@@ -26829,7 +27137,7 @@ var require_formdata_parser = __commonJS({
26829
27137
  }
26830
27138
  __name(validateBoundary, "validateBoundary");
26831
27139
  function multipartFormDataParser(input, mimeType) {
26832
- assert6(mimeType !== "failure" && mimeType.essence === "multipart/form-data");
27140
+ assert7(mimeType !== "failure" && mimeType.essence === "multipart/form-data");
26833
27141
  const boundaryString = mimeType.parameters.get("boundary");
26834
27142
  if (boundaryString === void 0) {
26835
27143
  throw parsingError("missing boundary in content-type header");
@@ -26885,8 +27193,8 @@ var require_formdata_parser = __commonJS({
26885
27193
  } else {
26886
27194
  value = decoderIgnoreBOM.decode(Buffer.from(body));
26887
27195
  }
26888
- assert6(webidl.is.USVString(name));
26889
- assert6(typeof value === "string" && webidl.is.USVString(value) || webidl.is.File(value));
27196
+ assert7(webidl.is.USVString(name));
27197
+ assert7(typeof value === "string" && webidl.is.USVString(value) || webidl.is.File(value));
26890
27198
  entryList.push(makeEntry(name, value, filename));
26891
27199
  }
26892
27200
  }
@@ -27167,7 +27475,7 @@ var require_body = __commonJS({
27167
27475
  } = require_util2();
27168
27476
  var { FormData, setFormDataState } = require_formdata();
27169
27477
  var { webidl } = require_webidl();
27170
- var assert6 = __require("node:assert");
27478
+ var assert7 = __require("node:assert");
27171
27479
  var { isErrored, isDisturbed } = __require("node:stream");
27172
27480
  var { isUint8Array } = __require("node:util/types");
27173
27481
  var { serializeAMimeType } = require_data_url();
@@ -27206,7 +27514,7 @@ var require_body = __commonJS({
27206
27514
  type: "bytes"
27207
27515
  });
27208
27516
  }
27209
- assert6(webidl.is.ReadableStream(stream));
27517
+ assert7(webidl.is.ReadableStream(stream));
27210
27518
  let action = null;
27211
27519
  let source = null;
27212
27520
  let length = null;
@@ -27315,8 +27623,8 @@ Content-Type: ${value.type || "application/octet-stream"}\r
27315
27623
  __name(extractBody, "extractBody");
27316
27624
  function safelyExtractBody(object3, keepalive = false) {
27317
27625
  if (webidl.is.ReadableStream(object3)) {
27318
- assert6(!util.isDisturbed(object3), "The body has already been consumed.");
27319
- assert6(!object3.locked, "The stream is locked.");
27626
+ assert7(!util.isDisturbed(object3), "The body has already been consumed.");
27627
+ assert7(!object3.locked, "The stream is locked.");
27320
27628
  }
27321
27629
  return extractBody(object3, keepalive);
27322
27630
  }
@@ -27450,7 +27758,7 @@ Content-Type: ${value.type || "application/octet-stream"}\r
27450
27758
  var require_client_h1 = __commonJS({
27451
27759
  "../../node_modules/.pnpm/undici@7.29.0/node_modules/undici/lib/dispatcher/client-h1.js"(exports, module) {
27452
27760
  "use strict";
27453
- var assert6 = __require("node:assert");
27761
+ var assert7 = __require("node:assert");
27454
27762
  var util = require_util();
27455
27763
  var { channels } = require_diagnostics();
27456
27764
  var timers = require_timers();
@@ -27545,7 +27853,7 @@ var require_client_h1 = __commonJS({
27545
27853
  * @returns {number}
27546
27854
  */
27547
27855
  wasm_on_status: /* @__PURE__ */ __name((p, at, len) => {
27548
- assert6(currentParser.ptr === p);
27856
+ assert7(currentParser.ptr === p);
27549
27857
  const start3 = at - currentBufferPtr + currentBufferRef.byteOffset;
27550
27858
  return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start3, len));
27551
27859
  }, "wasm_on_status"),
@@ -27554,7 +27862,7 @@ var require_client_h1 = __commonJS({
27554
27862
  * @returns {number}
27555
27863
  */
27556
27864
  wasm_on_message_begin: /* @__PURE__ */ __name((p) => {
27557
- assert6(currentParser.ptr === p);
27865
+ assert7(currentParser.ptr === p);
27558
27866
  return currentParser.onMessageBegin();
27559
27867
  }, "wasm_on_message_begin"),
27560
27868
  /**
@@ -27564,7 +27872,7 @@ var require_client_h1 = __commonJS({
27564
27872
  * @returns {number}
27565
27873
  */
27566
27874
  wasm_on_header_field: /* @__PURE__ */ __name((p, at, len) => {
27567
- assert6(currentParser.ptr === p);
27875
+ assert7(currentParser.ptr === p);
27568
27876
  const start3 = at - currentBufferPtr + currentBufferRef.byteOffset;
27569
27877
  return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start3, len));
27570
27878
  }, "wasm_on_header_field"),
@@ -27575,7 +27883,7 @@ var require_client_h1 = __commonJS({
27575
27883
  * @returns {number}
27576
27884
  */
27577
27885
  wasm_on_header_value: /* @__PURE__ */ __name((p, at, len) => {
27578
- assert6(currentParser.ptr === p);
27886
+ assert7(currentParser.ptr === p);
27579
27887
  const start3 = at - currentBufferPtr + currentBufferRef.byteOffset;
27580
27888
  return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start3, len));
27581
27889
  }, "wasm_on_header_value"),
@@ -27587,7 +27895,7 @@ var require_client_h1 = __commonJS({
27587
27895
  * @returns {number}
27588
27896
  */
27589
27897
  wasm_on_headers_complete: /* @__PURE__ */ __name((p, statusCode, upgrade, shouldKeepAlive) => {
27590
- assert6(currentParser.ptr === p);
27898
+ assert7(currentParser.ptr === p);
27591
27899
  return currentParser.onHeadersComplete(statusCode, upgrade === 1, shouldKeepAlive === 1);
27592
27900
  }, "wasm_on_headers_complete"),
27593
27901
  /**
@@ -27597,7 +27905,7 @@ var require_client_h1 = __commonJS({
27597
27905
  * @returns {number}
27598
27906
  */
27599
27907
  wasm_on_body: /* @__PURE__ */ __name((p, at, len) => {
27600
- assert6(currentParser.ptr === p);
27908
+ assert7(currentParser.ptr === p);
27601
27909
  const start3 = at - currentBufferPtr + currentBufferRef.byteOffset;
27602
27910
  return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start3, len));
27603
27911
  }, "wasm_on_body"),
@@ -27606,7 +27914,7 @@ var require_client_h1 = __commonJS({
27606
27914
  * @returns {number}
27607
27915
  */
27608
27916
  wasm_on_message_complete: /* @__PURE__ */ __name((p) => {
27609
- assert6(currentParser.ptr === p);
27917
+ assert7(currentParser.ptr === p);
27610
27918
  return currentParser.onMessageComplete();
27611
27919
  }, "wasm_on_message_complete")
27612
27920
  }
@@ -27682,10 +27990,10 @@ var require_client_h1 = __commonJS({
27682
27990
  if (this.socket.destroyed || !this.paused) {
27683
27991
  return;
27684
27992
  }
27685
- assert6(this.ptr != null);
27686
- assert6(currentParser === null);
27993
+ assert7(this.ptr != null);
27994
+ assert7(currentParser === null);
27687
27995
  this.llhttp.llhttp_resume(this.ptr);
27688
- assert6(this.timeoutType === TIMEOUT_BODY);
27996
+ assert7(this.timeoutType === TIMEOUT_BODY);
27689
27997
  if (this.timeout) {
27690
27998
  if (this.timeout.refresh) {
27691
27999
  this.timeout.refresh();
@@ -27708,9 +28016,9 @@ var require_client_h1 = __commonJS({
27708
28016
  * @param {Buffer} chunk
27709
28017
  */
27710
28018
  execute(chunk) {
27711
- assert6(currentParser === null);
27712
- assert6(this.ptr != null);
27713
- assert6(!this.paused);
28019
+ assert7(currentParser === null);
28020
+ assert7(this.ptr != null);
28021
+ assert7(!this.paused);
27714
28022
  const { socket, llhttp } = this;
27715
28023
  if (chunk.length > currentBufferSize) {
27716
28024
  if (currentBufferPtr) {
@@ -27746,9 +28054,9 @@ var require_client_h1 = __commonJS({
27746
28054
  }
27747
28055
  }
27748
28056
  finish() {
27749
- assert6(currentParser === null);
27750
- assert6(this.ptr != null);
27751
- assert6(!this.paused);
28057
+ assert7(currentParser === null);
28058
+ assert7(this.ptr != null);
28059
+ assert7(!this.paused);
27752
28060
  const { llhttp } = this;
27753
28061
  let ret;
27754
28062
  try {
@@ -27780,8 +28088,8 @@ var require_client_h1 = __commonJS({
27780
28088
  return new HTTPParserError(message, constants2.ERROR[ret], data);
27781
28089
  }
27782
28090
  destroy() {
27783
- assert6(currentParser === null);
27784
- assert6(this.ptr != null);
28091
+ assert7(currentParser === null);
28092
+ assert7(this.ptr != null);
27785
28093
  this.llhttp.llhttp_free(this.ptr);
27786
28094
  this.ptr = null;
27787
28095
  this.timeout && timers.clearTimeout(this.timeout);
@@ -27871,14 +28179,14 @@ var require_client_h1 = __commonJS({
27871
28179
  */
27872
28180
  onUpgrade(head) {
27873
28181
  const { upgrade, client, socket, headers, statusCode } = this;
27874
- assert6(upgrade);
27875
- assert6(client[kSocket] === socket);
27876
- assert6(!socket.destroyed);
27877
- assert6(!this.paused);
27878
- assert6((headers.length & 1) === 0);
28182
+ assert7(upgrade);
28183
+ assert7(client[kSocket] === socket);
28184
+ assert7(!socket.destroyed);
28185
+ assert7(!this.paused);
28186
+ assert7((headers.length & 1) === 0);
27879
28187
  const request = client[kQueue][client[kRunningIdx]];
27880
- assert6(request);
27881
- assert6(request.upgrade || request.method === "CONNECT");
28188
+ assert7(request);
28189
+ assert7(request.upgrade || request.method === "CONNECT");
27882
28190
  this.statusCode = 0;
27883
28191
  this.statusText = "";
27884
28192
  this.shouldKeepAlive = false;
@@ -27920,8 +28228,8 @@ var require_client_h1 = __commonJS({
27920
28228
  if (!request) {
27921
28229
  return -1;
27922
28230
  }
27923
- assert6(!this.upgrade);
27924
- assert6(this.statusCode < 200);
28231
+ assert7(!this.upgrade);
28232
+ assert7(this.statusCode < 200);
27925
28233
  if (statusCode === 100) {
27926
28234
  util.destroy(socket, new SocketError("bad response", util.getSocketInfo(socket)));
27927
28235
  return -1;
@@ -27930,7 +28238,7 @@ var require_client_h1 = __commonJS({
27930
28238
  util.destroy(socket, new SocketError("bad upgrade", util.getSocketInfo(socket)));
27931
28239
  return -1;
27932
28240
  }
27933
- assert6(this.timeoutType === TIMEOUT_HEADERS);
28241
+ assert7(this.timeoutType === TIMEOUT_HEADERS);
27934
28242
  this.statusCode = statusCode;
27935
28243
  this.shouldKeepAlive = shouldKeepAlive || // Override llhttp value which does not allow keepAlive for HEAD.
27936
28244
  request.method === "HEAD" && !socket[kReset] && this.connection.toLowerCase() === "keep-alive";
@@ -27943,16 +28251,16 @@ var require_client_h1 = __commonJS({
27943
28251
  }
27944
28252
  }
27945
28253
  if (request.method === "CONNECT") {
27946
- assert6(client[kRunning] === 1);
28254
+ assert7(client[kRunning] === 1);
27947
28255
  this.upgrade = true;
27948
28256
  return 2;
27949
28257
  }
27950
28258
  if (upgrade) {
27951
- assert6(client[kRunning] === 1);
28259
+ assert7(client[kRunning] === 1);
27952
28260
  this.upgrade = true;
27953
28261
  return 2;
27954
28262
  }
27955
- assert6((this.headers.length & 1) === 0);
28263
+ assert7((this.headers.length & 1) === 0);
27956
28264
  this.headers = [];
27957
28265
  this.headersSize = 0;
27958
28266
  if (this.shouldKeepAlive && client[kPipelining]) {
@@ -27999,14 +28307,14 @@ var require_client_h1 = __commonJS({
27999
28307
  return -1;
28000
28308
  }
28001
28309
  const request = client[kQueue][client[kRunningIdx]];
28002
- assert6(request);
28003
- assert6(this.timeoutType === TIMEOUT_BODY);
28310
+ assert7(request);
28311
+ assert7(this.timeoutType === TIMEOUT_BODY);
28004
28312
  if (this.timeout) {
28005
28313
  if (this.timeout.refresh) {
28006
28314
  this.timeout.refresh();
28007
28315
  }
28008
28316
  }
28009
- assert6(statusCode >= 200);
28317
+ assert7(statusCode >= 200);
28010
28318
  if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) {
28011
28319
  util.destroy(socket, new ResponseExceededMaxSizeError());
28012
28320
  return -1;
@@ -28028,10 +28336,10 @@ var require_client_h1 = __commonJS({
28028
28336
  if (upgrade) {
28029
28337
  return 0;
28030
28338
  }
28031
- assert6(statusCode >= 100);
28032
- assert6((this.headers.length & 1) === 0);
28339
+ assert7(statusCode >= 100);
28340
+ assert7((this.headers.length & 1) === 0);
28033
28341
  const request = client[kQueue][client[kRunningIdx]];
28034
- assert6(request);
28342
+ assert7(request);
28035
28343
  this.statusCode = 0;
28036
28344
  this.statusText = "";
28037
28345
  this.bytesRead = 0;
@@ -28051,7 +28359,7 @@ var require_client_h1 = __commonJS({
28051
28359
  client[kQueue][client[kRunningIdx]++] = null;
28052
28360
  socket[kSocketUsed] = client[kPending] === 0;
28053
28361
  if (socket[kWriting]) {
28054
- assert6(client[kRunning] === 0);
28362
+ assert7(client[kRunning] === 0);
28055
28363
  util.destroy(socket, new InformationalError("reset"));
28056
28364
  return constants2.ERROR.PAUSED;
28057
28365
  } else if (!shouldKeepAlive) {
@@ -28076,7 +28384,7 @@ var require_client_h1 = __commonJS({
28076
28384
  const { socket, timeoutType, client, paused } = parser;
28077
28385
  if (timeoutType === TIMEOUT_HEADERS) {
28078
28386
  if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {
28079
- assert6(!paused, "cannot be paused while waiting for headers");
28387
+ assert7(!paused, "cannot be paused while waiting for headers");
28080
28388
  util.destroy(socket, new HeadersTimeoutError());
28081
28389
  }
28082
28390
  } else if (timeoutType === TIMEOUT_BODY) {
@@ -28084,7 +28392,7 @@ var require_client_h1 = __commonJS({
28084
28392
  util.destroy(socket, new BodyTimeoutError());
28085
28393
  }
28086
28394
  } else if (timeoutType === TIMEOUT_KEEP_ALIVE) {
28087
- assert6(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]);
28395
+ assert7(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]);
28088
28396
  util.destroy(socket, new InformationalError("socket idle timeout"));
28089
28397
  }
28090
28398
  }
@@ -28166,7 +28474,7 @@ var require_client_h1 = __commonJS({
28166
28474
  }
28167
28475
  __name(connectH1, "connectH1");
28168
28476
  function onHttpSocketError(err) {
28169
- assert6(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
28477
+ assert7(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
28170
28478
  const parser = this[kParser];
28171
28479
  if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) {
28172
28480
  const parserErr = parser.finish();
@@ -28211,7 +28519,7 @@ var require_client_h1 = __commonJS({
28211
28519
  client[kSocket] = null;
28212
28520
  client[kHTTPContext] = null;
28213
28521
  if (client.destroyed) {
28214
- assert6(client[kPending] === 0);
28522
+ assert7(client[kPending] === 0);
28215
28523
  const requests = client[kQueue].splice(client[kRunningIdx]);
28216
28524
  for (let i = 0; i < requests.length; i++) {
28217
28525
  const request = requests[i];
@@ -28223,7 +28531,7 @@ var require_client_h1 = __commonJS({
28223
28531
  util.errorRequest(client, request, err);
28224
28532
  }
28225
28533
  client[kPendingIdx] = client[kRunningIdx];
28226
- assert6(client[kRunning] === 0);
28534
+ assert7(client[kRunning] === 0);
28227
28535
  client.emit("disconnect", client[kUrl], [client], err);
28228
28536
  client[kResume]();
28229
28537
  }
@@ -28434,13 +28742,13 @@ upgrade: ${upgrade}\r
28434
28742
  } else if (util.isIterable(body)) {
28435
28743
  writeIterable(abort, body, client, request, socket, contentLength2, header, expectsPayload);
28436
28744
  } else {
28437
- assert6(false);
28745
+ assert7(false);
28438
28746
  }
28439
28747
  return true;
28440
28748
  }
28441
28749
  __name(writeH1, "writeH1");
28442
28750
  function writeStream(abort, body, client, request, socket, contentLength2, header, expectsPayload) {
28443
- assert6(contentLength2 !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
28751
+ assert7(contentLength2 !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
28444
28752
  let finished = false;
28445
28753
  const writer = new AsyncWriter({ abort, socket, request, contentLength: contentLength2, client, expectsPayload, header });
28446
28754
  const onData = /* @__PURE__ */ __name(function(chunk) {
@@ -28477,7 +28785,7 @@ upgrade: ${upgrade}\r
28477
28785
  return;
28478
28786
  }
28479
28787
  finished = true;
28480
- assert6(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
28788
+ assert7(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
28481
28789
  socket.off("drain", onDrain).off("error", onFinished);
28482
28790
  body.removeListener("data", onData).removeListener("end", onFinished).removeListener("close", onClose);
28483
28791
  if (!err) {
@@ -28517,12 +28825,12 @@ upgrade: ${upgrade}\r
28517
28825
  \r
28518
28826
  `, "latin1");
28519
28827
  } else {
28520
- assert6(contentLength2 === null, "no body must not have content length");
28828
+ assert7(contentLength2 === null, "no body must not have content length");
28521
28829
  socket.write(`${header}\r
28522
28830
  `, "latin1");
28523
28831
  }
28524
28832
  } else if (util.isBuffer(body)) {
28525
- assert6(contentLength2 === body.byteLength, "buffer body must have content length");
28833
+ assert7(contentLength2 === body.byteLength, "buffer body must have content length");
28526
28834
  socket.cork();
28527
28835
  socket.write(`${header}content-length: ${contentLength2}\r
28528
28836
  \r
@@ -28542,7 +28850,7 @@ upgrade: ${upgrade}\r
28542
28850
  }
28543
28851
  __name(writeBuffer2, "writeBuffer");
28544
28852
  async function writeBlob(abort, body, client, request, socket, contentLength2, header, expectsPayload) {
28545
- assert6(contentLength2 === body.size, "blob body must have content length");
28853
+ assert7(contentLength2 === body.size, "blob body must have content length");
28546
28854
  try {
28547
28855
  if (contentLength2 != null && contentLength2 !== body.size) {
28548
28856
  throw new RequestContentLengthMismatchError();
@@ -28566,7 +28874,7 @@ upgrade: ${upgrade}\r
28566
28874
  }
28567
28875
  __name(writeBlob, "writeBlob");
28568
28876
  async function writeIterable(abort, body, client, request, socket, contentLength2, header, expectsPayload) {
28569
- assert6(contentLength2 !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
28877
+ assert7(contentLength2 !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
28570
28878
  let callback = null;
28571
28879
  function onDrain() {
28572
28880
  if (callback) {
@@ -28577,7 +28885,7 @@ upgrade: ${upgrade}\r
28577
28885
  }
28578
28886
  __name(onDrain, "onDrain");
28579
28887
  const waitForDrain = /* @__PURE__ */ __name(() => new Promise((resolve3, reject) => {
28580
- assert6(callback === null);
28888
+ assert7(callback === null);
28581
28889
  if (socket[kError]) {
28582
28890
  reject(socket[kError]);
28583
28891
  } else {
@@ -28730,7 +29038,7 @@ ${len.toString(16)}\r
28730
29038
  const { socket, client, abort } = this;
28731
29039
  socket[kWriting] = false;
28732
29040
  if (err) {
28733
- assert6(client[kRunning] <= 1, "pipeline should only contain this request");
29041
+ assert7(client[kRunning] <= 1, "pipeline should only contain this request");
28734
29042
  abort(err);
28735
29043
  }
28736
29044
  }
@@ -28743,7 +29051,7 @@ ${len.toString(16)}\r
28743
29051
  var require_client_h2 = __commonJS({
28744
29052
  "../../node_modules/.pnpm/undici@7.29.0/node_modules/undici/lib/dispatcher/client-h2.js"(exports, module) {
28745
29053
  "use strict";
28746
- var assert6 = __require("node:assert");
29054
+ var assert7 = __require("node:assert");
28747
29055
  var { pipeline } = __require("node:stream");
28748
29056
  var util = require_util();
28749
29057
  var {
@@ -28969,7 +29277,7 @@ var require_client_h2 = __commonJS({
28969
29277
  }
28970
29278
  __name(onHttp2SendPing, "onHttp2SendPing");
28971
29279
  function onHttp2SessionError(err) {
28972
- assert6(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
29280
+ assert7(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
28973
29281
  this[kSocket][kError] = err;
28974
29282
  this[kClient][kOnError](err);
28975
29283
  }
@@ -29002,7 +29310,7 @@ var require_client_h2 = __commonJS({
29002
29310
  util.errorRequest(client, request, err);
29003
29311
  client[kPendingIdx] = client[kRunningIdx];
29004
29312
  }
29005
- assert6(client[kRunning] === 0);
29313
+ assert7(client[kRunning] === 0);
29006
29314
  client.emit("disconnect", client[kUrl], [client], err);
29007
29315
  client.emit("connectionError", client[kUrl], [client], err);
29008
29316
  client[kResume]();
@@ -29019,7 +29327,7 @@ var require_client_h2 = __commonJS({
29019
29327
  state.ping.interval = null;
29020
29328
  }
29021
29329
  if (client.destroyed) {
29022
- assert6(client[kPending] === 0);
29330
+ assert7(client[kPending] === 0);
29023
29331
  const requests = client[kQueue].splice(client[kRunningIdx]);
29024
29332
  for (let i = 0; i < requests.length; i++) {
29025
29333
  const request = requests[i];
@@ -29037,13 +29345,13 @@ var require_client_h2 = __commonJS({
29037
29345
  this[kHTTP2Session].destroy(err);
29038
29346
  }
29039
29347
  client[kPendingIdx] = client[kRunningIdx];
29040
- assert6(client[kRunning] === 0);
29348
+ assert7(client[kRunning] === 0);
29041
29349
  client.emit("disconnect", client[kUrl], [client], err);
29042
29350
  client[kResume]();
29043
29351
  }
29044
29352
  __name(onHttp2SocketClose, "onHttp2SocketClose");
29045
29353
  function onHttp2SocketError(err) {
29046
- assert6(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
29354
+ assert7(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
29047
29355
  this[kError] = err;
29048
29356
  this[kClient][kOnError](err);
29049
29357
  }
@@ -29200,7 +29508,7 @@ var require_client_h2 = __commonJS({
29200
29508
  process.emitWarning(new RequestContentLengthMismatchError());
29201
29509
  }
29202
29510
  if (contentLength2 != null) {
29203
- assert6(body || contentLength2 === 0, "no body must not have content length");
29511
+ assert7(body || contentLength2 === 0, "no body must not have content length");
29204
29512
  headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength2}`;
29205
29513
  }
29206
29514
  session.ref();
@@ -29369,7 +29677,7 @@ var require_client_h2 = __commonJS({
29369
29677
  expectsPayload
29370
29678
  );
29371
29679
  } else {
29372
- assert6(false);
29680
+ assert7(false);
29373
29681
  }
29374
29682
  }
29375
29683
  __name(writeBodyH2, "writeBodyH2");
@@ -29378,7 +29686,7 @@ var require_client_h2 = __commonJS({
29378
29686
  function writeBuffer2(abort, h2stream, body, client, request, socket, contentLength2, expectsPayload) {
29379
29687
  try {
29380
29688
  if (body != null && util.isBuffer(body)) {
29381
- assert6(contentLength2 === body.byteLength, "buffer body must have content length");
29689
+ assert7(contentLength2 === body.byteLength, "buffer body must have content length");
29382
29690
  h2stream.cork();
29383
29691
  h2stream.write(body);
29384
29692
  h2stream.uncork();
@@ -29396,7 +29704,7 @@ var require_client_h2 = __commonJS({
29396
29704
  }
29397
29705
  __name(writeBuffer2, "writeBuffer");
29398
29706
  function writeStream(abort, socket, expectsPayload, h2stream, body, client, request, contentLength2) {
29399
- assert6(contentLength2 !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
29707
+ assert7(contentLength2 !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
29400
29708
  const pipe3 = pipeline(
29401
29709
  body,
29402
29710
  h2stream,
@@ -29422,7 +29730,7 @@ var require_client_h2 = __commonJS({
29422
29730
  }
29423
29731
  __name(writeStream, "writeStream");
29424
29732
  async function writeBlob(abort, h2stream, body, client, request, socket, contentLength2, expectsPayload) {
29425
- assert6(contentLength2 === body.size, "blob body must have content length");
29733
+ assert7(contentLength2 === body.size, "blob body must have content length");
29426
29734
  try {
29427
29735
  if (contentLength2 != null && contentLength2 !== body.size) {
29428
29736
  throw new RequestContentLengthMismatchError();
@@ -29444,7 +29752,7 @@ var require_client_h2 = __commonJS({
29444
29752
  }
29445
29753
  __name(writeBlob, "writeBlob");
29446
29754
  async function writeIterable(abort, h2stream, body, client, request, socket, contentLength2, expectsPayload) {
29447
- assert6(contentLength2 !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
29755
+ assert7(contentLength2 !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
29448
29756
  let callback = null;
29449
29757
  function onDrain() {
29450
29758
  if (callback) {
@@ -29455,7 +29763,7 @@ var require_client_h2 = __commonJS({
29455
29763
  }
29456
29764
  __name(onDrain, "onDrain");
29457
29765
  const waitForDrain = /* @__PURE__ */ __name(() => new Promise((resolve3, reject) => {
29458
- assert6(callback === null);
29766
+ assert7(callback === null);
29459
29767
  if (socket[kError]) {
29460
29768
  reject(socket[kError]);
29461
29769
  } else {
@@ -29495,9 +29803,9 @@ var require_client_h2 = __commonJS({
29495
29803
  var require_client = __commonJS({
29496
29804
  "../../node_modules/.pnpm/undici@7.29.0/node_modules/undici/lib/dispatcher/client.js"(exports, module) {
29497
29805
  "use strict";
29498
- var assert6 = __require("node:assert");
29806
+ var assert7 = __require("node:assert");
29499
29807
  var net2 = __require("node:net");
29500
- var http = __require("node:http");
29808
+ var http2 = __require("node:http");
29501
29809
  var util = require_util();
29502
29810
  var { ClientStats } = require_stats();
29503
29811
  var { channels } = require_diagnostics();
@@ -29555,7 +29863,7 @@ var require_client = __commonJS({
29555
29863
  var connectH1 = require_client_h1();
29556
29864
  var connectH2 = require_client_h2();
29557
29865
  var kClosedResolve = /* @__PURE__ */ Symbol("kClosedResolve");
29558
- var getDefaultNodeMaxHeaderSize = http && http.maxHeaderSize && Number.isInteger(http.maxHeaderSize) && http.maxHeaderSize > 0 ? () => http.maxHeaderSize : () => {
29866
+ var getDefaultNodeMaxHeaderSize = http2 && http2.maxHeaderSize && Number.isInteger(http2.maxHeaderSize) && http2.maxHeaderSize > 0 ? () => http2.maxHeaderSize : () => {
29559
29867
  throw new InvalidArgumentError("http module not available or http.maxHeaderSize invalid");
29560
29868
  };
29561
29869
  var noop3 = /* @__PURE__ */ __name(() => {
@@ -29814,25 +30122,25 @@ var require_client = __commonJS({
29814
30122
  };
29815
30123
  function onError(client, err) {
29816
30124
  if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") {
29817
- assert6(client[kPendingIdx] === client[kRunningIdx]);
30125
+ assert7(client[kPendingIdx] === client[kRunningIdx]);
29818
30126
  const requests = client[kQueue].splice(client[kRunningIdx]);
29819
30127
  for (let i = 0; i < requests.length; i++) {
29820
30128
  const request = requests[i];
29821
30129
  util.errorRequest(client, request, err);
29822
30130
  }
29823
- assert6(client[kSize] === 0);
30131
+ assert7(client[kSize] === 0);
29824
30132
  }
29825
30133
  }
29826
30134
  __name(onError, "onError");
29827
30135
  function connect2(client) {
29828
- assert6(!client[kConnecting]);
29829
- assert6(!client[kHTTPContext]);
30136
+ assert7(!client[kConnecting]);
30137
+ assert7(!client[kHTTPContext]);
29830
30138
  let { host, hostname: hostname5, protocol, port } = client[kUrl];
29831
30139
  if (hostname5[0] === "[") {
29832
30140
  const idx = hostname5.indexOf("]");
29833
- assert6(idx !== -1);
30141
+ assert7(idx !== -1);
29834
30142
  const ip = hostname5.substring(1, idx);
29835
- assert6(net2.isIPv6(ip));
30143
+ assert7(net2.isIPv6(ip));
29836
30144
  hostname5 = ip;
29837
30145
  }
29838
30146
  client[kConnecting] = true;
@@ -29869,7 +30177,7 @@ var require_client = __commonJS({
29869
30177
  client[kResume]();
29870
30178
  return;
29871
30179
  }
29872
- assert6(socket);
30180
+ assert7(socket);
29873
30181
  try {
29874
30182
  client[kHTTPContext] = socket.alpnProtocol === "h2" ? connectH2(client, socket) : connectH1(client, socket);
29875
30183
  } catch (err2) {
@@ -29928,7 +30236,7 @@ var require_client = __commonJS({
29928
30236
  });
29929
30237
  }
29930
30238
  if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") {
29931
- assert6(client[kRunning] === 0);
30239
+ assert7(client[kRunning] === 0);
29932
30240
  while (client[kPending] > 0 && client[kQueue][client[kPendingIdx]].servername === client[kServerName]) {
29933
30241
  const request = client[kQueue][client[kPendingIdx]++];
29934
30242
  util.errorRequest(client, request, err);
@@ -29961,7 +30269,7 @@ var require_client = __commonJS({
29961
30269
  function _resume(client, sync) {
29962
30270
  while (true) {
29963
30271
  if (client.destroyed) {
29964
- assert6(client[kPending] === 0);
30272
+ assert7(client[kPending] === 0);
29965
30273
  return;
29966
30274
  }
29967
30275
  if (client[kClosedResolve] && !client[kSize]) {
@@ -30805,7 +31113,7 @@ var require_agent = __commonJS({
30805
31113
  var require_socks5_utils = __commonJS({
30806
31114
  "../../node_modules/.pnpm/undici@7.29.0/node_modules/undici/lib/core/socks5-utils.js"(exports, module) {
30807
31115
  "use strict";
30808
- var { Buffer: Buffer3 } = __require("node:buffer");
31116
+ var { Buffer: Buffer4 } = __require("node:buffer");
30809
31117
  var net2 = __require("node:net");
30810
31118
  var { InvalidArgumentError } = require_errors();
30811
31119
  function parseAddress(address) {
@@ -30814,7 +31122,7 @@ var require_socks5_utils = __commonJS({
30814
31122
  return {
30815
31123
  type: 1,
30816
31124
  // IPv4
30817
- buffer: Buffer3.from(parts)
31125
+ buffer: Buffer4.from(parts)
30818
31126
  };
30819
31127
  }
30820
31128
  if (net2.isIPv6(address)) {
@@ -30824,19 +31132,19 @@ var require_socks5_utils = __commonJS({
30824
31132
  buffer: parseIPv6(address)
30825
31133
  };
30826
31134
  }
30827
- const domainBuffer = Buffer3.from(address, "utf8");
31135
+ const domainBuffer = Buffer4.from(address, "utf8");
30828
31136
  if (domainBuffer.length > 255) {
30829
31137
  throw new InvalidArgumentError("Domain name too long (max 255 bytes)");
30830
31138
  }
30831
31139
  return {
30832
31140
  type: 3,
30833
31141
  // Domain
30834
- buffer: Buffer3.concat([Buffer3.from([domainBuffer.length]), domainBuffer])
31142
+ buffer: Buffer4.concat([Buffer4.from([domainBuffer.length]), domainBuffer])
30835
31143
  };
30836
31144
  }
30837
31145
  __name(parseAddress, "parseAddress");
30838
31146
  function parseIPv6(address) {
30839
- const buffer3 = Buffer3.alloc(16);
31147
+ const buffer3 = Buffer4.alloc(16);
30840
31148
  let normalizedAddress = address;
30841
31149
  if (address.includes(".")) {
30842
31150
  const lastColonIndex = address.lastIndexOf(":");
@@ -30874,10 +31182,10 @@ var require_socks5_utils = __commonJS({
30874
31182
  }
30875
31183
  __name(parseIPv6, "parseIPv6");
30876
31184
  function buildAddressBuffer(type, addressBuffer, port) {
30877
- const portBuffer = Buffer3.allocUnsafe(2);
31185
+ const portBuffer = Buffer4.allocUnsafe(2);
30878
31186
  portBuffer.writeUInt16BE(port, 0);
30879
- return Buffer3.concat([
30880
- Buffer3.from([type]),
31187
+ return Buffer4.concat([
31188
+ Buffer4.from([type]),
30881
31189
  addressBuffer,
30882
31190
  portBuffer
30883
31191
  ]);
@@ -30972,12 +31280,12 @@ var require_socks5_client = __commonJS({
30972
31280
  "../../node_modules/.pnpm/undici@7.29.0/node_modules/undici/lib/core/socks5-client.js"(exports, module) {
30973
31281
  "use strict";
30974
31282
  var { EventEmitter: EventEmitter2 } = __require("node:events");
30975
- var { Buffer: Buffer3 } = __require("node:buffer");
31283
+ var { Buffer: Buffer4 } = __require("node:buffer");
30976
31284
  var { InvalidArgumentError, Socks5ProxyError } = require_errors();
30977
31285
  var { debuglog } = __require("node:util");
30978
31286
  var { parseAddress } = require_socks5_utils();
30979
31287
  var debug = debuglog("undici:socks5");
30980
- var EMPTY_BUFFER = Buffer3.alloc(0);
31288
+ var EMPTY_BUFFER = Buffer4.alloc(0);
30981
31289
  var SOCKS_VERSION = 5;
30982
31290
  var AUTH_METHODS = {
30983
31291
  NO_AUTH: 0,
@@ -31046,7 +31354,7 @@ var require_socks5_client = __commonJS({
31046
31354
  */
31047
31355
  onData(data) {
31048
31356
  debug("received data", data.length, "bytes in state", this.state);
31049
- this.buffer = Buffer3.concat([this.buffer, data]);
31357
+ this.buffer = Buffer4.concat([this.buffer, data]);
31050
31358
  try {
31051
31359
  switch (this.state) {
31052
31360
  case STATES.HANDSHAKING:
@@ -31101,7 +31409,7 @@ var require_socks5_client = __commonJS({
31101
31409
  }
31102
31410
  debug("starting handshake with", this.authMethods.length, "auth methods");
31103
31411
  this.state = STATES.HANDSHAKING;
31104
- const request = Buffer3.alloc(2 + this.authMethods.length);
31412
+ const request = Buffer4.alloc(2 + this.authMethods.length);
31105
31413
  request[0] = SOCKS_VERSION;
31106
31414
  request[1] = this.authMethods.length;
31107
31415
  this.authMethods.forEach((method, i) => {
@@ -31144,12 +31452,12 @@ var require_socks5_client = __commonJS({
31144
31452
  throw new InvalidArgumentError("Username and password required for authentication");
31145
31453
  }
31146
31454
  debug("sending username/password auth");
31147
- const usernameBuffer = Buffer3.from(username);
31148
- const passwordBuffer = Buffer3.from(password);
31455
+ const usernameBuffer = Buffer4.from(username);
31456
+ const passwordBuffer = Buffer4.from(password);
31149
31457
  if (usernameBuffer.length > 255 || passwordBuffer.length > 255) {
31150
31458
  throw new InvalidArgumentError("Username or password too long");
31151
31459
  }
31152
- const request = Buffer3.alloc(3 + usernameBuffer.length + passwordBuffer.length);
31460
+ const request = Buffer4.alloc(3 + usernameBuffer.length + passwordBuffer.length);
31153
31461
  request[0] = 1;
31154
31462
  request[1] = usernameBuffer.length;
31155
31463
  usernameBuffer.copy(request, 2);
@@ -31198,7 +31506,7 @@ var require_socks5_client = __commonJS({
31198
31506
  */
31199
31507
  buildConnectRequest(command, address, port) {
31200
31508
  const { type: addressType, buffer: addressBuffer } = parseAddress(address);
31201
- const request = Buffer3.alloc(4 + addressBuffer.length + 2);
31509
+ const request = Buffer4.alloc(4 + addressBuffer.length + 2);
31202
31510
  request[0] = SOCKS_VERSION;
31203
31511
  request[1] = command;
31204
31512
  request[2] = 0;
@@ -31907,7 +32215,7 @@ var require_env_http_proxy_agent = __commonJS({
31907
32215
  var require_retry_handler = __commonJS({
31908
32216
  "../../node_modules/.pnpm/undici@7.29.0/node_modules/undici/lib/handler/retry-handler.js"(exports, module) {
31909
32217
  "use strict";
31910
- var assert6 = __require("node:assert");
32218
+ var assert7 = __require("node:assert");
31911
32219
  var { kRetryHandlerDefaultRetry } = require_symbols();
31912
32220
  var { RequestRetryError } = require_errors();
31913
32221
  var WrapHandler = require_wrap_handler();
@@ -32113,8 +32421,8 @@ var require_retry_handler = __commonJS({
32113
32421
  }
32114
32422
  validatePartialResponseContentLength(headers, contentRange, statusCode, this.retryCount);
32115
32423
  const { start: start3, size, end = size ? size - 1 : null } = contentRange;
32116
- assert6(this.start === start3, "content-range mismatch");
32117
- assert6(this.end == null || this.end === end, "content-range mismatch");
32424
+ assert7(this.start === start3, "content-range mismatch");
32425
+ assert7(this.end == null || this.end === end, "content-range mismatch");
32118
32426
  return;
32119
32427
  }
32120
32428
  if (this.end == null) {
@@ -32132,11 +32440,11 @@ var require_retry_handler = __commonJS({
32132
32440
  }
32133
32441
  validatePartialResponseContentLength(headers, range2, statusCode, this.retryCount);
32134
32442
  const { start: start3, size, end = size ? size - 1 : null } = range2;
32135
- assert6(
32443
+ assert7(
32136
32444
  start3 != null && Number.isFinite(start3),
32137
32445
  "content-range mismatch"
32138
32446
  );
32139
- assert6(end != null && Number.isFinite(end), "invalid content-length");
32447
+ assert7(end != null && Number.isFinite(end), "invalid content-length");
32140
32448
  this.start = start3;
32141
32449
  this.end = end;
32142
32450
  }
@@ -32144,8 +32452,8 @@ var require_retry_handler = __commonJS({
32144
32452
  const contentLength2 = headers["content-length"];
32145
32453
  this.end = contentLength2 != null ? Number(contentLength2) - 1 : null;
32146
32454
  }
32147
- assert6(Number.isFinite(this.start));
32148
- assert6(
32455
+ assert7(Number.isFinite(this.start));
32456
+ assert7(
32149
32457
  this.end == null || Number.isFinite(this.end),
32150
32458
  "invalid content-length"
32151
32459
  );
@@ -32326,7 +32634,7 @@ var require_h2c_client = __commonJS({
32326
32634
  var require_readable = __commonJS({
32327
32635
  "../../node_modules/.pnpm/undici@7.29.0/node_modules/undici/lib/api/readable.js"(exports, module) {
32328
32636
  "use strict";
32329
- var assert6 = __require("node:assert");
32637
+ var assert7 = __require("node:assert");
32330
32638
  var { Readable } = __require("node:stream");
32331
32639
  var { RequestAbortedError, NotSupportedError, InvalidArgumentError, AbortError } = require_errors();
32332
32640
  var util = require_util();
@@ -32523,7 +32831,7 @@ var require_readable = __commonJS({
32523
32831
  this[kBody] = ReadableStreamFrom(this);
32524
32832
  if (this[kConsume]) {
32525
32833
  this[kBody].getReader();
32526
- assert6(this[kBody].locked);
32834
+ assert7(this[kBody].locked);
32527
32835
  }
32528
32836
  }
32529
32837
  return this[kBody];
@@ -32594,7 +32902,7 @@ var require_readable = __commonJS({
32594
32902
  }
32595
32903
  __name(isUnusable, "isUnusable");
32596
32904
  function consume(stream, type) {
32597
- assert6(!stream[kConsume]);
32905
+ assert7(!stream[kConsume]);
32598
32906
  return new Promise((resolve3, reject) => {
32599
32907
  if (isUnusable(stream)) {
32600
32908
  const rState = stream._readableState;
@@ -32740,7 +33048,7 @@ var require_readable = __commonJS({
32740
33048
  var require_api_request = __commonJS({
32741
33049
  "../../node_modules/.pnpm/undici@7.29.0/node_modules/undici/lib/api/api-request.js"(exports, module) {
32742
33050
  "use strict";
32743
- var assert6 = __require("node:assert");
33051
+ var assert7 = __require("node:assert");
32744
33052
  var { AsyncResource } = __require("node:async_hooks");
32745
33053
  var { Readable } = require_readable();
32746
33054
  var { InvalidArgumentError, RequestAbortedError } = require_errors();
@@ -32811,7 +33119,7 @@ var require_api_request = __commonJS({
32811
33119
  abort(this.reason);
32812
33120
  return;
32813
33121
  }
32814
- assert6(this.callback);
33122
+ assert7(this.callback);
32815
33123
  this.abort = abort;
32816
33124
  this.context = context2;
32817
33125
  }
@@ -32978,7 +33286,7 @@ var require_abort_signal = __commonJS({
32978
33286
  var require_api_stream = __commonJS({
32979
33287
  "../../node_modules/.pnpm/undici@7.29.0/node_modules/undici/lib/api/api-stream.js"(exports, module) {
32980
33288
  "use strict";
32981
- var assert6 = __require("node:assert");
33289
+ var assert7 = __require("node:assert");
32982
33290
  var { finished } = __require("node:stream");
32983
33291
  var { AsyncResource } = __require("node:async_hooks");
32984
33292
  var { InvalidArgumentError, InvalidReturnValueError } = require_errors();
@@ -33041,7 +33349,7 @@ var require_api_stream = __commonJS({
33041
33349
  abort(this.reason);
33042
33350
  return;
33043
33351
  }
33044
- assert6(this.callback);
33352
+ assert7(this.callback);
33045
33353
  this.abort = abort;
33046
33354
  this.context = context2;
33047
33355
  }
@@ -33149,7 +33457,7 @@ var require_api_pipeline = __commonJS({
33149
33457
  Duplex,
33150
33458
  PassThrough
33151
33459
  } = __require("node:stream");
33152
- var assert6 = __require("node:assert");
33460
+ var assert7 = __require("node:assert");
33153
33461
  var { AsyncResource } = __require("node:async_hooks");
33154
33462
  var {
33155
33463
  InvalidArgumentError,
@@ -33273,7 +33581,7 @@ var require_api_pipeline = __commonJS({
33273
33581
  abort(this.reason);
33274
33582
  return;
33275
33583
  }
33276
- assert6(!res, "pipeline cannot be retried");
33584
+ assert7(!res, "pipeline cannot be retried");
33277
33585
  this.abort = abort;
33278
33586
  this.context = context2;
33279
33587
  }
@@ -33358,7 +33666,7 @@ var require_api_upgrade = __commonJS({
33358
33666
  "use strict";
33359
33667
  var { InvalidArgumentError, SocketError } = require_errors();
33360
33668
  var { AsyncResource } = __require("node:async_hooks");
33361
- var assert6 = __require("node:assert");
33669
+ var assert7 = __require("node:assert");
33362
33670
  var util = require_util();
33363
33671
  var { kHTTP2Stream } = require_symbols();
33364
33672
  var { addSignal, removeSignal } = require_abort_signal();
@@ -33390,7 +33698,7 @@ var require_api_upgrade = __commonJS({
33390
33698
  abort(this.reason);
33391
33699
  return;
33392
33700
  }
33393
- assert6(this.callback);
33701
+ assert7(this.callback);
33394
33702
  this.abort = abort;
33395
33703
  this.context = null;
33396
33704
  }
@@ -33398,7 +33706,7 @@ var require_api_upgrade = __commonJS({
33398
33706
  throw new SocketError("bad upgrade", null);
33399
33707
  }
33400
33708
  onUpgrade(statusCode, rawHeaders, socket) {
33401
- assert6(socket[kHTTP2Stream] === true ? statusCode === 200 : statusCode === 101);
33709
+ assert7(socket[kHTTP2Stream] === true ? statusCode === 200 : statusCode === 101);
33402
33710
  const { callback, opaque, context: context2 } = this;
33403
33711
  removeSignal(this);
33404
33712
  this.callback = null;
@@ -33454,7 +33762,7 @@ var require_api_upgrade = __commonJS({
33454
33762
  var require_api_connect = __commonJS({
33455
33763
  "../../node_modules/.pnpm/undici@7.29.0/node_modules/undici/lib/api/api-connect.js"(exports, module) {
33456
33764
  "use strict";
33457
- var assert6 = __require("node:assert");
33765
+ var assert7 = __require("node:assert");
33458
33766
  var { AsyncResource } = __require("node:async_hooks");
33459
33767
  var { InvalidArgumentError, SocketError } = require_errors();
33460
33768
  var util = require_util();
@@ -33486,7 +33794,7 @@ var require_api_connect = __commonJS({
33486
33794
  abort(this.reason);
33487
33795
  return;
33488
33796
  }
33489
- assert6(this.callback);
33797
+ assert7(this.callback);
33490
33798
  this.abort = abort;
33491
33799
  this.context = context2;
33492
33800
  }
@@ -34537,7 +34845,7 @@ var require_mock_pool = __commonJS({
34537
34845
  var require_pending_interceptors_formatter = __commonJS({
34538
34846
  "../../node_modules/.pnpm/undici@7.29.0/node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports, module) {
34539
34847
  "use strict";
34540
- var { Transform } = __require("node:stream");
34848
+ var { Transform: Transform2 } = __require("node:stream");
34541
34849
  var { Console } = __require("node:console");
34542
34850
  var PERSISTENT = process.versions.icu ? "\u2705" : "Y ";
34543
34851
  var NOT_PERSISTENT = process.versions.icu ? "\u274C" : "N ";
@@ -34546,7 +34854,7 @@ var require_pending_interceptors_formatter = __commonJS({
34546
34854
  __name(this, "PendingInterceptorsFormatter");
34547
34855
  }
34548
34856
  constructor({ disableColors } = {}) {
34549
- this.transform = new Transform({
34857
+ this.transform = new Transform2({
34550
34858
  transform(chunk, _enc, cb) {
34551
34859
  cb(null, chunk);
34552
34860
  }
@@ -35588,7 +35896,7 @@ var require_global2 = __commonJS({
35588
35896
  var require_decorator_handler = __commonJS({
35589
35897
  "../../node_modules/.pnpm/undici@7.29.0/node_modules/undici/lib/handler/decorator-handler.js"(exports, module) {
35590
35898
  "use strict";
35591
- var assert6 = __require("node:assert");
35899
+ var assert7 = __require("node:assert");
35592
35900
  var WrapHandler = require_wrap_handler();
35593
35901
  module.exports = class DecoratorHandler {
35594
35902
  static {
@@ -35608,25 +35916,25 @@ var require_decorator_handler = __commonJS({
35608
35916
  this.#handler.onRequestStart?.(...args);
35609
35917
  }
35610
35918
  onRequestUpgrade(...args) {
35611
- assert6(!this.#onCompleteCalled);
35612
- assert6(!this.#onErrorCalled);
35919
+ assert7(!this.#onCompleteCalled);
35920
+ assert7(!this.#onErrorCalled);
35613
35921
  return this.#handler.onRequestUpgrade?.(...args);
35614
35922
  }
35615
35923
  onResponseStart(...args) {
35616
- assert6(!this.#onCompleteCalled);
35617
- assert6(!this.#onErrorCalled);
35618
- assert6(!this.#onResponseStartCalled);
35924
+ assert7(!this.#onCompleteCalled);
35925
+ assert7(!this.#onErrorCalled);
35926
+ assert7(!this.#onResponseStartCalled);
35619
35927
  this.#onResponseStartCalled = true;
35620
35928
  return this.#handler.onResponseStart?.(...args);
35621
35929
  }
35622
35930
  onResponseData(...args) {
35623
- assert6(!this.#onCompleteCalled);
35624
- assert6(!this.#onErrorCalled);
35931
+ assert7(!this.#onCompleteCalled);
35932
+ assert7(!this.#onErrorCalled);
35625
35933
  return this.#handler.onResponseData?.(...args);
35626
35934
  }
35627
35935
  onResponseEnd(...args) {
35628
- assert6(!this.#onCompleteCalled);
35629
- assert6(!this.#onErrorCalled);
35936
+ assert7(!this.#onCompleteCalled);
35937
+ assert7(!this.#onErrorCalled);
35630
35938
  this.#onCompleteCalled = true;
35631
35939
  return this.#handler.onResponseEnd?.(...args);
35632
35940
  }
@@ -35649,7 +35957,7 @@ var require_redirect_handler = __commonJS({
35649
35957
  "use strict";
35650
35958
  var util = require_util();
35651
35959
  var { kBodyUsed } = require_symbols();
35652
- var assert6 = __require("node:assert");
35960
+ var assert7 = __require("node:assert");
35653
35961
  var { InvalidArgumentError } = require_errors();
35654
35962
  var EE = __require("node:events");
35655
35963
  var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];
@@ -35665,7 +35973,7 @@ var require_redirect_handler = __commonJS({
35665
35973
  this[kBodyUsed] = false;
35666
35974
  }
35667
35975
  async *[Symbol.asyncIterator]() {
35668
- assert6(!this[kBodyUsed], "disturbed");
35976
+ assert7(!this[kBodyUsed], "disturbed");
35669
35977
  this[kBodyUsed] = true;
35670
35978
  yield* this[kBody];
35671
35979
  }
@@ -35695,7 +36003,7 @@ var require_redirect_handler = __commonJS({
35695
36003
  if (util.isStream(this.opts.body)) {
35696
36004
  if (util.bodyLength(this.opts.body) === 0) {
35697
36005
  this.opts.body.on("data", function() {
35698
- assert6(false);
36006
+ assert7(false);
35699
36007
  });
35700
36008
  }
35701
36009
  if (typeof this.opts.body.readableDidRead !== "boolean") {
@@ -35802,7 +36110,7 @@ var require_redirect_handler = __commonJS({
35802
36110
  }
35803
36111
  }
35804
36112
  } else {
35805
- assert6(headers == null, "headers must be an object or an array");
36113
+ assert7(headers == null, "headers must be an object or an array");
35806
36114
  }
35807
36115
  return ret;
35808
36116
  }
@@ -38253,7 +38561,7 @@ var require_memory_cache_store = __commonJS({
38253
38561
  var require_cache_revalidation_handler = __commonJS({
38254
38562
  "../../node_modules/.pnpm/undici@7.29.0/node_modules/undici/lib/handler/cache-revalidation-handler.js"(exports, module) {
38255
38563
  "use strict";
38256
- var assert6 = __require("node:assert");
38564
+ var assert7 = __require("node:assert");
38257
38565
  var CacheRevalidationHandler = class {
38258
38566
  static {
38259
38567
  __name(this, "CacheRevalidationHandler");
@@ -38293,7 +38601,7 @@ var require_cache_revalidation_handler = __commonJS({
38293
38601
  this.#handler.onRequestUpgrade?.(controller, statusCode, headers, socket);
38294
38602
  }
38295
38603
  onResponseStart(controller, statusCode, headers, statusMessage) {
38296
- assert6(this.#callback != null);
38604
+ assert7(this.#callback != null);
38297
38605
  this.#successful = statusCode === 304 || this.#allowErrorStatusCodes && statusCode >= 500 && statusCode <= 504;
38298
38606
  this.#callback(this.#successful, this.#context, statusCode, headers);
38299
38607
  this.#callback = null;
@@ -38343,7 +38651,7 @@ var require_cache_revalidation_handler = __commonJS({
38343
38651
  var require_cache3 = __commonJS({
38344
38652
  "../../node_modules/.pnpm/undici@7.29.0/node_modules/undici/lib/interceptor/cache.js"(exports, module) {
38345
38653
  "use strict";
38346
- var assert6 = __require("node:assert");
38654
+ var assert7 = __require("node:assert");
38347
38655
  var { Readable } = __require("node:stream");
38348
38656
  var util = require_util();
38349
38657
  var CacheHandler = require_cache_handler();
@@ -38528,8 +38836,8 @@ var require_cache3 = __commonJS({
38528
38836
  __name(handleUncachedResponse, "handleUncachedResponse");
38529
38837
  function sendCachedValue(handler, opts, result2, age, context2, isStale2) {
38530
38838
  const stream = util.isStream(result2.body) ? result2.body : Readable.from(result2.body ?? []);
38531
- assert6(!stream.destroyed, "stream should not be destroyed");
38532
- assert6(!stream.readableDidRead, "stream should not be readableDidRead");
38839
+ assert7(!stream.destroyed, "stream should not be destroyed");
38840
+ assert7(!stream.readableDidRead, "stream should not be readableDidRead");
38533
38841
  const controller = {
38534
38842
  resume() {
38535
38843
  stream.resume();
@@ -39808,7 +40116,7 @@ var require_headers2 = __commonJS({
39808
40116
  isValidHeaderValue
39809
40117
  } = require_util2();
39810
40118
  var { webidl } = require_webidl();
39811
- var assert6 = __require("node:assert");
40119
+ var assert7 = __require("node:assert");
39812
40120
  var util = __require("node:util");
39813
40121
  function isHTTPWhiteSpaceCharCode(code3) {
39814
40122
  return code3 === 10 || code3 === 13 || code3 === 9 || code3 === 32;
@@ -40033,11 +40341,11 @@ var require_headers2 = __commonJS({
40033
40341
  const iterator = this.headersMap[Symbol.iterator]();
40034
40342
  const firstValue = iterator.next().value;
40035
40343
  array3[0] = [firstValue[0], firstValue[1].value];
40036
- assert6(firstValue[1].value !== null);
40344
+ assert7(firstValue[1].value !== null);
40037
40345
  for (let i = 1, j = 0, right = 0, left = 0, pivot = 0, x, value; i < size; ++i) {
40038
40346
  value = iterator.next().value;
40039
40347
  x = array3[i] = [value[0], value[1].value];
40040
- assert6(x[1] !== null);
40348
+ assert7(x[1] !== null);
40041
40349
  left = 0;
40042
40350
  right = i;
40043
40351
  while (left < right) {
@@ -40064,7 +40372,7 @@ var require_headers2 = __commonJS({
40064
40372
  let i = 0;
40065
40373
  for (const { 0: name, 1: { value } } of this.headersMap) {
40066
40374
  array3[i++] = [name, value];
40067
- assert6(value !== null);
40375
+ assert7(value !== null);
40068
40376
  }
40069
40377
  return array3.sort(compareHeaderName);
40070
40378
  }
@@ -40292,7 +40600,7 @@ var require_response = __commonJS({
40292
40600
  var { webidl } = require_webidl();
40293
40601
  var { URLSerializer } = require_data_url();
40294
40602
  var { kConstruct } = require_symbols();
40295
- var assert6 = __require("node:assert");
40603
+ var assert7 = __require("node:assert");
40296
40604
  var { isomorphicEncode, serializeJavascriptValueToJSONString } = require_infra();
40297
40605
  var textEncoder2 = new TextEncoder("utf-8");
40298
40606
  var Response2 = class _Response {
@@ -40556,7 +40864,7 @@ var require_response = __commonJS({
40556
40864
  return p in state ? state[p] : target2[p];
40557
40865
  },
40558
40866
  set(target2, p, value) {
40559
- assert6(!(p in state));
40867
+ assert7(!(p in state));
40560
40868
  target2[p] = value;
40561
40869
  return true;
40562
40870
  }
@@ -40591,12 +40899,12 @@ var require_response = __commonJS({
40591
40899
  body: null
40592
40900
  });
40593
40901
  } else {
40594
- assert6(false);
40902
+ assert7(false);
40595
40903
  }
40596
40904
  }
40597
40905
  __name(filterResponse, "filterResponse");
40598
40906
  function makeAppropriateNetworkError(fetchParams, err = null) {
40599
- assert6(isCancelled(fetchParams));
40907
+ assert7(isCancelled(fetchParams));
40600
40908
  return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException("Request was cancelled."), { cause: err }));
40601
40909
  }
40602
40910
  __name(makeAppropriateNetworkError, "makeAppropriateNetworkError");
@@ -40730,7 +41038,7 @@ var require_request2 = __commonJS({
40730
41038
  var { webidl } = require_webidl();
40731
41039
  var { URLSerializer } = require_data_url();
40732
41040
  var { kConstruct } = require_symbols();
40733
- var assert6 = __require("node:assert");
41041
+ var assert7 = __require("node:assert");
40734
41042
  var { getMaxListeners, setMaxListeners, defaultMaxListeners } = __require("node:events");
40735
41043
  var kAbortController = /* @__PURE__ */ Symbol("abortController");
40736
41044
  var requestFinalizer = new FinalizationRegistry(({ signal, abort }) => {
@@ -40811,7 +41119,7 @@ var require_request2 = __commonJS({
40811
41119
  request = makeRequest2({ urlList: [parsedURL] });
40812
41120
  fallbackMode = "cors";
40813
41121
  } else {
40814
- assert6(webidl.is.Request(input));
41122
+ assert7(webidl.is.Request(input));
40815
41123
  request = input.#state;
40816
41124
  signal = input.#signal;
40817
41125
  this.#dispatcher = init.dispatcher || input.#dispatcher;
@@ -41471,7 +41779,7 @@ var require_request2 = __commonJS({
41471
41779
  var require_subresource_integrity = __commonJS({
41472
41780
  "../../node_modules/.pnpm/undici@7.29.0/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js"(exports, module) {
41473
41781
  "use strict";
41474
- var assert6 = __require("node:assert");
41782
+ var assert7 = __require("node:assert");
41475
41783
  var { runtimeFeatures } = require_runtime_features();
41476
41784
  var validSRIHashAlgorithmTokenSet = /* @__PURE__ */ new Map([["sha256", 0], ["sha384", 1], ["sha512", 2]]);
41477
41785
  var crypto4;
@@ -41519,7 +41827,7 @@ var require_subresource_integrity = __commonJS({
41519
41827
  const result2 = [];
41520
41828
  let strongest = null;
41521
41829
  for (const item of metadataList) {
41522
- assert6(isValidSRIHashAlgorithm(item.alg), "Invalid SRI hash algorithm token");
41830
+ assert7(isValidSRIHashAlgorithm(item.alg), "Invalid SRI hash algorithm token");
41523
41831
  if (result2.length === 0) {
41524
41832
  result2.push(item);
41525
41833
  strongest = item;
@@ -41623,7 +41931,7 @@ var require_fetch = __commonJS({
41623
41931
  } = require_response();
41624
41932
  var { HeadersList } = require_headers2();
41625
41933
  var { Request: Request2, cloneRequest, getRequestDispatcher, getRequestState } = require_request2();
41626
- var zlib = __require("node:zlib");
41934
+ var zlib2 = __require("node:zlib");
41627
41935
  var {
41628
41936
  makePolicyContainer,
41629
41937
  clonePolicyContainer,
@@ -41658,7 +41966,7 @@ var require_fetch = __commonJS({
41658
41966
  includesCredentials,
41659
41967
  isTraversableNavigable
41660
41968
  } = require_util2();
41661
- var assert6 = __require("node:assert");
41969
+ var assert7 = __require("node:assert");
41662
41970
  var { safelyExtractBody, extractBody } = require_body();
41663
41971
  var {
41664
41972
  redirectStatusSet,
@@ -41745,7 +42053,7 @@ var require_fetch = __commonJS({
41745
42053
  requestObject.signal,
41746
42054
  () => {
41747
42055
  locallyAborted = true;
41748
- assert6(controller != null);
42056
+ assert7(controller != null);
41749
42057
  controller.abort(requestObject.signal.reason);
41750
42058
  const realResponse = responseObject?.deref();
41751
42059
  abortFetch(p, request, realResponse, requestObject.signal.reason, controller.controller);
@@ -41851,7 +42159,7 @@ var require_fetch = __commonJS({
41851
42159
  requestObject = null
41852
42160
  // Keep alive to prevent AbortController GC, see #4627
41853
42161
  }) {
41854
- assert6(dispatcher);
42162
+ assert7(dispatcher);
41855
42163
  let taskDestination = null;
41856
42164
  let crossOriginIsolatedCapability = false;
41857
42165
  if (request.client != null) {
@@ -41876,7 +42184,7 @@ var require_fetch = __commonJS({
41876
42184
  // Keep requestObject alive to prevent its AbortController from being GC'd
41877
42185
  requestObject
41878
42186
  };
41879
- assert6(!request.body || request.body.stream);
42187
+ assert7(!request.body || request.body.stream);
41880
42188
  if (request.window === "client") {
41881
42189
  request.window = request.client?.globalObject?.constructor?.name === "Window" ? request.client : "no-window";
41882
42190
  }
@@ -41966,7 +42274,7 @@ var require_fetch = __commonJS({
41966
42274
  } else if (request.responseTainting === "opaque") {
41967
42275
  response = filterResponse(response, "opaque");
41968
42276
  } else {
41969
- assert6(false);
42277
+ assert7(false);
41970
42278
  }
41971
42279
  }
41972
42280
  let internalResponse = response.status === 0 ? response : response.internalResponse;
@@ -42200,7 +42508,7 @@ var require_fetch = __commonJS({
42200
42508
  } else if (request.redirect === "follow") {
42201
42509
  response = await httpRedirectFetch(fetchParams, response);
42202
42510
  } else {
42203
- assert6(false);
42511
+ assert7(false);
42204
42512
  }
42205
42513
  }
42206
42514
  response.timingInfo = timingInfo;
@@ -42254,7 +42562,7 @@ var require_fetch = __commonJS({
42254
42562
  request.headersList.delete("host", true);
42255
42563
  }
42256
42564
  if (request.body != null) {
42257
- assert6(request.body.source != null);
42565
+ assert7(request.body.source != null);
42258
42566
  request.body = safelyExtractBody(request.body.source)[0];
42259
42567
  }
42260
42568
  const timingInfo = fetchParams.timingInfo;
@@ -42416,7 +42724,7 @@ var require_fetch = __commonJS({
42416
42724
  }
42417
42725
  __name(httpNetworkOrCacheFetch, "httpNetworkOrCacheFetch");
42418
42726
  async function httpNetworkFetch(fetchParams, includeCredentials = false, forceNewConnection = false) {
42419
- assert6(!fetchParams.controller.connection || fetchParams.controller.connection.destroyed);
42727
+ assert7(!fetchParams.controller.connection || fetchParams.controller.connection.destroyed);
42420
42728
  fetchParams.controller.connection = {
42421
42729
  abort: null,
42422
42730
  destroyed: false,
@@ -42641,28 +42949,28 @@ var require_fetch = __commonJS({
42641
42949
  for (let i = codings.length - 1; i >= 0; --i) {
42642
42950
  const coding = codings[i].trim();
42643
42951
  if (coding === "x-gzip" || coding === "gzip") {
42644
- decoders.push(zlib.createGunzip({
42952
+ decoders.push(zlib2.createGunzip({
42645
42953
  // Be less strict when decoding compressed responses, since sometimes
42646
42954
  // servers send slightly invalid responses that are still accepted
42647
42955
  // by common browsers.
42648
42956
  // Always using Z_SYNC_FLUSH is what cURL does.
42649
- flush: zlib.constants.Z_SYNC_FLUSH,
42650
- finishFlush: zlib.constants.Z_SYNC_FLUSH
42957
+ flush: zlib2.constants.Z_SYNC_FLUSH,
42958
+ finishFlush: zlib2.constants.Z_SYNC_FLUSH
42651
42959
  }));
42652
42960
  } else if (coding === "deflate") {
42653
42961
  decoders.push(createInflate({
42654
- flush: zlib.constants.Z_SYNC_FLUSH,
42655
- finishFlush: zlib.constants.Z_SYNC_FLUSH
42962
+ flush: zlib2.constants.Z_SYNC_FLUSH,
42963
+ finishFlush: zlib2.constants.Z_SYNC_FLUSH
42656
42964
  }));
42657
42965
  } else if (coding === "br") {
42658
- decoders.push(zlib.createBrotliDecompress({
42659
- flush: zlib.constants.BROTLI_OPERATION_FLUSH,
42660
- finishFlush: zlib.constants.BROTLI_OPERATION_FLUSH
42966
+ decoders.push(zlib2.createBrotliDecompress({
42967
+ flush: zlib2.constants.BROTLI_OPERATION_FLUSH,
42968
+ finishFlush: zlib2.constants.BROTLI_OPERATION_FLUSH
42661
42969
  }));
42662
42970
  } else if (coding === "zstd" && hasZstd) {
42663
- decoders.push(zlib.createZstdDecompress({
42664
- flush: zlib.constants.ZSTD_e_continue,
42665
- finishFlush: zlib.constants.ZSTD_e_end
42971
+ decoders.push(zlib2.createZstdDecompress({
42972
+ flush: zlib2.constants.ZSTD_e_continue,
42973
+ finishFlush: zlib2.constants.ZSTD_e_end
42666
42974
  }));
42667
42975
  } else {
42668
42976
  decoders.length = 0;
@@ -42775,7 +43083,7 @@ var require_fetch = __commonJS({
42775
43083
  var require_util3 = __commonJS({
42776
43084
  "../../node_modules/.pnpm/undici@7.29.0/node_modules/undici/lib/web/cache/util.js"(exports, module) {
42777
43085
  "use strict";
42778
- var assert6 = __require("node:assert");
43086
+ var assert7 = __require("node:assert");
42779
43087
  var { URLSerializer } = require_data_url();
42780
43088
  var { isValidHeaderName } = require_util2();
42781
43089
  function urlEquals(A, B, excludeFragment = false) {
@@ -42785,7 +43093,7 @@ var require_util3 = __commonJS({
42785
43093
  }
42786
43094
  __name(urlEquals, "urlEquals");
42787
43095
  function getFieldValues(header) {
42788
- assert6(header !== null);
43096
+ assert7(header !== null);
42789
43097
  const values = [];
42790
43098
  for (let value of header.split(",")) {
42791
43099
  value = value.trim();
@@ -42807,7 +43115,7 @@ var require_util3 = __commonJS({
42807
43115
  var require_cache4 = __commonJS({
42808
43116
  "../../node_modules/.pnpm/undici@7.29.0/node_modules/undici/lib/web/cache/cache.js"(exports, module) {
42809
43117
  "use strict";
42810
- var assert6 = __require("node:assert");
43118
+ var assert7 = __require("node:assert");
42811
43119
  var { kConstruct } = require_symbols();
42812
43120
  var { urlEquals, getFieldValues } = require_util3();
42813
43121
  var { kEnumerableProperty, isDisturbed } = require_util();
@@ -43060,7 +43368,7 @@ var require_cache4 = __commonJS({
43060
43368
  return false;
43061
43369
  }
43062
43370
  } else {
43063
- assert6(typeof request === "string");
43371
+ assert7(typeof request === "string");
43064
43372
  r = getRequestState(new Request2(request));
43065
43373
  }
43066
43374
  const operations = [];
@@ -43171,7 +43479,7 @@ var require_cache4 = __commonJS({
43171
43479
  }
43172
43480
  for (const requestResponse of requestResponses) {
43173
43481
  const idx = cache.indexOf(requestResponse);
43174
- assert6(idx !== -1);
43482
+ assert7(idx !== -1);
43175
43483
  cache.splice(idx, 1);
43176
43484
  }
43177
43485
  } else if (operation.type === "put") {
@@ -43203,7 +43511,7 @@ var require_cache4 = __commonJS({
43203
43511
  requestResponses = this.#queryCache(operation.request);
43204
43512
  for (const requestResponse of requestResponses) {
43205
43513
  const idx = cache.indexOf(requestResponse);
43206
- assert6(idx !== -1);
43514
+ assert7(idx !== -1);
43207
43515
  cache.splice(idx, 1);
43208
43516
  }
43209
43517
  cache.push([operation.request, operation.response]);
@@ -43705,7 +44013,7 @@ var require_parse2 = __commonJS({
43705
44013
  var { collectASequenceOfCodePointsFast } = require_infra();
43706
44014
  var { maxNameValuePairSize, maxAttributeValueSize } = require_constants6();
43707
44015
  var { isCTLExcludingHtab } = require_util4();
43708
- var assert6 = __require("node:assert");
44016
+ var assert7 = __require("node:assert");
43709
44017
  function parseSetCookie(header) {
43710
44018
  if (isCTLExcludingHtab(header)) {
43711
44019
  return null;
@@ -43748,7 +44056,7 @@ var require_parse2 = __commonJS({
43748
44056
  if (unparsedAttributes.length === 0) {
43749
44057
  return cookieAttributeList;
43750
44058
  }
43751
- assert6(unparsedAttributes[0] === ";");
44059
+ assert7(unparsedAttributes[0] === ";");
43752
44060
  unparsedAttributes = unparsedAttributes.slice(1);
43753
44061
  let cookieAv = "";
43754
44062
  if (unparsedAttributes.includes(";")) {
@@ -44623,7 +44931,7 @@ var require_connection = __commonJS({
44623
44931
  var { Headers: Headers2, getHeadersList } = require_headers2();
44624
44932
  var { getDecodeSplit } = require_util2();
44625
44933
  var { WebsocketFrameSend } = require_frame();
44626
- var assert6 = __require("node:assert");
44934
+ var assert7 = __require("node:assert");
44627
44935
  var { runtimeFeatures } = require_runtime_features();
44628
44936
  var crypto4 = runtimeFeatures.has("crypto") ? __require("node:crypto") : null;
44629
44937
  var warningEmitted = false;
@@ -44730,7 +45038,7 @@ var require_connection = __commonJS({
44730
45038
  if (reason.length !== 0 && code3 === null) {
44731
45039
  code3 = 1e3;
44732
45040
  }
44733
- assert6(code3 === null || Number.isInteger(code3));
45041
+ assert7(code3 === null || Number.isInteger(code3));
44734
45042
  if (code3 === null && reason.length === 0) {
44735
45043
  frame3.frameData = emptyBuffer;
44736
45044
  } else if (code3 !== null && reason === null) {
@@ -44860,7 +45168,7 @@ var require_receiver2 = __commonJS({
44860
45168
  "../../node_modules/.pnpm/undici@7.29.0/node_modules/undici/lib/web/websocket/receiver.js"(exports, module) {
44861
45169
  "use strict";
44862
45170
  var { Writable } = __require("node:stream");
44863
- var assert6 = __require("node:assert");
45171
+ var assert7 = __require("node:assert");
44864
45172
  var { parserStates, opcodes, states, emptyBuffer, sentCloseFrameState } = require_constants7();
44865
45173
  var {
44866
45174
  isValidStatusCode,
@@ -45147,7 +45455,7 @@ var require_receiver2 = __commonJS({
45147
45455
  return output;
45148
45456
  }
45149
45457
  parseCloseBody(data) {
45150
- assert6(data.length !== 1);
45458
+ assert7(data.length !== 1);
45151
45459
  let code3;
45152
45460
  if (data.length >= 2) {
45153
45461
  code3 = data.readUInt16BE(0);
@@ -46231,14 +46539,14 @@ var require_util6 = __commonJS({
46231
46539
  var require_eventsource_stream = __commonJS({
46232
46540
  "../../node_modules/.pnpm/undici@7.29.0/node_modules/undici/lib/web/eventsource/eventsource-stream.js"(exports, module) {
46233
46541
  "use strict";
46234
- var { Transform } = __require("node:stream");
46542
+ var { Transform: Transform2 } = __require("node:stream");
46235
46543
  var { isASCIINumber, isValidLastEventId } = require_util6();
46236
46544
  var BOM = [239, 187, 191];
46237
46545
  var LF = 10;
46238
46546
  var CR = 13;
46239
46547
  var COLON = 58;
46240
46548
  var SPACE = 32;
46241
- var EventSourceStream = class extends Transform {
46549
+ var EventSourceStream = class extends Transform2 {
46242
46550
  static {
46243
46551
  __name(this, "EventSourceStream");
46244
46552
  }
@@ -47009,7 +47317,12 @@ function isDetachedArrayBufferQueueError(error95) {
47009
47317
  return false;
47010
47318
  }
47011
47319
  function createQueue(config4) {
47012
- const httpAgent = new import_undici.Agent(getQueueAgentOptions());
47320
+ const agentOptions = getQueueAgentOptions();
47321
+ const nodeHttpAgents = isNodeHttpEnabled() ? createNodeHttpAgents({
47322
+ maxSockets: agentOptions.connections,
47323
+ keepAliveMs: agentOptions.keepAliveTimeout
47324
+ }) : void 0;
47325
+ const httpAgent = nodeHttpAgents ? void 0 : new import_undici.Agent(agentOptions);
47013
47326
  const transport = new TypedJsonTransport();
47014
47327
  const generateId3 = monotonicFactory2();
47015
47328
  const semaphore = new import_async_sema.Sema(WORKFLOW_LOCAL_QUEUE_CONCURRENCY);
@@ -47070,13 +47383,24 @@ function createQueue(config4) {
47070
47383
  response = await directHandler(req);
47071
47384
  } else {
47072
47385
  const baseUrl = await resolveBaseUrl(config4);
47073
- response = await fetch(createWorkflowUrl(baseUrl, { type: "flow" }), {
47386
+ const url3 = createWorkflowUrl(baseUrl, { type: "flow" });
47387
+ response = nodeHttpAgents ? await nodeHttpFetch(url3, {
47074
47388
  method: "POST",
47075
- duplex: "half",
47076
- dispatcher: httpAgent,
47077
- headers,
47078
- body
47079
- });
47389
+ headers: new Headers(headers),
47390
+ body,
47391
+ agents: nodeHttpAgents,
47392
+ headersTimeoutMs: agentOptions.headersTimeout,
47393
+ bodyTimeoutMs: agentOptions.bodyTimeout
47394
+ }) : (
47395
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- undici v7 dispatcher types don't match @types/node's RequestInit
47396
+ await fetch(url3, {
47397
+ method: "POST",
47398
+ duplex: "half",
47399
+ dispatcher: httpAgent,
47400
+ headers,
47401
+ body
47402
+ })
47403
+ );
47080
47404
  }
47081
47405
  delivery++;
47082
47406
  text = await response.text();
@@ -47203,7 +47527,9 @@ function createQueue(config4) {
47203
47527
  if (closeSignal.aborted)
47204
47528
  return;
47205
47529
  closeController.abort();
47206
- await httpAgent.close();
47530
+ if (nodeHttpAgents)
47531
+ destroyNodeHttpAgents(nodeHttpAgents);
47532
+ await httpAgent?.close();
47207
47533
  }
47208
47534
  };
47209
47535
  }
@@ -47213,6 +47539,7 @@ var init_queue3 = __esm({
47213
47539
  "use strict";
47214
47540
  init_dist5();
47215
47541
  init_dist6();
47542
+ init_node_http();
47216
47543
  import_async_sema = __toESM(require_lib(), 1);
47217
47544
  init_node2();
47218
47545
  import_undici = __toESM(require_undici(), 1);
@@ -48352,7 +48679,7 @@ var require_signal_exit = __commonJS({
48352
48679
  };
48353
48680
  };
48354
48681
  } else {
48355
- assert6 = __require("assert");
48682
+ assert7 = __require("assert");
48356
48683
  signals = require_signals();
48357
48684
  isWin = /^win/i.test(process4.platform);
48358
48685
  EE = __require("events");
@@ -48375,7 +48702,7 @@ var require_signal_exit = __commonJS({
48375
48702
  return function() {
48376
48703
  };
48377
48704
  }
48378
- assert6.equal(typeof cb, "function", "a callback must be provided for exit handler");
48705
+ assert7.equal(typeof cb, "function", "a callback must be provided for exit handler");
48379
48706
  if (loaded === false) {
48380
48707
  load();
48381
48708
  }
@@ -48481,7 +48808,7 @@ var require_signal_exit = __commonJS({
48481
48808
  }
48482
48809
  }, "processEmit");
48483
48810
  }
48484
- var assert6;
48811
+ var assert7;
48485
48812
  var signals;
48486
48813
  var isWin;
48487
48814
  var EE;
@@ -53842,7 +54169,7 @@ function typedArrayEncoder(tag, size) {
53842
54169
  let length = typedArray.byteLength;
53843
54170
  let offset = typedArray.byteOffset || 0;
53844
54171
  let buffer3 = typedArray.buffer || typedArray;
53845
- encode8(hasNodeBuffer ? Buffer2.from(buffer3, offset, length) : new Uint8Array(buffer3, offset, length));
54172
+ encode8(hasNodeBuffer ? Buffer3.from(buffer3, offset, length) : new Uint8Array(buffer3, offset, length));
53846
54173
  }, "writeExtBuffer")
53847
54174
  };
53848
54175
  }
@@ -53899,7 +54226,7 @@ function writeBundles(start3, encode8) {
53899
54226
  encode8(writeStrings[0]);
53900
54227
  encode8(writeStrings[1]);
53901
54228
  }
53902
- var textEncoder, extensions, extensionClasses, Buffer2, hasNodeBuffer, ByteArrayAllocate, ByteArray, MAX_STRUCTURES, MAX_BUFFER_SIZE, throwOnIterable, target, targetView, position2, safeEnd, bundledStrings2, MAX_BUNDLE_SIZE, hasNonLatin, RECORD_SYMBOL, Encoder, SharedData, BlobConstructor, isLittleEndianMachine2, defaultEncoder, encode5, encodeAsIterable, encodeAsAsyncIterable, NEVER3, ALWAYS, DECIMAL_ROUND, DECIMAL_FIT, REUSE_BUFFER_MODE, RESET_BUFFER_MODE, THROW_ON_ITERABLE;
54229
+ var textEncoder, extensions, extensionClasses, Buffer3, hasNodeBuffer, ByteArrayAllocate, ByteArray, MAX_STRUCTURES, MAX_BUFFER_SIZE, throwOnIterable, target, targetView, position2, safeEnd, bundledStrings2, MAX_BUNDLE_SIZE, hasNonLatin, RECORD_SYMBOL, Encoder, SharedData, BlobConstructor, isLittleEndianMachine2, defaultEncoder, encode5, encodeAsIterable, encodeAsAsyncIterable, NEVER3, ALWAYS, DECIMAL_ROUND, DECIMAL_FIT, REUSE_BUFFER_MODE, RESET_BUFFER_MODE, THROW_ON_ITERABLE;
53903
54230
  var init_encode = __esm({
53904
54231
  "../../node_modules/.pnpm/cbor-x@1.6.0/node_modules/cbor-x/encode.js"() {
53905
54232
  init_decode();
@@ -53909,10 +54236,10 @@ var init_encode = __esm({
53909
54236
  textEncoder = new TextEncoder();
53910
54237
  } catch (error95) {
53911
54238
  }
53912
- Buffer2 = typeof globalThis === "object" && globalThis.Buffer;
53913
- hasNodeBuffer = typeof Buffer2 !== "undefined";
53914
- ByteArrayAllocate = hasNodeBuffer ? Buffer2.allocUnsafeSlow : Uint8Array;
53915
- ByteArray = hasNodeBuffer ? Buffer2 : Uint8Array;
54239
+ Buffer3 = typeof globalThis === "object" && globalThis.Buffer;
54240
+ hasNodeBuffer = typeof Buffer3 !== "undefined";
54241
+ ByteArrayAllocate = hasNodeBuffer ? Buffer3.allocUnsafeSlow : Uint8Array;
54242
+ ByteArray = hasNodeBuffer ? Buffer3 : Uint8Array;
53916
54243
  MAX_STRUCTURES = 256;
53917
54244
  MAX_BUFFER_SIZE = hasNodeBuffer ? 4294967296 : 2144337920;
53918
54245
  position2 = 0;
@@ -55651,17 +55978,36 @@ function createDispatcherRecycler(factory, label) {
55651
55978
  function noteEventsTransportOutcome(dispatcher, error95) {
55652
55979
  eventsRecycler.note(dispatcher, error95);
55653
55980
  }
55981
+ function resolveDispatcher(config4, buildDefault) {
55982
+ if (config4?.dispatcher)
55983
+ return config4.dispatcher;
55984
+ return isNodeHttpEnabled() ? void 0 : buildDefault();
55985
+ }
55986
+ function getNodeHttpAgents(config4) {
55987
+ if (config4?.dispatcher)
55988
+ return void 0;
55989
+ if (!isNodeHttpEnabled())
55990
+ return void 0;
55991
+ _nodeHttpAgents ??= createNodeHttpAgents({
55992
+ maxSockets: BASE_AGENT_OPTIONS.connections,
55993
+ keepAliveMs: BASE_AGENT_OPTIONS.keepAliveTimeout
55994
+ });
55995
+ return _nodeHttpAgents;
55996
+ }
55654
55997
  function getDispatcher(config4) {
55998
+ return resolveDispatcher(config4, getDefaultDispatcher);
55999
+ }
56000
+ function getQueueDispatcher(config4) {
55655
56001
  return config4?.dispatcher ?? getDefaultDispatcher();
55656
56002
  }
55657
56003
  function getEventsDispatcher(config4) {
55658
- return config4?.dispatcher ?? eventsRecycler.get();
56004
+ return resolveDispatcher(config4, () => eventsRecycler.get());
55659
56005
  }
55660
56006
  function getStreamDispatcher(config4) {
55661
- return config4?.dispatcher ?? getDefaultStreamDispatcher();
56007
+ return resolveDispatcher(config4, getDefaultStreamDispatcher);
55662
56008
  }
55663
56009
  function getStreamCloseDispatcher(config4) {
55664
- return config4?.dispatcher ?? getDefaultStreamCloseDispatcher();
56010
+ return resolveDispatcher(config4, getDefaultStreamCloseDispatcher);
55665
56011
  }
55666
56012
  function makeRetryDispatcher(agentOptions, retryOptions) {
55667
56013
  return new import_undici2.RetryAgent(new import_undici2.Agent(agentOptions), retryOptions);
@@ -55697,15 +56043,19 @@ function getDefaultStreamCloseDispatcher() {
55697
56043
  _streamCloseDispatcher ??= createStreamDispatcher(STREAM_CLOSE_RETRY_OPTIONS);
55698
56044
  return _streamCloseDispatcher;
55699
56045
  }
55700
- var import_undici2, _dispatcher, _streamDispatcher, _streamCloseDispatcher, BASE_AGENT_OPTIONS, H2_MAX_IN_FLIGHT_STREAMS, H2_STREAM_WINDOW_BYTES, H2_CONNECTION_WINDOW_BYTES, DEFAULT_AGENT_OPTIONS, EVENTS_AGENT_OPTIONS, EVENTS_AGENT_OPTIONS_NO_H2, STREAM_AGENT_OPTIONS, RETRY_AGENT_OPTIONS, STREAM_RETRY_OPTIONS, STREAM_CLOSE_RETRY_OPTIONS, H2_REBUFFER_MAX_BYTES, EVENTS_RECYCLE_AFTER_CONSECUTIVE_FAILURES, RECYCLE_MIN_INTERVAL_MS, RETIRED_CLOSE_DELAY_MS, RETIRED_DESTROY_DELAY_MS, RECYCLABLE_ERROR_CODES, MAX_CAUSE_DEPTH, eventsRecycler;
56046
+ var import_undici2, _dispatcher, _streamDispatcher, _streamCloseDispatcher, _nodeHttpAgents, BASE_AGENT_OPTIONS, NODE_HTTP_HEADERS_TIMEOUT_MS, NODE_HTTP_BODY_TIMEOUT_MS, H2_MAX_IN_FLIGHT_STREAMS, H2_STREAM_WINDOW_BYTES, H2_CONNECTION_WINDOW_BYTES, DEFAULT_AGENT_OPTIONS, EVENTS_AGENT_OPTIONS, EVENTS_AGENT_OPTIONS_NO_H2, STREAM_AGENT_OPTIONS, RETRY_AGENT_OPTIONS, STREAM_RETRY_OPTIONS, STREAM_CLOSE_RETRY_OPTIONS, H2_REBUFFER_MAX_BYTES, EVENTS_RECYCLE_AFTER_CONSECUTIVE_FAILURES, RECYCLE_MIN_INTERVAL_MS, RETIRED_CLOSE_DELAY_MS, RETIRED_DESTROY_DELAY_MS, RECYCLABLE_ERROR_CODES, MAX_CAUSE_DEPTH, eventsRecycler;
55701
56047
  var init_http_client = __esm({
55702
56048
  "../world-vercel/dist/http-client.js"() {
55703
56049
  "use strict";
56050
+ init_dist6();
56051
+ init_node_http();
55704
56052
  import_undici2 = __toESM(require_undici(), 1);
55705
56053
  BASE_AGENT_OPTIONS = {
55706
56054
  connections: 8,
55707
56055
  keepAliveTimeout: 1e4
55708
56056
  };
56057
+ NODE_HTTP_HEADERS_TIMEOUT_MS = 3e5;
56058
+ NODE_HTTP_BODY_TIMEOUT_MS = 3e5;
55709
56059
  H2_MAX_IN_FLIGHT_STREAMS = 100;
55710
56060
  H2_STREAM_WINDOW_BYTES = 4 * 1024 * 1024;
55711
56061
  H2_CONNECTION_WINDOW_BYTES = 16 * 1024 * 1024;
@@ -55776,7 +56126,10 @@ var init_http_client = __esm({
55776
56126
  __name(createDispatcherRecycler, "createDispatcherRecycler");
55777
56127
  eventsRecycler = createDispatcherRecycler(() => createEventsDispatcher(), "events transport");
55778
56128
  __name(noteEventsTransportOutcome, "noteEventsTransportOutcome");
56129
+ __name(resolveDispatcher, "resolveDispatcher");
56130
+ __name(getNodeHttpAgents, "getNodeHttpAgents");
55779
56131
  __name(getDispatcher, "getDispatcher");
56132
+ __name(getQueueDispatcher, "getQueueDispatcher");
55780
56133
  __name(getEventsDispatcher, "getEventsDispatcher");
55781
56134
  __name(getStreamDispatcher, "getStreamDispatcher");
55782
56135
  __name(getStreamCloseDispatcher, "getStreamCloseDispatcher");
@@ -55882,7 +56235,7 @@ async function injectTraceContextIntoHeaders(headers) {
55882
56235
  function SemanticConvention3(...names) {
55883
56236
  return (value) => Object.fromEntries(names.map((name) => [name, value]));
55884
56237
  }
55885
- var otelApiPromise2, tracerPromise2, otelDiagLogged2, HttpRequestMethod2, UrlFull2, ServerAddress2, ServerPort2, HttpResponseStatusCode2, ErrorType2, NetworkProtocolName, WorldParseFormat2, PeerService3, RpcSystem3, RpcService3, RpcMethod3, WorkflowRunId3, StepId3, WorkflowStreamName, WorkflowStreamOperation, WorkflowStreamStartIndex, WorkflowEventsTransport, WorkflowEventType, WorkflowClientVersion, StepStsoMs2, StepLatencyOptimizations2, WorkflowWsUrl, WorkflowWsRequestId, WorkflowWsReconnectAttempt;
56238
+ var otelApiPromise2, tracerPromise2, otelDiagLogged2, HttpRequestMethod2, UrlFull2, ServerAddress2, ServerPort2, HttpResponseStatusCode2, ErrorType2, NetworkProtocolName, WorldParseFormat2, PeerService3, RpcSystem3, RpcService3, RpcMethod3, WorkflowRunId3, StepId3, WorkflowStreamName, WorkflowStreamOperation, WorkflowStreamStartIndex, WorkflowEventsTransport, WorkflowHttpTransport, WorkflowEventType, WorkflowClientVersion, StepStsoMs2, StepLatencyOptimizations2, WorkflowWsUrl, WorkflowWsRequestId, WorkflowWsReconnectAttempt;
55886
56239
  var init_telemetry3 = __esm({
55887
56240
  "../world-vercel/dist/telemetry.js"() {
55888
56241
  "use strict";
@@ -55915,6 +56268,7 @@ var init_telemetry3 = __esm({
55915
56268
  WorkflowStreamOperation = SemanticConvention3("workflow.stream.operation");
55916
56269
  WorkflowStreamStartIndex = SemanticConvention3("workflow.stream.start_index");
55917
56270
  WorkflowEventsTransport = SemanticConvention3("workflow.events.transport");
56271
+ WorkflowHttpTransport = SemanticConvention3("workflow.http.transport");
55918
56272
  WorkflowEventType = SemanticConvention3("workflow.event.type");
55919
56273
  WorkflowClientVersion = SemanticConvention3("workflow.client.version");
55920
56274
  StepStsoMs2 = SemanticConvention3("step.stso_ms");
@@ -56060,7 +56414,23 @@ async function instrumentedFetch(opts) {
56060
56414
  const start3 = Date.now();
56061
56415
  let response;
56062
56416
  try {
56063
- response = await fetch(url3, {
56417
+ const nodeAgents = dispatcher ? void 0 : getNodeHttpAgents();
56418
+ span?.setAttributes({
56419
+ ...WorkflowHttpTransport(nodeAgents ? "node-http" : "undici")
56420
+ });
56421
+ response = nodeAgents ? await nodeHttpFetch(url3, {
56422
+ method,
56423
+ headers,
56424
+ body,
56425
+ signal,
56426
+ agents: nodeAgents,
56427
+ // Match undici's per-phase defaults (which the undici agents
56428
+ // inherit implicitly): without these the node:http path arms no
56429
+ // stalled-socket deadline, and a `timeoutMs: null` caller would
56430
+ // have no deadline at all.
56431
+ headersTimeoutMs: NODE_HTTP_HEADERS_TIMEOUT_MS,
56432
+ bodyTimeoutMs: NODE_HTTP_BODY_TIMEOUT_MS
56433
+ }) : await fetch(url3, {
56064
56434
  method,
56065
56435
  headers,
56066
56436
  body,
@@ -56110,6 +56480,8 @@ var init_http_core = __esm({
56110
56480
  import_oidc = __toESM(require_dist(), 1);
56111
56481
  init_dist7();
56112
56482
  init_dist6();
56483
+ init_node_http();
56484
+ init_http_client();
56113
56485
  init_telemetry3();
56114
56486
  REQUEST_TIMEOUT_MS = 6e4;
56115
56487
  getRequestTimeoutMs = /* @__PURE__ */ __name(() => envNumber2("WORKFLOW_REQUEST_TIMEOUT_MS", REQUEST_TIMEOUT_MS, {
@@ -56144,7 +56516,7 @@ var version4;
56144
56516
  var init_version3 = __esm({
56145
56517
  "../world-vercel/dist/version.js"() {
56146
56518
  "use strict";
56147
- version4 = "5.0.0-beta.38";
56519
+ version4 = "5.0.0-beta.39";
56148
56520
  }
56149
56521
  });
56150
56522
 
@@ -56192,7 +56564,7 @@ async function getHttpConfig(config4) {
56192
56564
  return { baseUrl, headers, usingProxy };
56193
56565
  }
56194
56566
  async function makeRequest({ endpoint, options = {}, config: config4 = {}, schema, data, onResponse, retryConnectTimeout = false }) {
56195
- const method = options.method || "GET";
56567
+ const method = (options.method || "GET").toUpperCase();
56196
56568
  const { baseUrl, headers } = await getHttpConfig(config4);
56197
56569
  const url3 = `${baseUrl}${endpoint}`;
56198
56570
  return trace4(`http ${method}`, { kind: await getSpanKind3("CLIENT") }, async (span) => {
@@ -56208,23 +56580,33 @@ async function makeRequest({ endpoint, options = {}, config: config4 = {}, schem
56208
56580
  headers.set("Content-Type", "application/cbor");
56209
56581
  body = encode5(data);
56210
56582
  }
56211
- const canRetryRead = IDEMPOTENT_METHODS.has(method.toUpperCase());
56583
+ const canRetryRead = IDEMPOTENT_METHODS.has(method);
56212
56584
  let parseResult;
56213
56585
  let responseDiagnostics = "";
56214
56586
  for (let attempt = 0; ; attempt++) {
56215
56587
  headers.set("X-Request-Time", Date.now().toString());
56216
56588
  const timeoutSignal = AbortSignal.timeout(getRequestTimeoutMs());
56217
56589
  const signal = options.signal ? AbortSignal.any([options.signal, timeoutSignal]) : timeoutSignal;
56218
- const request = new Request(url3, {
56219
- ...options,
56220
- body,
56221
- headers,
56222
- signal
56223
- });
56224
56590
  const fetchStart = Date.now();
56225
56591
  let response;
56226
56592
  try {
56227
- response = await fetch(request, {
56593
+ const nodeAgents = getNodeHttpAgents(config4);
56594
+ span?.setAttributes({
56595
+ ...WorkflowHttpTransport(nodeAgents ? "node-http" : "undici")
56596
+ });
56597
+ response = nodeAgents ? await nodeHttpFetch(url3, {
56598
+ method,
56599
+ headers,
56600
+ body,
56601
+ signal,
56602
+ agents: nodeAgents,
56603
+ // Match undici's per-phase defaults (which the undici agents
56604
+ // inherit implicitly): without these the node:http path arms
56605
+ // no stalled-socket deadline.
56606
+ headersTimeoutMs: NODE_HTTP_HEADERS_TIMEOUT_MS,
56607
+ bodyTimeoutMs: NODE_HTTP_BODY_TIMEOUT_MS
56608
+ }) : await fetch(new Request(url3, { ...options, body, headers, signal }), {
56609
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- undici v7 dispatcher types don't match @types/node's RequestInit
56228
56610
  dispatcher: getDispatcher(config4)
56229
56611
  });
56230
56612
  } catch (error95) {
@@ -56241,10 +56623,10 @@ async function makeRequest({ endpoint, options = {}, config: config4 = {}, schem
56241
56623
  await new Promise((resolve3) => setTimeout(resolve3, BODY_PARSE_RETRY_BASE_MS));
56242
56624
  continue;
56243
56625
  }
56244
- const transportError = new WorkflowWorldError2(`${method} ${endpoint} transport failure after ${elapsed}ms (${transportCode})`, { url: url3, code: "TRANSPORT", cause: error95 });
56626
+ const transportError2 = new WorkflowWorldError2(`${method} ${endpoint} transport failure after ${elapsed}ms (${transportCode})`, { url: url3, code: "TRANSPORT", cause: error95 });
56245
56627
  span?.setAttributes({ ...ErrorType2("TRANSPORT") });
56246
- span?.recordException?.(transportError);
56247
- throw transportError;
56628
+ span?.recordException?.(transportError2);
56629
+ throw transportError2;
56248
56630
  }
56249
56631
  throw error95;
56250
56632
  }
@@ -56257,9 +56639,9 @@ async function makeRequest({ endpoint, options = {}, config: config4 = {}, schem
56257
56639
  if (!response.ok) {
56258
56640
  const errorData = await parseResponseBody(response).then((r) => r.data).catch(() => ({}));
56259
56641
  const errorCode = errorData.code ?? errorData.error;
56260
- logCurlRepro(request.method, url3, headers);
56642
+ logCurlRepro(method, url3, headers);
56261
56643
  const retryAfter = parseRetryAfter(response.headers.get("Retry-After"));
56262
- const defaultMessage = (errorData.message || `${request.method} ${endpoint} -> HTTP ${response.status}: ${response.statusText}`) + responseDiagnostics;
56644
+ const defaultMessage = (errorData.message || `${method} ${endpoint} -> HTTP ${response.status}: ${response.statusText}`) + responseDiagnostics;
56263
56645
  const error95 = errorForResponse(response.status, defaultMessage, {
56264
56646
  url: url3,
56265
56647
  code: errorCode,
@@ -56345,6 +56727,7 @@ var init_utils4 = __esm({
56345
56727
  "use strict";
56346
56728
  import_oidc2 = __toESM(require_dist(), 1);
56347
56729
  init_dist7();
56730
+ init_node_http();
56348
56731
  init_node_index();
56349
56732
  init_http_client();
56350
56733
  init_http_core();
@@ -56366,7 +56749,8 @@ var init_utils4 = __esm({
56366
56749
  "ECONNREFUSED",
56367
56750
  "ENOTFOUND",
56368
56751
  "EAI_AGAIN",
56369
- "EPIPE"
56752
+ "EPIPE",
56753
+ "ETIMEDOUT"
56370
56754
  ]);
56371
56755
  __name(getTransientTransportCode, "getTransientTransportCode");
56372
56756
  getWorkflowServerUrlOverride = /* @__PURE__ */ __name(() => WORKFLOW_SERVER_URL_OVERRIDE || process.env.VERCEL_WORKFLOW_SERVER_URL || "", "getWorkflowServerUrlOverride");
@@ -58273,7 +58657,7 @@ var require_limiter2 = __commonJS({
58273
58657
  var require_permessage_deflate3 = __commonJS({
58274
58658
  "../../node_modules/.pnpm/ws@8.20.0/node_modules/ws/lib/permessage-deflate.js"(exports, module) {
58275
58659
  "use strict";
58276
- var zlib = __require("zlib");
58660
+ var zlib2 = __require("zlib");
58277
58661
  var bufferUtil = require_buffer_util2();
58278
58662
  var Limiter = require_limiter2();
58279
58663
  var { kStatusCode } = require_constants8();
@@ -58543,8 +58927,8 @@ var require_permessage_deflate3 = __commonJS({
58543
58927
  const endpoint = this._isServer ? "client" : "server";
58544
58928
  if (!this._inflate) {
58545
58929
  const key = `${endpoint}_max_window_bits`;
58546
- const windowBits = typeof this.params[key] !== "number" ? zlib.Z_DEFAULT_WINDOWBITS : this.params[key];
58547
- this._inflate = zlib.createInflateRaw({
58930
+ const windowBits = typeof this.params[key] !== "number" ? zlib2.Z_DEFAULT_WINDOWBITS : this.params[key];
58931
+ this._inflate = zlib2.createInflateRaw({
58548
58932
  ...this._options.zlibInflateOptions,
58549
58933
  windowBits
58550
58934
  });
@@ -58594,8 +58978,8 @@ var require_permessage_deflate3 = __commonJS({
58594
58978
  const endpoint = this._isServer ? "server" : "client";
58595
58979
  if (!this._deflate) {
58596
58980
  const key = `${endpoint}_max_window_bits`;
58597
- const windowBits = typeof this.params[key] !== "number" ? zlib.Z_DEFAULT_WINDOWBITS : this.params[key];
58598
- this._deflate = zlib.createDeflateRaw({
58981
+ const windowBits = typeof this.params[key] !== "number" ? zlib2.Z_DEFAULT_WINDOWBITS : this.params[key];
58982
+ this._deflate = zlib2.createDeflateRaw({
58599
58983
  ...this._options.zlibDeflateOptions,
58600
58984
  windowBits
58601
58985
  });
@@ -58605,7 +58989,7 @@ var require_permessage_deflate3 = __commonJS({
58605
58989
  }
58606
58990
  this._deflate[kCallback] = callback;
58607
58991
  this._deflate.write(data);
58608
- this._deflate.flush(zlib.Z_SYNC_FLUSH, () => {
58992
+ this._deflate.flush(zlib2.Z_SYNC_FLUSH, () => {
58609
58993
  if (!this._deflate) {
58610
58994
  return;
58611
58995
  }
@@ -60353,8 +60737,8 @@ var require_websocket4 = __commonJS({
60353
60737
  "../../node_modules/.pnpm/ws@8.20.0/node_modules/ws/lib/websocket.js"(exports, module) {
60354
60738
  "use strict";
60355
60739
  var EventEmitter2 = __require("events");
60356
- var https = __require("https");
60357
- var http = __require("http");
60740
+ var https2 = __require("https");
60741
+ var http2 = __require("http");
60358
60742
  var net2 = __require("net");
60359
60743
  var tls = __require("tls");
60360
60744
  var { randomBytes, createHash: createHash3 } = __require("crypto");
@@ -60891,7 +61275,7 @@ var require_websocket4 = __commonJS({
60891
61275
  }
60892
61276
  const defaultPort = isSecure ? 443 : 80;
60893
61277
  const key = randomBytes(16).toString("base64");
60894
- const request = isSecure ? https.request : http.request;
61278
+ const request = isSecure ? https2.request : http2.request;
60895
61279
  const protocolSet = /* @__PURE__ */ new Set();
60896
61280
  let perMessageDeflate;
60897
61281
  opts.createConnection = opts.createConnection || (isSecure ? tlsConnect : netConnect);
@@ -61410,7 +61794,7 @@ var require_websocket_server2 = __commonJS({
61410
61794
  "../../node_modules/.pnpm/ws@8.20.0/node_modules/ws/lib/websocket-server.js"(exports, module) {
61411
61795
  "use strict";
61412
61796
  var EventEmitter2 = __require("events");
61413
- var http = __require("http");
61797
+ var http2 = __require("http");
61414
61798
  var { Duplex } = __require("stream");
61415
61799
  var { createHash: createHash3 } = __require("crypto");
61416
61800
  var extension2 = require_extension2();
@@ -61488,8 +61872,8 @@ var require_websocket_server2 = __commonJS({
61488
61872
  );
61489
61873
  }
61490
61874
  if (options.port != null) {
61491
- this._server = http.createServer((req, res) => {
61492
- const body = http.STATUS_CODES[426];
61875
+ this._server = http2.createServer((req, res) => {
61876
+ const body = http2.STATUS_CODES[426];
61493
61877
  res.writeHead(426, {
61494
61878
  "Content-Length": body.length,
61495
61879
  "Content-Type": "text/plain"
@@ -61779,7 +62163,7 @@ var require_websocket_server2 = __commonJS({
61779
62163
  }
61780
62164
  __name(socketOnError, "socketOnError");
61781
62165
  function abortHandshake(socket, code3, message, headers) {
61782
- message = message || http.STATUS_CODES[code3];
62166
+ message = message || http2.STATUS_CODES[code3];
61783
62167
  headers = {
61784
62168
  Connection: "close",
61785
62169
  "Content-Type": "text/html",
@@ -61788,7 +62172,7 @@ var require_websocket_server2 = __commonJS({
61788
62172
  };
61789
62173
  socket.once("finish", socket.destroy);
61790
62174
  socket.end(
61791
- `HTTP/1.1 ${code3} ${http.STATUS_CODES[code3]}\r
62175
+ `HTTP/1.1 ${code3} ${http2.STATUS_CODES[code3]}\r
61792
62176
  ` + Object.keys(headers).map((h) => `${h}: ${headers[h]}`).join("\r\n") + "\r\n\r\n" + message
61793
62177
  );
61794
62178
  }
@@ -62065,13 +62449,36 @@ function instrumentObject2(prefix, o) {
62065
62449
  spanName = `${prefix}.${methodName} ${eventType}`;
62066
62450
  }
62067
62451
  }
62452
+ let batchAttributes;
62453
+ if (prefix === "world.events" && methodName === "createBatch") {
62454
+ const events = args[1];
62455
+ if (Array.isArray(events)) {
62456
+ const counts = /* @__PURE__ */ new Map();
62457
+ for (const item of events) {
62458
+ const eventType = item?.event?.eventType;
62459
+ if (typeof eventType === "string") {
62460
+ counts.set(eventType, (counts.get(eventType) ?? 0) + 1);
62461
+ }
62462
+ }
62463
+ batchAttributes = {
62464
+ "workflow.batch.size": events.length,
62465
+ // Sorted by type, so the same batch composition always renders
62466
+ // the same string. Map iteration is first-seen order, which
62467
+ // depends on frame order — a pre-claimed fold leads with a
62468
+ // pair while a pure eager fold leads with its creates — and an
62469
+ // unstable string is not groupable as a telemetry dimension.
62470
+ "workflow.batch.shape": [...counts].sort(([a], [b]) => a < b ? -1 : a > b ? 1 : 0).map(([type, count2]) => `${type}:${count2}`).join(",")
62471
+ };
62472
+ }
62473
+ }
62068
62474
  return trace4(spanName, { kind: await getSpanKind3("CLIENT") }, async (span) => {
62069
62475
  span?.setAttributes({
62070
62476
  ...PeerService3(WORKFLOW_SERVER_SERVICE.peerService),
62071
62477
  ...RpcSystem3(WORKFLOW_SERVER_SERVICE.rpcSystem),
62072
62478
  ...RpcService3(WORKFLOW_SERVER_SERVICE.rpcService),
62073
62479
  ...RpcMethod3(spanName),
62074
- ...extractWorkflowAttributes2(prefix, methodName, args)
62480
+ ...extractWorkflowAttributes2(prefix, methodName, args),
62481
+ ...batchAttributes
62075
62482
  });
62076
62483
  const result2 = await f(...args);
62077
62484
  const resultRunId = getRunIdFromResult2(result2);
@@ -64530,7 +64937,7 @@ var require_picocolors = __commonJS({
64530
64937
  }
64531
64938
  });
64532
64939
 
64533
- // ../../node_modules/.pnpm/@vercel+queue@0.4.0_@opentelemetry+api@1.9.1/node_modules/@vercel/queue/dist/index.mjs
64940
+ // ../../node_modules/.pnpm/@vercel+queue@0.5.0_@opentelemetry+api@1.9.1/node_modules/@vercel/queue/dist/index.mjs
64534
64941
  import * as fs8 from "fs";
64535
64942
  import * as net from "net";
64536
64943
  import * as path13 from "path";
@@ -65062,6 +65469,14 @@ function filePathToUrlPath(filePath) {
65062
65469
  }
65063
65470
  return urlPath;
65064
65471
  }
65472
+ function importAtRuntime(absolutePath) {
65473
+ return import(
65474
+ /* webpackIgnore: true */
65475
+ /* turbopackIgnore: true */
65476
+ /* @vite-ignore */
65477
+ absolutePath
65478
+ );
65479
+ }
65065
65480
  async function ensureHandlersLoaded(topicName, options = {}) {
65066
65481
  const diagnostics = {
65067
65482
  triedPorts: collectPrimePorts(),
@@ -65088,7 +65503,7 @@ async function ensureHandlersLoaded(topicName, options = {}) {
65088
65503
  if (!alreadyRegistered) {
65089
65504
  const absolutePath = path13.resolve(process.cwd(), route.filePath);
65090
65505
  try {
65091
- await import(absolutePath);
65506
+ await importAtRuntime(absolutePath);
65092
65507
  } catch (error95) {
65093
65508
  diagnostics.importFailures.push({
65094
65509
  filePath: route.filePath,
@@ -65598,7 +66013,9 @@ function throwCommonHttpError(status, statusText, errorText, operation, badReque
65598
66013
  errorText || `Server error: ${status} ${statusText}`
65599
66014
  );
65600
66015
  }
65601
- throw new Error(`Failed to ${operation}: ${status} ${statusText}`);
66016
+ throw new Error(
66017
+ errorText || `Failed to ${operation}: ${status} ${statusText}`
66018
+ );
65602
66019
  }
65603
66020
  function parseQueueHeaders(headers) {
65604
66021
  const messageId = headers.get("Vqs-Message-Id");
@@ -65677,9 +66094,9 @@ function resolveRegion2(region) {
65677
66094
  }
65678
66095
  return DEFAULT_REGION;
65679
66096
  }
65680
- var import_picocolors, import_oidc3, JsonTransport, MessageNotFoundError, MessageNotAvailableError, MessageCorruptedError, TooManyRequestsError, UnauthorizedError, ForbiddenError, BadRequestError, InternalServerError, InvalidLimitError, MessageAlreadyProcessedError, DuplicateMessageError, ConsumerDiscoveryError, ConsumerRegistryNotConfiguredError, DEFAULT_VISIBILITY_TIMEOUT_SECONDS, MIN_VISIBILITY_TIMEOUT_SECONDS, MAX_RENEWAL_INTERVAL_SECONDS, MIN_RENEWAL_INTERVAL_SECONDS, RETRY_INTERVAL_MS, DIRECTIVE_CALL_ATTEMPTS, DIRECTIVE_CALL_RETRY_DELAY_MS, ConsumerGroup, Topic, CLOUD_EVENT_TYPE_V1BETA, CLOUD_EVENT_TYPE_V2BETA, PREFIX, OK, FAIL, RETRY, ROUTE_MAPPINGS_KEY, _sdkPackageDir, HANDLER_REGISTRY_KEY, DEV_RETRY_INITIAL_DELAY_MS, DEV_RETRY_MAX_WAIT_MS, DEV_RETRY_BACKOFF, PORT_CHECK_TIMEOUT_MS, PRIME_PORT_ENV_KEYS, PRIME_URL_ENV_KEYS, DEV_REDELIVERY_MAX_DELAY_S, DEV_REDELIVERY_DEFAULT_DELAY_S, DEV_REDELIVERY_MAX_ATTEMPTS, DEFAULT_RETENTION_S, otelApiPromise3, INJECTED_CONTEXT_HEADERS, CONSUMER_TRACEPARENT_HEADER, CONSUMER_TRACESTATE_HEADER, CONSUMER_BAGGAGE_HEADER, REGION_PATTERN, DEFAULT_BASE_URL_RESOLVER, BASE_PATH, ApiClient, apiClients, API_CLIENT_KEY, DEFAULT_REGION, QueueClient;
66097
+ var import_picocolors, import_oidc3, JsonTransport, MessageNotFoundError, MessageNotAvailableError, MessageCorruptedError, TooManyRequestsError, UnauthorizedError, ForbiddenError, BadRequestError, InternalServerError, InvalidLimitError, MessageAlreadyProcessedError, ConsumerDiscoveryError, ConsumerRegistryNotConfiguredError, DEFAULT_VISIBILITY_TIMEOUT_SECONDS, MIN_VISIBILITY_TIMEOUT_SECONDS, MAX_RENEWAL_INTERVAL_SECONDS, MIN_RENEWAL_INTERVAL_SECONDS, RETRY_INTERVAL_MS, DIRECTIVE_CALL_ATTEMPTS, DIRECTIVE_CALL_RETRY_DELAY_MS, ConsumerGroup, Topic, CLOUD_EVENT_TYPE_V1BETA, CLOUD_EVENT_TYPE_V2BETA, PREFIX, OK, FAIL, RETRY, ROUTE_MAPPINGS_KEY, _sdkPackageDir, HANDLER_REGISTRY_KEY, DEV_RETRY_INITIAL_DELAY_MS, DEV_RETRY_MAX_WAIT_MS, DEV_RETRY_BACKOFF, PORT_CHECK_TIMEOUT_MS, PRIME_PORT_ENV_KEYS, PRIME_URL_ENV_KEYS, DEV_REDELIVERY_MAX_DELAY_S, DEV_REDELIVERY_DEFAULT_DELAY_S, DEV_REDELIVERY_MAX_ATTEMPTS, DEFAULT_RETENTION_S, otelApiPromise3, INJECTED_CONTEXT_HEADERS, CONSUMER_TRACEPARENT_HEADER, CONSUMER_TRACESTATE_HEADER, CONSUMER_BAGGAGE_HEADER, REGION_PATTERN, DEFAULT_BASE_URL_RESOLVER, BASE_PATH, ApiClient, apiClients, API_CLIENT_KEY, DEFAULT_REGION, QueueClient;
65681
66098
  var init_dist10 = __esm({
65682
- "../../node_modules/.pnpm/@vercel+queue@0.4.0_@opentelemetry+api@1.9.1/node_modules/@vercel/queue/dist/index.mjs"() {
66099
+ "../../node_modules/.pnpm/@vercel+queue@0.5.0_@opentelemetry+api@1.9.1/node_modules/@vercel/queue/dist/index.mjs"() {
65683
66100
  init_dist9();
65684
66101
  init_esm4();
65685
66102
  import_picocolors = __toESM(require_picocolors(), 1);
@@ -65805,17 +66222,6 @@ var init_dist10 = __esm({
65805
66222
  this.name = "MessageAlreadyProcessedError";
65806
66223
  }
65807
66224
  };
65808
- DuplicateMessageError = class extends Error {
65809
- static {
65810
- __name(this, "DuplicateMessageError");
65811
- }
65812
- idempotencyKey;
65813
- constructor(message, idempotencyKey) {
65814
- super(message);
65815
- this.name = "DuplicateMessageError";
65816
- this.idempotencyKey = idempotencyKey;
65817
- }
65818
- };
65819
66225
  ConsumerDiscoveryError = class extends Error {
65820
66226
  static {
65821
66227
  __name(this, "ConsumerDiscoveryError");
@@ -66298,6 +66704,7 @@ var init_dist10 = __esm({
66298
66704
  __name(isPortListening, "isPortListening");
66299
66705
  __name(invokeWithRetry, "invokeWithRetry");
66300
66706
  __name(filePathToUrlPath, "filePathToUrlPath");
66707
+ __name(importAtRuntime, "importAtRuntime");
66301
66708
  __name(ensureHandlersLoaded, "ensureHandlersLoaded");
66302
66709
  __name(buildNoHandlerWarning, "buildNoHandlerWarning");
66303
66710
  __name(isHandlerRegistered, "isHandlerRegistered");
@@ -66479,7 +66886,7 @@ Cause: ${cause}`
66479
66886
  }
66480
66887
  console.debug("[VQS Debug] Request:", JSON.stringify(logData, null, 2));
66481
66888
  }
66482
- init.headers.set("User-Agent", `@vercel/queue/${"0.4.0"}`);
66889
+ init.headers.set("User-Agent", `@vercel/queue/${"0.5.0"}`);
66483
66890
  init.headers.set("Vqs-Client-Ts", (/* @__PURE__ */ new Date()).toISOString());
66484
66891
  const fetchInit = this.dispatcher ? { ...init, dispatcher: this.dispatcher } : init;
66485
66892
  const response = await fetch(url3, fetchInit);
@@ -66550,17 +66957,12 @@ Cause: ${cause}`
66550
66957
  const response = await this.fetch(this.buildUrl(queueName), {
66551
66958
  method: "POST",
66552
66959
  body,
66553
- headers
66960
+ headers,
66961
+ ...body instanceof ReadableStream && { duplex: "half" }
66554
66962
  });
66555
66963
  if (!response.ok) {
66556
66964
  const errorText = await response.text();
66557
- if (response.status === 409) {
66558
- throw new DuplicateMessageError(
66559
- errorText || "Duplicate idempotency key detected",
66560
- idempotencyKey
66561
- );
66562
- }
66563
- if (response.status === 502) {
66965
+ if (response.status === 502 && response.headers.get("Vqs-Error-Code") === "consumer_discovery_failed") {
66564
66966
  throw new ConsumerDiscoveryError(
66565
66967
  errorText || "Consumer discovery failed",
66566
66968
  deploymentId
@@ -67054,16 +67456,24 @@ async function* decodeFrames(source) {
67054
67456
  const chunks = Symbol.asyncIterator in source ? source[Symbol.asyncIterator]() : readerToIterator(source.getReader());
67055
67457
  let buffer3 = new Uint8Array(0);
67056
67458
  const refill = /* @__PURE__ */ __name(async (needed) => {
67057
- while (buffer3.byteLength < needed) {
67058
- const { done, value } = await chunks.next();
67059
- if (done)
67459
+ if (buffer3.byteLength >= needed)
67460
+ return true;
67461
+ const parts = [buffer3];
67462
+ let byteLength = buffer3.byteLength;
67463
+ while (byteLength < needed) {
67464
+ const chunk = await chunks.next();
67465
+ if (chunk.done)
67060
67466
  return false;
67061
- if (!value || value.byteLength === 0)
67467
+ if (chunk.value.byteLength === 0)
67062
67468
  continue;
67063
- const next2 = new Uint8Array(buffer3.byteLength + value.byteLength);
67064
- next2.set(buffer3, 0);
67065
- next2.set(value, buffer3.byteLength);
67066
- buffer3 = next2;
67469
+ parts.push(chunk.value);
67470
+ byteLength += chunk.value.byteLength;
67471
+ }
67472
+ buffer3 = new Uint8Array(byteLength);
67473
+ let offset = 0;
67474
+ for (const part of parts) {
67475
+ buffer3.set(part, offset);
67476
+ offset += part.byteLength;
67067
67477
  }
67068
67478
  return true;
67069
67479
  }, "refill");
@@ -67724,7 +68134,7 @@ function createQueue2(config4) {
67724
68134
  const jsonTransport = new JsonTransport2();
67725
68135
  const dualTransport = new DualTransport();
67726
68136
  const clientOptions = {
67727
- dispatcher: getDispatcher(config4),
68137
+ dispatcher: getQueueDispatcher(config4),
67728
68138
  transport: dualTransport,
67729
68139
  ...usingProxy && {
67730
68140
  // final path will be /queues-proxy/api/v3/topic/...
@@ -67769,28 +68179,19 @@ function createQueue2(config4) {
67769
68179
  deploymentId: opts?.deploymentId
67770
68180
  };
67771
68181
  const sanitizedQueueName = getPhysicalQueueName(queueName, payload).replace(/[^A-Za-z0-9-_]/g, "-");
67772
- try {
67773
- const { messageId } = await client.send(sanitizedQueueName, wrapper, {
67774
- idempotencyKey: opts?.idempotencyKey,
67775
- delaySeconds: opts?.delaySeconds,
67776
- headers: {
67777
- ...getHeadersFromPayload(payload),
67778
- ...opts?.headers
67779
- }
67780
- });
67781
- return {
67782
- // messageId may be null when VQS fails over to a different region —
67783
- // the event is ingested but the responding region cannot return an ID.
67784
- messageId: messageId ? MessageId2.parse(messageId) : null
67785
- };
67786
- } catch (error95) {
67787
- if (error95 instanceof DuplicateMessageError) {
67788
- return {
67789
- messageId: MessageId2.parse(`msg_duplicate_${error95.idempotencyKey ?? opts?.idempotencyKey ?? "unknown"}`)
67790
- };
68182
+ const { messageId } = await client.send(sanitizedQueueName, wrapper, {
68183
+ idempotencyKey: opts?.idempotencyKey,
68184
+ delaySeconds: opts?.delaySeconds,
68185
+ headers: {
68186
+ ...getHeadersFromPayload(payload),
68187
+ ...opts?.headers
67791
68188
  }
67792
- throw error95;
67793
- }
68189
+ });
68190
+ return {
68191
+ // messageId may be null when the queue fails over to a different region:
68192
+ // the event is ingested but the responding region cannot return an ID.
68193
+ messageId: messageId ? MessageId2.parse(messageId) : null
68194
+ };
67794
68195
  }, "queue");
67795
68196
  const createQueueHandler = /* @__PURE__ */ __name((_prefix, handler) => {
67796
68197
  const client = new QueueClient(clientOptions);
@@ -68108,6 +68509,9 @@ function createThrottleWaiter(eventType) {
68108
68509
  };
68109
68510
  }
68110
68511
  function isEligibleForTransientRetry(eventType, options) {
68512
+ if (options?.batchIdempotent !== void 0) {
68513
+ return options.batchIdempotent;
68514
+ }
68111
68515
  return eventType === "hook_received" && options?.idempotentHookResume === true || (EVENT_RETRY_ELIGIBILITY[eventType]?.retryable ?? false);
68112
68516
  }
68113
68517
  async function withEventPostRetry(fn, eventType, options) {
@@ -68287,8 +68691,8 @@ function hasSerializedDataFormatPrefix(value) {
68287
68691
  return format !== null && SERIALIZED_DATA_FORMAT_PREFIXES.has(format);
68288
68692
  }
68289
68693
  function decompress2(format, payload) {
68290
- const zlib = getNodeZlib2();
68291
- const decompress4 = format === ZSTD_FORMAT_PREFIX ? zlib?.zstdDecompressSync : zlib?.gunzipSync;
68694
+ const zlib2 = getNodeZlib2();
68695
+ const decompress4 = format === ZSTD_FORMAT_PREFIX ? zlib2?.zstdDecompressSync : zlib2?.gunzipSync;
68292
68696
  if (!decompress4) {
68293
68697
  throw new WorkflowWorldError2(`Received ${format}-compressed workflow data, but this Node.js runtime does not support ${format} decompression. Use a compatible Node.js runtime or request unresolved data.`);
68294
68698
  }
@@ -68730,6 +69134,51 @@ async function createWorkflowRunStartedEventV4(input, config4) {
68730
69134
  }
68731
69135
  return { events, ...page, maxEvents: maxEvents.data };
68732
69136
  }
69137
+ async function createWorkflowRunEventsBatchV4(input, config4) {
69138
+ assert4(input.events.length > 0, "v4 createEventBatch: empty batch");
69139
+ const { baseUrl, headers: baseHeaders } = await getHttpConfig(config4);
69140
+ const headers = new Headers(baseHeaders);
69141
+ headers.set("Content-Type", "application/octet-stream");
69142
+ const frames = input.events.map((event) => encodeFrame(buildPostFrameMeta(event), event.payload ?? new Uint8Array(0)));
69143
+ let total = 0;
69144
+ for (const frame3 of frames)
69145
+ total += frame3.byteLength;
69146
+ const body = new Uint8Array(total);
69147
+ let offset = 0;
69148
+ for (const frame3 of frames) {
69149
+ body.set(frame3, offset);
69150
+ offset += frame3.byteLength;
69151
+ }
69152
+ const url3 = `${baseUrl}/v4/runs/${encodeURIComponent(input.runId)}/events/batch`;
69153
+ const response = await fetchV4(url3, { method: "POST", headers, body }, config4, "createEventBatch", {
69154
+ ...WorkflowEventsTransport("http"),
69155
+ "workflow.batch.bytes": body.byteLength
69156
+ });
69157
+ const bodyBytes = new Uint8Array(await response.arrayBuffer());
69158
+ const decoded = bodyBytes.byteLength > 0 ? decode5(bodyBytes) : {};
69159
+ if (!Array.isArray(decoded.results) || decoded.results.length !== input.events.length) {
69160
+ throw new WorkflowWorldError2(`v4 createEventBatch: response \`results\` length (${Array.isArray(decoded.results) ? decoded.results.length : "non-array"}) != ${input.events.length} submitted frames`, { code: "SCHEMA_VALIDATION" });
69161
+ }
69162
+ const results = decoded.results.map((raw, index) => {
69163
+ const failure = BatchItemFailureSchema.safeParse(raw);
69164
+ if (failure.success && failure.data.status !== 200) {
69165
+ return failure.data;
69166
+ }
69167
+ if (raw?.status !== 200) {
69168
+ throw new WorkflowWorldError2(`v4 createEventBatch: result at index ${index} is neither a success (status 200) nor a well-formed failure`, { code: "SCHEMA_VALIDATION" });
69169
+ }
69170
+ const eventType = input.events[index].eventType;
69171
+ const parsed = CreateEventV4BodySchemas[eventType].safeParse(raw);
69172
+ if (!parsed.success) {
69173
+ throw new WorkflowWorldError2(`v4 createEventBatch: invalid result body at index ${index} (${eventType})`, { code: "SCHEMA_VALIDATION", cause: parsed.error });
69174
+ }
69175
+ if (parsed.data.event.eventType !== eventType) {
69176
+ throw new WorkflowWorldError2(`v4 createEventBatch: result at index ${index} carries a ${parsed.data.event.eventType} event, expected ${eventType}`, { code: "SCHEMA_VALIDATION" });
69177
+ }
69178
+ return { status: 200, ...parsed.data };
69179
+ });
69180
+ return { results };
69181
+ }
68733
69182
  function replyMetaToHeaderRecord(meta5) {
68734
69183
  const out = {};
68735
69184
  if (typeof meta5.eventId === "string")
@@ -68912,7 +69361,7 @@ async function getEventsByCorrelationIdV4(correlationId, runId, params = {}, con
68912
69361
  const page = await consumeListFrameStream(url3, headers, config4, "listEventsByCorrelationId", events);
68913
69362
  return { events, ...page };
68914
69363
  }
68915
- var EVENT_ID_HEADER, MAX_EVENTS_HEADER, CreateEventV4BodyBaseSchema, CreateEventV4PageSchema, CreateEventV4BodySchema, CreateEventV4BodySchemas, MaxEventsHeaderSchema, EventStreamEndSchema, legacyStructuredErrorEventTypes;
69364
+ var EVENT_ID_HEADER, MAX_EVENTS_HEADER, CreateEventV4BodyBaseSchema, CreateEventV4PageSchema, CreateEventV4BodySchema, CreateEventV4BodySchemas, MaxEventsHeaderSchema, EventStreamEndSchema, legacyStructuredErrorEventTypes, BatchItemFailureSchema;
68916
69365
  var init_events_v4 = __esm({
68917
69366
  "../world-vercel/dist/events-v4.js"() {
68918
69367
  "use strict";
@@ -69007,6 +69456,12 @@ var init_events_v4 = __esm({
69007
69456
  __name(createWorkflowRunEventV4, "createWorkflowRunEventV4");
69008
69457
  __name(decodeCreateEventResponse, "decodeCreateEventResponse");
69009
69458
  __name(createWorkflowRunStartedEventV4, "createWorkflowRunStartedEventV4");
69459
+ BatchItemFailureSchema = external_exports2.object({
69460
+ status: external_exports2.number().int(),
69461
+ error: external_exports2.string(),
69462
+ message: external_exports2.string()
69463
+ });
69464
+ __name(createWorkflowRunEventsBatchV4, "createWorkflowRunEventsBatchV4");
69010
69465
  __name(replyMetaToHeaderRecord, "replyMetaToHeaderRecord");
69011
69466
  __name(wsReplyStatus, "wsReplyStatus");
69012
69467
  __name(postEventFrameOverWs, "postEventFrameOverWs");
@@ -69343,6 +69798,59 @@ async function getWorkflowRunEvents(params, config4) {
69343
69798
  hasMore: result2.hasMore
69344
69799
  };
69345
69800
  }
69801
+ async function createWorkflowRunEventBatch(runId, events, params, config4) {
69802
+ if (events.length === 0) {
69803
+ throw new WorkflowWorldError2("world-vercel: createBatch requires at least one event", { status: 400 });
69804
+ }
69805
+ if (events.some(({ event }) => event.eventType === "hook_received")) {
69806
+ throw new WorkflowWorldError2("world-vercel: hook_received cannot be batched (it has no entity condition, so a batch retry would append the delivery twice); send it through the single-event path", { status: 400 });
69807
+ }
69808
+ const inputs = events.map(({ event, occurredAt, computeInstanceId }) => {
69809
+ const { payload, meta: meta5 } = splitEventDataForV4(event);
69810
+ return {
69811
+ runId,
69812
+ eventType: event.eventType,
69813
+ specVersion: event.specVersion ?? 2,
69814
+ ...event.correlationId ? { correlationId: event.correlationId } : {},
69815
+ // Under slot identity this is the source of the durable createdAt, so
69816
+ // the caller's logical time is what every replay observes.
69817
+ occurredAt: occurredAt ?? /* @__PURE__ */ new Date(),
69818
+ // Per-event compute attribution (pre-claimed inline starts) — rides the
69819
+ // frame meta exactly like the single POST's CreateEventParams field.
69820
+ ...computeInstanceId !== void 0 ? { computeInstanceId } : {},
69821
+ // Batch responses carry entities for bookkeeping, not payload reads —
69822
+ // default to lazy refs unless the caller explicitly asks for resolved
69823
+ // data (the same `resolveData` mapping the read paths use).
69824
+ remoteRefBehavior: params?.resolveData === "all" ? "resolve" : "lazy",
69825
+ // Per-write request attribution, exactly like the single POST's
69826
+ // `params.requestId` → `vercelId` threading — stamped per frame so
69827
+ // batched usage facts carry the same attribution.
69828
+ ...params?.requestId ? { vercelId: params.requestId } : {},
69829
+ payload,
69830
+ ...meta5
69831
+ };
69832
+ });
69833
+ const retryConvergent = events.every(({ event }) => event.eventType !== "step_started" && event.eventType !== "step_retrying");
69834
+ const wire = await withEventPostRetry(() => createWorkflowRunEventsBatchV4({ runId, events: inputs }, config4), events[0].event.eventType, { batchIdempotent: retryConvergent });
69835
+ return {
69836
+ results: wire.results.map((item) => {
69837
+ if (item.error !== void 0) {
69838
+ return {
69839
+ status: item.status,
69840
+ error: item.error,
69841
+ message: item.message
69842
+ };
69843
+ }
69844
+ return {
69845
+ status: 200,
69846
+ event: item.event,
69847
+ ...item.run ? { run: item.run } : {},
69848
+ ...item.step ? { step: item.step } : {},
69849
+ ...item.wait ? { wait: item.wait } : {}
69850
+ };
69851
+ })
69852
+ };
69853
+ }
69346
69854
  async function createWorkflowRunEvent(id, data, params, config4) {
69347
69855
  try {
69348
69856
  const result2 = await withEventPostRetry(() => createWorkflowRunEventInner(id, data, params, config4), data.eventType, {
@@ -69545,6 +70053,7 @@ var init_events3 = __esm({
69545
70053
  __name(splitEventDataForV4, "splitEventDataForV4");
69546
70054
  __name(getEvent, "getEvent");
69547
70055
  __name(getWorkflowRunEvents, "getWorkflowRunEvents");
70056
+ __name(createWorkflowRunEventBatch, "createWorkflowRunEventBatch");
69548
70057
  __name(createWorkflowRunEvent, "createWorkflowRunEvent");
69549
70058
  __name(createWorkflowRunEventInner, "createWorkflowRunEventInner");
69550
70059
  __name(reconstructRunFromReplayEvents, "reconstructRunFromReplayEvents");
@@ -69651,6 +70160,7 @@ function createStorage2(config4) {
69651
70160
  },
69652
70161
  events: {
69653
70162
  create: /* @__PURE__ */ __name((runId, data, params) => createWorkflowRunEvent(runId, data, params, config4), "create"),
70163
+ createBatch: /* @__PURE__ */ __name((runId, events, params) => createWorkflowRunEventBatch(runId, events, params, config4), "createBatch"),
69654
70164
  get: /* @__PURE__ */ __name((runId, eventId, params) => getEvent(runId, eventId, params, config4), "get"),
69655
70165
  list: /* @__PURE__ */ __name((params) => getWorkflowRunEvents(params, config4), "list"),
69656
70166
  listByCorrelationId: /* @__PURE__ */ __name((params) => getWorkflowRunEvents(params, config4), "listByCorrelationId")
@@ -71156,6 +71666,10 @@ async function recordElapsedSpan2(spanName, startEpochMs, opts) {
71156
71666
  return;
71157
71667
  tracer.startSpan(spanName, { ...opts, startTime: startEpochMs }).end();
71158
71668
  }
71669
+ async function recordStepExecutionDuration(durationMs, status) {
71670
+ const histogram = await StepExecutionDurationHistogram2.value;
71671
+ histogram?.record(durationMs, { "workflow.step.status": status });
71672
+ }
71159
71673
  function applyWorkflowSuspensionToSpan2(error95, span) {
71160
71674
  span.setAttributes({
71161
71675
  ...WorkflowSuspensionState2("suspended"),
@@ -71217,7 +71731,7 @@ async function withWorkflowBaggage(context2, fn) {
71217
71731
  const contextWithBaggage = otel.propagation.setBaggage(otel.context.active(), baggage);
71218
71732
  return otel.context.with(contextWithBaggage, () => fn());
71219
71733
  }
71220
- var warnedUnrecognizedTraceModes, OtelApi2, Tracer2, otelDiagLogged3;
71734
+ var warnedUnrecognizedTraceModes, OtelApi2, Tracer2, StepExecutionDurationHistogram2, otelDiagLogged3;
71221
71735
  var init_telemetry4 = __esm({
71222
71736
  "../core/dist/telemetry.js"() {
71223
71737
  "use strict";
@@ -71249,10 +71763,20 @@ var init_telemetry4 = __esm({
71249
71763
  logOtelDiagnosticOnce3(api, tracer);
71250
71764
  return tracer;
71251
71765
  });
71766
+ StepExecutionDurationHistogram2 = once2(async () => {
71767
+ const otel = await OtelApi2.value;
71768
+ if (!otel)
71769
+ return null;
71770
+ return otel.metrics.getMeter("workflow").createHistogram("workflow.step.execute.duration", {
71771
+ description: "Duration of user step execution",
71772
+ unit: "ms"
71773
+ });
71774
+ });
71252
71775
  otelDiagLogged3 = false;
71253
71776
  __name(logOtelDiagnosticOnce3, "logOtelDiagnosticOnce");
71254
71777
  __name(trace5, "trace");
71255
71778
  __name(recordElapsedSpan2, "recordElapsedSpan");
71779
+ __name(recordStepExecutionDuration, "recordStepExecutionDuration");
71256
71780
  __name(applyWorkflowSuspensionToSpan2, "applyWorkflowSuspensionToSpan");
71257
71781
  __name(getSpanContextForTraceCarrier2, "getSpanContextForTraceCarrier");
71258
71782
  __name(getActiveSpan3, "getActiveSpan");
@@ -71454,12 +71978,6 @@ function registerDeliveryBarrier(ctx, eventIndex, kind, options = {}) {
71454
71978
  }
71455
71979
  let done = false;
71456
71980
  const { promise: promise3, resolve: resolve3 } = withResolvers2();
71457
- const entry = {
71458
- kind,
71459
- delivered: promise3,
71460
- armed: options.armed ?? true
71461
- };
71462
- barriers.set(eventIndex, entry);
71463
71981
  const finish = /* @__PURE__ */ __name(() => {
71464
71982
  if (done) {
71465
71983
  return;
@@ -71470,7 +71988,14 @@ function registerDeliveryBarrier(ctx, eventIndex, kind, options = {}) {
71470
71988
  }
71471
71989
  resolve3();
71472
71990
  }, "finish");
71473
- scheduleWhenIdle(ctx, finish);
71991
+ const entry = {
71992
+ kind,
71993
+ delivered: promise3,
71994
+ armed: options.armed ?? true,
71995
+ retire: finish
71996
+ };
71997
+ barriers.set(eventIndex, entry);
71998
+ ensureBarrierSafetyNet(ctx);
71474
71999
  return {
71475
72000
  markDelivered: finish,
71476
72001
  arm: /* @__PURE__ */ __name(() => {
@@ -71478,6 +72003,45 @@ function registerDeliveryBarrier(ctx, eventIndex, kind, options = {}) {
71478
72003
  }, "arm")
71479
72004
  };
71480
72005
  }
72006
+ function ensureBarrierSafetyNet(ctx) {
72007
+ const barriers = ctx.pendingDeliveryBarriers;
72008
+ if (!barriers || activeBarrierSafetyNets.has(ctx)) {
72009
+ return;
72010
+ }
72011
+ activeBarrierSafetyNets.add(ctx);
72012
+ const rearm = /* @__PURE__ */ __name(() => {
72013
+ setTimeout(check3, 0);
72014
+ }, "rearm");
72015
+ const rearmAfterRejection = /* @__PURE__ */ __name(() => {
72016
+ setTimeout(check3, 50);
72017
+ }, "rearmAfterRejection");
72018
+ const check3 = /* @__PURE__ */ __name(() => {
72019
+ if (barriers.size === 0) {
72020
+ activeBarrierSafetyNets.delete(ctx);
72021
+ return;
72022
+ }
72023
+ if (!canRetireAbandonedBarriers(ctx)) {
72024
+ ctx.promiseQueue.then(rearm, rearmAfterRejection);
72025
+ return;
72026
+ }
72027
+ while (barriers.size > 0 && canRetireAbandonedBarriers(ctx)) {
72028
+ let lowestIndex;
72029
+ let lowestEntry;
72030
+ for (const [index, entry] of barriers) {
72031
+ if (lowestIndex === void 0 || index < lowestIndex) {
72032
+ lowestIndex = index;
72033
+ lowestEntry = entry;
72034
+ }
72035
+ }
72036
+ lowestEntry?.retire();
72037
+ }
72038
+ setTimeout(check3, 0);
72039
+ }, "check");
72040
+ setTimeout(check3, 0);
72041
+ }
72042
+ function canRetireAbandonedBarriers(ctx) {
72043
+ return ctx.pendingDeliveries === 0 && !hasParkedCommittedDelivery(ctx);
72044
+ }
71481
72045
  function hasParkedCommittedDelivery(ctx) {
71482
72046
  const barriers = ctx.pendingDeliveryBarriers;
71483
72047
  if (!barriers || barriers.size === 0) {
@@ -71492,7 +72056,7 @@ function hasParkedCommittedDelivery(ctx) {
71492
72056
  return false;
71493
72057
  }
71494
72058
  function isDeliveryIdle(ctx) {
71495
- return ctx.pendingDeliveries === 0 && !hasParkedCommittedDelivery(ctx);
72059
+ return ctx.pendingDeliveries === 0 && (!ctx.pendingDeliveryBarriers || ctx.pendingDeliveryBarriers.size === 0);
71496
72060
  }
71497
72061
  function scheduleWhenIdle(ctx, fn) {
71498
72062
  const check3 = /* @__PURE__ */ __name(() => {
@@ -71506,7 +72070,7 @@ function scheduleWhenIdle(ctx, fn) {
71506
72070
  }, "check");
71507
72071
  setTimeout(check3, 0);
71508
72072
  }
71509
- var RegisteredStepsKey2, globalSymbols3, registeredSteps2, BUILTIN_RESPONSE_STEP_NAMES2, DEFER_BEHIND;
72073
+ var RegisteredStepsKey2, globalSymbols3, registeredSteps2, BUILTIN_RESPONSE_STEP_NAMES2, DEFER_BEHIND, activeBarrierSafetyNets;
71510
72074
  var init_private2 = __esm({
71511
72075
  "../core/dist/private.js"() {
71512
72076
  "use strict";
@@ -71532,6 +72096,9 @@ var init_private2 = __esm({
71532
72096
  __name(computeResolvesOnItsOwn, "computeResolvesOnItsOwn");
71533
72097
  __name(awaitEarlierDeliveries, "awaitEarlierDeliveries");
71534
72098
  __name(registerDeliveryBarrier, "registerDeliveryBarrier");
72099
+ activeBarrierSafetyNets = /* @__PURE__ */ new WeakSet();
72100
+ __name(ensureBarrierSafetyNet, "ensureBarrierSafetyNet");
72101
+ __name(canRetireAbandonedBarriers, "canRetireAbandonedBarriers");
71535
72102
  __name(hasParkedCommittedDelivery, "hasParkedCommittedDelivery");
71536
72103
  __name(isDeliveryIdle, "isDeliveryIdle");
71537
72104
  __name(scheduleWhenIdle, "scheduleWhenIdle");
@@ -77238,7 +77805,7 @@ var version5;
77238
77805
  var init_version4 = __esm({
77239
77806
  "../core/dist/version.js"() {
77240
77807
  "use strict";
77241
- version5 = "5.0.0-beta.42";
77808
+ version5 = "5.0.0-beta.43";
77242
77809
  }
77243
77810
  });
77244
77811
 
@@ -78289,6 +78856,16 @@ function createReconnectingFramedStream2(runId, name, startIndex) {
78289
78856
  reader = stream.getReader();
78290
78857
  }
78291
78858
  __name(connect2, "connect");
78859
+ async function isVerifiedComplete() {
78860
+ try {
78861
+ const world = await getWorldLazy2();
78862
+ const info = await world.streams.getInfo(runId, name);
78863
+ return info.done && currentStartIndex + consumedFrames > info.tailIndex;
78864
+ } catch {
78865
+ return true;
78866
+ }
78867
+ }
78868
+ __name(isVerifiedComplete, "isVerifiedComplete");
78292
78869
  async function reconnect() {
78293
78870
  if (reader) {
78294
78871
  await reader.cancel().catch(() => {
@@ -78350,6 +78927,15 @@ function createReconnectingFramedStream2(runId, name, startIndex) {
78350
78927
  }
78351
78928
  if (result2.done || !result2.value) {
78352
78929
  reader = void 0;
78930
+ if (reconnectSupported && !await isVerifiedComplete()) {
78931
+ try {
78932
+ await reconnect();
78933
+ } catch (reconnectErr) {
78934
+ controller.error(reconnectErr);
78935
+ return;
78936
+ }
78937
+ continue;
78938
+ }
78353
78939
  if (readStart !== void 0) {
78354
78940
  recordStreamReadComplete2(readStart, runId, name, chunksDelivered, bytesDelivered, totalReconnectCount);
78355
78941
  }
@@ -80012,6 +80598,12 @@ function getMaxInlineSteps() {
80012
80598
  function isResilientStepDispatchEnabled() {
80013
80599
  return process.env.WORKFLOW_RESILIENT_STEP_DISPATCH === "1";
80014
80600
  }
80601
+ function isBatchTransitionsEnabled() {
80602
+ const raw = process.env.WORKFLOW_BATCH_TRANSITIONS;
80603
+ if (raw === void 0 || raw === "")
80604
+ return true;
80605
+ return !(raw === "0" || raw.toLowerCase() === "false");
80606
+ }
80015
80607
  function getMaxEventsOverride() {
80016
80608
  const raw = process.env.WORKFLOW_MAX_EVENTS_OVERRIDE;
80017
80609
  if (!raw)
@@ -80080,7 +80672,7 @@ function getPreconditionReinvokeDelaySeconds() {
80080
80672
  function getDeploymentMismatchMaxRetries() {
80081
80673
  return envNumber2("WORKFLOW_DEPLOYMENT_MISMATCH_MAX_RETRIES", DEPLOYMENT_MISMATCH_MAX_RETRIES, { integer: true, min: 0 });
80082
80674
  }
80083
- var MAX_QUEUE_DELIVERIES, REPLAY_TIMEOUT_MS, MIN_REPLAY_TIMEOUT_MS, MAX_REPLAY_TIMEOUT_MS, warnedReplayTimeoutValues, REPLAY_TIMEOUT_MAX_RETRIES, MAX_INLINE_STEPS, MIN_MAX_INLINE_STEPS, MAX_MAX_INLINE_STEPS, warnedMaxInlineStepsValues, MAX_RESILIENT_STEP_INPUT_BYTES, warnedMaxEventsValues, INLINE_OWNERSHIP_LEASE_SECONDS, MAX_INLINE_OWNERSHIP_LEASE_SECONDS, REPLAY_DIVERGENCE_MAX_RETRIES, PRECONDITION_MAX_INPROCESS_RESTARTS, PRECONDITION_MAX_REINVOCATIONS, PRECONDITION_REINVOKE_DELAY_SECONDS, DEPLOYMENT_MISMATCH_MAX_RETRIES;
80675
+ var MAX_QUEUE_DELIVERIES, REPLAY_TIMEOUT_MS, MIN_REPLAY_TIMEOUT_MS, MAX_REPLAY_TIMEOUT_MS, warnedReplayTimeoutValues, REPLAY_TIMEOUT_MAX_RETRIES, MAX_INLINE_STEPS, MIN_MAX_INLINE_STEPS, MAX_MAX_INLINE_STEPS, warnedMaxInlineStepsValues, MAX_RESILIENT_STEP_INPUT_BYTES, MAX_BATCH_FANOUT_EVENTS, warnedMaxEventsValues, INLINE_OWNERSHIP_LEASE_SECONDS, MAX_INLINE_OWNERSHIP_LEASE_SECONDS, REPLAY_DIVERGENCE_MAX_RETRIES, PRECONDITION_MAX_INPROCESS_RESTARTS, PRECONDITION_MAX_REINVOCATIONS, PRECONDITION_REINVOKE_DELAY_SECONDS, DEPLOYMENT_MISMATCH_MAX_RETRIES;
80084
80676
  var init_constants3 = __esm({
80085
80677
  "../core/dist/runtime/constants.js"() {
80086
80678
  "use strict";
@@ -80103,6 +80695,8 @@ var init_constants3 = __esm({
80103
80695
  __name(getMaxInlineSteps, "getMaxInlineSteps");
80104
80696
  MAX_RESILIENT_STEP_INPUT_BYTES = 128 * 1024;
80105
80697
  __name(isResilientStepDispatchEnabled, "isResilientStepDispatchEnabled");
80698
+ __name(isBatchTransitionsEnabled, "isBatchTransitionsEnabled");
80699
+ MAX_BATCH_FANOUT_EVENTS = 32;
80106
80700
  warnedMaxEventsValues = /* @__PURE__ */ new Set();
80107
80701
  __name(getMaxEventsOverride, "getMaxEventsOverride");
80108
80702
  __name(isOptimisticInlineStartEnabled, "isOptimisticInlineStartEnabled");
@@ -80631,6 +81225,8 @@ function computeStepLatencyEventData(params) {
80631
81225
  optimizations.push("lazyStepStart");
80632
81226
  if (params.optimisticStart)
80633
81227
  optimizations.push("optimisticStart");
81228
+ if (params.preclaimedStart)
81229
+ optimizations.push("preclaimedStart");
80634
81230
  return {
80635
81231
  ...ttfs !== void 0 ? { ttfs } : {},
80636
81232
  ...stso !== void 0 ? { stso } : {},
@@ -80662,6 +81258,7 @@ var init_step_latency = __esm({
80662
81258
  });
80663
81259
 
80664
81260
  // ../core/dist/runtime/step-executor.js
81261
+ import assert5 from "node:assert/strict";
80665
81262
  import { types as types7 } from "node:util";
80666
81263
  function extractInlineDelta(result2, requested) {
80667
81264
  if (!requested)
@@ -80703,6 +81300,10 @@ async function executeStep(params) {
80703
81300
  observeSlot(result2);
80704
81301
  return result2;
80705
81302
  }, "createEvent");
81303
+ const stepStartedEventParams = {
81304
+ computeInstanceId: COMPUTE_INSTANCE_ID,
81305
+ ...params.requestId ? { requestId: params.requestId } : {}
81306
+ };
80706
81307
  const spanName = `step.execute ${stepDisplayName(stepName)}`;
80707
81308
  return trace5(spanName, {}, async (span) => {
80708
81309
  span?.setAttributes({
@@ -80711,6 +81312,24 @@ async function executeStep(params) {
80711
81312
  ...WorkflowRunId4(workflowRunId),
80712
81313
  ...StepId4(stepId)
80713
81314
  });
81315
+ assert5(!(params.lazyStepInput !== void 0 && params.preclaimedStart), "executeStep: lazyStepInput and preclaimedStart are mutually exclusive");
81316
+ if (params.preclaimedStart && params.preclaimedStart.owned === false) {
81317
+ runtimeLogger2.debug("Pre-claimed step start lost, skipping", {
81318
+ stepName,
81319
+ stepId,
81320
+ workflowRunId
81321
+ });
81322
+ span?.setAttributes({
81323
+ ...StepSkipped2(true),
81324
+ // `running`, not `completed`: the pair's 409 says the step already
81325
+ // EXISTS, and the writer that won the create-claim is executing it.
81326
+ // The other skip site below is a genuine terminal-state conflict —
81327
+ // tagging both `completed` would make the attribute read 100%
81328
+ // `completed` and lose the only distinction worth querying it for.
81329
+ ...StepSkipReason2("running")
81330
+ });
81331
+ return { type: "skipped" };
81332
+ }
80714
81333
  const getEncryptionKey = memoizeEncryptionKey(world, workflowRunId);
80715
81334
  const stepFn = getStepFunction2(stepName);
80716
81335
  if (!stepFn || typeof stepFn !== "function") {
@@ -80739,7 +81358,7 @@ async function executeStep(params) {
80739
81358
  // lazy start.
80740
81359
  ...params.ownerMessageId !== void 0 ? { ownerMessageId: params.ownerMessageId } : {}
80741
81360
  }
80742
- }, { computeInstanceId: COMPUTE_INSTANCE_ID });
81361
+ }, stepStartedEventParams);
80743
81362
  } catch (startErr) {
80744
81363
  if (EntityConflictError2.is(startErr)) {
80745
81364
  return { type: "skipped" };
@@ -80853,14 +81472,17 @@ async function executeStep(params) {
80853
81472
  }
80854
81473
  return void 0;
80855
81474
  }, "startErrorToResult");
80856
- const optimisticStart = params.lazyStepInput !== void 0 && // Stale-sensitive guarded batches await the claim so the 412 fence
80857
- // covers the body, not just durable writes — see
80858
- // StepExecutorParams.suppressOptimisticStart.
80859
- params.suppressOptimisticStart !== true && (isOptimisticInlineStartEnabled() || params.forceOptimisticStart === true && !isOptimisticInlineStartExplicitlyDisabled());
81475
+ const optimisticStart = (
81476
+ // A pre-claimed start already settled its claim in the suspension
81477
+ // batch; there is nothing to fire optimistically (lazyStepInput is
81478
+ // also absent on that path — this term is documentation).
81479
+ params.preclaimedStart === void 0 && params.lazyStepInput !== void 0 && // Stale-sensitive guarded batches await the claim so the 412 fence
81480
+ // covers the body, not just durable writes — see
81481
+ // StepExecutorParams.suppressOptimisticStart.
81482
+ params.suppressOptimisticStart !== true && (isOptimisticInlineStartEnabled() || params.forceOptimisticStart === true && !isOptimisticInlineStartExplicitlyDisabled())
81483
+ );
80860
81484
  let step;
80861
- const startEventParams = {
80862
- computeInstanceId: COMPUTE_INSTANCE_ID
80863
- };
81485
+ const startEventParams = stepStartedEventParams;
80864
81486
  let stepStartPostSentAtMs;
80865
81487
  let stepClaimCompletedAtMs;
80866
81488
  let optimisticStartSettled;
@@ -80875,7 +81497,11 @@ async function executeStep(params) {
80875
81497
  throw settled.err;
80876
81498
  return mapped;
80877
81499
  }, "reconcileOptimisticStart");
80878
- if (optimisticStart) {
81500
+ if (params.preclaimedStart?.owned) {
81501
+ step = params.preclaimedStart.step;
81502
+ stepStartPostSentAtMs = params.preclaimedStart.batchPostSentAtMs;
81503
+ stepClaimCompletedAtMs = params.preclaimedStart.claimCompletedAtMs;
81504
+ } else if (optimisticStart) {
80879
81505
  const startedPromise = (params.runReadyBarrier ?? Promise.resolve()).then(() => {
80880
81506
  stepStartPostSentAtMs = Date.now();
80881
81507
  return createEvent(
@@ -81041,6 +81667,7 @@ async function executeStep(params) {
81041
81667
  attempt,
81042
81668
  lazyStepStart: params.lazyStepInput !== void 0,
81043
81669
  optimisticStart,
81670
+ preclaimedStart: params.preclaimedStart !== void 0,
81044
81671
  stepStartPostSentAtMs
81045
81672
  });
81046
81673
  if (latencyEventData) {
@@ -81068,6 +81695,8 @@ async function executeStep(params) {
81068
81695
  tracking.reported = true;
81069
81696
  span?.setAttributes(attributes);
81070
81697
  }, "reportResumeTtr");
81698
+ let stepExecutionStatus = "ok";
81699
+ const stepExecutionStartTime = performance.now();
81071
81700
  try {
81072
81701
  result2 = await trace5("step.execute", {}, async () => {
81073
81702
  return await contextStorage2.run({
@@ -81101,8 +81730,11 @@ async function executeStep(params) {
81101
81730
  });
81102
81731
  });
81103
81732
  } catch (err) {
81733
+ stepExecutionStatus = "error";
81104
81734
  userCodeError = err;
81105
81735
  userCodeFailed = true;
81736
+ } finally {
81737
+ void recordStepExecutionDuration(performance.now() - stepExecutionStartTime, stepExecutionStatus);
81106
81738
  }
81107
81739
  const executionTimeMs = Date.now() - executionStartTime;
81108
81740
  cancelAbortReaders(...args, thisVal, hydratedInput.closureVars);
@@ -89640,7 +90272,7 @@ async function dispatchPendingOps(params) {
89640
90272
  return { createdAttributeEvent, createdGetConflictHook, queuedStepCids };
89641
90273
  }
89642
90274
  async function runWorkflowWithQuickJS(params) {
89643
- const { workflowCode: workflowCode2, workflowName, workflowRun, preloadedEvents, preloadedEventsComplete, runInput, parentSpan, maxEventsLimit, deliveryAttempt, ownerMessageId, namespace } = params;
90275
+ const { workflowCode: workflowCode2, workflowName, workflowRun, preloadedEvents, preloadedEventsComplete, runInput, parentSpan, maxEventsLimit, deliveryAttempt, ownerMessageId, requestId, namespace } = params;
89644
90276
  const nextTraceCarrier = params.nextTraceCarrier ?? (() => serializeTraceCarrier2());
89645
90277
  const world = await getWorld();
89646
90278
  const runId = workflowRun.runId;
@@ -90016,6 +90648,7 @@ async function runWorkflowWithQuickJS(params) {
90016
90648
  workflowDeploymentId: workflowRun.deploymentId,
90017
90649
  workflowName: workflowRun.workflowName,
90018
90650
  workflowStartedAt,
90651
+ requestId,
90019
90652
  rootRunId,
90020
90653
  stepId: step.correlationId,
90021
90654
  stepName: step.stepId,
@@ -108810,6 +109443,12 @@ var init_hooks = __esm2({
108810
109443
  });
108811
109444
  }
108812
109445
  });
109446
+ var init_node_http_flag = __esm2({
109447
+ "../world/dist/node-http-flag.js"() {
109448
+ "use strict";
109449
+ init_env_config();
109450
+ }
109451
+ });
108813
109452
  var init_recovery = __esm2({
108814
109453
  "../world/dist/recovery.js"() {
108815
109454
  "use strict";
@@ -109065,6 +109704,7 @@ var init_dist4 = __esm2({
109065
109704
  init_env_config();
109066
109705
  init_events();
109067
109706
  init_hooks();
109707
+ init_node_http_flag();
109068
109708
  init_queue();
109069
109709
  init_recovery();
109070
109710
  init_runs();
@@ -114919,6 +115559,7 @@ async function linkToTraceCarrier(carrier) {
114919
115559
  __name(linkToTraceCarrier, "linkToTraceCarrier");
114920
115560
  var OtelApi;
114921
115561
  var Tracer;
115562
+ var StepExecutionDurationHistogram;
114922
115563
  var otelDiagLogged;
114923
115564
  var init_telemetry = __esm2({
114924
115565
  "../core/dist/telemetry.js"() {
@@ -114944,6 +115585,14 @@ var init_telemetry = __esm2({
114944
115585
  logOtelDiagnosticOnce(api, tracer);
114945
115586
  return tracer;
114946
115587
  });
115588
+ StepExecutionDurationHistogram = once(async () => {
115589
+ const otel = await OtelApi.value;
115590
+ if (!otel) return null;
115591
+ return otel.metrics.getMeter("workflow").createHistogram("workflow.step.execute.duration", {
115592
+ description: "Duration of user step execution",
115593
+ unit: "ms"
115594
+ });
115595
+ });
114947
115596
  otelDiagLogged = false;
114948
115597
  __name2(logOtelDiagnosticOnce, "logOtelDiagnosticOnce");
114949
115598
  __name2(trace, "trace");
@@ -117320,7 +117969,7 @@ var version2;
117320
117969
  var init_version = __esm2({
117321
117970
  "../core/dist/version.js"() {
117322
117971
  "use strict";
117323
- version2 = "5.0.0-beta.42";
117972
+ version2 = "5.0.0-beta.43";
117324
117973
  }
117325
117974
  });
117326
117975
  function getWorkflowQueueName(workflowName, namespace) {
@@ -119266,7 +119915,7 @@ var require_limiter = __commonJS2({
119266
119915
  var require_permessage_deflate = __commonJS2({
119267
119916
  "../../node_modules/.pnpm/ws@8.20.0/node_modules/ws/lib/permessage-deflate.js"(exports, module) {
119268
119917
  "use strict";
119269
- var zlib = __require2("zlib");
119918
+ var zlib2 = __require2("zlib");
119270
119919
  var bufferUtil = require_buffer_util();
119271
119920
  var Limiter = require_limiter();
119272
119921
  var { kStatusCode } = require_constants2();
@@ -119530,8 +120179,8 @@ var require_permessage_deflate = __commonJS2({
119530
120179
  const endpoint = this._isServer ? "client" : "server";
119531
120180
  if (!this._inflate) {
119532
120181
  const key = `${endpoint}_max_window_bits`;
119533
- const windowBits = typeof this.params[key] !== "number" ? zlib.Z_DEFAULT_WINDOWBITS : this.params[key];
119534
- this._inflate = zlib.createInflateRaw({
120182
+ const windowBits = typeof this.params[key] !== "number" ? zlib2.Z_DEFAULT_WINDOWBITS : this.params[key];
120183
+ this._inflate = zlib2.createInflateRaw({
119535
120184
  ...this._options.zlibInflateOptions,
119536
120185
  windowBits
119537
120186
  });
@@ -119578,8 +120227,8 @@ var require_permessage_deflate = __commonJS2({
119578
120227
  const endpoint = this._isServer ? "server" : "client";
119579
120228
  if (!this._deflate) {
119580
120229
  const key = `${endpoint}_max_window_bits`;
119581
- const windowBits = typeof this.params[key] !== "number" ? zlib.Z_DEFAULT_WINDOWBITS : this.params[key];
119582
- this._deflate = zlib.createDeflateRaw({
120230
+ const windowBits = typeof this.params[key] !== "number" ? zlib2.Z_DEFAULT_WINDOWBITS : this.params[key];
120231
+ this._deflate = zlib2.createDeflateRaw({
119583
120232
  ...this._options.zlibDeflateOptions,
119584
120233
  windowBits
119585
120234
  });
@@ -119589,7 +120238,7 @@ var require_permessage_deflate = __commonJS2({
119589
120238
  }
119590
120239
  this._deflate[kCallback] = callback;
119591
120240
  this._deflate.write(data);
119592
- this._deflate.flush(zlib.Z_SYNC_FLUSH, () => {
120241
+ this._deflate.flush(zlib2.Z_SYNC_FLUSH, () => {
119593
120242
  if (!this._deflate) {
119594
120243
  return;
119595
120244
  }
@@ -120980,8 +121629,8 @@ var require_websocket = __commonJS2({
120980
121629
  "../../node_modules/.pnpm/ws@8.20.0/node_modules/ws/lib/websocket.js"(exports, module) {
120981
121630
  "use strict";
120982
121631
  var EventEmitter2 = __require2("events");
120983
- var https = __require2("https");
120984
- var http = __require2("http");
121632
+ var https2 = __require2("https");
121633
+ var http2 = __require2("http");
120985
121634
  var net2 = __require2("net");
120986
121635
  var tls = __require2("tls");
120987
121636
  var { randomBytes, createHash: createHash3 } = __require2("crypto");
@@ -121523,7 +122172,7 @@ var require_websocket = __commonJS2({
121523
122172
  }
121524
122173
  const defaultPort = isSecure ? 443 : 80;
121525
122174
  const key = randomBytes(16).toString("base64");
121526
- const request = isSecure ? https.request : http.request;
122175
+ const request = isSecure ? https2.request : http2.request;
121527
122176
  const protocolSet = /* @__PURE__ */ new Set();
121528
122177
  let perMessageDeflate;
121529
122178
  opts.createConnection = opts.createConnection || (isSecure ? tlsConnect : netConnect);
@@ -121904,7 +122553,7 @@ var require_websocket_server = __commonJS2({
121904
122553
  "../../node_modules/.pnpm/ws@8.20.0/node_modules/ws/lib/websocket-server.js"(exports, module) {
121905
122554
  "use strict";
121906
122555
  var EventEmitter2 = __require2("events");
121907
- var http = __require2("http");
122556
+ var http2 = __require2("http");
121908
122557
  var { createHash: createHash3 } = __require2("crypto");
121909
122558
  var extension2 = require_extension();
121910
122559
  var PerMessageDeflate2 = require_permessage_deflate();
@@ -121981,8 +122630,8 @@ var require_websocket_server = __commonJS2({
121981
122630
  throw new TypeError('One and only one of the "port", "server", or "noServer" options must be specified');
121982
122631
  }
121983
122632
  if (options.port != null) {
121984
- this._server = http.createServer((req, res) => {
121985
- const body = http.STATUS_CODES[426];
122633
+ this._server = http2.createServer((req, res) => {
122634
+ const body = http2.STATUS_CODES[426];
121986
122635
  res.writeHead(426, {
121987
122636
  "Content-Length": body.length,
121988
122637
  "Content-Type": "text/plain"
@@ -122262,7 +122911,7 @@ var require_websocket_server = __commonJS2({
122262
122911
  __name(socketOnError, "socketOnError");
122263
122912
  __name2(socketOnError, "socketOnError");
122264
122913
  function abortHandshake(socket, code22, message, headers) {
122265
- message = message || http.STATUS_CODES[code22];
122914
+ message = message || http2.STATUS_CODES[code22];
122266
122915
  headers = {
122267
122916
  Connection: "close",
122268
122917
  "Content-Type": "text/html",
@@ -122270,7 +122919,7 @@ var require_websocket_server = __commonJS2({
122270
122919
  ...headers
122271
122920
  };
122272
122921
  socket.once("finish", socket.destroy);
122273
- socket.end(`HTTP/1.1 ${code22} ${http.STATUS_CODES[code22]}\r
122922
+ socket.end(`HTTP/1.1 ${code22} ${http2.STATUS_CODES[code22]}\r
122274
122923
  ` + Object.keys(headers).map((h) => `${h}: ${headers[h]}`).join("\r\n") + "\r\n\r\n" + message);
122275
122924
  }
122276
122925
  __name(abortHandshake, "abortHandshake");
@@ -123166,6 +123815,17 @@ function createReconnectingFramedStream(runId, name, startIndex) {
123166
123815
  }
123167
123816
  __name(connect2, "connect");
123168
123817
  __name2(connect2, "connect");
123818
+ async function isVerifiedComplete() {
123819
+ try {
123820
+ const world = await getWorldLazy();
123821
+ const info = await world.streams.getInfo(runId, name);
123822
+ return info.done && currentStartIndex + consumedFrames > info.tailIndex;
123823
+ } catch {
123824
+ return true;
123825
+ }
123826
+ }
123827
+ __name(isVerifiedComplete, "isVerifiedComplete");
123828
+ __name2(isVerifiedComplete, "isVerifiedComplete");
123169
123829
  async function reconnect() {
123170
123830
  if (reader) {
123171
123831
  await reader.cancel().catch(() => {
@@ -123226,6 +123886,15 @@ function createReconnectingFramedStream(runId, name, startIndex) {
123226
123886
  }
123227
123887
  if (result2.done || !result2.value) {
123228
123888
  reader = void 0;
123889
+ if (reconnectSupported && !await isVerifiedComplete()) {
123890
+ try {
123891
+ await reconnect();
123892
+ } catch (reconnectErr) {
123893
+ controller.error(reconnectErr);
123894
+ return;
123895
+ }
123896
+ continue;
123897
+ }
123229
123898
  if (readStart !== void 0) {
123230
123899
  recordStreamReadComplete(readStart, runId, name, chunksDelivered, bytesDelivered, totalReconnectCount);
123231
123900
  }
@@ -125029,7 +125698,7 @@ __name2(start, "start");
125029
125698
  value: "start",
125030
125699
  configurable: true
125031
125700
  });
125032
- })(start, "step//@workflow/core/runtime/start@5.0.0-beta.42//start");
125701
+ })(start, "step//@workflow/core/runtime/start@5.0.0-beta.43//start");
125033
125702
  async function wakeUpRun(world, runId, options) {
125034
125703
  try {
125035
125704
  const run22 = await world.runs.get(runId, {
@@ -125113,6 +125782,10 @@ async function wakeUpRun(world, runId, options) {
125113
125782
  __name(wakeUpRun, "wakeUpRun");
125114
125783
  __name2(wakeUpRun, "wakeUpRun");
125115
125784
  var RETURN_VALUE_POLL_INTERVAL_MS = 1e3;
125785
+ var PAYLOAD_TERMINAL_RUN_STATUSES = /* @__PURE__ */ new Set([
125786
+ "completed",
125787
+ "failed"
125788
+ ]);
125116
125789
  function getReturnValuePollIntervalMs() {
125117
125790
  return envNumber("WORKFLOW_RETURN_VALUE_POLL_INTERVAL_MS", RETURN_VALUE_POLL_INTERVAL_MS, {
125118
125791
  integer: true,
@@ -125176,12 +125849,12 @@ var Run = class _Run {
125176
125849
  * to be resolved once.
125177
125850
  * @internal
125178
125851
  */
125179
- #getEncryptionKey() {
125852
+ #getEncryptionKey(run22) {
125180
125853
  if (!this.#encryptionKeyPromise) {
125181
125854
  this.#encryptionKeyPromise = (async () => {
125182
125855
  const world = await this.#lazyWorldPromise;
125183
- const run22 = await world.runs.get(this.runId);
125184
- const rawKey = await world.getEncryptionKeyForRun?.(run22);
125856
+ const runData = run22 ?? await world.runs.get(this.runId);
125857
+ const rawKey = await world.getEncryptionKeyForRun?.(runData);
125185
125858
  return rawKey ? await deriveRunPayloadKeys(rawKey) : void 0;
125186
125859
  })();
125187
125860
  }
@@ -125242,7 +125915,9 @@ var Run = class _Run {
125242
125915
  * The status of the workflow run.
125243
125916
  */
125244
125917
  get status() {
125245
- return this.#lazyWorldPromise.then((world) => world.runs.get(this.runId).then((run22) => run22.status));
125918
+ return this.#lazyWorldPromise.then((world) => world.runs.get(this.runId, {
125919
+ resolveData: "none"
125920
+ }).then((run22) => run22.status));
125246
125921
  }
125247
125922
  /**
125248
125923
  * The return value of the workflow run.
@@ -125313,6 +125988,29 @@ var Run = class _Run {
125313
125988
  }, "getTailIndex")
125314
125989
  });
125315
125990
  }
125991
+ /** @internal */
125992
+ async #resolveTerminalReturnValue(run22) {
125993
+ if (run22.status === "completed") {
125994
+ const encryptionKey = await this.#getEncryptionKey(run22);
125995
+ return await hydrateWorkflowReturnValue(run22.output, this.runId, encryptionKey);
125996
+ }
125997
+ if (run22.status === "cancelled") {
125998
+ throw new WorkflowRunCancelledError(this.runId);
125999
+ }
126000
+ if (run22.status === "failed") {
126001
+ const encryptionKey = await this.#getEncryptionKey(run22);
126002
+ let hydratedError;
126003
+ try {
126004
+ hydratedError = await hydrateRunError(run22.error, this.runId, encryptionKey);
126005
+ } catch {
126006
+ hydratedError = new Error("Failed to hydrate workflow run error");
126007
+ }
126008
+ throw new WorkflowRunFailedError(this.runId, hydratedError, {
126009
+ errorCode: run22.errorCode
126010
+ });
126011
+ }
126012
+ throw new WorkflowRunNotCompletedError(this.runId, run22.status);
126013
+ }
125316
126014
  /**
125317
126015
  * Polls the workflow return value until it is completed.
125318
126016
  * @internal
@@ -125329,27 +126027,19 @@ var Run = class _Run {
125329
126027
  ];
125330
126028
  while (true) {
125331
126029
  try {
125332
- const run22 = await world.runs.get(this.runId);
125333
- if (run22.status === "completed") {
125334
- const encryptionKey = await this.#getEncryptionKey();
125335
- return await hydrateWorkflowReturnValue(run22.output, this.runId, encryptionKey);
125336
- }
125337
- if (run22.status === "cancelled") {
126030
+ const runMetadata = await world.runs.get(this.runId, {
126031
+ resolveData: "none"
126032
+ });
126033
+ if (runMetadata.status === "cancelled") {
125338
126034
  throw new WorkflowRunCancelledError(this.runId);
125339
126035
  }
125340
- if (run22.status === "failed") {
125341
- const encryptionKey = await this.#getEncryptionKey();
125342
- let hydratedError;
125343
- try {
125344
- hydratedError = await hydrateRunError(run22.error, this.runId, encryptionKey);
125345
- } catch {
125346
- hydratedError = new Error("Failed to hydrate workflow run error");
125347
- }
125348
- throw new WorkflowRunFailedError(this.runId, hydratedError, {
125349
- errorCode: run22.errorCode
126036
+ if (PAYLOAD_TERMINAL_RUN_STATUSES.has(runMetadata.status)) {
126037
+ const run22 = await world.runs.get(this.runId, {
126038
+ resolveData: "all"
125350
126039
  });
126040
+ return await this.#resolveTerminalReturnValue(run22);
125351
126041
  }
125352
- throw new WorkflowRunNotCompletedError(this.runId, run22.status);
126042
+ throw new WorkflowRunNotCompletedError(this.runId, runMetadata.status);
125353
126043
  } catch (error482) {
125354
126044
  if (WorkflowRunNotCompletedError.is(error482)) {
125355
126045
  await new Promise((resolve3) => setTimeout(resolve3, getReturnValuePollIntervalMs()));
@@ -125374,7 +126064,7 @@ var Run = class _Run {
125374
126064
  value: "wakeUp",
125375
126065
  configurable: true
125376
126066
  });
125377
- })(Run.prototype["wakeUp"], "step//@workflow/core/runtime/run@5.0.0-beta.42//Run#wakeUp");
126067
+ })(Run.prototype["wakeUp"], "step//@workflow/core/runtime/run@5.0.0-beta.43//Run#wakeUp");
125378
126068
  (function(__wf_fn, __wf_id) {
125379
126069
  var __wf_sym = /* @__PURE__ */ Symbol.for("@workflow/core//registeredSteps"), __wf_reg = globalThis[__wf_sym] || (globalThis[__wf_sym] = /* @__PURE__ */ new Map());
125380
126070
  __wf_reg.set(__wf_id, __wf_fn);
@@ -125383,7 +126073,7 @@ var Run = class _Run {
125383
126073
  value: "cancel",
125384
126074
  configurable: true
125385
126075
  });
125386
- })(Run.prototype["cancel"], "step//@workflow/core/runtime/run@5.0.0-beta.42//Run#cancel");
126076
+ })(Run.prototype["cancel"], "step//@workflow/core/runtime/run@5.0.0-beta.43//Run#cancel");
125387
126077
  (function(__wf_fn, __wf_id) {
125388
126078
  var __wf_sym = /* @__PURE__ */ Symbol.for("@workflow/core//registeredSteps"), __wf_reg = globalThis[__wf_sym] || (globalThis[__wf_sym] = /* @__PURE__ */ new Map());
125389
126079
  __wf_reg.set(__wf_id, __wf_fn);
@@ -125392,7 +126082,7 @@ var Run = class _Run {
125392
126082
  value: "getReadable",
125393
126083
  configurable: true
125394
126084
  });
125395
- })(Run.prototype["getReadable"], "step//@workflow/core/runtime/run@5.0.0-beta.42//Run#getReadable");
126085
+ })(Run.prototype["getReadable"], "step//@workflow/core/runtime/run@5.0.0-beta.43//Run#getReadable");
125396
126086
  (function(__wf_fn, __wf_id) {
125397
126087
  var __wf_sym = /* @__PURE__ */ Symbol.for("@workflow/core//registeredSteps"), __wf_reg = globalThis[__wf_sym] || (globalThis[__wf_sym] = /* @__PURE__ */ new Map());
125398
126088
  __wf_reg.set(__wf_id, __wf_fn);
@@ -125401,7 +126091,7 @@ var Run = class _Run {
125401
126091
  value: "exists",
125402
126092
  configurable: true
125403
126093
  });
125404
- })(Object.getOwnPropertyDescriptor(Run.prototype, "exists").get, "step//@workflow/core/runtime/run@5.0.0-beta.42//Run#exists");
126094
+ })(Object.getOwnPropertyDescriptor(Run.prototype, "exists").get, "step//@workflow/core/runtime/run@5.0.0-beta.43//Run#exists");
125405
126095
  (function(__wf_fn, __wf_id) {
125406
126096
  var __wf_sym = /* @__PURE__ */ Symbol.for("@workflow/core//registeredSteps"), __wf_reg = globalThis[__wf_sym] || (globalThis[__wf_sym] = /* @__PURE__ */ new Map());
125407
126097
  __wf_reg.set(__wf_id, __wf_fn);
@@ -125410,7 +126100,7 @@ var Run = class _Run {
125410
126100
  value: "status",
125411
126101
  configurable: true
125412
126102
  });
125413
- })(Object.getOwnPropertyDescriptor(Run.prototype, "status").get, "step//@workflow/core/runtime/run@5.0.0-beta.42//Run#status");
126103
+ })(Object.getOwnPropertyDescriptor(Run.prototype, "status").get, "step//@workflow/core/runtime/run@5.0.0-beta.43//Run#status");
125414
126104
  (function(__wf_fn, __wf_id) {
125415
126105
  var __wf_sym = /* @__PURE__ */ Symbol.for("@workflow/core//registeredSteps"), __wf_reg = globalThis[__wf_sym] || (globalThis[__wf_sym] = /* @__PURE__ */ new Map());
125416
126106
  __wf_reg.set(__wf_id, __wf_fn);
@@ -125419,7 +126109,7 @@ var Run = class _Run {
125419
126109
  value: "returnValue",
125420
126110
  configurable: true
125421
126111
  });
125422
- })(Object.getOwnPropertyDescriptor(Run.prototype, "returnValue").get, "step//@workflow/core/runtime/run@5.0.0-beta.42//Run#returnValue");
126112
+ })(Object.getOwnPropertyDescriptor(Run.prototype, "returnValue").get, "step//@workflow/core/runtime/run@5.0.0-beta.43//Run#returnValue");
125423
126113
  (function(__wf_fn, __wf_id) {
125424
126114
  var __wf_sym = /* @__PURE__ */ Symbol.for("@workflow/core//registeredSteps"), __wf_reg = globalThis[__wf_sym] || (globalThis[__wf_sym] = /* @__PURE__ */ new Map());
125425
126115
  __wf_reg.set(__wf_id, __wf_fn);
@@ -125428,7 +126118,7 @@ var Run = class _Run {
125428
126118
  value: "workflowName",
125429
126119
  configurable: true
125430
126120
  });
125431
- })(Object.getOwnPropertyDescriptor(Run.prototype, "workflowName").get, "step//@workflow/core/runtime/run@5.0.0-beta.42//Run#workflowName");
126121
+ })(Object.getOwnPropertyDescriptor(Run.prototype, "workflowName").get, "step//@workflow/core/runtime/run@5.0.0-beta.43//Run#workflowName");
125432
126122
  (function(__wf_fn, __wf_id) {
125433
126123
  var __wf_sym = /* @__PURE__ */ Symbol.for("@workflow/core//registeredSteps"), __wf_reg = globalThis[__wf_sym] || (globalThis[__wf_sym] = /* @__PURE__ */ new Map());
125434
126124
  __wf_reg.set(__wf_id, __wf_fn);
@@ -125437,7 +126127,7 @@ var Run = class _Run {
125437
126127
  value: "createdAt",
125438
126128
  configurable: true
125439
126129
  });
125440
- })(Object.getOwnPropertyDescriptor(Run.prototype, "createdAt").get, "step//@workflow/core/runtime/run@5.0.0-beta.42//Run#createdAt");
126130
+ })(Object.getOwnPropertyDescriptor(Run.prototype, "createdAt").get, "step//@workflow/core/runtime/run@5.0.0-beta.43//Run#createdAt");
125441
126131
  (function(__wf_fn, __wf_id) {
125442
126132
  var __wf_sym = /* @__PURE__ */ Symbol.for("@workflow/core//registeredSteps"), __wf_reg = globalThis[__wf_sym] || (globalThis[__wf_sym] = /* @__PURE__ */ new Map());
125443
126133
  __wf_reg.set(__wf_id, __wf_fn);
@@ -125446,7 +126136,7 @@ var Run = class _Run {
125446
126136
  value: "startedAt",
125447
126137
  configurable: true
125448
126138
  });
125449
- })(Object.getOwnPropertyDescriptor(Run.prototype, "startedAt").get, "step//@workflow/core/runtime/run@5.0.0-beta.42//Run#startedAt");
126139
+ })(Object.getOwnPropertyDescriptor(Run.prototype, "startedAt").get, "step//@workflow/core/runtime/run@5.0.0-beta.43//Run#startedAt");
125450
126140
  (function(__wf_fn, __wf_id) {
125451
126141
  var __wf_sym = /* @__PURE__ */ Symbol.for("@workflow/core//registeredSteps"), __wf_reg = globalThis[__wf_sym] || (globalThis[__wf_sym] = /* @__PURE__ */ new Map());
125452
126142
  __wf_reg.set(__wf_id, __wf_fn);
@@ -125455,7 +126145,7 @@ var Run = class _Run {
125455
126145
  value: "completedAt",
125456
126146
  configurable: true
125457
126147
  });
125458
- })(Object.getOwnPropertyDescriptor(Run.prototype, "completedAt").get, "step//@workflow/core/runtime/run@5.0.0-beta.42//Run#completedAt");
126148
+ })(Object.getOwnPropertyDescriptor(Run.prototype, "completedAt").get, "step//@workflow/core/runtime/run@5.0.0-beta.43//Run#completedAt");
125459
126149
  (function(__wf_cls, __wf_id) {
125460
126150
  var __wf_sym = /* @__PURE__ */ Symbol.for("workflow-class-registry"), __wf_reg = globalThis[__wf_sym] || (globalThis[__wf_sym] = /* @__PURE__ */ new Map());
125461
126151
  __wf_reg.set(__wf_id, __wf_cls);
@@ -125465,7 +126155,7 @@ var Run = class _Run {
125465
126155
  enumerable: false,
125466
126156
  configurable: false
125467
126157
  });
125468
- })(Run, "class//@workflow/core/runtime/run@5.0.0-beta.42//Run");
126158
+ })(Run, "class//@workflow/core/runtime/run@5.0.0-beta.43//Run");
125469
126159
  async function fetch2(...args) {
125470
126160
  return globalThis.fetch(...args);
125471
126161
  }
@@ -126020,7 +126710,7 @@ init_describe_error();
126020
126710
  init_global2();
126021
126711
  init_logger2();
126022
126712
  init_private2();
126023
- import assert5 from "node:assert/strict";
126713
+ import assert6 from "node:assert/strict";
126024
126714
  import { types as types9 } from "node:util";
126025
126715
 
126026
126716
  // ../core/dist/replay-payload-cache.js
@@ -126353,6 +127043,7 @@ init_logger2();
126353
127043
  init_serialization4();
126354
127044
  init_semantic_conventions2();
126355
127045
  init_util5();
127046
+ init_compute_instance();
126356
127047
  init_constants3();
126357
127048
  init_helpers3();
126358
127049
  init_replay_recovery_reporter();
@@ -126401,7 +127092,7 @@ async function createHookEvent({ runId, hookEvent, queueItem, requestId, createE
126401
127092
  }
126402
127093
  }
126403
127094
  __name(createHookEvent, "createHookEvent");
126404
- async function handleSuspension({ suspension, world, run: run3, span, requestId, eventLog, runReadyBarrier, replayRecoveryReporter, stepDispatch }) {
127095
+ async function handleSuspension({ suspension, world, run: run3, span, requestId, eventLog, runReadyBarrier, replayRecoveryReporter, stepDispatch, ownerMessageId, allowDeferredBatchWork }) {
126405
127096
  const runId = run3.runId;
126406
127097
  const ensureRunReady = /* @__PURE__ */ __name(async () => {
126407
127098
  if (runReadyBarrier) {
@@ -126591,15 +127282,26 @@ async function handleSuspension({ suspension, world, run: run3, span, requestId,
126591
127282
  const ops = [];
126592
127283
  const queuedStepCorrelationIds = /* @__PURE__ */ new Set();
126593
127284
  const resilientDispatchEligible = stepDispatch !== void 0 && isResilientStepDispatchEnabled() && (run3.specVersion ?? 0) >= SPEC_VERSION_SUPPORTS_CBOR_QUEUE_TRANSPORT2;
127285
+ const batchFanoutEligible = isBatchTransitionsEnabled() && typeof world.events.createBatch === "function" && (run3.specVersion ?? 0) >= SPEC_VERSION_SUPPORTS_SLOT_IDENTITY2 && !resilientDispatchEligible && allHookItems.length === 0 && attributeItems.length === 0;
127286
+ const batchQueue = [];
127287
+ const batchPreps = [];
127288
+ const uncreatedWaitCount = waitItems.filter((item) => !item.hasCreatedEvent).length;
127289
+ const inlinePairFoldEligible = batchFanoutEligible && ownerMessageId !== void 0 && lazyInlineCorrelationIds.size > 0 && (lazyInlineCorrelationIds.size >= 2 || stepsNeedingCreation.size - lazyInlineCorrelationIds.size + uncreatedWaitCount >= 1);
127290
+ const inlineClaims = /* @__PURE__ */ new Map();
127291
+ let batchCommittedSlotCeiling;
126594
127292
  let stepDispatchTraceCarrier;
126595
127293
  const getStepDispatchTraceCarrier = /* @__PURE__ */ __name(() => {
126596
127294
  stepDispatchTraceCarrier ??= stepDispatch?.getTraceCarrier() ?? Promise.resolve({});
126597
127295
  return stepDispatchTraceCarrier;
126598
127296
  }, "getStepDispatchTraceCarrier");
126599
127297
  let resilientDispatchRecovered = 0;
127298
+ let batchOrderCounter = 0;
126600
127299
  for (const queueItem of stepItems) {
126601
127300
  if (stepsNeedingCreation.has(queueItem.correlationId)) {
126602
- ops.push((async () => {
127301
+ const pairFolded = inlinePairFoldEligible && lazyInlineCorrelationIds.has(queueItem.correlationId);
127302
+ const stepOrder = batchOrderCounter;
127303
+ batchOrderCounter += pairFolded ? 2 : 1;
127304
+ const stepOp = (async () => {
126603
127305
  const stepGuestCode = { executions: [] };
126604
127306
  const dehydratedInput = await dehydrateStepArguments2({
126605
127307
  args: queueItem.args,
@@ -126613,6 +127315,39 @@ async function handleSuspension({ suspension, world, run: run3, span, requestId,
126613
127315
  stepName: queueItem.stepName,
126614
127316
  dehydratedInput
126615
127317
  });
127318
+ if (pairFolded) {
127319
+ batchQueue.push({
127320
+ order: stepOrder,
127321
+ kind: "inline-created",
127322
+ correlationId: queueItem.correlationId,
127323
+ event: {
127324
+ eventType: "step_created",
127325
+ specVersion: SPEC_VERSION_CURRENT2,
127326
+ correlationId: queueItem.correlationId,
127327
+ eventData: {
127328
+ stepName: queueItem.stepName,
127329
+ workflowName: run3.workflowName,
127330
+ input: dehydratedInput
127331
+ }
127332
+ }
127333
+ });
127334
+ batchQueue.push({
127335
+ order: stepOrder + 1,
127336
+ kind: "inline-started",
127337
+ correlationId: queueItem.correlationId,
127338
+ event: {
127339
+ eventType: "step_started",
127340
+ specVersion: SPEC_VERSION_CURRENT2,
127341
+ correlationId: queueItem.correlationId,
127342
+ eventData: {
127343
+ stepName: queueItem.stepName,
127344
+ // Checked by inlinePairFoldEligible; spread keeps the
127345
+ // narrow-through-closure problem away from the type.
127346
+ ...ownerMessageId !== void 0 ? { ownerMessageId } : {}
127347
+ }
127348
+ }
127349
+ });
127350
+ }
126616
127351
  return;
126617
127352
  }
126618
127353
  const stepEvent = {
@@ -126680,6 +127415,16 @@ async function handleSuspension({ suspension, world, run: run3, span, requestId,
126680
127415
  }
126681
127416
  return;
126682
127417
  }
127418
+ if (batchFanoutEligible) {
127419
+ batchQueue.push({
127420
+ order: stepOrder,
127421
+ kind: "step",
127422
+ correlationId: queueItem.correlationId,
127423
+ stepName: queueItem.stepName,
127424
+ event: stepEvent
127425
+ });
127426
+ return;
127427
+ }
126683
127428
  try {
126684
127429
  await ensureRunReady();
126685
127430
  await createGuarded(stepEvent, { requestId });
@@ -126695,20 +127440,34 @@ async function handleSuspension({ suspension, world, run: run3, span, requestId,
126695
127440
  throw err;
126696
127441
  }
126697
127442
  }
126698
- })());
127443
+ })();
127444
+ ops.push(stepOp);
127445
+ if (batchFanoutEligible) {
127446
+ batchPreps.push(stepOp.catch(() => {
127447
+ }));
127448
+ }
126699
127449
  }
126700
127450
  }
126701
127451
  for (const queueItem of waitItems) {
126702
127452
  if (!queueItem.hasCreatedEvent) {
126703
- ops.push((async () => {
126704
- const waitEvent = {
126705
- eventType: "wait_created",
126706
- specVersion: SPEC_VERSION_CURRENT2,
127453
+ const waitEvent = {
127454
+ eventType: "wait_created",
127455
+ specVersion: SPEC_VERSION_CURRENT2,
127456
+ correlationId: queueItem.correlationId,
127457
+ eventData: {
127458
+ resumeAt: queueItem.resumeAt
127459
+ }
127460
+ };
127461
+ if (batchFanoutEligible) {
127462
+ batchQueue.push({
127463
+ order: batchOrderCounter++,
127464
+ kind: "wait",
126707
127465
  correlationId: queueItem.correlationId,
126708
- eventData: {
126709
- resumeAt: queueItem.resumeAt
126710
- }
126711
- };
127466
+ event: waitEvent
127467
+ });
127468
+ continue;
127469
+ }
127470
+ ops.push((async () => {
126712
127471
  try {
126713
127472
  await ensureRunReady();
126714
127473
  await createGuarded(waitEvent, { requestId });
@@ -126726,6 +127485,214 @@ async function handleSuspension({ suspension, world, run: run3, span, requestId,
126726
127485
  })());
126727
127486
  }
126728
127487
  }
127488
+ let deferredBatchWork;
127489
+ if (batchFanoutEligible) {
127490
+ ops.push((async () => {
127491
+ await Promise.all(batchPreps);
127492
+ if (batchQueue.length === 0) {
127493
+ return;
127494
+ }
127495
+ const entries = [...batchQueue].sort((a, b) => a.order - b.order);
127496
+ await ensureRunReady();
127497
+ if (entries.length === 1) {
127498
+ const [entry] = entries;
127499
+ try {
127500
+ await createGuarded(entry.event, { requestId });
127501
+ if (entry.kind === "step") {
127502
+ createdStepCorrelationIds.add(entry.correlationId);
127503
+ }
127504
+ } catch (err) {
127505
+ if (EntityConflictError2.is(err)) {
127506
+ runtimeLogger2.info(entry.kind === "step" ? "Step already exists, continuing" : "Wait already exists, continuing", {
127507
+ workflowRunId: runId,
127508
+ correlationId: entry.correlationId,
127509
+ message: err.message
127510
+ });
127511
+ } else {
127512
+ throw err;
127513
+ }
127514
+ }
127515
+ return;
127516
+ }
127517
+ const expectedFirstSlot = eventLog ? (maxEventSlot(eventLog.events) ?? 0) + 1 : void 0;
127518
+ const chunks = [];
127519
+ {
127520
+ let current = [];
127521
+ for (let index = 0; index < entries.length; index++) {
127522
+ const entry = entries[index];
127523
+ const next2 = entries[index + 1];
127524
+ const pairLead = entry.kind === "inline-created" && next2?.kind === "inline-started" && next2.correlationId === entry.correlationId;
127525
+ const take = pairLead ? 2 : 1;
127526
+ if (current.length > 0 && current.length + take > MAX_BATCH_FANOUT_EVENTS) {
127527
+ chunks.push(current);
127528
+ current = [];
127529
+ }
127530
+ current.push(entry);
127531
+ if (pairLead) {
127532
+ current.push(next2);
127533
+ index++;
127534
+ }
127535
+ }
127536
+ if (current.length > 0)
127537
+ chunks.push(current);
127538
+ }
127539
+ const publishEagerSteps = stepDispatch !== void 0;
127540
+ if (publishEagerSteps) {
127541
+ for (const entry of entries) {
127542
+ if (entry.kind === "step") {
127543
+ queuedStepCorrelationIds.add(entry.correlationId);
127544
+ }
127545
+ }
127546
+ }
127547
+ let committedCount = 0;
127548
+ let maxCommittedSlot;
127549
+ const commitChunk = /* @__PURE__ */ __name(async (chunk) => {
127550
+ const batchPostSentAtMs = Date.now();
127551
+ const { results } = await world.events.createBatch(
127552
+ runId,
127553
+ chunk.map((entry) => ({
127554
+ event: entry.event,
127555
+ // The started row is the step's executing claim, so it carries
127556
+ // the compute-instance attribution the single claim sends via
127557
+ // CreateEventParams.
127558
+ ...entry.kind === "inline-started" ? { computeInstanceId: COMPUTE_INSTANCE_ID } : {}
127559
+ })),
127560
+ // Per-write request attribution, same as the single path's
127561
+ // createGuarded(…, { requestId }).
127562
+ { requestId }
127563
+ );
127564
+ const claimCompletedAtMs = Date.now();
127565
+ for (const [index, item] of results.entries()) {
127566
+ const entry = chunk[index];
127567
+ if (item.error === void 0) {
127568
+ if (entry.kind === "step") {
127569
+ createdStepCorrelationIds.add(entry.correlationId);
127570
+ } else if (entry.kind === "inline-started") {
127571
+ const dehydrated = lazyInlineByCorrelationId.get(entry.correlationId);
127572
+ if (dehydrated === void 0) {
127573
+ throw new WorkflowWorldError2(`no dehydrated input for pre-claimed step ${entry.correlationId}`, { status: 500 });
127574
+ }
127575
+ const now2 = /* @__PURE__ */ new Date();
127576
+ const startedStep = item.step?.startedAt ? { ...item.step, startedAt: item.step.startedAt } : {
127577
+ runId,
127578
+ stepId: entry.correlationId,
127579
+ stepName: dehydrated.stepName,
127580
+ status: "running",
127581
+ attempt: 1,
127582
+ createdAt: now2,
127583
+ updatedAt: now2,
127584
+ startedAt: now2
127585
+ };
127586
+ inlineClaims.set(entry.correlationId, {
127587
+ owned: true,
127588
+ step: {
127589
+ ...startedStep,
127590
+ input: dehydrated.dehydratedInput
127591
+ },
127592
+ batchPostSentAtMs,
127593
+ claimCompletedAtMs
127594
+ });
127595
+ }
127596
+ continue;
127597
+ }
127598
+ if (item.status === 409) {
127599
+ if (entry.kind === "inline-created" || entry.kind === "inline-started") {
127600
+ inlineClaims.set(entry.correlationId, { owned: false });
127601
+ runtimeLogger2.info("Inline step pre-claim lost, continuing", {
127602
+ workflowRunId: runId,
127603
+ correlationId: entry.correlationId,
127604
+ message: item.message
127605
+ });
127606
+ continue;
127607
+ }
127608
+ runtimeLogger2.info(entry.kind === "step" ? "Step already exists, continuing" : "Wait already exists, continuing", {
127609
+ workflowRunId: runId,
127610
+ correlationId: entry.correlationId,
127611
+ message: item.message
127612
+ });
127613
+ continue;
127614
+ }
127615
+ throw new WorkflowWorldError2(`batched ${entry.event.eventType} for ${entry.correlationId} failed: ${item.error}: ${item.message}`, { status: item.status });
127616
+ }
127617
+ const chunkMaxSlot = maxEventSlot(results.flatMap((item) => item.error === void 0 && item.event ? [item.event] : []));
127618
+ if (chunkMaxSlot !== void 0 && (batchCommittedSlotCeiling === void 0 || chunkMaxSlot > batchCommittedSlotCeiling)) {
127619
+ batchCommittedSlotCeiling = chunkMaxSlot;
127620
+ }
127621
+ committedCount += results.filter((item) => item.error === void 0).length;
127622
+ if (chunkMaxSlot !== void 0 && (maxCommittedSlot === void 0 || chunkMaxSlot > maxCommittedSlot)) {
127623
+ maxCommittedSlot = chunkMaxSlot;
127624
+ }
127625
+ }, "commitChunk");
127626
+ const publishChunkSteps = /* @__PURE__ */ __name(async (chunk) => {
127627
+ if (!publishEagerSteps)
127628
+ return;
127629
+ const stepEntries = chunk.filter((entry) => entry.kind === "step");
127630
+ if (stepEntries.length === 0)
127631
+ return;
127632
+ const traceCarrier = await getStepDispatchTraceCarrier();
127633
+ await Promise.all(stepEntries.map((entry) => queueMessage(
127634
+ world,
127635
+ // biome-ignore lint/style/noNonNullAssertion: publishEagerSteps implies presence
127636
+ stepDispatch.queueName,
127637
+ {
127638
+ runId,
127639
+ stepId: entry.correlationId,
127640
+ // biome-ignore lint/style/noNonNullAssertion: set on every 'step' entry at enqueue
127641
+ stepName: entry.stepName,
127642
+ traceCarrier,
127643
+ requestedAt: /* @__PURE__ */ new Date()
127644
+ },
127645
+ {
127646
+ idempotencyKey: stepDispatchIdempotencyKey(
127647
+ entry.correlationId,
127648
+ // biome-ignore lint/style/noNonNullAssertion: set on every 'step' entry at enqueue
127649
+ entry.stepName
127650
+ )
127651
+ }
127652
+ )));
127653
+ }, "publishChunkSteps");
127654
+ const commits = chunks.map((chunk) => commitChunk(chunk));
127655
+ const publishes = chunks.map(async (chunk, index) => {
127656
+ await commits[index];
127657
+ await publishChunkSteps(chunk);
127658
+ });
127659
+ const trailing = (async () => {
127660
+ const settled = await Promise.allSettled([...commits, ...publishes]);
127661
+ if (expectedFirstSlot !== void 0 && maxCommittedSlot !== void 0) {
127662
+ const interleaved = maxCommittedSlot - expectedFirstSlot + 1 - committedCount;
127663
+ if (interleaved > 0) {
127664
+ runtimeLogger2.debug("Batched fan-out committed above snapshot", {
127665
+ workflowRunId: runId,
127666
+ expectedFirstSlot,
127667
+ maxCommittedSlot,
127668
+ committedCount,
127669
+ interleaved
127670
+ });
127671
+ }
127672
+ }
127673
+ const failure = settled.find((outcome) => outcome.status === "rejected");
127674
+ if (failure)
127675
+ throw failure.reason;
127676
+ })();
127677
+ const pairCommits = chunks.flatMap((chunk, index) => chunk.some((entry) => entry.kind === "inline-started") ? [commits[index]] : []);
127678
+ if (allowDeferredBatchWork) {
127679
+ trailing.catch(() => {
127680
+ });
127681
+ deferredBatchWork = trailing;
127682
+ if (pairCommits.length > 0) {
127683
+ try {
127684
+ await Promise.all(pairCommits);
127685
+ } catch (err) {
127686
+ await trailing.catch(() => {
127687
+ });
127688
+ throw err;
127689
+ }
127690
+ }
127691
+ } else {
127692
+ await trailing;
127693
+ }
127694
+ })());
127695
+ }
126729
127696
  for (const queueItem of attributeItems) {
126730
127697
  ops.push((async () => {
126731
127698
  try {
@@ -126796,6 +127763,9 @@ async function handleSuspension({ suspension, world, run: run3, span, requestId,
126796
127763
  createdStepCorrelationIds,
126797
127764
  queuedStepCorrelationIds,
126798
127765
  lazyInlineSteps,
127766
+ inlineClaims,
127767
+ batchCommittedSlotCeiling,
127768
+ deferredBatchWork,
126799
127769
  // On hook conflict the caller re-invokes immediately and never reads
126800
127770
  // the wait timeout, so don't report one.
126801
127771
  waitTimeout: hasHookConflict ? void 0 : soonestWait,
@@ -127724,7 +128694,7 @@ __name(createConflictingRun, "createConflictingRun");
127724
128694
  function createCreateHook(ctx) {
127725
128695
  return /* @__PURE__ */ __name(function createHookImpl(options = {}) {
127726
128696
  if (options.token === "") {
127727
- throw new Error("`createHook()` was called with an empty string token. Pass a non-empty token, or omit the `token` option to use a randomly generated one.");
128697
+ throw new Error("`createHook()` was called with an empty string token. Pass a non-empty token, or omit the `token` option to use a generated one.");
127728
128698
  }
127729
128699
  if (options.isWebhook === true && options.experimental_minRetention !== void 0) {
127730
128700
  throw new Error("Webhook hooks do not support `experimental_minRetention`. Use a non-webhook `createHook()` with `resumeHook()`.");
@@ -128199,6 +129169,14 @@ async function createWorkflowSession({ workflowCode: workflowCode2, workflowRun,
128199
129169
  onUnconsumedEvent: /* @__PURE__ */ __name((event) => {
128200
129170
  onWorkflowError(new ReplayDivergenceError(`Replay could not consume event: eventType=${event.eventType}, correlationId=${event.correlationId}, eventId=${event.eventId}.`, { eventId: event.eventId }));
128201
129171
  }, "onUnconsumedEvent"),
129172
+ // Both branches log at `debug`, so neither reaches the console unless
129173
+ // `DEBUG` matches. A duplicate is a permanent feature of the log: every
129174
+ // later replay re-reads it and lands here again, so anything the logger
129175
+ // prints unconditionally would print once per replay for the life of the
129176
+ // run. There is also nothing to act on. Ignoring the event is the correct
129177
+ // outcome, not a degraded one, and no user change makes the straggler go
129178
+ // away. What the levels are for is diagnosis after the fact, which is
129179
+ // exactly what `DEBUG=workflow:runtime:debug` is for.
128202
129180
  onDuplicateEvent: /* @__PURE__ */ __name((event, firstEventType) => {
128203
129181
  const details = {
128204
129182
  workflowRunId: workflowRun.runId,
@@ -128208,10 +129186,10 @@ async function createWorkflowSession({ workflowCode: workflowCode2, workflowRun,
128208
129186
  correlationId: event.correlationId
128209
129187
  };
128210
129188
  if (firstEventType !== event.eventType) {
128211
- runtimeLogger2.error("Ignoring event that decides an already-decided outcome differently", details);
129189
+ runtimeLogger2.debug("Ignoring inert event that decides an already-decided outcome differently", details);
128212
129190
  return;
128213
129191
  }
128214
- runtimeLogger2.info("Ignoring event that repeats a class already in the event log", details);
129192
+ runtimeLogger2.debug("Ignoring inert event that repeats a class already in the event log", details);
128215
129193
  }, "onDuplicateEvent"),
128216
129194
  getPromiseQueue: /* @__PURE__ */ __name(() => promiseQueueHolder.current, "getPromiseQueue"),
128217
129195
  isDeliveryIdle: /* @__PURE__ */ __name(() => deliveryIdleHolder.current(), "isDeliveryIdle")
@@ -128881,6 +129859,10 @@ __name(wakeUpRun2, "wakeUpRun");
128881
129859
 
128882
129860
  // ../core/dist/runtime/run.js
128883
129861
  var RETURN_VALUE_POLL_INTERVAL_MS2 = 1e3;
129862
+ var PAYLOAD_TERMINAL_RUN_STATUSES2 = /* @__PURE__ */ new Set([
129863
+ "completed",
129864
+ "failed"
129865
+ ]);
128884
129866
  function getReturnValuePollIntervalMs2() {
128885
129867
  return envNumber2("WORKFLOW_RETURN_VALUE_POLL_INTERVAL_MS", RETURN_VALUE_POLL_INTERVAL_MS2, { integer: true, min: 1 });
128886
129868
  }
@@ -128933,12 +129915,12 @@ var Run2 = class _Run2 {
128933
129915
  * to be resolved once.
128934
129916
  * @internal
128935
129917
  */
128936
- #getEncryptionKey() {
129918
+ #getEncryptionKey(run3) {
128937
129919
  if (!this.#encryptionKeyPromise) {
128938
129920
  this.#encryptionKeyPromise = (async () => {
128939
129921
  const world = await this.#lazyWorldPromise;
128940
- const run3 = await world.runs.get(this.runId);
128941
- const rawKey = await world.getEncryptionKeyForRun?.(run3);
129922
+ const runData = run3 ?? await world.runs.get(this.runId);
129923
+ const rawKey = await world.getEncryptionKeyForRun?.(runData);
128942
129924
  return rawKey ? await deriveRunPayloadKeys2(rawKey) : void 0;
128943
129925
  })();
128944
129926
  }
@@ -128997,7 +129979,7 @@ var Run2 = class _Run2 {
128997
129979
  */
128998
129980
  get status() {
128999
129981
  "use step";
129000
- return this.#lazyWorldPromise.then((world) => world.runs.get(this.runId).then((run3) => run3.status));
129982
+ return this.#lazyWorldPromise.then((world) => world.runs.get(this.runId, { resolveData: "none" }).then((run3) => run3.status));
129001
129983
  }
129002
129984
  /**
129003
129985
  * The return value of the workflow run.
@@ -129074,6 +130056,29 @@ var Run2 = class _Run2 {
129074
130056
  }, "getTailIndex")
129075
130057
  });
129076
130058
  }
130059
+ /** @internal */
130060
+ async #resolveTerminalReturnValue(run3) {
130061
+ if (run3.status === "completed") {
130062
+ const encryptionKey = await this.#getEncryptionKey(run3);
130063
+ return await hydrateWorkflowReturnValue2(run3.output, this.runId, encryptionKey);
130064
+ }
130065
+ if (run3.status === "cancelled") {
130066
+ throw new WorkflowRunCancelledError2(this.runId);
130067
+ }
130068
+ if (run3.status === "failed") {
130069
+ const encryptionKey = await this.#getEncryptionKey(run3);
130070
+ let hydratedError;
130071
+ try {
130072
+ hydratedError = await hydrateRunError2(run3.error, this.runId, encryptionKey);
130073
+ } catch {
130074
+ hydratedError = new Error("Failed to hydrate workflow run error");
130075
+ }
130076
+ throw new WorkflowRunFailedError2(this.runId, hydratedError, {
130077
+ errorCode: run3.errorCode
130078
+ });
130079
+ }
130080
+ throw new WorkflowRunNotCompletedError2(this.runId, run3.status);
130081
+ }
129077
130082
  /**
129078
130083
  * Polls the workflow return value until it is completed.
129079
130084
  * @internal
@@ -129086,27 +130091,19 @@ var Run2 = class _Run2 {
129086
130091
  const NOT_FOUND_DELAYS = [1e3, 3e3, 6e3];
129087
130092
  while (true) {
129088
130093
  try {
129089
- const run3 = await world.runs.get(this.runId);
129090
- if (run3.status === "completed") {
129091
- const encryptionKey = await this.#getEncryptionKey();
129092
- return await hydrateWorkflowReturnValue2(run3.output, this.runId, encryptionKey);
129093
- }
129094
- if (run3.status === "cancelled") {
130094
+ const runMetadata = await world.runs.get(this.runId, {
130095
+ resolveData: "none"
130096
+ });
130097
+ if (runMetadata.status === "cancelled") {
129095
130098
  throw new WorkflowRunCancelledError2(this.runId);
129096
130099
  }
129097
- if (run3.status === "failed") {
129098
- const encryptionKey = await this.#getEncryptionKey();
129099
- let hydratedError;
129100
- try {
129101
- hydratedError = await hydrateRunError2(run3.error, this.runId, encryptionKey);
129102
- } catch {
129103
- hydratedError = new Error("Failed to hydrate workflow run error");
129104
- }
129105
- throw new WorkflowRunFailedError2(this.runId, hydratedError, {
129106
- errorCode: run3.errorCode
130100
+ if (PAYLOAD_TERMINAL_RUN_STATUSES2.has(runMetadata.status)) {
130101
+ const run3 = await world.runs.get(this.runId, {
130102
+ resolveData: "all"
129107
130103
  });
130104
+ return await this.#resolveTerminalReturnValue(run3);
129108
130105
  }
129109
- throw new WorkflowRunNotCompletedError2(this.runId, run3.status);
130106
+ throw new WorkflowRunNotCompletedError2(this.runId, runMetadata.status);
129110
130107
  } catch (error95) {
129111
130108
  if (WorkflowRunNotCompletedError2.is(error95)) {
129112
130109
  await new Promise((resolve3) => setTimeout(resolve3, getReturnValuePollIntervalMs2()));
@@ -129665,6 +130662,7 @@ function workflowEntrypoint(workflowCode2, options) {
129665
130662
  workflowDeploymentId: bgRun.deploymentId,
129666
130663
  workflowName,
129667
130664
  workflowStartedAt: bgStartedAt,
130665
+ requestId,
129668
130666
  rootRunId: rootRunIdFrom(bgRun.attributes, runId),
129669
130667
  stepId: incomingStepId,
129670
130668
  stepName: incomingStepName,
@@ -130013,7 +131011,7 @@ function workflowEntrypoint(workflowCode2, options) {
130013
131011
  }
130014
131012
  }
130015
131013
  }
130016
- assert5(workflowRun, "Workflow run must be loaded before replay");
131014
+ assert6(workflowRun, "Workflow run must be loaded before replay");
130017
131015
  if (resumeTracking && resumeTracking.setupSource === void 0) {
130018
131016
  resumeTracking.setupSource = "event_load";
130019
131017
  }
@@ -130137,7 +131135,8 @@ function workflowEntrypoint(workflowCode2, options) {
130137
131135
  // defer to the in-flight body instead of
130138
131136
  // requeueing the step.
130139
131137
  deliveryAttempt: metadata.attempt,
130140
- ownerMessageId: metadata.messageId
131138
+ ownerMessageId: metadata.messageId,
131139
+ requestId
130141
131140
  });
130142
131141
  if (quickjsResult?.timeoutSeconds !== void 0) {
130143
131142
  return await reinvoke(quickjsResult.timeoutSeconds);
@@ -130153,7 +131152,7 @@ function workflowEntrypoint(workflowCode2, options) {
130153
131152
  eventLog = { ...page, type: "ready" };
130154
131153
  }
130155
131154
  }
130156
- assert5(eventLog.type === "ready");
131155
+ assert6(eventLog.type === "ready");
130157
131156
  reportPreconditionRestartReload(eventLog.events);
130158
131157
  if (hasRecordedTerminalRunEvent(eventLog.events, runId)) {
130159
131158
  return;
@@ -130185,7 +131184,7 @@ function workflowEntrypoint(workflowCode2, options) {
130185
131184
  throw err;
130186
131185
  }
130187
131186
  }
130188
- assert5(eventLog.type === "ready");
131187
+ assert6(eventLog.type === "ready");
130189
131188
  const completedWaitIdsAfterWrites = new Set(eventLog.events.filter((e) => e.eventType === "wait_completed").map((e) => e.correlationId));
130190
131189
  const missingWaitCompletions = waitsToComplete.filter((waitEvent) => !completedWaitIdsAfterWrites.has(waitEvent.correlationId));
130191
131190
  if (missingWaitCompletions.length > 0) {
@@ -130304,7 +131303,7 @@ function workflowEntrypoint(workflowCode2, options) {
130304
131303
  runtimeLogger2.debug(suspensionMessage);
130305
131304
  }
130306
131305
  const suspensionStart = Date.now();
130307
- assert5(eventLog.type === "ready", "Workflow suspended before its event log was loaded");
131306
+ assert6(eventLog.type === "ready", "Workflow suspended before its event log was loaded");
130308
131307
  let suspensionResult;
130309
131308
  try {
130310
131309
  suspensionResult = await handleSuspension({
@@ -130325,7 +131324,22 @@ function workflowEntrypoint(workflowCode2, options) {
130325
131324
  stepDispatch: {
130326
131325
  queueName: getWorkflowQueueName2(workflowName, namespace),
130327
131326
  getTraceCarrier: nextTraceCarrier
130328
- }
131327
+ },
131328
+ // Inline pre-claims: lets the batched fan-out
131329
+ // fold the lazy-inline steps' step_created +
131330
+ // step_started pairs — stamped with this
131331
+ // message's ownership — into the one commit, so
131332
+ // the bodies below start straight off it. See
131333
+ // SuspensionHandlerResult.inlineClaims.
131334
+ ownerMessageId: metadata.messageId,
131335
+ // Let the fold return once the pair chunk has
131336
+ // committed: trailing chunks and the per-chunk
131337
+ // step-message publishes ride
131338
+ // `deferredBatchWork`, which this invocation
131339
+ // joins before it can ack (below, next to the
131340
+ // dispatch join) — so the durability contract
131341
+ // is unchanged while the bodies start earlier.
131342
+ allowDeferredBatchWork: true
130329
131343
  });
130330
131344
  } catch (suspensionError) {
130331
131345
  if (PreconditionFailedError.is(suspensionError)) {
@@ -130380,7 +131394,7 @@ function workflowEntrypoint(workflowCode2, options) {
130380
131394
  replayPayloadCache.resetScan();
130381
131395
  }
130382
131396
  const openHookWait = once2(() => {
130383
- assert5(eventLog.type === "ready");
131397
+ assert6(eventLog.type === "ready");
130384
131398
  return openHookAndWaitState(eventLog.events);
130385
131399
  });
130386
131400
  if (retainedSession && !canRetainWorkflowSession(err, suspensionResult.retainedStepInputsSafe, openHookWait)) {
@@ -130477,13 +131491,22 @@ function workflowEntrypoint(workflowCode2, options) {
130477
131491
  requestedAt: /* @__PURE__ */ new Date()
130478
131492
  }, getWaitContinuationDispatch(suspensionResult.waitTimeout.seconds, suspensionResult.waitTimeout.correlationId)));
130479
131493
  }
130480
- await Promise.all(dispatches);
131494
+ const dispatchesSettled = Promise.all(dispatches);
131495
+ dispatchesSettled.catch(() => {
131496
+ });
130481
131497
  const inlineExecutions = [
130482
- ...lazyInlineSteps.map((s) => ({
130483
- correlationId: s.correlationId,
130484
- stepName: s.stepName,
130485
- lazyStepInput: s.dehydratedInput
130486
- })),
131498
+ ...lazyInlineSteps.map((s) => {
131499
+ const claim = suspensionResult.inlineClaims.get(s.correlationId);
131500
+ return claim ? {
131501
+ correlationId: s.correlationId,
131502
+ stepName: s.stepName,
131503
+ preclaimedStart: claim
131504
+ } : {
131505
+ correlationId: s.correlationId,
131506
+ stepName: s.stepName,
131507
+ lazyStepInput: s.dehydratedInput
131508
+ };
131509
+ }),
130487
131510
  ...ownedRecoverySteps.map((s) => ({
130488
131511
  correlationId: s.correlationId,
130489
131512
  stepName: s.stepName
@@ -130502,6 +131525,10 @@ function workflowEntrypoint(workflowCode2, options) {
130502
131525
  });
130503
131526
  }
130504
131527
  if (inlineExecutions.length === 0) {
131528
+ await Promise.all([
131529
+ dispatchesSettled,
131530
+ suspensionResult.deferredBatchWork
131531
+ ]);
130505
131532
  if (suspensionResult.hasAwaitedHookCreation) {
130506
131533
  return await reinvoke(0);
130507
131534
  }
@@ -130525,20 +131552,23 @@ function workflowEntrypoint(workflowCode2, options) {
130525
131552
  suspensionCreatedHooks: err.hookCount > 0 || suspensionResult.hasHookEvents,
130526
131553
  turbo
130527
131554
  });
130528
- const inlineClaimSnapshot = slotSnapshotParams(eventLog.events);
131555
+ const loadedSlotSnapshot = slotSnapshotParams(eventLog.events);
131556
+ const batchSlotCeiling = suspensionResult.batchCommittedSlotCeiling;
131557
+ const inlineClaimSnapshot = batchSlotCeiling !== void 0 && batchSlotCeiling > (loadedSlotSnapshot.eventCount ?? 0) ? { eventCount: batchSlotCeiling } : loadedSlotSnapshot;
130529
131558
  const batchResumeTracking = resumeTracking;
130530
131559
  resumeTracking = void 0;
130531
131560
  replayBudget.pause();
130532
131561
  let stepResults;
130533
131562
  const stepExecutionPromises = inlineExecutions.map((s, stepIndex) => {
130534
131563
  const run3 = /* @__PURE__ */ __name(() => {
130535
- assert5(eventLog.type === "ready");
131564
+ assert6(eventLog.type === "ready");
130536
131565
  return executeStep({
130537
131566
  world,
130538
131567
  workflowRunId: runId,
130539
131568
  workflowDeploymentId: workflowRun.deploymentId,
130540
131569
  workflowName,
130541
131570
  workflowStartedAt,
131571
+ requestId,
130542
131572
  rootRunId: rootRunIdFrom(workflowRun.attributes, runId),
130543
131573
  stepId: s.correlationId,
130544
131574
  stepName: s.stepName,
@@ -130565,7 +131595,7 @@ function workflowEntrypoint(workflowCode2, options) {
130565
131595
  // rather than walking the growing log for
130566
131596
  // every inline step (which would be O(n²)
130567
131597
  // across a long sequential workflow).
130568
- authoritativeAttempt: s.lazyStepInput !== void 0 ? 1 : countStepStartedEvents(eventLog.events, s.correlationId, {
131598
+ authoritativeAttempt: s.lazyStepInput !== void 0 || s.preclaimedStart !== void 0 ? 1 : countStepStartedEvents(eventLog.events, s.correlationId, {
130569
131599
  type: "ownedBy",
130570
131600
  messageId: metadata.messageId
130571
131601
  }) + 1,
@@ -130573,8 +131603,15 @@ function workflowEntrypoint(workflowCode2, options) {
130573
131603
  // input on step_started so the world creates
130574
131604
  // the step on the fly. Absent for
130575
131605
  // owned-recovery steps, whose input hydrates
130576
- // from the existing step entity.
131606
+ // from the existing step entity, and for
131607
+ // pre-claimed steps, whose pair already
131608
+ // carried it.
130577
131609
  lazyStepInput: s.lazyStepInput,
131610
+ // Pre-claimed inline start: the suspension
131611
+ // batch settled this step's create + claim;
131612
+ // the executor runs (or skips) the body off
131613
+ // that verdict with no start write of its own.
131614
+ preclaimedStart: s.preclaimedStart,
130578
131615
  // Inline ownership: stamp (or re-stamp) this
130579
131616
  // invocation's queue message ID on the
130580
131617
  // step_started, so wake replays see the body
@@ -130594,7 +131631,7 @@ function workflowEntrypoint(workflowCode2, options) {
130594
131631
  suppressOptimisticStart,
130595
131632
  runReadyBarrier,
130596
131633
  slotSnapshot: inlineClaimSnapshot,
130597
- ...stepIndex === 0 && s.lazyStepInput !== void 0 && latencyTracking ? { latencyTracking } : {},
131634
+ ...stepIndex === 0 && (s.lazyStepInput !== void 0 || s.preclaimedStart !== void 0) && latencyTracking ? { latencyTracking } : {},
130598
131635
  ...batchResumeTracking ? { resumeTracking: batchResumeTracking } : {},
130599
131636
  ...requestInlineDelta && eventLog.cursor ? {
130600
131637
  inlineDeltaSinceCursor: eventLog.cursor
@@ -130603,10 +131640,23 @@ function workflowEntrypoint(workflowCode2, options) {
130603
131640
  });
130604
131641
  }, "run");
130605
131642
  inFlightOwnedSteps.add(s.correlationId);
130606
- const executed = s.lazyStepInput === void 0 ? runStepSingleFlight(runId, s.correlationId, run3) : run3();
131643
+ const executed = s.lazyStepInput === void 0 && s.preclaimedStart === void 0 ? runStepSingleFlight(runId, s.correlationId, run3) : run3();
130607
131644
  return executed.finally(() => inFlightOwnedSteps.delete(s.correlationId));
130608
131645
  });
131646
+ for (const promise3 of stepExecutionPromises) {
131647
+ promise3.catch(() => {
131648
+ });
131649
+ }
130609
131650
  try {
131651
+ try {
131652
+ await Promise.all([
131653
+ dispatchesSettled,
131654
+ suspensionResult.deferredBatchWork
131655
+ ]);
131656
+ } catch (dispatchErr) {
131657
+ await Promise.allSettled(stepExecutionPromises);
131658
+ throw dispatchErr;
131659
+ }
130610
131660
  stepResults = await Promise.all(stepExecutionPromises);
130611
131661
  } catch (stepErr) {
130612
131662
  if (PreconditionFailedError.is(stepErr)) {
@@ -147660,10 +148710,10 @@ var Run = class _Run {
147660
148710
  return this.getReadable();
147661
148711
  }
147662
148712
  };
147663
- Run.prototype["wakeUp"] = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.42//Run#wakeUp");
147664
- Run.prototype["cancel"] = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.42//Run#cancel");
147665
- Run.prototype["getReadable"] = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.42//Run#getReadable");
147666
- var __step_Run$exists = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.42//Run#exists");
148713
+ Run.prototype["wakeUp"] = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.43//Run#wakeUp");
148714
+ Run.prototype["cancel"] = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.43//Run#cancel");
148715
+ Run.prototype["getReadable"] = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.43//Run#getReadable");
148716
+ var __step_Run$exists = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.43//Run#exists");
147667
148717
  Object.defineProperty(Run.prototype, "exists", {
147668
148718
  get() {
147669
148719
  return __step_Run$exists.call(this);
@@ -147671,7 +148721,7 @@ Object.defineProperty(Run.prototype, "exists", {
147671
148721
  configurable: true,
147672
148722
  enumerable: false
147673
148723
  });
147674
- var __step_Run$status = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.42//Run#status");
148724
+ var __step_Run$status = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.43//Run#status");
147675
148725
  Object.defineProperty(Run.prototype, "status", {
147676
148726
  get() {
147677
148727
  return __step_Run$status.call(this);
@@ -147679,7 +148729,7 @@ Object.defineProperty(Run.prototype, "status", {
147679
148729
  configurable: true,
147680
148730
  enumerable: false
147681
148731
  });
147682
- var __step_Run$returnValue = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.42//Run#returnValue");
148732
+ var __step_Run$returnValue = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.43//Run#returnValue");
147683
148733
  Object.defineProperty(Run.prototype, "returnValue", {
147684
148734
  get() {
147685
148735
  return __step_Run$returnValue.call(this);
@@ -147687,7 +148737,7 @@ Object.defineProperty(Run.prototype, "returnValue", {
147687
148737
  configurable: true,
147688
148738
  enumerable: false
147689
148739
  });
147690
- var __step_Run$workflowName = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.42//Run#workflowName");
148740
+ var __step_Run$workflowName = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.43//Run#workflowName");
147691
148741
  Object.defineProperty(Run.prototype, "workflowName", {
147692
148742
  get() {
147693
148743
  return __step_Run$workflowName.call(this);
@@ -147695,7 +148745,7 @@ Object.defineProperty(Run.prototype, "workflowName", {
147695
148745
  configurable: true,
147696
148746
  enumerable: false
147697
148747
  });
147698
- var __step_Run$createdAt = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.42//Run#createdAt");
148748
+ var __step_Run$createdAt = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.43//Run#createdAt");
147699
148749
  Object.defineProperty(Run.prototype, "createdAt", {
147700
148750
  get() {
147701
148751
  return __step_Run$createdAt.call(this);
@@ -147703,7 +148753,7 @@ Object.defineProperty(Run.prototype, "createdAt", {
147703
148753
  configurable: true,
147704
148754
  enumerable: false
147705
148755
  });
147706
- var __step_Run$startedAt = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.42//Run#startedAt");
148756
+ var __step_Run$startedAt = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.43//Run#startedAt");
147707
148757
  Object.defineProperty(Run.prototype, "startedAt", {
147708
148758
  get() {
147709
148759
  return __step_Run$startedAt.call(this);
@@ -147711,7 +148761,7 @@ Object.defineProperty(Run.prototype, "startedAt", {
147711
148761
  configurable: true,
147712
148762
  enumerable: false
147713
148763
  });
147714
- var __step_Run$completedAt = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.42//Run#completedAt");
148764
+ var __step_Run$completedAt = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.43//Run#completedAt");
147715
148765
  Object.defineProperty(Run.prototype, "completedAt", {
147716
148766
  get() {
147717
148767
  return __step_Run$completedAt.call(this);
@@ -147728,7 +148778,7 @@ Object.defineProperty(Run.prototype, "completedAt", {
147728
148778
  enumerable: false,
147729
148779
  configurable: false
147730
148780
  });
147731
- })(Run, "class//@workflow/core/runtime/run@5.0.0-beta.42//Run");
148781
+ })(Run, "class//@workflow/core/runtime/run@5.0.0-beta.43//Run");
147732
148782
 
147733
148783
  // ../core/dist/workflow/create-hook.js
147734
148784
  aliasSerializationClass(RUN_CLASS_ID, Run);
@@ -147891,7 +148941,7 @@ hookWorkflow.workflowId = "workflow//./workflows/inline-execution//hookWorkflow"
147891
148941
  globalThis.__private_workflows.set("workflow//./workflows/inline-execution//hookWorkflow", hookWorkflow);
147892
148942
 
147893
148943
  // ../core/dist/runtime/start.js
147894
- var start = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/start@5.0.0-beta.42//start");
148944
+ var start = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/start@5.0.0-beta.43//start");
147895
148945
 
147896
148946
  // workflows/lineage.ts
147897
148947
  var noop = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//./workflows/lineage//noop");