@mysten-incubation/memwal-mcp 0.0.13-dev.2 → 0.0.13-dev.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bridge.d.ts.map +1 -1
- package/dist/bridge.js +470 -32
- package/dist/bridge.js.map +1 -1
- package/package.json +1 -1
package/dist/bridge.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAanD,OAAO,EAIH,KAAK,gBAAgB,EACxB,MAAM,eAAe,CAAC;AAGvB;;gFAEgF;AAChF,MAAM,WAAW,YAAY;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd;;;8BAG0B;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAeD;;;;;;;;;;GAUG;AACH;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAChC,MAAM,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,EAChD,UAAU,EAAE,MAAM,GACnB,IAAI,CAaN;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,UAAU,CAerF;AAyQD,UAAU,UAAU;IAChB,OAAO,EAAE,KAAK,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AA6gBD,oEAAoE;AACpE,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAEpE;AA8BD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,SAAS,CAC3B,YAAY,EAAE,iBAAiB,EAC/B,MAAM,EAAE,YAAY;AACpB;;;;yEAIyE;AACzE,YAAY,GAAE,MAAM,EAAO,GAC5B,OAAO,CAAC,IAAI,CAAC,CAi+Cf"}
|
package/dist/bridge.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { clearCreds, credsPath, loadCreds } from "./auth.js";
|
|
2
2
|
import { TOOL_DEFINITIONS } from "./auth-required.js";
|
|
3
3
|
import { clientInfoHeaders, lastClientInfoHeaders, rememberInitializeClientInfo, } from "./client-info.js";
|
|
4
|
+
import { randomUUID } from "node:crypto";
|
|
4
5
|
import { ensureCompatibleRelayer, resolveConnectTimeoutMs } from "./compatibility.js";
|
|
5
6
|
import { PROACTIVE_INSTRUCTIONS } from "./instructions.js";
|
|
6
7
|
import { startOrReuseLoginFlow, resolveLoginTimeoutMs } from "./login.js";
|
|
@@ -144,6 +145,18 @@ const SIGNED_OUT_FAILURE = {
|
|
|
144
145
|
toolText: SIGNED_OUT_TEXT,
|
|
145
146
|
errorMessage: SIGNED_OUT_TEXT,
|
|
146
147
|
};
|
|
148
|
+
/** Reply for every request once the relayer has rejected the saved delegate
|
|
149
|
+
* key. An empty recall and a rejected key used to be indistinguishable to the
|
|
150
|
+
* agent — the queued call simply waited out the orphan sweeper and came back as
|
|
151
|
+
* "connection dropped, please retry", which is advice that cannot work. Name
|
|
152
|
+
* the cause and the way back in instead (GH #365 / WALM-602). */
|
|
153
|
+
const UNAUTHORIZED_TEXT = "❌ Walrus Memory rejected the saved credentials (HTTP 401). The delegate key may have been revoked or is no longer registered on this account. Call `memwal_login` to sign in again — saved credentials were NOT modified.";
|
|
154
|
+
/** `failRequest` options for every credentials-rejected refusal, so one refused
|
|
155
|
+
* at handshake time and one refused on arrival afterwards read identically. */
|
|
156
|
+
const UNAUTHORIZED_FAILURE = {
|
|
157
|
+
toolText: UNAUTHORIZED_TEXT,
|
|
158
|
+
errorMessage: UNAUTHORIZED_TEXT,
|
|
159
|
+
};
|
|
147
160
|
/** The `tools/list` we serve LOCALLY at cold start: the memory tools (from the
|
|
148
161
|
* same source as auth-required mode) plus the locally-handled login/logout
|
|
149
162
|
* tools. We strip any locally-served name from the imported list first —
|
|
@@ -203,6 +216,112 @@ function resolveCallTimeoutMs() {
|
|
|
203
216
|
return DEFAULT_CALL_TIMEOUT_MS;
|
|
204
217
|
return n;
|
|
205
218
|
}
|
|
219
|
+
/** How long to wait before retrying a handshake the relayer refused with a 429
|
|
220
|
+
* that carried NO `Retry-After`. That is the relayer's concurrent-session cap
|
|
221
|
+
* (`ip_active_cap`), which deliberately sends no header because it clears when
|
|
222
|
+
* some other session closes, not on a timer — so the ordinary sub-second
|
|
223
|
+
* geometric retry is pure noise against it.
|
|
224
|
+
*
|
|
225
|
+
* Override via `MEMWAL_MCP_THROTTLE_FLOOR_MS` (mostly for tests). */
|
|
226
|
+
const DEFAULT_THROTTLE_FLOOR_MS = 5_000;
|
|
227
|
+
/** A relayer-supplied interval is a remote-controlled sleep, so cap it: a
|
|
228
|
+
* misconfigured (or hostile) `Retry-After: 86400` must not park the bridge for
|
|
229
|
+
* a day. Past this we retry anyway and take another 429 if we were wrong. */
|
|
230
|
+
const MAX_THROTTLE_WAIT_MS = 60_000;
|
|
231
|
+
function resolveThrottleFloorMs() {
|
|
232
|
+
const raw = process.env.MEMWAL_MCP_THROTTLE_FLOOR_MS;
|
|
233
|
+
if (!raw)
|
|
234
|
+
return DEFAULT_THROTTLE_FLOOR_MS;
|
|
235
|
+
const n = Number(raw);
|
|
236
|
+
if (!Number.isFinite(n) || n < 0)
|
|
237
|
+
return DEFAULT_THROTTLE_FLOOR_MS;
|
|
238
|
+
return Math.min(n, MAX_THROTTLE_WAIT_MS);
|
|
239
|
+
}
|
|
240
|
+
/** Parse a `Retry-After` value into ms. The header is legally either
|
|
241
|
+
* delta-seconds or an HTTP-date (this relayer only ever emits the former, but
|
|
242
|
+
* a proxy in the path may rewrite it). Returns null for absent / unparseable
|
|
243
|
+
* values so the caller falls back to the floor — never NaN, which would poison
|
|
244
|
+
* the backoff arithmetic and break the retry loop outright. */
|
|
245
|
+
function parseRetryAfterMs(raw) {
|
|
246
|
+
if (!raw)
|
|
247
|
+
return null;
|
|
248
|
+
const trimmed = raw.trim();
|
|
249
|
+
if (trimmed === "")
|
|
250
|
+
return null;
|
|
251
|
+
if (/^\d+$/.test(trimmed)) {
|
|
252
|
+
const seconds = Number(trimmed);
|
|
253
|
+
// Non-positive is not advice. `Retry-After: 0` is a real thing to
|
|
254
|
+
// receive (some intermediaries emit it for "unknown"), and taking it
|
|
255
|
+
// literally puts us back on the ~500ms geometric backoff that
|
|
256
|
+
// WALM-386 exists to stop — while still reporting `serverAdvised`,
|
|
257
|
+
// which would also suppress the one hint the user can act on. Treat
|
|
258
|
+
// it as no usable header and fall back to the floor.
|
|
259
|
+
return Number.isFinite(seconds) && seconds > 0 ? seconds * 1000 : null;
|
|
260
|
+
}
|
|
261
|
+
const at = Date.parse(trimmed);
|
|
262
|
+
if (!Number.isFinite(at))
|
|
263
|
+
return null;
|
|
264
|
+
// Same for an HTTP-date already in the past — which a correct server can
|
|
265
|
+
// produce simply by being a second behind the client's clock.
|
|
266
|
+
const waitMs = at - Date.now();
|
|
267
|
+
return waitMs > 0 ? waitMs : null;
|
|
268
|
+
}
|
|
269
|
+
/** The relayer refused the handshake with HTTP 429. Carried as a typed error so
|
|
270
|
+
* the retry loops can honour the throttle interval instead of re-deriving it
|
|
271
|
+
* from a message string — the whole point of WALM-386. `retryAfterMs` is
|
|
272
|
+
* already resolved (header, else floor) and clamped, so callers just sleep it. */
|
|
273
|
+
class RelayerThrottledError extends Error {
|
|
274
|
+
status = 429;
|
|
275
|
+
/** How long to wait before the next attempt, ms. Always a finite number. */
|
|
276
|
+
retryAfterMs;
|
|
277
|
+
/** True when the relayer actually sent a usable `Retry-After`. False means
|
|
278
|
+
* we applied the floor — the `ip_active_cap` shape, which has no ETA. */
|
|
279
|
+
serverAdvised;
|
|
280
|
+
constructor(message, retryAfterHeader) {
|
|
281
|
+
super(message);
|
|
282
|
+
this.name = "RelayerThrottledError";
|
|
283
|
+
const advised = parseRetryAfterMs(retryAfterHeader);
|
|
284
|
+
this.serverAdvised = advised !== null;
|
|
285
|
+
this.retryAfterMs = Math.min(MAX_THROTTLE_WAIT_MS, Math.max(0, advised ?? resolveThrottleFloorMs()));
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
/** Deadline for a request that is still buffered while the handshake has been
|
|
289
|
+
* failing for at least this long — i.e. one we can prove never left this
|
|
290
|
+
* process.
|
|
291
|
+
*
|
|
292
|
+
* It is much shorter than `callTimeoutMs` because the two cases carry
|
|
293
|
+
* different risk, not because the wait is less important. A request that was
|
|
294
|
+
* SENT might have been executed, so failing it early invites the agent to
|
|
295
|
+
* retry a `remember` that already landed. A request that was never sent
|
|
296
|
+
* cannot have executed: failing it is provably a no-op, and the agent's retry
|
|
297
|
+
* costs one round trip.
|
|
298
|
+
*
|
|
299
|
+
* 90s is well past a relayer cold start and past six reconnect attempts at the
|
|
300
|
+
* capped 15s backoff, so it does not fire on a slow-but-recovering relayer —
|
|
301
|
+
* and it does not apply at all while the handshake is healthy (a request
|
|
302
|
+
* buffered behind an in-progress flush keeps the full deadline). What it ends
|
|
303
|
+
* is the case from WALM-618: no working connection, nothing sent, and four
|
|
304
|
+
* minutes of silence before the user is told anything. */
|
|
305
|
+
const DEFAULT_STALLED_HANDSHAKE_MS = 90_000;
|
|
306
|
+
/** Same override shape as the call timeout, mostly for tests. Never longer
|
|
307
|
+
* than the call timeout itself: this deadline exists to fire sooner. */
|
|
308
|
+
function resolveStalledHandshakeMs(callTimeoutMs) {
|
|
309
|
+
const raw = process.env.MEMWAL_MCP_STALLED_HANDSHAKE_MS;
|
|
310
|
+
const n = raw ? Number(raw) : DEFAULT_STALLED_HANDSHAKE_MS;
|
|
311
|
+
const resolved = Number.isFinite(n) && n >= MIN_CALL_TIMEOUT_MS ? n : DEFAULT_STALLED_HANDSHAKE_MS;
|
|
312
|
+
return Math.min(resolved, callTimeoutMs);
|
|
313
|
+
}
|
|
314
|
+
/** The relayer rejected the saved delegate key (HTTP 401 on the handshake).
|
|
315
|
+
* Distinct from every other connect failure because retrying cannot fix it:
|
|
316
|
+
* the caller must re-authenticate. Carrying it as a type keeps the background
|
|
317
|
+
* connect loop from backing off forever on a key that will never be accepted,
|
|
318
|
+
* which left tool calls parked until the orphan sweeper's deadline (WALM-602). */
|
|
319
|
+
class RelayerUnauthorizedError extends Error {
|
|
320
|
+
constructor(message) {
|
|
321
|
+
super(message);
|
|
322
|
+
this.name = "RelayerUnauthorizedError";
|
|
323
|
+
}
|
|
324
|
+
}
|
|
206
325
|
function mcpAuthHeaders(creds, extra = {}) {
|
|
207
326
|
return {
|
|
208
327
|
authorization: `Bearer ${creds.delegatePrivateKey}`,
|
|
@@ -264,6 +383,14 @@ async function openSseStream(relayerUrl, creds, extraHeaders = {}) {
|
|
|
264
383
|
}
|
|
265
384
|
throw err;
|
|
266
385
|
}
|
|
386
|
+
// Every non-OK exit below DRAINS the body and deliberately does NOT abort
|
|
387
|
+
// `controller`. Aborting a handshake response we have already read is what
|
|
388
|
+
// produced the Windows libuv assertion in WALM-386
|
|
389
|
+
// (`!(handle->flags & UV_HANDLE_CLOSING)`, src/win/async.c:76); 45b0ad87
|
|
390
|
+
// removed those aborts on purpose ("the stdio bridge drains handshake error
|
|
391
|
+
// bodies instead of aborting the socket", CHANGELOG 0.0.11). Draining to
|
|
392
|
+
// completion lets undici return the socket to its pool normally. Do not
|
|
393
|
+
// re-add `controller.abort()` here.
|
|
267
394
|
if (resp.status === 401) {
|
|
268
395
|
clearConnectTimer();
|
|
269
396
|
if (resp.body) {
|
|
@@ -278,7 +405,7 @@ async function openSseStream(relayerUrl, creds, extraHeaders = {}) {
|
|
|
278
405
|
// Auto-wiping the seed turns any one of those into a permanent
|
|
279
406
|
// outage that forces re-login. Force-fail loud instead; the user
|
|
280
407
|
// runs `memwal-mcp login` if they want to actually rotate.
|
|
281
|
-
throw new
|
|
408
|
+
throw new RelayerUnauthorizedError("Walrus Memory relayer rejected credentials (HTTP 401). " +
|
|
282
409
|
"Delegate key may have been revoked, the relayer may be " +
|
|
283
410
|
"rate-limiting, or a proxy may be interposed. Saved " +
|
|
284
411
|
`credentials at ${credsPath()} were NOT modified. ` +
|
|
@@ -287,13 +414,17 @@ async function openSseStream(relayerUrl, creds, extraHeaders = {}) {
|
|
|
287
414
|
if (resp.status === 429) {
|
|
288
415
|
clearConnectTimer();
|
|
289
416
|
const retryAfter = resp.headers.get("retry-after");
|
|
290
|
-
const body = resp.body ? await resp.text() : "";
|
|
291
|
-
|
|
292
|
-
|
|
417
|
+
const body = resp.body ? await resp.text().catch(() => "") : "";
|
|
418
|
+
// Throw a TYPED error: the interval has to survive as a number for the
|
|
419
|
+
// retry loops to honour it. Stringifying it into the message (what this
|
|
420
|
+
// used to do) left both loops guessing, so they retried a throttled
|
|
421
|
+
// handshake after 500ms — WALM-386.
|
|
422
|
+
throw new RelayerThrottledError(`Walrus Memory relayer SSE handshake rate-limited (HTTP 429` +
|
|
423
|
+
`${retryAfter ? `, retry after ${retryAfter}s` : ""}). ${body.slice(0, 200)}`.trim(), retryAfter);
|
|
293
424
|
}
|
|
294
425
|
if (!resp.ok || !resp.body) {
|
|
295
426
|
clearConnectTimer();
|
|
296
|
-
const body = resp.body ? await resp.text() : "";
|
|
427
|
+
const body = resp.body ? await resp.text().catch(() => "") : "";
|
|
297
428
|
throw new Error(`Walrus Memory relayer SSE handshake failed: HTTP ${resp.status} ${body.slice(0, 200)}`);
|
|
298
429
|
}
|
|
299
430
|
const ct = resp.headers.get("content-type") ?? "";
|
|
@@ -714,6 +845,10 @@ pendingLines = []) {
|
|
|
714
845
|
* checks this alongside `stdinClosed`; `adoptCredentials` clears it when a
|
|
715
846
|
* new login lands. */
|
|
716
847
|
let loggedOut = false;
|
|
848
|
+
/** Set when the relayer 401s the handshake, cleared on the next successful
|
|
849
|
+
* connect. While set, requests fail fast with `UNAUTHORIZED_FAILURE` rather
|
|
850
|
+
* than parking in `pendingForward` behind a connect that cannot succeed. */
|
|
851
|
+
let credentialsRejected = false;
|
|
717
852
|
/** Resolves once a post-logout `memwal_login` has published a fresh session
|
|
718
853
|
* (or stdin closed). The server pump parks on this instead of exiting, so
|
|
719
854
|
* signing back in resumes streaming without the user restarting their MCP
|
|
@@ -723,6 +858,55 @@ pendingLines = []) {
|
|
|
723
858
|
let reconnectAttempt = 0;
|
|
724
859
|
let reconnectPromise = null;
|
|
725
860
|
let firstConnectDone = false;
|
|
861
|
+
/** Wall-clock instant before which the relayer told us (HTTP 429) not to
|
|
862
|
+
* open another session. Both retry loops floor their backoff at this, so a
|
|
863
|
+
* throttle survives across the separate `reconnect()` calls that would
|
|
864
|
+
* otherwise each start from a fresh 500ms. 0 = not throttled. */
|
|
865
|
+
let throttledUntilMs = 0;
|
|
866
|
+
/** One "we are being throttled" note per throttle episode. A sustained cap
|
|
867
|
+
* would otherwise print a line per retry cycle for as long as it lasts. */
|
|
868
|
+
let throttleNoticed = false;
|
|
869
|
+
/** Why the last handshake attempt failed, and when the run of failures
|
|
870
|
+
* started. Kept so a request that ages out while buffered can say what
|
|
871
|
+
* it was actually waiting on instead of a generic "unavailable" — the
|
|
872
|
+
* user-visible half of WALM-618, where the bridge retried in silence and
|
|
873
|
+
* a `remember` looked like it was just slow. Cleared on every success. */
|
|
874
|
+
let lastHandshakeError = null;
|
|
875
|
+
let handshakeFailingSince = null;
|
|
876
|
+
/** Identifies one "I need a session" episode, and stays the same across
|
|
877
|
+
* every retry inside it. Sent on each handshake as `x-memwal-connect-id`.
|
|
878
|
+
*
|
|
879
|
+
* Without it the relayer sees N unrelated sub-second requests and cannot
|
|
880
|
+
* tell they were one user waiting: its per-request id is minted fresh each
|
|
881
|
+
* time, so a four-minute wait leaves no four-minute anything in its logs,
|
|
882
|
+
* only a scatter of fast 401s and 429s. With it, one grep returns the
|
|
883
|
+
* whole episode and the span between first and last line IS the wait.
|
|
884
|
+
* Cleared on success, so the next outage starts a new episode. */
|
|
885
|
+
let connectEpisodeId = null;
|
|
886
|
+
const connectHeaders = () => {
|
|
887
|
+
connectEpisodeId ??= randomUUID();
|
|
888
|
+
return {
|
|
889
|
+
// `x-memwal-client` is only known after `initialize`, and a first
|
|
890
|
+
// connect happens before stdin is even wired — so on the attempt
|
|
891
|
+
// that matters most the relayer has no idea who is calling. The
|
|
892
|
+
// bridge's own version it always knows, and "which build is
|
|
893
|
+
// looping" is the actionable half anyway.
|
|
894
|
+
"x-memwal-bridge-version": MEMWAL_MCP_VERSION,
|
|
895
|
+
...extraHeaders,
|
|
896
|
+
"x-memwal-connect-id": connectEpisodeId,
|
|
897
|
+
};
|
|
898
|
+
};
|
|
899
|
+
const endConnectEpisode = () => {
|
|
900
|
+
connectEpisodeId = null;
|
|
901
|
+
};
|
|
902
|
+
const noteHandshakeFailure = (reason) => {
|
|
903
|
+
lastHandshakeError = reason;
|
|
904
|
+
handshakeFailingSince ??= Date.now();
|
|
905
|
+
};
|
|
906
|
+
const clearHandshakeFailure = () => {
|
|
907
|
+
lastHandshakeError = null;
|
|
908
|
+
handshakeFailingSince = null;
|
|
909
|
+
};
|
|
726
910
|
/** Bumped when the live SSE session is aborted or replaced so queued
|
|
727
911
|
* POSTs captured against a stale URL are skipped (reconnect replays). */
|
|
728
912
|
let sessionEpoch = 0;
|
|
@@ -736,7 +920,34 @@ pendingLines = []) {
|
|
|
736
920
|
function postIfCurrent(epoch, postUrl, msg, postCreds) {
|
|
737
921
|
if (epoch !== sessionEpoch)
|
|
738
922
|
return Promise.resolve(0);
|
|
739
|
-
|
|
923
|
+
// Marked before the await, not after. Once the POST is issued we can
|
|
924
|
+
// no longer prove the call did not run, so it must keep the full call
|
|
925
|
+
// timeout even if the socket then fails — failing it early is what
|
|
926
|
+
// invites a duplicate `remember`.
|
|
927
|
+
if (msg.id !== undefined && msg.id !== null) {
|
|
928
|
+
const tracked = inFlight.get(msg.id);
|
|
929
|
+
if (tracked)
|
|
930
|
+
tracked.sent = true;
|
|
931
|
+
}
|
|
932
|
+
return postMessage(postUrl, msg, postCreds, extraHeaders).then((status) => {
|
|
933
|
+
// 404 is the relayer saying that session does not exist, so the
|
|
934
|
+
// message was discarded rather than routed: it provably did not
|
|
935
|
+
// run, and the request goes back to being never-sent.
|
|
936
|
+
//
|
|
937
|
+
// This is not a corner case. `sse` is not cleared when the server
|
|
938
|
+
// pump hits EOF — it keeps pointing at the dead session until a
|
|
939
|
+
// reconnect succeeds — so a call arriving during a mid-session
|
|
940
|
+
// outage takes the POST path, posts to the stale URL, and gets
|
|
941
|
+
// exactly this. Without the reset it would be marked sent and
|
|
942
|
+
// wait out the full call timeout, which is the WALM-618 symptom
|
|
943
|
+
// the stalled deadline exists to remove.
|
|
944
|
+
if (status === 404 && msg.id !== undefined && msg.id !== null) {
|
|
945
|
+
const tracked = inFlight.get(msg.id);
|
|
946
|
+
if (tracked)
|
|
947
|
+
tracked.sent = false;
|
|
948
|
+
}
|
|
949
|
+
return status;
|
|
950
|
+
});
|
|
740
951
|
}
|
|
741
952
|
let credentialGeneration = 0;
|
|
742
953
|
let activeCredentialGeneration = 0;
|
|
@@ -845,6 +1056,7 @@ pendingLines = []) {
|
|
|
845
1056
|
// would otherwise keep pushing the deadline out.
|
|
846
1057
|
const inFlight = new Map();
|
|
847
1058
|
const callTimeoutMs = resolveCallTimeoutMs();
|
|
1059
|
+
const stalledHandshakeMs = resolveStalledHandshakeMs(callTimeoutMs);
|
|
848
1060
|
/** IDs of `tools/list` requests we've forwarded to the relayer. When
|
|
849
1061
|
* the response comes back through the SSE pump, we splice in the
|
|
850
1062
|
* locally-served `memwal_login` + `memwal_logout` tools so the MCP
|
|
@@ -855,6 +1067,28 @@ pendingLines = []) {
|
|
|
855
1067
|
* a reconnect that swapped credentials mid-flight cannot label the answer
|
|
856
1068
|
* with a relayer it did not come from. */
|
|
857
1069
|
const pendingHealthIds = new Map();
|
|
1070
|
+
/** Record a 429 and tell the user ONCE that this is a rate limit rather
|
|
1071
|
+
* than a broken config — the distinction the MCP host cannot make for
|
|
1072
|
+
* itself, and the reason a throttled bridge reads as "memwal is down". */
|
|
1073
|
+
function noteThrottled(err) {
|
|
1074
|
+
throttledUntilMs = Math.max(throttledUntilMs, Date.now() + err.retryAfterMs);
|
|
1075
|
+
log.warn("bridge.relayer_throttled", {
|
|
1076
|
+
retryAfterMs: err.retryAfterMs,
|
|
1077
|
+
serverAdvised: err.serverAdvised,
|
|
1078
|
+
err: err.message,
|
|
1079
|
+
});
|
|
1080
|
+
if (throttleNoticed)
|
|
1081
|
+
return;
|
|
1082
|
+
throttleNoticed = true;
|
|
1083
|
+
const seconds = Math.max(1, Math.round(err.retryAfterMs / 1000));
|
|
1084
|
+
note(`Relayer is rate-limiting new MCP sessions (HTTP 429). This is a ` +
|
|
1085
|
+
`throttle, not a bad config or bad credentials — retrying in ` +
|
|
1086
|
+
`${seconds}s. Memory tools start working once a session opens.` +
|
|
1087
|
+
(err.serverAdvised
|
|
1088
|
+
? ""
|
|
1089
|
+
: " The cap counts concurrent sessions, so closing another " +
|
|
1090
|
+
"MCP client using this account clears it sooner."));
|
|
1091
|
+
}
|
|
858
1092
|
/** Reopen the SSE stream and replay outstanding `inFlight` requests against
|
|
859
1093
|
* the fresh session. All callers await the SAME reconnect via
|
|
860
1094
|
* `reconnectPromise` — returning immediately while one is active would let
|
|
@@ -877,9 +1111,12 @@ pendingLines = []) {
|
|
|
877
1111
|
catch {
|
|
878
1112
|
/* already dead */
|
|
879
1113
|
}
|
|
1114
|
+
// `immediate` (a login credential swap) still bypasses everything,
|
|
1115
|
+
// throttle included: that path trades a possible extra 429 for a
|
|
1116
|
+
// re-login that doesn't stall behind a multi-second floor.
|
|
880
1117
|
const backoff = immediate
|
|
881
1118
|
? 0
|
|
882
|
-
: Math.min(15_000, 500 * Math.pow(2, reconnectAttempt));
|
|
1119
|
+
: Math.max(Math.min(15_000, 500 * Math.pow(2, reconnectAttempt)), throttledUntilMs - Date.now());
|
|
883
1120
|
reconnectAttempt += 1;
|
|
884
1121
|
log.warn("bridge.reconnecting", {
|
|
885
1122
|
reason,
|
|
@@ -902,16 +1139,20 @@ pendingLines = []) {
|
|
|
902
1139
|
});
|
|
903
1140
|
});
|
|
904
1141
|
}
|
|
1142
|
+
// Hoisted so the catch below can ask whether the credentials moved
|
|
1143
|
+
// since the handshake that threw was opened — a 401 for a key a
|
|
1144
|
+
// login has already replaced says nothing about the new one.
|
|
1145
|
+
let openingGeneration = credentialGeneration;
|
|
905
1146
|
try {
|
|
906
1147
|
while (!stdinClosed && !loggedOut) {
|
|
907
|
-
|
|
1148
|
+
openingGeneration = credentialGeneration;
|
|
908
1149
|
const openingCreds = creds;
|
|
909
1150
|
// Signed out between the guard above and here: the key is
|
|
910
1151
|
// gone, so there is nothing to authorize a new session
|
|
911
1152
|
// with. Belt-and-braces against `loggedOut` alone.
|
|
912
1153
|
if (!openingCreds)
|
|
913
1154
|
break;
|
|
914
|
-
const candidate = await openSseStream(openingCreds.relayerUrl, openingCreds,
|
|
1155
|
+
const candidate = await openSseStream(openingCreds.relayerUrl, openingCreds, connectHeaders());
|
|
915
1156
|
// Logout can also land mid-handshake. Same reasoning as the
|
|
916
1157
|
// stale-credentials case below, except there is no new key
|
|
917
1158
|
// to reconnect with — drop the session and stop.
|
|
@@ -937,6 +1178,22 @@ pendingLines = []) {
|
|
|
937
1178
|
firstConnectDone = true;
|
|
938
1179
|
activeCredentialGeneration = openingGeneration;
|
|
939
1180
|
reconnectAttempt = 0;
|
|
1181
|
+
throttledUntilMs = 0;
|
|
1182
|
+
throttleNoticed = false;
|
|
1183
|
+
clearHandshakeFailure();
|
|
1184
|
+
endConnectEpisode();
|
|
1185
|
+
// An accepted handshake retires any earlier rejection —
|
|
1186
|
+
// `memwal_login` re-registers a key and lands here, not on
|
|
1187
|
+
// the background connect's publish path, so clearing only
|
|
1188
|
+
// there would leave every later request refused (WALM-602).
|
|
1189
|
+
credentialsRejected = false;
|
|
1190
|
+
// Usually a no-op: the pump is past `firstConnect` by the
|
|
1191
|
+
// time anything reconnects. It is NOT a no-op when this is
|
|
1192
|
+
// the first session to exist at all — a login after the
|
|
1193
|
+
// saved key was rejected — and without it the pump would
|
|
1194
|
+
// stay parked until the background connect's backoff
|
|
1195
|
+
// happened to expire, with nothing draining this stream.
|
|
1196
|
+
signalFirstConnect();
|
|
940
1197
|
log.info("bridge.reconnected", {
|
|
941
1198
|
relayer: openingCreds.relayerUrl,
|
|
942
1199
|
replayCount: inFlight.size,
|
|
@@ -1012,9 +1269,34 @@ pendingLines = []) {
|
|
|
1012
1269
|
}
|
|
1013
1270
|
}
|
|
1014
1271
|
catch (err) {
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1272
|
+
const reason = err instanceof Error ? err.message : String(err);
|
|
1273
|
+
// A 429 must outlive this call: reconnect() gives up after one
|
|
1274
|
+
// failure, so without recording the deadline the next caller
|
|
1275
|
+
// would compute a fresh sub-second backoff and hammer the cap.
|
|
1276
|
+
if (err instanceof RelayerThrottledError)
|
|
1277
|
+
noteThrottled(err);
|
|
1278
|
+
noteHandshakeFailure(reason);
|
|
1279
|
+
log.error("bridge.reconnect_failed", { err: reason });
|
|
1280
|
+
// A key revoked mid-session lands here rather than on the
|
|
1281
|
+
// background connect, and retrying cannot fix it either. Answer
|
|
1282
|
+
// the replay set now instead of letting the orphan sweeper hand
|
|
1283
|
+
// back "connection dropped, please retry" four minutes later —
|
|
1284
|
+
// the same WALM-602 symptom, one path over.
|
|
1285
|
+
//
|
|
1286
|
+
// This does not strand the transient case: the server pump is
|
|
1287
|
+
// still looping on the dead stream, so it keeps driving
|
|
1288
|
+
// `reconnect()` on its own growing backoff, and the publish
|
|
1289
|
+
// above clears the flag the moment a handshake is accepted.
|
|
1290
|
+
//
|
|
1291
|
+
// It also takes precedence over the stalled-handshake deadline
|
|
1292
|
+
// added here: a 401 is terminal until the user logs in again,
|
|
1293
|
+
// so there is nothing to gain by waiting out even the short
|
|
1294
|
+
// deadline for it.
|
|
1295
|
+
if (err instanceof RelayerUnauthorizedError &&
|
|
1296
|
+
openingGeneration === credentialGeneration) {
|
|
1297
|
+
credentialsRejected = true;
|
|
1298
|
+
failInFlightRequests("credentials rejected", UNAUTHORIZED_FAILURE);
|
|
1299
|
+
}
|
|
1018
1300
|
// Try again on the next stdin message rather than spinning.
|
|
1019
1301
|
}
|
|
1020
1302
|
})();
|
|
@@ -1340,11 +1622,12 @@ pendingLines = []) {
|
|
|
1340
1622
|
id: msg.id,
|
|
1341
1623
|
result: buildLocalInitializeResult(msg.params),
|
|
1342
1624
|
});
|
|
1343
|
-
// Signed out: the local reply is the
|
|
1344
|
-
//
|
|
1345
|
-
//
|
|
1346
|
-
//
|
|
1347
|
-
if
|
|
1625
|
+
// Signed out, or the key was rejected: the local reply is the
|
|
1626
|
+
// whole answer. Both refuse further down instead of
|
|
1627
|
+
// forwarding, so do not arm a suppression that no reply can
|
|
1628
|
+
// ever consume — a leaked arm would swallow the real reply
|
|
1629
|
+
// if the client later reuses this id.
|
|
1630
|
+
if (loggedOut || credentialsRejected)
|
|
1348
1631
|
return;
|
|
1349
1632
|
// Expect exactly one upstream reply to drop for this forward.
|
|
1350
1633
|
expectSuppressedReply(msg.id);
|
|
@@ -1427,6 +1710,16 @@ pendingLines = []) {
|
|
|
1427
1710
|
failRequest(msg, "signed out", SIGNED_OUT_FAILURE);
|
|
1428
1711
|
return;
|
|
1429
1712
|
}
|
|
1713
|
+
// Credentials rejected: same reasoning as `loggedOut` above.
|
|
1714
|
+
// `memwal_login` returned locally already, so refusing here
|
|
1715
|
+
// still leaves the user a way back in. Falling through would
|
|
1716
|
+
// park the request in `pendingForward` behind a connect loop
|
|
1717
|
+
// that keeps 401ing, and the client would learn nothing until
|
|
1718
|
+
// the orphan sweeper's deadline — the WALM-602 symptom.
|
|
1719
|
+
if (credentialsRejected) {
|
|
1720
|
+
failRequest(msg, "credentials rejected", UNAUTHORIZED_FAILURE);
|
|
1721
|
+
return;
|
|
1722
|
+
}
|
|
1430
1723
|
// Fill in the configured default namespace for memory tool
|
|
1431
1724
|
// calls that didn't pass one. Mutates msg in place so the
|
|
1432
1725
|
// forwarded — and any replayed-on-reconnect — copy carries it.
|
|
@@ -1643,19 +1936,80 @@ pendingLines = []) {
|
|
|
1643
1936
|
});
|
|
1644
1937
|
}
|
|
1645
1938
|
}
|
|
1646
|
-
function failPendingForward(reason) {
|
|
1939
|
+
function failPendingForward(reason, opts = {}) {
|
|
1647
1940
|
const queued = pendingForward.splice(0, pendingForward.length);
|
|
1648
1941
|
for (const msg of queued)
|
|
1649
|
-
failRequest(msg, reason);
|
|
1942
|
+
failRequest(msg, reason, opts);
|
|
1650
1943
|
}
|
|
1651
1944
|
/** Close out requests that reached `inFlight` but were never delivered a
|
|
1652
1945
|
* reply — the shutdown counterpart of `failPendingForward`. Used when stdin
|
|
1653
1946
|
* closes mid-flush: items already shifted out of `pendingForward` and posted
|
|
1654
1947
|
* to a torn-down session would otherwise hang, since no upstream reply is
|
|
1655
1948
|
* coming. Idempotent w.r.t. ids already closed out (delete-then-skip). */
|
|
1656
|
-
function failInFlightRequests(reason) {
|
|
1949
|
+
function failInFlightRequests(reason, opts = {}) {
|
|
1657
1950
|
for (const entry of Array.from(inFlight.values()))
|
|
1658
|
-
failRequest(entry.msg, reason);
|
|
1951
|
+
failRequest(entry.msg, reason, opts);
|
|
1952
|
+
}
|
|
1953
|
+
/** How long the current run of handshake failures has lasted, or `null`
|
|
1954
|
+
* when the last attempt succeeded. */
|
|
1955
|
+
function handshakeStalledForMs(now) {
|
|
1956
|
+
return handshakeFailingSince === null ? null : now - handshakeFailingSince;
|
|
1957
|
+
}
|
|
1958
|
+
/** How a request that just hit its deadline should be explained.
|
|
1959
|
+
*
|
|
1960
|
+
* Three cases, where the old wording only described one. A request for
|
|
1961
|
+
* which no POST was ever issued never left this process: no session ever
|
|
1962
|
+
* carried it. Telling the user the connection "dropped before the result
|
|
1963
|
+
* came back" points them at the relayer, or at a half-written memory, when
|
|
1964
|
+
* the truth is that nothing was attempted (WALM-618 — the bridge retried
|
|
1965
|
+
* in silence, so a `remember` looked like it was merely slow for minutes).
|
|
1966
|
+
* And a buffered request is only evidence of a *failing* connection when
|
|
1967
|
+
* one is actually failing: post-connect, `handleClientLine` also buffers
|
|
1968
|
+
* behind an in-progress flush, on a perfectly healthy session.
|
|
1969
|
+
*
|
|
1970
|
+
* Pure: the caller is responsible for dropping a `neverSent` message from
|
|
1971
|
+
* the buffer, which it must, or a later flush would run the call we just
|
|
1972
|
+
* said never ran. */
|
|
1973
|
+
function expiredRequestReport(neverSent, now) {
|
|
1974
|
+
if (!neverSent) {
|
|
1975
|
+
return {
|
|
1976
|
+
reason: "no response",
|
|
1977
|
+
opts: {
|
|
1978
|
+
toolText: "❌ Walrus Memory did not answer this call. The connection to " +
|
|
1979
|
+
"the relayer dropped before the result came back. Please retry.",
|
|
1980
|
+
errorMessage: "Walrus Memory call was orphaned by a reconnect and never " +
|
|
1981
|
+
"received a response. Please retry.",
|
|
1982
|
+
},
|
|
1983
|
+
};
|
|
1984
|
+
}
|
|
1985
|
+
const stalledForMs = handshakeStalledForMs(now);
|
|
1986
|
+
if (stalledForMs === null) {
|
|
1987
|
+
// Buffered on a live session (a flush was draining) and still
|
|
1988
|
+
// unsent at the deadline. Nothing ran, but nothing is failing
|
|
1989
|
+
// either — do not invent an outage.
|
|
1990
|
+
return {
|
|
1991
|
+
reason: "never left the queue",
|
|
1992
|
+
opts: {
|
|
1993
|
+
toolText: "❌ Walrus Memory never sent this call — it was still queued when " +
|
|
1994
|
+
"the call timed out, so nothing was stored. Please retry.",
|
|
1995
|
+
errorMessage: "Walrus Memory call was still queued when it timed out and was " +
|
|
1996
|
+
"never sent. Please retry.",
|
|
1997
|
+
},
|
|
1998
|
+
};
|
|
1999
|
+
}
|
|
2000
|
+
const waited = `for ${Math.round(stalledForMs / 1000)}s`;
|
|
2001
|
+
const detail = lastHandshakeError ? ` Last handshake error: ${lastHandshakeError}` : "";
|
|
2002
|
+
return {
|
|
2003
|
+
reason: "never reached the relayer",
|
|
2004
|
+
opts: {
|
|
2005
|
+
toolText: `❌ Walrus Memory could not reach the relayer — the MCP connection has ` +
|
|
2006
|
+
`been failing ${waited}, so this call never ran and nothing was stored.` +
|
|
2007
|
+
`${detail} Check the relayer, or run \`memwal-mcp login\` if the delegate ` +
|
|
2008
|
+
`key was revoked, then retry.`,
|
|
2009
|
+
errorMessage: `Walrus Memory call never reached the relayer: the MCP connection has ` +
|
|
2010
|
+
`been failing ${waited}.${detail}`,
|
|
2011
|
+
},
|
|
2012
|
+
};
|
|
1659
2013
|
}
|
|
1660
2014
|
/** Close out requests whose deadline has passed. Without this a reply lost
|
|
1661
2015
|
* on a still-healthy stream leaves its request tracked forever. */
|
|
@@ -1663,21 +2017,54 @@ pendingLines = []) {
|
|
|
1663
2017
|
const sweepIntervalMs = Math.min(MAX_ORPHAN_SWEEP_MS, Math.max(500, Math.floor(callTimeoutMs / 3)));
|
|
1664
2018
|
const orphanSweeper = setInterval(() => {
|
|
1665
2019
|
const now = Date.now();
|
|
2020
|
+
const handshakeStalledMs = handshakeStalledForMs(now);
|
|
1666
2021
|
for (const [id, entry] of Array.from(inFlight.entries())) {
|
|
1667
2022
|
const elapsedMs = now - entry.startedAt;
|
|
1668
|
-
|
|
2023
|
+
// Never sent = no POST was ever issued for it. Read from the entry
|
|
2024
|
+
// rather than from `pendingForward` membership, which only ever
|
|
2025
|
+
// covered the cold-start window.
|
|
2026
|
+
const neverSent = entry.sent !== true;
|
|
2027
|
+
// A call we can prove never left this process, while no working
|
|
2028
|
+
// connection has existed for `stalledHandshakeMs`, does not need
|
|
2029
|
+
// the full `callTimeoutMs`: it cannot have executed, so answering
|
|
2030
|
+
// it early is a no-op the agent can safely retry. Anything that
|
|
2031
|
+
// was actually sent — or that is queued on a healthy session —
|
|
2032
|
+
// keeps the full deadline, because there a premature failure
|
|
2033
|
+
// invites a duplicate write.
|
|
2034
|
+
const handshakeIsStalled = handshakeStalledMs !== null && handshakeStalledMs > stalledHandshakeMs;
|
|
2035
|
+
const deadlineMs = neverSent && handshakeIsStalled ? stalledHandshakeMs : callTimeoutMs;
|
|
2036
|
+
if (elapsedMs <= deadlineMs)
|
|
1669
2037
|
continue;
|
|
2038
|
+
// Built only for what actually expired: this walks `pendingForward`
|
|
2039
|
+
// and interpolates two user-facing strings, and the branch it
|
|
2040
|
+
// serves fires roughly never.
|
|
2041
|
+
const { reason, opts } = expiredRequestReport(neverSent, now);
|
|
2042
|
+
// Drop it from the buffer before answering: a later successful
|
|
2043
|
+
// connect would otherwise flush and actually run the call we are
|
|
2044
|
+
// about to report as never having run.
|
|
2045
|
+
//
|
|
2046
|
+
// `initialize` is the exception, as everywhere else here: it was
|
|
2047
|
+
// answered locally and is only buffered so the relayer session can
|
|
2048
|
+
// still negotiate capabilities, and `failRequest` writes it no
|
|
2049
|
+
// reply. Removing it would silently cost that negotiation on the
|
|
2050
|
+
// first connect after a long outage.
|
|
2051
|
+
if (neverSent && entry.msg.method !== "initialize") {
|
|
2052
|
+
// Only buffered requests are in there at all now, so the miss
|
|
2053
|
+
// is ordinary — `splice(-1, 1)` would drop the last entry.
|
|
2054
|
+
const queuedAt = pendingForward.indexOf(entry.msg);
|
|
2055
|
+
if (queuedAt >= 0)
|
|
2056
|
+
pendingForward.splice(queuedAt, 1);
|
|
2057
|
+
}
|
|
1670
2058
|
log.warn("bridge.call_orphaned", {
|
|
1671
2059
|
id,
|
|
1672
2060
|
method: entry.msg.method ?? null,
|
|
1673
2061
|
elapsedMs,
|
|
2062
|
+
deadlineMs,
|
|
2063
|
+
reason,
|
|
2064
|
+
handshakeStalledMs,
|
|
2065
|
+
lastHandshakeError,
|
|
1674
2066
|
});
|
|
1675
|
-
failRequest(entry.msg,
|
|
1676
|
-
toolText: "❌ Walrus Memory did not answer this call. The connection to " +
|
|
1677
|
-
"the relayer dropped before the result came back. Please retry.",
|
|
1678
|
-
errorMessage: "Walrus Memory call was orphaned by a reconnect and never " +
|
|
1679
|
-
"received a response. Please retry.",
|
|
1680
|
-
});
|
|
2067
|
+
failRequest(entry.msg, reason, opts);
|
|
1681
2068
|
}
|
|
1682
2069
|
}, sweepIntervalMs);
|
|
1683
2070
|
// unref so the sweeper never holds the event loop open during shutdown.
|
|
@@ -1691,8 +2078,11 @@ pendingLines = []) {
|
|
|
1691
2078
|
// NOT fail buffered requests between attempts: a request that the next
|
|
1692
2079
|
// attempt would serve must not get a spurious "unavailable" error (that
|
|
1693
2080
|
// would also drop the auth-required hot-handoff request). Buffered tool
|
|
1694
|
-
// calls stay queued and are flushed on the first SUCCESS
|
|
1695
|
-
//
|
|
2081
|
+
// calls stay queued and are flushed on the first SUCCESS. They are no
|
|
2082
|
+
// longer left to the client's own per-tool timeout, though: once no
|
|
2083
|
+
// connection has existed for `stalledHandshakeMs` the orphan sweeper
|
|
2084
|
+
// answers them (see `DEFAULT_STALLED_HANDSHAKE_MS`), because a call that
|
|
2085
|
+
// was never sent cannot have executed and silence helps nobody. On
|
|
1696
2086
|
// shutdown `failPendingForward` closes out anything still open. `initialize`
|
|
1697
2087
|
// is answered locally, so it never blocks and is only forwarded, not failed.
|
|
1698
2088
|
// First connect stays on `openSseStream` + `flushPendingForward` so a
|
|
@@ -1716,7 +2106,7 @@ pendingLines = []) {
|
|
|
1716
2106
|
}
|
|
1717
2107
|
const openingGeneration = credentialGeneration;
|
|
1718
2108
|
try {
|
|
1719
|
-
const candidate = await openSseStream(creds.relayerUrl, creds,
|
|
2109
|
+
const candidate = await openSseStream(creds.relayerUrl, creds, connectHeaders());
|
|
1720
2110
|
if (stdinClosed) {
|
|
1721
2111
|
candidate.abort();
|
|
1722
2112
|
break;
|
|
@@ -1736,6 +2126,14 @@ pendingLines = []) {
|
|
|
1736
2126
|
sessionEpoch += 1;
|
|
1737
2127
|
sse = candidate;
|
|
1738
2128
|
firstConnectDone = true;
|
|
2129
|
+
throttledUntilMs = 0;
|
|
2130
|
+
throttleNoticed = false;
|
|
2131
|
+
clearHandshakeFailure();
|
|
2132
|
+
endConnectEpisode();
|
|
2133
|
+
// A key that was rejected earlier is evidently accepted now
|
|
2134
|
+
// (re-registered, or the 401 was a transient WAF/rate-limit
|
|
2135
|
+
// false positive), so stop failing requests fast.
|
|
2136
|
+
credentialsRejected = false;
|
|
1739
2137
|
note(`Connected. Bridging stdio MCP ↔ ${creds.relayerUrl}`);
|
|
1740
2138
|
log.info("bridge.connected", { relayer: creds.relayerUrl });
|
|
1741
2139
|
signalFirstConnect();
|
|
@@ -1744,11 +2142,51 @@ pendingLines = []) {
|
|
|
1744
2142
|
}
|
|
1745
2143
|
catch (err) {
|
|
1746
2144
|
const reason = err instanceof Error ? err.message : String(err);
|
|
2145
|
+
noteHandshakeFailure(reason);
|
|
1747
2146
|
attempt += 1;
|
|
2147
|
+
if (err instanceof RelayerThrottledError)
|
|
2148
|
+
noteThrottled(err);
|
|
1748
2149
|
log.error("bridge.initial_connect_failed", { err: reason, attempt });
|
|
2150
|
+
// A rejected key will not start working on the next attempt, so
|
|
2151
|
+
// answer everything queued instead of leaving it to the orphan
|
|
2152
|
+
// sweeper. Keep looping: `memwal_login` re-registers a key on
|
|
2153
|
+
// this same relayer, and whichever path publishes the next
|
|
2154
|
+
// session clears the flag and resumes normal buffering.
|
|
2155
|
+
//
|
|
2156
|
+
// Do NOT signal `firstConnect` here. It means "a session
|
|
2157
|
+
// exists", and none does — the pump would fall straight through
|
|
2158
|
+
// its `break; // stdin closed before we ever connected`, win the
|
|
2159
|
+
// shutdown race in `runBridge`, and `markStdinClosed()` would
|
|
2160
|
+
// disable the very `reconnect()` the error text tells the user
|
|
2161
|
+
// to reach via `memwal_login`. `failPendingForward` writes to
|
|
2162
|
+
// stdout directly and needs no pump.
|
|
2163
|
+
//
|
|
2164
|
+
// Same staleness test as the publish path above: a 401 for the
|
|
2165
|
+
// key a login already replaced says nothing about the new one,
|
|
2166
|
+
// and latching the flag on it would refuse every request against
|
|
2167
|
+
// a session that is live and fine.
|
|
2168
|
+
if (err instanceof RelayerUnauthorizedError &&
|
|
2169
|
+
!sse &&
|
|
2170
|
+
openingGeneration === credentialGeneration) {
|
|
2171
|
+
credentialsRejected = true;
|
|
2172
|
+
// Everything still queued never left the process, so no
|
|
2173
|
+
// upstream initialize reply will arrive to consume its arm.
|
|
2174
|
+
// `failRequest` keeps initialize arms for replies that CAN
|
|
2175
|
+
// still arrive; a leaked one here would swallow the reply to
|
|
2176
|
+
// a reused id after `memwal_login`.
|
|
2177
|
+
for (const msg of pendingForward) {
|
|
2178
|
+
if (msg.method === "initialize" && msg.id != null) {
|
|
2179
|
+
suppressUpstreamReplies.delete(msg.id);
|
|
2180
|
+
}
|
|
2181
|
+
}
|
|
2182
|
+
failPendingForward("credentials rejected", UNAUTHORIZED_FAILURE);
|
|
2183
|
+
}
|
|
1749
2184
|
if (stdinClosed)
|
|
1750
2185
|
break;
|
|
1751
|
-
|
|
2186
|
+
// Floor the geometric backoff at whatever throttle window is
|
|
2187
|
+
// still open. Without this the first retry after a 429 lands
|
|
2188
|
+
// 500ms later, well inside the interval the relayer asked for.
|
|
2189
|
+
const backoff = Math.max(Math.min(15_000, 500 * Math.pow(2, attempt - 1)), throttledUntilMs - Date.now());
|
|
1752
2190
|
await new Promise((resolve) => {
|
|
1753
2191
|
const timer = setTimeout(() => {
|
|
1754
2192
|
unregister();
|
package/dist/bridge.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EACH,iBAAiB,EACjB,qBAAqB,EACrB,4BAA4B,GAC/B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AACtF,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EACH,WAAW,EACX,kBAAkB,EAClB,wBAAwB,GAE3B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAgBlD;;;;0DAI0D;AAC1D,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC5B,iBAAiB;IACjB,sBAAsB;IACtB,eAAe;IACf,gBAAgB;IAChB,gBAAgB;CACnB,CAAC,CAAC;AAEH;;;;;;;;;;GAUG;AACH;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,oBAAoB,CAChC,MAAgD,EAChD,UAAkB;IAElB,2EAA2E;IAC3E,kDAAkD;IAClD,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO;IAC3B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;QAAE,OAAO;IAC3C,MAAM,KAAK,GAAI,MAAM,CAAC,OAA8C,CAAC,IAAI,CACrE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAC1D,CAAC;IACF,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO;IACrD,MAAM,QAAQ,GAAG,eAAe,CAAC;IACjC,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QAClC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,WAAW,UAAU,EAAE,CAAC;QACvD,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,YAAY,UAAU,EAAE,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,GAAe,EAAE,SAAkB;IACrE,IAAI,CAAC,SAAS;QAAE,OAAO,GAAG,CAAC;IAC3B,IAAI,GAAG,CAAC,MAAM,KAAK,YAAY;QAAE,OAAO,GAAG,CAAC;IAC5C,MAAM,MAAM,GAAG,GAAG,CAAC,MAEJ,CAAC;IAChB,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAClF,OAAO,GAAG,CAAC;IACf,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;IAC/B,+CAA+C;IAC/C,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,GAAG,CAAC;IACrE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC3B,OAAO,GAAG,CAAC;AACf,CAAC;AAED;;;oCAGoC;AACpC,MAAM,sBAAsB,GAAG;IAC3B;QACI,IAAI,EAAE,cAAc;QACpB,WAAW,EACP,8MAA8M;QAClN,WAAW,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;YACd,oBAAoB,EAAE,KAAK;SAC9B;KACJ;IACD;QACI,IAAI,EAAE,eAAe;QACrB,WAAW,EACP,0VAA0V;QAC9V,WAAW,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;YACd,oBAAoB,EAAE,KAAK;SAC9B;KACJ;CACJ,CAAC;AAEF;;mEAEmE;AACnE,MAAM,2BAA2B,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;AACxF,MAAM,yBAAyB,GAAG,YAAY,CAAC;AAE/C;;;;;;;;6DAQ6D;AAC7D,SAAS,0BAA0B,CAAC,MAAe;IAM/C,MAAM,SAAS,GAAI,MAAoD,EAAE,eAAe,CAAC;IACzF,MAAM,eAAe,GACjB,OAAO,SAAS,KAAK,QAAQ,IAAI,2BAA2B,CAAC,GAAG,CAAC,SAAS,CAAC;QACvE,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,yBAAyB,CAAC;IACpC,OAAO;QACH,eAAe;QACf,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE;QAC9C,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,kBAAkB,EAAE;QAC3D,wEAAwE;QACxE,sEAAsE;QACtE,sEAAsE;QACtE,oEAAoE;QACpE,YAAY,EAAE,sBAAsB;KACvC,CAAC;AACN,CAAC;AAED;;wDAEwD;AACxD,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAE5E;;sEAEsE;AACtE,MAAM,eAAe,GACjB,qHAAqH,CAAC;AAE1H;yEACyE;AACzE,MAAM,kBAAkB,GAAG;IACvB,QAAQ,EAAE,eAAe;IACzB,YAAY,EAAE,eAAe;CACvB,CAAC;AAEX;;;;;;;;;;0DAU0D;AAC1D,MAAM,gBAAgB,GAAG;IACrB,KAAK,EAAE;QACH,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAChE,GAAG,sBAAsB;KAC5B;CACJ,CAAC;AAEF,MAAM,oBAAoB,GAAG,KAAK,CAAC;AAEnC;;;;;;;0BAO0B;AAC1B,SAAS,gBAAgB;IACrB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;IAC/C,IAAI,CAAC,GAAG;QAAE,OAAO,MAAM,CAAC;IACxB,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACtB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG;QAAE,OAAO,MAAM,CAAC;IAClD,OAAO,CAAC,CAAC;AACb,CAAC;AAED;;;+BAG+B;AAC/B,MAAM,sBAAsB,GAAG,OAAO,CAAC;AAEvC;0EAC0E;AAC1E,MAAM,uBAAuB,GAAG,sBAAsB,GAAG,MAAM,CAAC;AAEhE,0DAA0D;AAC1D,MAAM,mBAAmB,GAAG,KAAK,CAAC;AAElC,kEAAkE;AAClE,MAAM,mBAAmB,GAAG,KAAK,CAAC;AAElC;;gFAEgF;AAChF,SAAS,oBAAoB;IACzB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC;IACnD,IAAI,CAAC,GAAG;QAAE,OAAO,uBAAuB,CAAC;IACzC,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACtB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,mBAAmB;QAAE,OAAO,uBAAuB,CAAC;IACnF,OAAO,CAAC,CAAC;AACb,CAAC;AA0BD,SAAS,cAAc,CACnB,KAAwB,EACxB,QAAgC,EAAE;IAElC,OAAO;QACH,aAAa,EAAE,UAAU,KAAK,CAAC,kBAAkB,EAAE;QACnD,qBAAqB,EAAE,KAAK,CAAC,SAAS;QACtC,GAAG,KAAK;KACX,CAAC;AACN,CAAC;AAED,KAAK,UAAU,aAAa,CACxB,UAAkB,EAClB,KAAwB,EACxB,eAAuC,EAAE;IAEzC,MAAM,gBAAgB,GAAG,uBAAuB,EAAE,CAAC;IACnD,wEAAwE;IACxE,0EAA0E;IAC1E,yEAAyE;IACzE,mEAAmE;IACnE,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC3D,MAAM,uBAAuB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAExD,MAAM,GAAG,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,cAAc,CAAC;IAC5D,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IAEzC,0EAA0E;IAC1E,wEAAwE;IACxE,2EAA2E;IAC3E,uEAAuE;IACvE,uEAAuE;IACvE,4EAA4E;IAC5E,uEAAuE;IACvE,wEAAwE;IACxE,oCAAoC;IACpC,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,MAAM,eAAe,GAAG,GAAS,EAAE;QAC/B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC7B,eAAe,GAAG,IAAI,CAAC;YACvB,GAAG,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC;YACzE,UAAU,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;IACL,CAAC,CAAC;IACF,yEAAyE;IACzE,6EAA6E;IAC7E,IAAI,YAAY,CAAC,OAAO;QAAE,eAAe,EAAE,CAAC;;QACvC,YAAY,CAAC,gBAAgB,CAAC,OAAO,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7E,MAAM,iBAAiB,GAAG,GAAS,EAAE,CACjC,YAAY,CAAC,mBAAmB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAE/D,IAAI,IAAc,CAAC;IACnB,IAAI,CAAC;QACD,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YACpB,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACL,GAAG,cAAc,CAAC,KAAK,EAAE,YAAY,CAAC;gBACtC,MAAM,EAAE,mBAAmB;gBAC3B,eAAe,EAAE,UAAU;aAC9B;YACD,MAAM,EAAE,UAAU,CAAC,MAAM;SAC5B,CAAC,CAAC;IACP,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,iBAAiB,EAAE,CAAC;QACpB,IAAI,eAAe,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CACX,qDAAqD,gBAAgB,KAAK;gBACtE,IAAI,GAAG,4DAA4D,CAC1E,CAAC;QACN,CAAC;QACD,MAAM,GAAG,CAAC;IACd,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACtB,iBAAiB,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QACtC,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QACzC,kEAAkE;QAClE,kEAAkE;QAClE,gEAAgE;QAChE,iEAAiE;QACjE,mEAAmE;QACnE,+DAA+D;QAC/D,iEAAiE;QACjE,2DAA2D;QAC3D,MAAM,IAAI,KAAK,CACX,yDAAyD;YACrD,yDAAyD;YACzD,qDAAqD;YACrD,kBAAkB,SAAS,EAAE,sBAAsB;YACnD,uDAAuD,CAC9D,CAAC;IACN,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACtB,iBAAiB,EAAE,CAAC;QACpB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CACX,4DAA4D;YACxD,GAAG,UAAU,CAAC,CAAC,CAAC,iBAAiB,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAC3F,CAAC;IACN,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACzB,iBAAiB,EAAE,CAAC;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CACX,oDAAoD,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAC1F,CAAC;IACN,CAAC;IAED,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IAClD,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QAC/B,iBAAiB,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,IAAI,KAAK,CACX,2DAA2D,EAAE,oBAAoB,CACpF,CAAC;IACN,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;IACrC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,IAAI,YAAY,GAAG,EAAE,CAAC;IACtB,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,WAAW,GAAkB,IAAI,CAAC;IACtC,MAAM,MAAM,GAAiB,EAAE,CAAC;IAEhC,IAAI,aAAa,GAAiB,IAAI,CAAC;IACvC,SAAS,IAAI;QACT,MAAM,CAAC,GAAG,aAAa,CAAC;QACxB,IAAI,CAAC,EAAE,CAAC;YACJ,aAAa,GAAG,IAAI,CAAC;YACrB,CAAC,EAAE,CAAC;QACR,CAAC;IACL,CAAC;IAED,SAAS,SAAS,CAAC,EAAc;QAC7B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChB,IAAI,EAAE,CAAC;IACX,CAAC;IAED,wEAAwE;IACxE,oEAAoE;IACpE,yEAAyE;IACzE,wEAAwE;IACxE,qEAAqE;IACrE,wEAAwE;IACxE,wEAAwE;IACxE,wEAAwE;IACxE,qBAAqB;IACrB,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IACzC,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC;IACrE,IAAI,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC;QACxC,IAAI,MAAM,GAAG,aAAa,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACvD,GAAG,CAAC,IAAI,CAAC,gCAAgC,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;YACtE,UAAU,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;IACL,CAAC,EAAE,eAAe,CAAC,CAAC;IACpB,yEAAyE;IACzE,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC;IAEnB,yCAAyC;IACzC,MAAM,IAAI,GAAG,CAAC,KAAK,IAAI,EAAE;QACrB,IAAI,CAAC;YACD,OAAO,IAAI,EAAE,CAAC;gBACV,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5C,IAAI,IAAI;oBAAE,MAAM;gBAChB,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACzB,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC/C,IAAI,GAAW,CAAC;gBAChB,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;oBACtC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;oBAChC,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAChC,MAAM,KAAK,GAAG,KAAK;yBACd,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;wBACpC,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;yBACvB,IAAI,EAAE,CAAC;oBACZ,MAAM,IAAI,GAAG,KAAK;yBACb,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;yBACpC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;yBACtD,IAAI,CAAC,IAAI,CAAC,CAAC;oBAChB,IAAI,KAAK,KAAK,UAAU,IAAI,CAAC,gBAAgB,EAAE,CAAC;wBAC5C,YAAY,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;wBAC3B,gBAAgB,GAAG,IAAI,CAAC;wBACxB,IAAI,EAAE,CAAC;wBACP,SAAS;oBACb,CAAC;oBACD,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC;wBAC1C,IAAI,CAAC;4BACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAe,CAAC;4BAC9C,SAAS,CAAC,MAAM,CAAC,CAAC;wBACtB,CAAC;wBAAC,MAAM,CAAC;4BACL,GAAG,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;wBACtE,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC7D,WAAW,GAAG,GAAG,CAAC;gBAClB,6DAA6D;gBAC7D,4DAA4D;gBAC5D,4DAA4D;gBAC5D,mDAAmD;gBACnD,IAAI,GAAG,KAAK,YAAY,IAAI,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;oBACrD,GAAG,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;gBACxD,CAAC;qBAAM,CAAC;oBACJ,GAAG,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;gBACrD,CAAC;YACL,CAAC;QACL,CAAC;gBAAS,CAAC;YACP,aAAa,CAAC,QAAQ,CAAC,CAAC;YACxB,WAAW,GAAG,IAAI,CAAC;YACnB,mCAAmC;YACnC,IAAI,EAAE,CAAC;QACX,CAAC;IACL,CAAC,CAAC,EAAE,CAAC;IAEL,qEAAqE;IACrE,OAAO,CAAC,gBAAgB,EAAE,CAAC;QACvB,IAAI,WAAW,EAAE,CAAC;YACd,iBAAiB,EAAE,CAAC;YACpB,UAAU,CAAC,KAAK,EAAE,CAAC;YACnB,IAAI,eAAe,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CACX,qDAAqD,gBAAgB,KAAK;oBACtE,IAAI,GAAG,6DAA6D;oBACpE,gCAAgC,CACvC,CAAC;YACN,CAAC;YACD,MAAM,IAAI,KAAK,CACX,kEAAkE,WAAW,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAC5G,CAAC;QACN,CAAC;QACD,MAAM,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,uEAAuE;IACvE,wEAAwE;IACxE,UAAU;IACV,iBAAiB,EAAE,CAAC;IAEpB,MAAM,IAAI,GAA8B;QACpC,KAAK,CAAC,IAAI;YACN,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO;oBAAE,OAAO,EAAE,KAAK,EAAE,SAAkB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;gBAChF,IAAI,WAAW;oBAAE,OAAO,EAAE,KAAK,EAAE,SAAkB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;gBAClE,MAAM,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC;YACxD,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QACnD,CAAC;KACJ,CAAC;IAEF,wEAAwE;IACxE,4CAA4C;IAC5C,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC;QAC3C,CAAC,CAAC,YAAY;QACd,CAAC,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC;IAEzD,OAAO;QACH,OAAO;QACP,IAAI;QACJ,KAAK,EAAE,GAAG,EAAE;YACR,UAAU,CAAC,KAAK,EAAE,CAAC;YACnB,KAAK,IAAI,CAAC,CAAC,0BAA0B;QACzC,CAAC;KACJ,CAAC;AACN,CAAC;AAED,KAAK,UAAU,WAAW,CACtB,OAAe,EACf,GAAe,EACf,KAAwB,EACxB,eAAuC,EAAE;IAEzC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE;QAC9B,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACL,GAAG,cAAc,CAAC,KAAK,EAAE,YAAY,CAAC;YACtC,cAAc,EAAE,kBAAkB;SACrC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;KAC5B,CAAC,CAAC;IACH,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/B,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,CAAC;AACvB,CAAC;AAED,SAAS,cAAc,CAAC,MAA8B;IAClD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3B,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACvC,GAAG,IAAI,KAAK,CAAC;YACb,IAAI,EAAU,CAAC;YACf,OAAO,CAAC,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnC,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACjD,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gBACxB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;oBAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YACtC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QACzC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3C,wEAAwE;QACxE,uEAAuE;QACvE,wEAAwE;QACxE,4DAA4D;QAC5D,sEAAsE;QACtE,sEAAsE;QACtE,oDAAoD;QACpD,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAe;IACvC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACrD,CAAC;AAED;;;uEAGuE;AACvE,KAAK,UAAU,gBAAgB,CAC3B,MAAoB,EACpB,aAA0D;IAE1D,MAAM,OAAO,GAAG,qBAAqB,CACjC;QACI,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,SAAS,EAAE,qBAAqB,EAAE;QAClC,WAAW,EAAE,KAAK;KACrB,EACD,KAAK,EAAE,KAAK,EAAE,EAAE;QACZ,MAAM,aAAa,CAAC,KAAK,CAAC,CAAC;QAC3B,GAAG,CAAC,IAAI,CAAC,6BAA6B,EAAE;YACpC,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,eAAe,EAAE,KAAK,CAAC,eAAe;SACzC,CAAC,CAAC;QACH,kEAAkE;QAClE,oEAAoE;QACpE,gEAAgE;QAChE,kBAAkB,CAAC;YACf,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,uBAAuB;YAC/B,MAAM,EAAE;gBACJ,KAAK,EAAE,MAAM;gBACb,MAAM,EAAE,YAAY;gBACpB,IAAI,EAAE,wBAAwB,CAAC;oBAC3B,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,eAAe,EAAE,KAAK,CAAC,eAAe;oBACtC,eAAe,EAAE,SAAS,EAAE;iBAC/B,CAAC;aACL;SACJ,CAAC,CAAC;IACP,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;QACJ,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,GAAG,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QAChD,kBAAkB,CAAC;YACf,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,uBAAuB;YAC/B,MAAM,EAAE;gBACJ,KAAK,EAAE,SAAS;gBAChB,MAAM,EAAE,YAAY;gBACpB,IAAI,EAAE,2CAA2C,GAAG,yEAAyE;aAChI;SACJ,CAAC,CAAC;IACP,CAAC,CACJ,CAAC;IAEF,MAAM,cAAc,GAAG,IAAI,OAAO,CAAS,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CACrD,UAAU,CACN,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC,EACjD,oBAAoB,CACvB,CAAC,KAAK,EAAE,EAAW,CACvB,CAAC;IAEF,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACD,GAAG,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC;IAC5D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO;YACH,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,4BAA4B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;SACvF,CAAC;IACN,CAAC;IAED,OAAO;QACH,OAAO,EAAE,KAAK;QACd,uEAAuE;QACvE,qEAAqE;QACrE,uEAAuE;QACvE,gEAAgE;QAChE,IAAI,EAAE,WAAW,CAAC;YACd,GAAG;YACH,eAAe,EAAE,SAAS,EAAE;YAC5B,QAAQ,EAAE,SAAS,EAAE,KAAK,IAAI;SACjC,CAAC;KACL,CAAC;AACN,CAAC;AAED;wEACwE;AACxE,SAAS,iBAAiB;IACtB,IAAI,CAAC;QACD,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;QAC7B,GAAG,CAAC,IAAI,CAAC,8BAA8B,EAAE;YACrC,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,IAAI;YACxC,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,IAAI;SAC7C,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YACvB,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,6DAA6D;gBAC7D,gEAAgE;gBAChE,gEAAgE;gBAChE,YAAY;gBACZ,IAAI,EACA,6CAA6C,SAAS,EAAE,eAAe;oBACvE,yEAAyE;oBACzE,iCAAiC;aACxC,CAAC;QACN,CAAC;QACD,OAAO;YACH,OAAO,EAAE,KAAK;YACd,IAAI,EAAE;gBACF,4CAA4C,OAAO,CAAC,WAAW,qHAAqH;gBACpL,GAAG,CAAC,OAAO,CAAC,YAAY;oBACpB,CAAC,CAAC;wBACI,EAAE;wBACF,oCAAoC,OAAO,CAAC,YAAY,oBAAoB;4BACxE,sEAAsE;4BACtE,uCAAuC;qBAC9C;oBACH,CAAC,CAAC,EAAE,CAAC;gBACT,EAAE;gBACF,uOAAuO;gBACvO,EAAE;gBACF,6EAA6E;aAChF,CAAC,IAAI,CAAC,IAAI,CAAC;SACf,CAAC;IACN,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO;YACH,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,oBAAoB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;SAC/E,CAAC;IACN,CAAC;AACL,CAAC;AAED;;;;;;;;;;GAUG;AACH,IAAI,mBAAmB,GAA4B,IAAI,CAAC;AAExD,oEAAoE;AACpE,MAAM,UAAU,uBAAuB,CAAC,IAAsB;IAC1D,mBAAmB,GAAG,IAAI,CAAC;AAC/B,CAAC;AAED,2EAA2E;AAC3E,SAAS,uBAAuB;IAC5B,MAAM,OAAO,GAAG,mBAAmB,CAAC;IACpC,mBAAmB,GAAG,IAAI,CAAC;IAC3B,OAAO,OAAO,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,wBAAwB,CAAC,KAAiB;IAC/C,MAAM,MAAM,GAAG,KAAK,CAAC,MAA2C,CAAC;IACjE,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;QAAE,OAAO;IAEpF,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAiD,CAAC;IAChF,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO;IAE9E,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAC;IAC1C,IAAI,CAAC,OAAO;QAAE,OAAO;IAErB,KAAK,CAAC,IAAI,GAAG,GAAG,kBAAkB,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC3D,GAAG,CAAC,IAAI,CAAC,sCAAsC,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;AACvF,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC3B,YAA+B,EAC/B,MAAoB;AACpB;;;;yEAIyE;AACzE,eAAyB,EAAE;IAE3B,IAAI,CAAC,iBAAiB,YAAY,CAAC,UAAU,KAAK,CAAC,CAAC;IACpD,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE;QAC1B,OAAO,EAAE,YAAY,CAAC,UAAU;QAChC,SAAS,EAAE,YAAY,CAAC,SAAS;QACjC,QAAQ,EAAE,YAAY,CAAC,eAAe;KACzC,CAAC,CAAC;IAEH,0EAA0E;IAC1E,4EAA4E;IAC5E,yEAAyE;IACzE,4EAA4E;IAC5E,yEAAyE;IACzE,kEAAkE;IAClE,IAAI,GAAG,GAA8B,IAAI,CAAC;IAE1C;;;;oEAIgE;IAChE,IAAI,KAAK,GAA6B,YAAY,CAAC;IACnD;;;;;;;;;OASG;IACH,MAAM,YAAY,GAA2B,EAAE,GAAG,qBAAqB,EAAE,EAAE,CAAC;IAE5E,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB;;;;;0BAKsB;IACtB,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB;;;kEAG8D;IAC9D,IAAI,UAAU,GAAyB,IAAI,CAAC;IAC5C,IAAI,iBAAiB,GAAwB,IAAI,CAAC;IAClD,IAAI,gBAAgB,GAAG,CAAC,CAAC;IACzB,IAAI,gBAAgB,GAAyB,IAAI,CAAC;IAClD,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B;6EACyE;IACzE,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,8EAA8E;IAC9E,IAAI,SAAS,GAAqB,OAAO,CAAC,OAAO,EAAE,CAAC;IACpD,SAAS,WAAW,CAAI,EAAoB;QACxC,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACnC,SAAS,GAAG,GAAG,CAAC,IAAI,CAChB,GAAG,EAAE,CAAC,SAAS,EACf,GAAG,EAAE,CAAC,SAAS,CAClB,CAAC;QACF,OAAO,GAAG,CAAC;IACf,CAAC;IACD,SAAS,aAAa,CAClB,KAAa,EACb,OAAe,EACf,GAAe,EACf,SAA4B;QAE5B,IAAI,KAAK,KAAK,YAAY;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACtD,OAAO,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,oBAAoB,GAAG,CAAC,CAAC;IAC7B,IAAI,0BAA0B,GAAG,CAAC,CAAC;IAEnC;;;2EAGuE;IACvE,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAc,CAAC;IAClD;;;;8CAI0C;IAC1C,SAAS,YAAY,CAAC,EAAc;QAChC,IAAI,WAAW,EAAE,CAAC;YACd,EAAE,EAAE,CAAC;YACL,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;QACpB,CAAC;QACD,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5B,OAAO,GAAG,EAAE,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC;IACD,SAAS,eAAe;QACpB,IAAI,WAAW;YAAE,OAAO;QACxB,WAAW,GAAG,IAAI,CAAC;QACnB,mEAAmE;QACnE,wBAAwB;QACxB,iBAAiB,EAAE,EAAE,CAAC;QACtB,iBAAiB,GAAG,IAAI,CAAC;QACzB,KAAK,MAAM,EAAE,IAAI,mBAAmB,EAAE,CAAC;YACnC,IAAI,CAAC;gBACD,EAAE,EAAE,CAAC;YACT,CAAC;YAAC,MAAM,CAAC;gBACL,8CAA8C;YAClD,CAAC;QACL,CAAC;QACD,mBAAmB,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;IAED;;;;;sEAKkE;IAClE,MAAM,cAAc,GAAiB,EAAE,CAAC;IAExC;;;8BAG0B;IAC1B,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB;;;oEAGgE;IAChE,IAAI,kBAAkB,GAAe,GAAG,EAAE,GAAE,CAAC,CAAC;IAC9C,IAAI,oBAAoB,GAAG,KAAK,CAAC;IACjC,MAAM,YAAY,GAAG,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,EAAE;QACzC,kBAAkB,GAAG,GAAG,EAAE;YACtB,IAAI,oBAAoB;gBAAE,OAAO;YACjC,oBAAoB,GAAG,IAAI,CAAC;YAC5B,CAAC,EAAE,CAAC;QACR,CAAC,CAAC;IACN,CAAC,CAAC,CAAC;IAEH;;;;;;;;;;;;2EAYuE;IACvE,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAA2B,CAAC;IAEnE;;;;2DAIuD;IACvD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAmB,CAAC;IAEhD,MAAM,qBAAqB,GAAG,CAAC,EAAmB,EAAQ,EAAE;QACxD,uBAAuB,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,uBAAuB,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAChF,CAAC,CAAC;IACF;8EAC0E;IAC1E,MAAM,sBAAsB,GAAG,CAAC,EAAmB,EAAW,EAAE;QAC5D,MAAM,CAAC,GAAG,uBAAuB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC;YAAE,uBAAuB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;;YAC1C,uBAAuB,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC;IAEF,uEAAuE;IACvE,qEAAqE;IACrE,kEAAkE;IAClE,qDAAqD;IACrD,yEAAyE;IACzE,iDAAiD;IACjD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkC,CAAC;IAC3D,MAAM,aAAa,GAAG,oBAAoB,EAAE,CAAC;IAE7C;;;mDAG+C;IAC/C,MAAM,cAAc,GAAG,IAAI,GAAG,EAAmB,CAAC;IAElD;;;8CAG0C;IAC1C,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAA2B,CAAC;IAE5D;;;;;;;;0CAQsC;IACtC,KAAK,UAAU,SAAS,CAAC,MAAc,EAAE,SAAS,GAAG,KAAK;QACtD,IAAI,WAAW,IAAI,SAAS;YAAE,OAAO;QACrC,IAAI,gBAAgB;YAAE,OAAO,gBAAgB,CAAC;QAE9C,gBAAgB,GAAG,CAAC,KAAK,IAAI,EAAE;YAC3B,YAAY,IAAI,CAAC,CAAC;YAClB,IAAI,CAAC;gBACD,GAAG,EAAE,KAAK,EAAE,CAAC;YACjB,CAAC;YAAC,MAAM,CAAC;gBACL,kBAAkB;YACtB,CAAC;YACD,MAAM,OAAO,GAAG,SAAS;gBACrB,CAAC,CAAC,CAAC;gBACH,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC;YAC5D,gBAAgB,IAAI,CAAC,CAAC;YACtB,GAAG,CAAC,IAAI,CAAC,qBAAqB,EAAE;gBAC5B,MAAM;gBACN,SAAS,EAAE,OAAO;gBAClB,OAAO,EAAE,gBAAgB;aAC5B,CAAC,CAAC;YACH,oEAAoE;YACpE,iEAAiE;YACjE,mEAAmE;YACnE,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBACd,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;oBAChC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;wBAC1B,UAAU,EAAE,CAAC;wBACb,OAAO,EAAE,CAAC;oBACd,CAAC,EAAE,OAAO,CAAC,CAAC;oBACZ,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;oBAChB,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,EAAE;wBACjC,YAAY,CAAC,KAAK,CAAC,CAAC;wBACpB,OAAO,EAAE,CAAC;oBACd,CAAC,CAAC,CAAC;gBACP,CAAC,CAAC,CAAC;YACP,CAAC;YACD,IAAI,CAAC;gBACD,OAAO,CAAC,WAAW,IAAI,CAAC,SAAS,EAAE,CAAC;oBAChC,MAAM,iBAAiB,GAAG,oBAAoB,CAAC;oBAC/C,MAAM,YAAY,GAAG,KAAK,CAAC;oBAC3B,0DAA0D;oBAC1D,uDAAuD;oBACvD,mDAAmD;oBACnD,IAAI,CAAC,YAAY;wBAAE,MAAM;oBACzB,MAAM,SAAS,GAAG,MAAM,aAAa,CACjC,YAAY,CAAC,UAAU,EACvB,YAAY,EACZ,YAAY,CACf,CAAC;oBAEF,4DAA4D;oBAC5D,2DAA2D;oBAC3D,iDAAiD;oBACjD,IAAI,SAAS,EAAE,CAAC;wBACZ,SAAS,CAAC,KAAK,EAAE,CAAC;wBAClB,GAAG,CAAC,IAAI,CAAC,uCAAuC,EAAE,EAAE,CAAC,CAAC;wBACtD,MAAM;oBACV,CAAC;oBAED,4DAA4D;oBAC5D,4DAA4D;oBAC5D,6DAA6D;oBAC7D,uCAAuC;oBACvC,IAAI,iBAAiB,KAAK,oBAAoB,EAAE,CAAC;wBAC7C,SAAS,CAAC,KAAK,EAAE,CAAC;wBAClB,GAAG,CAAC,IAAI,CAAC,8CAA8C,EAAE;4BACrD,iBAAiB;4BACjB,oBAAoB;yBACvB,CAAC,CAAC;wBACH,SAAS;oBACb,CAAC;oBAED,YAAY,IAAI,CAAC,CAAC;oBAClB,GAAG,GAAG,SAAS,CAAC;oBAChB,gBAAgB,GAAG,IAAI,CAAC;oBACxB,0BAA0B,GAAG,iBAAiB,CAAC;oBAC/C,gBAAgB,GAAG,CAAC,CAAC;oBACrB,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE;wBAC3B,OAAO,EAAE,YAAY,CAAC,UAAU;wBAChC,WAAW,EAAE,QAAQ,CAAC,IAAI;wBAC1B,oDAAoD;wBACpD,qDAAqD;wBACrD,kDAAkD;wBAClD,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;4BAC3D,EAAE;4BACF,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,IAAI,IAAI;yBACnC,CAAC,CAAC;qBACN,CAAC,CAAC;oBACH,iEAAiE;oBACjE,gEAAgE;oBAChE,8DAA8D;oBAC9D,qCAAqC;oBACrC,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;wBACvD,uDAAuD;wBACvD,8CAA8C;wBAC9C,sDAAsD;wBACtD,yDAAyD;wBACzD,mDAAmD;wBACnD,mDAAmD;wBACnD,IAAI,SAAS,IAAI,iBAAiB,KAAK,oBAAoB,EAAE,CAAC;4BAC1D,GAAG,CAAC,IAAI,CAAC,iCAAiC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;4BACpD,MAAM;wBACV,CAAC;wBACD,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;wBACtB,IAAI,CAAC;4BACD,oDAAoD;4BACpD,sDAAsD;4BACtD,uDAAuD;4BACvD,qDAAqD;4BACrD,kDAAkD;4BAClD,uDAAuD;4BACvD,oDAAoD;4BACpD,qDAAqD;4BACrD,8CAA8C;4BAC9C,IAAI,GAAG,CAAC,MAAM,KAAK,YAAY,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;gCAChD,uBAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gCACvC,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;4BAClC,CAAC;4BACD,MAAM,KAAK,GAAG,YAAY,CAAC;4BAC3B,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;4BAC5B,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,CAClC,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,CAAC,CACnD,CAAC;4BACF,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;wBAChD,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACX,GAAG,CAAC,KAAK,CAAC,sBAAsB,EAAE;gCAC9B,EAAE;gCACF,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;6BACxD,CAAC,CAAC;wBACP,CAAC;oBACL,CAAC;oBACD,yDAAyD;oBACzD,2DAA2D;oBAC3D,wCAAwC;oBACxC,IAAI,iBAAiB,KAAK,oBAAoB,EAAE,CAAC;wBAC7C,SAAS,CAAC,KAAK,EAAE,CAAC;wBAClB,wDAAwD;wBACxD,uDAAuD;wBACvD,sDAAsD;wBACtD,uDAAuD;wBACvD,wDAAwD;wBACxD,yDAAyD;wBACzD,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC;4BAC/B,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,KAAK,YAAY,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;gCAC5D,uBAAuB,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;4BACjD,CAAC;wBACL,CAAC;wBACD,SAAS;oBACb,CAAC;oBACD,MAAM;gBACV,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,GAAG,CAAC,KAAK,CAAC,yBAAyB,EAAE;oBACjC,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACxD,CAAC,CAAC;gBACH,4DAA4D;YAChE,CAAC;QACL,CAAC,CAAC,EAAE,CAAC;QAEL,IAAI,CAAC;YACD,MAAM,gBAAgB,CAAC;QAC3B,CAAC;gBAAS,CAAC;YACP,gBAAgB,GAAG,IAAI,CAAC;QAC5B,CAAC;IACL,CAAC;IAED,KAAK,UAAU,gBAAgB,CAAC,SAA4B;QACxD,qEAAqE;QACrE,sEAAsE;QACtE,+DAA+D;QAC/D,MAAM,iBAAiB,GAAG,KAAK,EAAE,SAAS,IAAI,IAAI,CAAC;QACnD,MAAM,cAAc,GAAG,iBAAiB,KAAK,SAAS,CAAC,SAAS,CAAC;QAEjE,wEAAwE;QACxE,wEAAwE;QACxE,mDAAmD;QACnD,IAAI,cAAc,EAAE,CAAC;YACjB,IAAI,CAAC;gBACD,GAAG,EAAE,KAAK,EAAE,CAAC;YACjB,CAAC;YAAC,MAAM,CAAC;gBACL,kBAAkB;YACtB,CAAC;YACD,oEAAoE;YACpE,kEAAkE;YAClE,mEAAmE;YACnE,2DAA2D;YAC3D,+DAA+D;YAC/D,gEAAgE;YAChE,8DAA8D;YAC9D,2DAA2D;YAC3D,kEAAkE;YAClE,gEAAgE;YAChE,MAAM,KAAK,GAAG,CAAC,GAAe,EAAQ,EAAE;gBACpC,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI;oBAAE,OAAO,CAAC,qCAAqC;gBACjE,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC9B,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChC,IAAI,GAAG,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;oBAC9B,OAAO;gBACX,CAAC;gBACD,uBAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACvC,mEAAmE;gBACnE,gEAAgE;gBAChE,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBAAE,OAAO;gBACrC,yDAAyD;gBACzD,2DAA2D;gBAC3D,8DAA8D;gBAC9D,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACzB,kBAAkB,CAAC;oBACf,OAAO,EAAE,KAAK;oBACd,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,KAAK,EAAE;wBACH,IAAI,EAAE,CAAC,KAAK;wBACZ,OAAO,EACH,oFAAoF;qBAC3F;iBACJ,CAAC,CAAC;YACP,CAAC,CAAC;YACF,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACzE,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjB,KAAK,MAAM,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC;gBAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAClF,CAAC;aAAM,CAAC;YACJ,2DAA2D;YAC3D,2DAA2D;YAC3D,sCAAsC;YACtC,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC;YAC5D,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;YAC1B,cAAc,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;QACrC,CAAC;QAED,KAAK,GAAG,SAAS,CAAC;QAClB,oBAAoB,IAAI,CAAC,CAAC;QAC1B,gBAAgB,GAAG,CAAC,CAAC;QACrB,wEAAwE;QACxE,sEAAsE;QACtE,+BAA+B;QAC/B,SAAS,GAAG,KAAK,CAAC;QAClB,GAAG,CAAC,IAAI,CAAC,4BAA4B,EAAE;YACnC,iBAAiB;YACjB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,QAAQ,EAAE,KAAK,CAAC,eAAe;SAClC,CAAC,CAAC;QACH,MAAM,SAAS,CAAC,2BAA2B,EAAE,IAAI,CAAC,CAAC;QACnD,sEAAsE;QACtE,+DAA+D;QAC/D,IAAI,0BAA0B,KAAK,oBAAoB,EAAE,CAAC;YACtD,MAAM,SAAS,CAAC,uCAAuC,EAAE,IAAI,CAAC,CAAC;QACnE,CAAC;QACD,kEAAkE;QAClE,iBAAiB,EAAE,EAAE,CAAC;QACtB,iBAAiB,GAAG,IAAI,CAAC;QACzB,UAAU,GAAG,IAAI,CAAC;QAElB,oEAAoE;QACpE,sEAAsE;QACtE,qDAAqD;QACrD,uBAAuB,CAAC;YACpB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,eAAe,EAAE,SAAS,EAAE;SAC/B,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;;;OAWG;IACH,SAAS,iBAAiB;QACtB,IAAI,SAAS;YAAE,OAAO;QACtB,SAAS,GAAG,IAAI,CAAC;QACjB,UAAU,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YACvC,iBAAiB,GAAG,OAAO,CAAC;QAChC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC;YACD,GAAG,EAAE,KAAK,EAAE,CAAC;QACjB,CAAC;QAAC,MAAM,CAAC;YACL,kBAAkB;QACtB,CAAC;QACD,GAAG,GAAG,IAAI,CAAC;QACX,mEAAmE;QACnE,qEAAqE;QACrE,qEAAqE;QACrE,oEAAoE;QACpE,KAAK,GAAG,IAAI,CAAC;QACb,uEAAuE;QACvE,wEAAwE;QACxE,0CAA0C;QAC1C,oBAAoB,IAAI,CAAC,CAAC;QAC1B,sEAAsE;QACtE,oEAAoE;QACpE,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;YACrD,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,EAAE,kBAAkB,CAAC,CAAC;QAC7D,CAAC;QACD,QAAQ,CAAC,KAAK,EAAE,CAAC;QACjB,KAAK,MAAM,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;YAChE,WAAW,CAAC,GAAG,EAAE,YAAY,EAAE,kBAAkB,CAAC,CAAC;QACvD,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,wEAAwE;IACxE,yEAAyE;IACzE,MAAM,UAAU,GAAG,CAAC,KAAK,IAAI,EAAE;QAC3B,wEAAwE;QACxE,kEAAkE;QAClE,uEAAuE;QACvE,0DAA0D;QAC1D,MAAM,YAAY,CAAC;QACnB,OAAO,CAAC,WAAW,EAAE,CAAC;YAClB,IAAI,CAAC;gBACD,kEAAkE;gBAClE,mEAAmE;gBACnE,+DAA+D;gBAC/D,iEAAiE;gBACjE,6DAA6D;gBAC7D,6DAA6D;gBAC7D,2DAA2D;gBAC3D,4DAA4D;gBAC5D,kEAAkE;gBAClE,MAAM,MAAM,GAAG,GAAgC,CAAC;gBAChD,IAAI,CAAC,MAAM,EAAE,CAAC;oBACV,2DAA2D;oBAC3D,6DAA6D;oBAC7D,2DAA2D;oBAC3D,4DAA4D;oBAC5D,0CAA0C;oBAC1C,oDAAoD;oBACpD,2DAA2D;oBAC3D,4DAA4D;oBAC5D,0DAA0D;oBAC1D,iDAAiD;oBACjD,IAAI,SAAS,EAAE,CAAC;wBACZ,MAAO,UAAmC,CAAC;wBAC3C,SAAS;oBACb,CAAC;oBACD,MAAM,CAAC,wCAAwC;gBACnD,CAAC;gBACD,OAAO,IAAI,EAAE,CAAC;oBACV,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;oBACjD,IAAI,IAAI;wBAAE,MAAM;oBAChB,2DAA2D;oBAC3D,4DAA4D;oBAC5D,4DAA4D;oBAC5D,4DAA4D;oBAC5D,mDAAmD;oBACnD,8DAA8D;oBAC9D,6DAA6D;oBAC7D,IACI,KAAK;wBACL,KAAK,CAAC,EAAE,KAAK,SAAS;wBACtB,KAAK,CAAC,EAAE,KAAK,IAAI;wBACjB,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC;wBACzD,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC,EAClC,CAAC;wBACC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;wBAC1B,SAAS;oBACb,CAAC;oBACD,uDAAuD;oBACvD,4DAA4D;oBAC5D,uCAAuC;oBACvC,IACI,KAAK;wBACL,KAAK,CAAC,EAAE,KAAK,SAAS;wBACtB,KAAK,CAAC,EAAE,KAAK,IAAI;wBACjB,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC;wBACzD,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAC5B,CAAC;wBACC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;wBAC1B,SAAS;oBACb,CAAC;oBACD,wDAAwD;oBACxD,0DAA0D;oBAC1D,4DAA4D;oBAC5D,yDAAyD;oBACzD,oBAAoB;oBACpB,MAAM,cAAc,GAChB,KAAK,IAAI,KAAK,CAAC,EAAE,KAAK,SAAS,IAAI,KAAK,CAAC,EAAE,KAAK,IAAI;wBAChD,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM;wBACpC,CAAC,CAAC,SAAS,CAAC;oBAEpB,oDAAoD;oBACpD,IACI,KAAK;wBACL,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC;wBACzD,KAAK,CAAC,EAAE,KAAK,SAAS;wBACtB,KAAK,CAAC,EAAE,KAAK,IAAI,EACnB,CAAC;wBACC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAC9B,CAAC;oBACD,oDAAoD;oBACpD,sDAAsD;oBACtD,iDAAiD;oBACjD,IACI,KAAK;wBACL,KAAK,CAAC,EAAE,KAAK,SAAS;wBACtB,KAAK,CAAC,EAAE,KAAK,IAAI;wBACjB,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;wBAC5B,KAAK,CAAC,MAAM;wBACZ,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,EAClC,CAAC;wBACC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;wBAChC,MAAM,MAAM,GAAG,KAAK,CAAC,MAA6B,CAAC;wBACnD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;4BAC9B,sDAAsD;4BACtD,gDAAgD;4BAChD,iDAAiD;4BACjD,iDAAiD;4BACjD,MAAM,QAAQ,GAAI,MAAM,CAAC,KAA6B,CAAC,MAAM,CACzD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAC7C,CAAC;4BACF,MAAM,CAAC,KAAK,GAAG,CAAC,GAAG,QAAQ,EAAE,GAAG,sBAAsB,CAAC,CAAC;wBAC5D,CAAC;oBACL,CAAC;oBACD,IACI,KAAK;wBACL,KAAK,CAAC,EAAE,KAAK,SAAS;wBACtB,KAAK,CAAC,EAAE,KAAK,IAAI;wBACjB,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;wBAC9B,KAAK,CAAC,MAAM;wBACZ,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,EAClC,CAAC;wBACC,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;wBAC/C,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;wBAClC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;4BACxB,oBAAoB,CAChB,KAAK,CAAC,MAAkD,EACxD,OAAO,CACV,CAAC;wBACN,CAAC;oBACL,CAAC;oBACD,yDAAyD;oBACzD,8DAA8D;oBAC9D,uDAAuD;oBACvD,4DAA4D;oBAC5D,wBAAwB;oBACxB,IAAI,cAAc,KAAK,YAAY,EAAE,CAAC;wBAClC,wBAAwB,CAAC,KAAK,CAAC,CAAC;oBACpC,CAAC;oBACD,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBAC9B,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,GAAG,CAAC,KAAK,CAAC,0BAA0B,EAAE;oBAClC,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACxD,CAAC,CAAC;YACP,CAAC;YACD,iEAAiE;YACjE,gEAAgE;YAChE,mEAAmE;YACnE,+DAA+D;YAC/D,IAAI,WAAW;gBAAE,MAAM;YACvB,gEAAgE;YAChE,qEAAqE;YACrE,kEAAkE;YAClE,sEAAsE;YACtE,4DAA4D;YAC5D,+DAA+D;YAC/D,mEAAmE;YACnE,MAAM,SAAS,CAAC,iBAAiB,CAAC,CAAC;QACvC,CAAC;IACL,CAAC,CAAC,EAAE,CAAC;IAEL,qEAAqE;IACrE,uEAAuE;IACvE,sEAAsE;IACtE,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAQ,EAAE;QAC5C,KAAK,CAAC,KAAK,IAAI,EAAE;YACb,IAAI,CAAC;gBACD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAe,CAAC;gBAE3C,gEAAgE;gBAChE,+DAA+D;gBAC/D,4DAA4D;gBAC5D,+DAA+D;gBAC/D,gDAAgD;gBAChD,IAAI,GAAG,CAAC,MAAM,KAAK,YAAY,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;oBAChD,MAAM,UAAU,GAAG,4BAA4B,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBAC5D,IAAI,UAAU,EAAE,CAAC;wBACb,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC;wBAC3D,GAAG,CAAC,IAAI,CAAC,qBAAqB,EAAE;4BAC5B,UAAU,EAAE,UAAU,CAAC,IAAI;4BAC3B,aAAa,EAAE,UAAU,CAAC,OAAO;yBACpC,CAAC,CAAC;oBACP,CAAC;oBACD,kBAAkB,CAAC;wBACf,OAAO,EAAE,KAAK;wBACd,EAAE,EAAE,GAAG,CAAC,EAAE;wBACV,MAAM,EAAE,0BAA0B,CAAC,GAAG,CAAC,MAAM,CAAC;qBACjD,CAAC,CAAC;oBACH,2DAA2D;oBAC3D,4DAA4D;oBAC5D,0DAA0D;oBAC1D,iDAAiD;oBACjD,IAAI,SAAS;wBAAE,OAAO;oBACtB,8DAA8D;oBAC9D,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAC9B,4DAA4D;gBAChE,CAAC;gBAED,gEAAgE;gBAChE,+DAA+D;gBAC/D,+DAA+D;gBAC/D,gEAAgE;gBAChE,kEAAkE;gBAClE,IAAI,GAAG,CAAC,MAAM,KAAK,YAAY,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;oBAChE,kBAAkB,CAAC;wBACf,OAAO,EAAE,KAAK;wBACd,EAAE,EAAE,GAAG,CAAC,EAAE;wBACV,MAAM,EAAE,gBAAgB;qBAC3B,CAAC,CAAC;oBACH,OAAO;gBACX,CAAC;gBAED,yDAAyD;gBACzD,wDAAwD;gBACxD,wDAAwD;gBACxD,4CAA4C;gBAC5C,IAAI,GAAG,CAAC,MAAM,KAAK,YAAY,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;oBAChD,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAsB,CAAC;oBACvD,yDAAyD;oBACzD,qDAAqD;oBACrD,0DAA0D;oBAC1D,0DAA0D;oBAC1D,2DAA2D;oBAC3D,uDAAuD;oBACvD,oDAAoD;oBACpD,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE;wBACzB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,IAAI;wBACzB,EAAE,EAAE,GAAG,CAAC,EAAE;qBACb,CAAC,CAAC;oBACH,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;wBACjC,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;wBAChE,kBAAkB,CAAC;4BACf,OAAO,EAAE,KAAK;4BACd,EAAE,EAAE,GAAG,CAAC,EAAE;4BACV,MAAM,EAAE;gCACJ,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;gCAC9C,OAAO,EAAE,MAAM,CAAC,OAAO;6BAC1B;yBACJ,CAAC,CAAC;wBACH,OAAO;oBACX,CAAC;oBACD,IAAI,MAAM,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;wBAClC,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;wBACnC,wDAAwD;wBACxD,uDAAuD;wBACvD,uDAAuD;wBACvD,8CAA8C;wBAC9C,IAAI,CAAC,MAAM,CAAC,OAAO;4BAAE,iBAAiB,EAAE,CAAC;wBACzC,kBAAkB,CAAC;4BACf,OAAO,EAAE,KAAK;4BACd,EAAE,EAAE,GAAG,CAAC,EAAE;4BACV,MAAM,EAAE;gCACJ,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;gCAC9C,OAAO,EAAE,MAAM,CAAC,OAAO;6BAC1B;yBACJ,CAAC,CAAC;wBACH,OAAO;oBACX,CAAC;gBACL,CAAC;gBAED,+DAA+D;gBAC/D,0DAA0D;gBAC1D,gEAAgE;gBAChE,2DAA2D;gBAC3D,oDAAoD;gBACpD,4DAA4D;gBAC5D,iEAAiE;gBACjE,gEAAgE;gBAChE,gEAAgE;gBAChE,yDAAyD;gBACzD,6DAA6D;gBAC7D,oCAAoC;gBACpC,IAAI,SAAS,EAAE,CAAC;oBACZ,WAAW,CAAC,GAAG,EAAE,YAAY,EAAE,kBAAkB,CAAC,CAAC;oBACnD,OAAO;gBACX,CAAC;gBAED,2DAA2D;gBAC3D,0DAA0D;gBAC1D,+DAA+D;gBAC/D,qBAAqB,CAAC,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;gBAE7C,yDAAyD;gBACzD,8CAA8C;gBAC9C,IAAI,GAAG,CAAC,MAAM,KAAK,YAAY,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;oBAChD,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC/B,CAAC;gBAED,yDAAyD;gBACzD,4DAA4D;gBAC5D,IACI,GAAG,CAAC,MAAM,KAAK,YAAY;oBAC3B,GAAG,CAAC,EAAE,IAAI,IAAI;oBACb,GAAG,CAAC,MAAwC,EAAE,IAAI,KAAK,eAAe,EACzE,CAAC;oBACC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC;gBACzE,CAAC;gBAED,4DAA4D;gBAC5D,yDAAyD;gBACzD,WAAW;gBACX,IACI,GAAG,CAAC,MAAM,KAAK,SAAS;oBACxB,GAAG,CAAC,EAAE,KAAK,SAAS;oBACpB,GAAG,CAAC,EAAE,KAAK,IAAI,EACjB,CAAC;oBACC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACzD,CAAC;gBACD,iEAAiE;gBACjE,iEAAiE;gBACjE,iEAAiE;gBACjE,iEAAiE;gBACjE,8DAA8D;gBAC9D,IAAI,QAAQ,IAAI,CAAC,GAAG,KAAK,IAAI,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBAClD,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACzB,GAAG,CAAC,IAAI,CAAC,6BAA6B,EAAE;wBACpC,MAAM,EAAE,GAAG,CAAC,MAAM;wBAClB,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,IAAI;qBACrB,CAAC,CAAC;oBACH,OAAO;gBACX,CAAC;gBACD,0DAA0D;gBAC1D,wDAAwD;gBACxD,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;oBACf,MAAM,SAAS,CAAC,aAAa,CAAC,CAAC;oBAC/B,OAAO;gBACX,CAAC;gBAED,0DAA0D;gBAC1D,+DAA+D;gBAC/D,2DAA2D;gBAC3D,IAAI,gBAAgB;oBAAE,MAAM,gBAAgB,CAAC;gBAC7C,IAAI,0BAA0B,KAAK,oBAAoB,EAAE,CAAC;oBACtD,MAAM,SAAS,CAAC,qCAAqC,EAAE,IAAI,CAAC,CAAC;gBACjE,CAAC;gBACD,+DAA+D;gBAC/D,6DAA6D;gBAC7D,IAAI,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC;oBACtB,WAAW,CAAC,GAAG,EAAE,YAAY,EAAE,kBAAkB,CAAC,CAAC;oBACnD,OAAO;gBACX,CAAC;gBACD,IAAI,CAAC,GAAG,EAAE,CAAC;oBACP,MAAM,SAAS,CAAC,aAAa,CAAC,CAAC;oBAC/B,OAAO;gBACX,CAAC;gBACD,MAAM,KAAK,GAAG,YAAY,CAAC;gBAC3B,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;gBAC5B,MAAM,SAAS,GAAG,KAAK,CAAC;gBACxB,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,CAClC,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,CAAC,CAChD,CAAC;gBACF,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;oBACjB,GAAG,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC9D,yDAAyD;oBACzD,uDAAuD;oBACvD,MAAM,SAAS,CAAC,UAAU,CAAC,CAAC;gBAChC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACL,GAAG,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YACxE,CAAC;QACL,CAAC,CAAC,EAAE,CAAC;IACT,CAAC,CAAC;IAEF;;;;mFAI+E;IAC/E,KAAK,UAAU,mBAAmB;QAC9B,QAAQ,GAAG,IAAI,CAAC;QAChB,IAAI,CAAC;YACD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,GAAG,CAAC,IAAI,CAAC,6BAA6B,EAAE,EAAE,KAAK,EAAE,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;YAC9E,CAAC;YACD,OAAO,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,IAAI,WAAW,EAAE,CAAC;oBACd,8DAA8D;oBAC9D,6DAA6D;oBAC7D,wDAAwD;oBACxD,MAAM;gBACV,CAAC;gBACD,8DAA8D;gBAC9D,wCAAwC;gBACxC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK;oBAAE,MAAM,CAAC,+CAA+C;gBAC1E,MAAM,GAAG,GAAG,cAAc,CAAC,KAAK,EAAG,CAAC;gBACpC,IAAI,CAAC;oBACD,MAAM,KAAK,GAAG,YAAY,CAAC;oBAC3B,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;oBAC5B,MAAM,SAAS,GAAG,KAAK,CAAC;oBACxB,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,CAClC,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,CAAC,CAChD,CAAC;oBACF,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;wBACjB,sDAAsD;wBACtD,qDAAqD;wBACrD,0DAA0D;wBAC1D,yDAAyD;wBACzD,0DAA0D;wBAC1D,wDAAwD;wBACxD,sDAAsD;wBACtD,iDAAiD;wBACjD,sDAAsD;wBACtD,wDAAwD;wBACxD,oDAAoD;wBACpD,wDAAwD;wBACxD,oDAAoD;wBACpD,sDAAsD;wBACtD,sBAAsB;wBACtB,GAAG,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;wBAC9D,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI;4BAAE,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;wBAChD,MAAM,SAAS,CAAC,UAAU,CAAC,CAAC;wBAC5B,MAAM,aAAa,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC;wBACjE,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;wBAC1B,cAAc,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;wBACtC,SAAS;oBACb,CAAC;gBACL,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACX,GAAG,CAAC,KAAK,CAAC,qBAAqB,EAAE;wBAC7B,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,IAAI;wBAClB,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;qBACxD,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;QACL,CAAC;gBAAS,CAAC;YACP,QAAQ,GAAG,KAAK,CAAC;QACrB,CAAC;QACD,wEAAwE;QACxE,yEAAyE;QACzE,oEAAoE;QACpE,IAAI,WAAW,EAAE,CAAC;YACd,kBAAkB,CAAC,iCAAiC,CAAC,CAAC;YACtD,oBAAoB,CAAC,iCAAiC,CAAC,CAAC;YACxD,OAAO;QACX,CAAC;QACD,yEAAyE;QACzE,oEAAoE;QACpE,sEAAsE;QACtE,kBAAkB,CAAC;YACf,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,kCAAkC;SAC7C,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;;;kCAW8B;IAC9B;;+CAE2C;IAC3C,SAAS,WAAW,CAChB,GAAe,EACf,MAAc,EACd,OAAqD,EAAE;QAEvD,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI;YAAE,OAAO,CAAC,mCAAmC;QAC/D,IAAI,GAAG,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;YAC9B,oEAAoE;YACpE,gEAAgE;YAChE,kEAAkE;YAClE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACxB,OAAO;QACX,CAAC;QACD,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACxB,qEAAqE;QACrE,wEAAwE;QACxE,kEAAkE;QAClE,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzB,IAAI,GAAG,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;YAC9B,kBAAkB,CAAC;gBACf,OAAO,EAAE,KAAK;gBACd,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,MAAM,EAAE;oBACJ,OAAO,EAAE;wBACL;4BACI,IAAI,EAAE,MAAM;4BACZ,IAAI,EACA,IAAI,CAAC,QAAQ;gCACb,wCAAwC,MAAM,wDAAwD;yBAC7G;qBACJ;oBACD,OAAO,EAAE,IAAI;iBAChB;aACJ,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,kBAAkB,CAAC;gBACf,OAAO,EAAE,KAAK;gBACd,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,KAAK,EAAE;oBACH,IAAI,EAAE,CAAC,KAAK;oBACZ,OAAO,EACH,IAAI,CAAC,YAAY;wBACjB,sCAAsC,MAAM,EAAE;iBACrD;aACJ,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,SAAS,kBAAkB,CAAC,MAAc;QACtC,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;QAC/D,KAAK,MAAM,GAAG,IAAI,MAAM;YAAE,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACvD,CAAC;IAED;;;;8EAI0E;IAC1E,SAAS,oBAAoB,CAAC,MAAc;QACxC,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAAE,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACtF,CAAC;IAED;uEACmE;IACnE,+DAA+D;IAC/D,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAC5B,mBAAmB,EACnB,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAC/C,CAAC;IACF,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;YACvD,MAAM,SAAS,GAAG,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC;YACxC,IAAI,SAAS,IAAI,aAAa;gBAAE,SAAS;YACzC,GAAG,CAAC,IAAI,CAAC,sBAAsB,EAAE;gBAC7B,EAAE;gBACF,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,IAAI,IAAI;gBAChC,SAAS;aACZ,CAAC,CAAC;YACH,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,EAAE;gBAClC,QAAQ,EACJ,8DAA8D;oBAC9D,gEAAgE;gBACpE,YAAY,EACR,2DAA2D;oBAC3D,oCAAoC;aAC3C,CAAC,CAAC;QACP,CAAC;IACL,CAAC,EAAE,eAAe,CAAC,CAAC;IACpB,wEAAwE;IACxE,aAAa,CAAC,KAAK,EAAE,EAAE,CAAC;IAExB,0EAA0E;IAC1E,6EAA6E;IAC7E,4EAA4E;IAC5E,iEAAiE;IACjE,EAAE;IACF,2EAA2E;IAC3E,uEAAuE;IACvE,wEAAwE;IACxE,wEAAwE;IACxE,wEAAwE;IACxE,uEAAuE;IACvE,6EAA6E;IAC7E,6EAA6E;IAC7E,sEAAsE;IACtE,wEAAwE;IACxE,uEAAuE;IACvE,2EAA2E;IAC3E,MAAM,mBAAmB,GAAG,CAAC,KAAK,IAAI,EAAE;QACpC,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,OAAO,CAAC,WAAW,IAAI,CAAC,SAAS,EAAE,CAAC;YAChC,IAAI,gBAAgB,EAAE,CAAC;gBACnB,MAAM,gBAAgB,CAAC;gBACvB,SAAS;YACb,CAAC;YACD,IAAI,GAAG,EAAE,CAAC;gBACN,kBAAkB,EAAE,CAAC;gBACrB,MAAM,aAAa,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC;gBACjE,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC1B,cAAc,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;gBACtC,MAAM,mBAAmB,EAAE,CAAC;gBAC5B,OAAO;YACX,CAAC;YACD,MAAM,iBAAiB,GAAG,oBAAoB,CAAC;YAC/C,IAAI,CAAC;gBACD,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;gBAC7E,IAAI,WAAW,EAAE,CAAC;oBACd,SAAS,CAAC,KAAK,EAAE,CAAC;oBAClB,MAAM;gBACV,CAAC;gBACD,gEAAgE;gBAChE,0DAA0D;gBAC1D,6DAA6D;gBAC7D,kDAAkD;gBAClD,IAAI,SAAS,EAAE,CAAC;oBACZ,SAAS,CAAC,KAAK,EAAE,CAAC;oBAClB,MAAM;gBACV,CAAC;gBACD,IAAI,iBAAiB,KAAK,oBAAoB,IAAI,GAAG,EAAE,CAAC;oBACpD,SAAS,CAAC,KAAK,EAAE,CAAC;oBAClB,SAAS;gBACb,CAAC;gBACD,YAAY,IAAI,CAAC,CAAC;gBAClB,GAAG,GAAG,SAAS,CAAC;gBAChB,gBAAgB,GAAG,IAAI,CAAC;gBACxB,IAAI,CAAC,mCAAmC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;gBAC5D,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;gBAC5D,kBAAkB,EAAE,CAAC;gBACrB,MAAM,mBAAmB,EAAE,CAAC;gBAC5B,OAAO;YACX,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChE,OAAO,IAAI,CAAC,CAAC;gBACb,GAAG,CAAC,KAAK,CAAC,+BAA+B,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;gBACrE,IAAI,WAAW;oBAAE,MAAM;gBACvB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;gBACjE,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;oBAChC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;wBAC1B,UAAU,EAAE,CAAC;wBACb,OAAO,EAAE,CAAC;oBACd,CAAC,EAAE,OAAO,CAAC,CAAC;oBACZ,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;oBAChB,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,EAAE;wBACjC,YAAY,CAAC,KAAK,CAAC,CAAC;wBACpB,OAAO,EAAE,CAAC;oBACd,CAAC,CAAC,CAAC;gBACP,CAAC,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QACD,kBAAkB,EAAE,CAAC;QACrB,kBAAkB,CAAC,4CAA4C,CAAC,CAAC;IACrE,CAAC,CAAC,EAAE,CAAC;IAEL,0EAA0E;IAC1E,0EAA0E;IAC1E,6EAA6E;IAC7E,0EAA0E;IAC1E,+CAA+C;IAC/C,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,GAAG,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,KAAK,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;QACrE,KAAK,MAAM,IAAI,IAAI,YAAY;YAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,UAAU,GAAG,cAAc,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;QAC1D,eAAe,EAAE,CAAC;QAClB,GAAG,EAAE,KAAK,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC;QACD,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;IACjD,CAAC;YAAS,CAAC;QACP,aAAa,CAAC,aAAa,CAAC,CAAC;IACjC,CAAC;IACD,eAAe,EAAE,CAAC;IAClB,MAAM,WAAW,GAAG,GAAgC,CAAC;IACrD,WAAW,EAAE,KAAK,EAAE,CAAC;IACrB,MAAM,mBAAmB,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC1C,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;AAClC,CAAC"}
|
|
1
|
+
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mysten-incubation/memwal-mcp",
|
|
3
|
-
"version": "0.0.13-dev.
|
|
3
|
+
"version": "0.0.13-dev.4",
|
|
4
4
|
"description": "Walrus Memory MCP client — single-binary stdio MCP server that bridges Cursor / Claude Desktop / Antigravity / Claude Code to the Walrus Memory relayer. Handles browser-based wallet login on first run.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|