@sentropic/h2a-runtime 0.85.15 → 0.85.17
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/agent-launch-args.d.ts +26 -0
- package/dist/agent-launch-args.d.ts.map +1 -0
- package/dist/agent-launch-args.js +65 -0
- package/dist/agent-launch-args.js.map +1 -0
- package/dist/delegate.d.ts +17 -8
- package/dist/delegate.d.ts.map +1 -1
- package/dist/delegate.js +70 -33
- package/dist/delegate.js.map +1 -1
- package/dist/enroll.d.ts +7 -3
- package/dist/enroll.d.ts.map +1 -1
- package/dist/enroll.js +65 -13
- package/dist/enroll.js.map +1 -1
- package/dist/h2a-bridge.d.ts +1 -1
- package/dist/h2a-bridge.js +2 -2
- package/dist/h2a-bridge.js.map +1 -1
- package/dist/index.d.ts +7 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +364 -84
- package/dist/index.js.map +1 -1
- package/dist/launch-context.d.ts +2 -0
- package/dist/launch-context.d.ts.map +1 -1
- package/dist/launch-context.js +10 -5
- package/dist/launch-context.js.map +1 -1
- package/dist/llm-gateway-runtime/accounts.d.ts +17 -3
- package/dist/llm-gateway-runtime/accounts.d.ts.map +1 -1
- package/dist/llm-gateway-runtime/accounts.js +44 -7
- package/dist/llm-gateway-runtime/accounts.js.map +1 -1
- package/dist/llm-gateway-runtime/index.d.ts.map +1 -1
- package/dist/llm-gateway-runtime/index.js +6 -0
- package/dist/llm-gateway-runtime/index.js.map +1 -1
- package/dist/llm-gateway-runtime/model-catalog.d.ts.map +1 -1
- package/dist/llm-gateway-runtime/model-catalog.js +12 -2
- package/dist/llm-gateway-runtime/model-catalog.js.map +1 -1
- package/dist/llm-gateway-runtime/proxy-anthropic.d.ts.map +1 -1
- package/dist/llm-gateway-runtime/proxy-anthropic.js +13 -1
- package/dist/llm-gateway-runtime/proxy-anthropic.js.map +1 -1
- package/dist/llm-gateway-runtime/proxy-openai.d.ts +5 -2
- package/dist/llm-gateway-runtime/proxy-openai.d.ts.map +1 -1
- package/dist/llm-gateway-runtime/proxy-openai.js +41 -18
- package/dist/llm-gateway-runtime/proxy-openai.js.map +1 -1
- package/dist/llm-gateway-runtime/sticky.d.ts +11 -2
- package/dist/llm-gateway-runtime/sticky.d.ts.map +1 -1
- package/dist/llm-gateway-runtime/sticky.js +325 -31
- package/dist/llm-gateway-runtime/sticky.js.map +1 -1
- package/dist/readiness.js +2 -2
- package/dist/readiness.js.map +1 -1
- package/dist/registry.d.ts +6 -1
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +10 -1
- package/dist/registry.js.map +1 -1
- package/dist/restore.d.ts.map +1 -1
- package/dist/restore.js +2 -0
- package/dist/restore.js.map +1 -1
- package/dist/tmux.d.ts +71 -13
- package/dist/tmux.d.ts.map +1 -1
- package/dist/tmux.js +301 -34
- package/dist/tmux.js.map +1 -1
- package/package.json +1 -1
package/dist/tmux.js
CHANGED
|
@@ -11,10 +11,11 @@
|
|
|
11
11
|
* middle — this is what fixes "I can't copy the code claude printed".
|
|
12
12
|
*/
|
|
13
13
|
import { spawnSync } from "node:child_process";
|
|
14
|
+
import { randomUUID } from "node:crypto";
|
|
14
15
|
import { getTmuxProfileConfig } from "./config.js";
|
|
15
|
-
import { readFileSync } from "node:fs";
|
|
16
|
+
import { mkdtempSync, readFileSync, rmSync, statSync, unlinkSync, writeFileSync, } from "node:fs";
|
|
16
17
|
import { basename, join } from "node:path";
|
|
17
|
-
import { homedir } from "node:os";
|
|
18
|
+
import { homedir, tmpdir } from "node:os";
|
|
18
19
|
import { LAUNCH_OPTION_PREFIX, buildLaunchContext, launchContextOptions, parseLaunchContext, redactSecrets, } from "./launch-context.js";
|
|
19
20
|
const TMUX = "tmux";
|
|
20
21
|
/** tmux session-name prefix marking a remote-managed local session. */
|
|
@@ -65,16 +66,32 @@ export const LOCAL_WRAPPER = `relaunch="$0"; cli="$1"; shift
|
|
|
65
66
|
printf '\\n[h2a] %s exited (code %s) — shell on %s.\\n' "$cli" "$code" "$PWD"
|
|
66
67
|
printf '[h2a] relaunch: %s (or Ctrl-D to end this session)\\n' "$relaunch"
|
|
67
68
|
if [ -t 0 ]; then exec /bin/bash -l; else exit "$code"; fi`;
|
|
69
|
+
/**
|
|
70
|
+
* Interactive structured-launch wrapper. Unlike LOCAL_WRAPPER it NEVER falls
|
|
71
|
+
* back to a login shell: if the agent executable is absent or exits before it
|
|
72
|
+
* consumes the injected prompt, the tmux pane terminates and the prompt cannot
|
|
73
|
+
* become shell input.
|
|
74
|
+
*/
|
|
75
|
+
export const STRUCTURED_LOCAL_WRAPPER = `cli="$0"
|
|
76
|
+
exec "$cli" "$@"`;
|
|
68
77
|
/**
|
|
69
78
|
* Run-once-exit wrapper for HEADLESS delegated jobs — the OPPOSITE of
|
|
70
79
|
* LOCAL_WRAPPER's drop-to-shell. Redirects the CLI's stdout+stderr to an output
|
|
71
80
|
* log, writes a result.json with the final state + exit code, then lets the
|
|
72
81
|
* tmux session END (no `exec bash`). Invoked as
|
|
73
|
-
* `bash -lc HEADLESS_WRAPPER <resultJson> <outputLog> <cli> <args…>`:
|
|
74
|
-
* `$0`=result.json path, `$1`=output.log path, `$2`=
|
|
82
|
+
* `bash -lc HEADLESS_WRAPPER <resultJson> <outputLog> <promptFile> <cli> <args…>`:
|
|
83
|
+
* `$0`=result.json path, `$1`=output.log path, `$2`=transient prompt path,
|
|
84
|
+
* `$3`=cli, `$4…`=cli args. The prompt file is opened and unlinked before
|
|
85
|
+
* the CLI starts, so prompt content never appears in process argv.
|
|
75
86
|
*/
|
|
76
|
-
export const HEADLESS_WRAPPER = `result="$0"; log="$1";
|
|
77
|
-
|
|
87
|
+
export const HEADLESS_WRAPPER = `result="$0"; log="$1"; prompt="$2"; cli="$3"; shift 3
|
|
88
|
+
if [ -n "$prompt" ]; then
|
|
89
|
+
exec 3<"$prompt"
|
|
90
|
+
rm -f -- "$prompt"
|
|
91
|
+
"$cli" "$@" <&3 >"$log" 2>&1; code=$?
|
|
92
|
+
else
|
|
93
|
+
"$cli" "$@" >"$log" 2>&1; code=$?
|
|
94
|
+
fi
|
|
78
95
|
if [ "$code" -eq 0 ]; then state=done; else state=failed; fi
|
|
79
96
|
printf '{"state":"%s","exitCode":%s}\\n' "$state" "$code" >"$result"`;
|
|
80
97
|
/**
|
|
@@ -116,6 +133,10 @@ if [ -n "$agent_pane" ]; then export TMUX_PANE="$agent_pane"; fi
|
|
|
116
133
|
eval "$cmd"; code=$?
|
|
117
134
|
printf '\\n[h2a] %s exited (code %s) — shell on %s. Re-run it or Ctrl-D to end this window.\\n' "$cmd" "$code" "$PWD"
|
|
118
135
|
if [ -t 0 ]; then exec /bin/bash -l; else exit "$code"; fi`;
|
|
136
|
+
/** Structured sidecar wrapper: publish the agent pane, then replace the shell. */
|
|
137
|
+
export const STRUCTURED_WINDOW_WRAPPER = `agent_pane="$1"; cmd="$2"
|
|
138
|
+
if [ -n "$agent_pane" ]; then export TMUX_PANE="$agent_pane"; fi
|
|
139
|
+
eval "exec $cmd"`;
|
|
119
140
|
/**
|
|
120
141
|
* Window name for the h2a MCP server side window — the a2a launcher contract:
|
|
121
142
|
* agents live in NAMED tmux windows, with `h2a mcp-serve` running next to them
|
|
@@ -125,6 +146,9 @@ export const H2A_WINDOW_NAME = "h2a";
|
|
|
125
146
|
const AGENT_PANE_OPTION = "@remote_agent_pane";
|
|
126
147
|
const AGENT_HOST_OPTION = "@remote_agent_host";
|
|
127
148
|
const AGENT_CWD_OPTION = "@remote_agent_cwd";
|
|
149
|
+
const H2A_MCP_READY_FILE_ENV = "H2A_MCP_READY_FILE";
|
|
150
|
+
const H2A_MCP_READY_NONCE_ENV = "H2A_MCP_READY_NONCE";
|
|
151
|
+
const H2A_MCP_READY_KIND = "h2a.mcp.ready";
|
|
128
152
|
export function tmuxAvailable() {
|
|
129
153
|
try {
|
|
130
154
|
return spawnSync(TMUX, ["-V"], { stdio: "ignore" }).status === 0;
|
|
@@ -208,6 +232,15 @@ export function findLocalSession(target) {
|
|
|
208
232
|
const sessions = listLocalSessions();
|
|
209
233
|
return sessions.find((s) => s.name === target || s.slug === target);
|
|
210
234
|
}
|
|
235
|
+
/** Resolve all requested labels that already name a managed tmux session. */
|
|
236
|
+
export function existingLocalSessionSlugs(labels, cwd) {
|
|
237
|
+
return labels
|
|
238
|
+
.map((label) => {
|
|
239
|
+
const slug = slugify(label ?? cwd);
|
|
240
|
+
return findLocalSession(slug) ? slug : undefined;
|
|
241
|
+
})
|
|
242
|
+
.filter((slug) => slug !== undefined);
|
|
243
|
+
}
|
|
211
244
|
/**
|
|
212
245
|
* Store a custom display name on a local tmux session WITHOUT calling
|
|
213
246
|
* `rename-window`. This avoids tmux's per-window `allow-rename off` side-effect
|
|
@@ -450,18 +483,25 @@ export function ensureScrollConfig(profile) {
|
|
|
450
483
|
* defaults to the workdir basename; pass `label` to override it (e.g. to keep
|
|
451
484
|
* several sessions of the same project distinct: "sentropic#2").
|
|
452
485
|
*/
|
|
453
|
-
export function startLocalSession(profile, command, cwd, args = [], label, tmuxProfile = getTmuxProfileConfig().profile) {
|
|
486
|
+
export function startLocalSession(profile, command, cwd, args = [], label, tmuxProfile = getTmuxProfileConfig().profile, metadata = {}) {
|
|
454
487
|
const slug = slugify(label ?? cwd);
|
|
455
488
|
const name = localSessionName(slug);
|
|
489
|
+
const { terminateOnAgentExit = false, refuseExisting = false, ...launchMetadata } = metadata;
|
|
456
490
|
ensureScrollConfig(tmuxProfile);
|
|
457
491
|
if (findLocalSession(name)) {
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
492
|
+
if (refuseExisting) {
|
|
493
|
+
throw new Error(`local session ${slug} already exists; no agent was started`);
|
|
494
|
+
}
|
|
495
|
+
const agentPane = persistAgentPaneMetadata(name, profile, cwd);
|
|
496
|
+
persistLaunchContext(name, buildLaunchContext({ profile, cwd, label, ...launchMetadata }));
|
|
497
|
+
return { name, slug, ...(agentPane ? { agentPane } : {}) };
|
|
461
498
|
}
|
|
462
499
|
const r = spawnSync(TMUX, [
|
|
463
500
|
"new-session",
|
|
464
501
|
"-d",
|
|
502
|
+
"-P",
|
|
503
|
+
"-F",
|
|
504
|
+
"#{pane_id}",
|
|
465
505
|
...tmuxEnvironmentArgs(),
|
|
466
506
|
"-s",
|
|
467
507
|
name,
|
|
@@ -475,38 +515,80 @@ export function startLocalSession(profile, command, cwd, args = [], label, tmuxP
|
|
|
475
515
|
...anthopicEnvUnsetCommandPrefix(),
|
|
476
516
|
"/bin/bash",
|
|
477
517
|
"-lc",
|
|
478
|
-
LOCAL_WRAPPER,
|
|
479
|
-
|
|
480
|
-
|
|
518
|
+
terminateOnAgentExit ? STRUCTURED_LOCAL_WRAPPER : LOCAL_WRAPPER,
|
|
519
|
+
...(terminateOnAgentExit
|
|
520
|
+
? [command]
|
|
521
|
+
: [
|
|
522
|
+
localRelaunchCommand(profile, cwd, label, metadata.resumeId ? ["--resume", metadata.resumeId] : []),
|
|
523
|
+
command,
|
|
524
|
+
]),
|
|
481
525
|
...args,
|
|
482
|
-
], {
|
|
526
|
+
], {
|
|
527
|
+
encoding: "utf8",
|
|
528
|
+
stdio: ["inherit", "pipe", "inherit"],
|
|
529
|
+
});
|
|
483
530
|
if (r.status !== 0) {
|
|
484
531
|
throw new Error(`tmux new-session failed (exit ${r.status ?? "?"})`);
|
|
485
532
|
}
|
|
533
|
+
const printedPane = r.stdout?.trim();
|
|
534
|
+
const capturedPane = validTmuxPaneId(printedPane) ? printedPane : undefined;
|
|
535
|
+
const agentPane = persistAgentPaneMetadata(name, profile, cwd, capturedPane);
|
|
536
|
+
if ((terminateOnAgentExit || refuseExisting) && !agentPane) {
|
|
537
|
+
killLocalSession(name);
|
|
538
|
+
throw new Error(`tmux did not return a live agent pane for ${slug}`);
|
|
539
|
+
}
|
|
486
540
|
// Record the profile as a session option so `remote ls` can show it.
|
|
487
541
|
spawnSync(TMUX, ["set-option", "-t", name, "@profile", profile], {
|
|
488
542
|
stdio: "ignore",
|
|
489
543
|
});
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
544
|
+
persistLaunchContext(name, buildLaunchContext({ profile, cwd, label, ...launchMetadata }));
|
|
545
|
+
return { name, slug, ...(agentPane ? { agentPane } : {}) };
|
|
546
|
+
}
|
|
547
|
+
/** PID for one exact tmux pane. Session/window targets are deliberately refused. */
|
|
548
|
+
export function localSessionPanePid(agentPane) {
|
|
549
|
+
if (!validTmuxPaneId(agentPane))
|
|
550
|
+
return undefined;
|
|
551
|
+
const r = spawnSync(TMUX, ["display", "-p", "-t", agentPane, "#{pane_pid}"], {
|
|
552
|
+
encoding: "utf8",
|
|
553
|
+
stdio: ["ignore", "pipe", "ignore"],
|
|
554
|
+
});
|
|
555
|
+
if (r.status !== 0 || !r.stdout)
|
|
556
|
+
return undefined;
|
|
557
|
+
const pid = Number.parseInt(r.stdout.trim(), 10);
|
|
558
|
+
return Number.isInteger(pid) && pid > 0 ? pid : undefined;
|
|
493
559
|
}
|
|
494
560
|
/**
|
|
495
561
|
* Start a HEADLESS delegated job in a detached local tmux session under the
|
|
496
562
|
* run-once-exit wrapper: the CLI runs, its output is captured to `outputLog`,
|
|
497
563
|
* a `resultJson` is written, then the session ENDS. The task lands as a single
|
|
498
564
|
* argv token inside `args` (no shell concat). Idempotent on slug like
|
|
499
|
-
* startLocalSession
|
|
565
|
+
* startLocalSession unless `refuseExisting` is set for structured launches.
|
|
566
|
+
* Returns the session name + slug.
|
|
500
567
|
*/
|
|
501
|
-
export function startHeadlessSession(profile, command, cwd, args, resultJson, outputLog, label, tmuxProfile = getTmuxProfileConfig().profile) {
|
|
568
|
+
export function startHeadlessSession(profile, command, cwd, args, resultJson, outputLog, label, tmuxProfile = getTmuxProfileConfig().profile, promptInput, refuseExisting = false) {
|
|
502
569
|
const slug = slugify(label);
|
|
503
570
|
const name = localSessionName(slug);
|
|
504
571
|
ensureScrollConfig(tmuxProfile);
|
|
505
|
-
if (findLocalSession(name))
|
|
572
|
+
if (findLocalSession(name)) {
|
|
573
|
+
if (refuseExisting) {
|
|
574
|
+
throw new Error(`local session ${slug} already exists; no agent was started`);
|
|
575
|
+
}
|
|
506
576
|
return { name, slug };
|
|
577
|
+
}
|
|
578
|
+
const promptFile = promptInput === undefined ? "" : `${resultJson}.prompt`;
|
|
579
|
+
if (promptInput !== undefined) {
|
|
580
|
+
writeFileSync(promptFile, promptInput, {
|
|
581
|
+
encoding: "utf8",
|
|
582
|
+
mode: 0o600,
|
|
583
|
+
flag: "wx",
|
|
584
|
+
});
|
|
585
|
+
}
|
|
507
586
|
const r = spawnSync(TMUX, [
|
|
508
587
|
"new-session",
|
|
509
588
|
"-d",
|
|
589
|
+
"-P",
|
|
590
|
+
"-F",
|
|
591
|
+
"#{pane_id}",
|
|
510
592
|
...tmuxEnvironmentArgs(),
|
|
511
593
|
"-s",
|
|
512
594
|
name,
|
|
@@ -514,21 +596,51 @@ export function startHeadlessSession(profile, command, cwd, args, resultJson, ou
|
|
|
514
596
|
profile,
|
|
515
597
|
"-c",
|
|
516
598
|
cwd,
|
|
599
|
+
...anthopicEnvUnsetCommandPrefix(),
|
|
517
600
|
"/bin/bash",
|
|
518
601
|
"-lc",
|
|
519
602
|
HEADLESS_WRAPPER,
|
|
520
603
|
resultJson,
|
|
521
604
|
outputLog,
|
|
605
|
+
promptFile,
|
|
522
606
|
command,
|
|
523
607
|
...args,
|
|
524
|
-
], {
|
|
608
|
+
], {
|
|
609
|
+
encoding: "utf8",
|
|
610
|
+
stdio: ["ignore", "pipe", "inherit"],
|
|
611
|
+
});
|
|
525
612
|
if (r.status !== 0) {
|
|
613
|
+
cleanupHeadlessPromptFile(promptFile);
|
|
526
614
|
throw new Error(`tmux new-session failed (exit ${r.status ?? "?"})`);
|
|
527
615
|
}
|
|
616
|
+
const printedPane = r.stdout?.trim();
|
|
617
|
+
const capturedPane = validTmuxPaneId(printedPane) ? printedPane : undefined;
|
|
618
|
+
const agentPane = persistAgentPaneMetadata(name, profile, cwd, capturedPane);
|
|
619
|
+
if (refuseExisting && !agentPane) {
|
|
620
|
+
cleanupHeadlessPromptFile(promptFile);
|
|
621
|
+
killLocalSession(name);
|
|
622
|
+
throw new Error(`tmux did not return a live agent pane for ${slug}`);
|
|
623
|
+
}
|
|
528
624
|
spawnSync(TMUX, ["set-option", "-t", name, "@profile", profile], {
|
|
529
625
|
stdio: "ignore",
|
|
530
626
|
});
|
|
531
|
-
return {
|
|
627
|
+
return {
|
|
628
|
+
name,
|
|
629
|
+
slug,
|
|
630
|
+
...(agentPane ? { agentPane } : {}),
|
|
631
|
+
...(promptFile ? { promptFile } : {}),
|
|
632
|
+
};
|
|
633
|
+
}
|
|
634
|
+
/** Best-effort cleanup for a headless prompt that the wrapper did not consume. */
|
|
635
|
+
export function cleanupHeadlessPromptFile(promptFile) {
|
|
636
|
+
if (!promptFile)
|
|
637
|
+
return;
|
|
638
|
+
try {
|
|
639
|
+
unlinkSync(promptFile);
|
|
640
|
+
}
|
|
641
|
+
catch {
|
|
642
|
+
// The wrapper normally unlinks it itself; absence is already success.
|
|
643
|
+
}
|
|
532
644
|
}
|
|
533
645
|
/**
|
|
534
646
|
* The raw tmux `#{session_attached}` count for a session: 0 = DETACHED (no client
|
|
@@ -574,6 +686,35 @@ export function buildSessionWindowArgs(session, windowName, cwd, commandLine, ag
|
|
|
574
686
|
commandLine,
|
|
575
687
|
];
|
|
576
688
|
}
|
|
689
|
+
/**
|
|
690
|
+
* Structured sidecar window: capture the exact pane and terminate it with the
|
|
691
|
+
* command. There is deliberately no fallback shell that could hide a dead MCP.
|
|
692
|
+
*/
|
|
693
|
+
export function buildStructuredSessionWindowArgs(session, windowName, cwd, commandLine, agentPane, readiness) {
|
|
694
|
+
return [
|
|
695
|
+
"new-window",
|
|
696
|
+
"-d",
|
|
697
|
+
"-P",
|
|
698
|
+
"-F",
|
|
699
|
+
"#{pane_id}",
|
|
700
|
+
"-e",
|
|
701
|
+
`${H2A_MCP_READY_FILE_ENV}=${readiness.file}`,
|
|
702
|
+
"-e",
|
|
703
|
+
`${H2A_MCP_READY_NONCE_ENV}=${readiness.nonce}`,
|
|
704
|
+
"-t",
|
|
705
|
+
session,
|
|
706
|
+
"-n",
|
|
707
|
+
windowName,
|
|
708
|
+
"-c",
|
|
709
|
+
cwd,
|
|
710
|
+
"/bin/bash",
|
|
711
|
+
"-lc",
|
|
712
|
+
STRUCTURED_WINDOW_WRAPPER,
|
|
713
|
+
"structured-window",
|
|
714
|
+
agentPane,
|
|
715
|
+
commandLine,
|
|
716
|
+
];
|
|
717
|
+
}
|
|
577
718
|
/** Window names of a session (best-effort; [] if tmux/session is gone). */
|
|
578
719
|
export function sessionWindowNames(session) {
|
|
579
720
|
const r = spawnSync(TMUX, ["list-windows", "-t", session, "-F", "#{window_name}"], { encoding: "utf8" });
|
|
@@ -667,10 +808,13 @@ export function resolveAgentPane(session) {
|
|
|
667
808
|
setSessionOption(session, AGENT_PANE_OPTION, pane);
|
|
668
809
|
return pane;
|
|
669
810
|
}
|
|
670
|
-
function persistAgentPaneMetadata(session, profile, cwd) {
|
|
671
|
-
const pane =
|
|
811
|
+
function persistAgentPaneMetadata(session, profile, cwd, capturedPane) {
|
|
812
|
+
const pane = validTmuxPaneId(capturedPane)
|
|
813
|
+
? capturedPane
|
|
814
|
+
: resolveAgentPane(session);
|
|
672
815
|
if (!pane)
|
|
673
816
|
return undefined;
|
|
817
|
+
setSessionOption(session, AGENT_PANE_OPTION, pane);
|
|
674
818
|
setSessionOption(session, AGENT_HOST_OPTION, profile);
|
|
675
819
|
setSessionOption(session, AGENT_CWD_OPTION, cwd);
|
|
676
820
|
return pane;
|
|
@@ -725,6 +869,123 @@ export function startH2aWindow(session, cwd, commandLine, stderr = process.stder
|
|
|
725
869
|
setSessionOption(session, `${LAUNCH_OPTION_PREFIX}h2a`, redactSecrets(commandLine));
|
|
726
870
|
return true;
|
|
727
871
|
}
|
|
872
|
+
function createStructuredReadinessChallenge() {
|
|
873
|
+
const directory = mkdtempSync(join(tmpdir(), "h2a-mcp-ready-"));
|
|
874
|
+
return {
|
|
875
|
+
directory,
|
|
876
|
+
file: join(directory, "ready.json"),
|
|
877
|
+
nonce: randomUUID(),
|
|
878
|
+
};
|
|
879
|
+
}
|
|
880
|
+
function cleanupStructuredReadinessChallenge(challenge) {
|
|
881
|
+
try {
|
|
882
|
+
rmSync(challenge.directory, { recursive: true, force: true });
|
|
883
|
+
}
|
|
884
|
+
catch {
|
|
885
|
+
// Best effort; never mask the launch result.
|
|
886
|
+
}
|
|
887
|
+
}
|
|
888
|
+
function probeStructuredReadiness(challenge, expectedPanePid) {
|
|
889
|
+
let raw;
|
|
890
|
+
try {
|
|
891
|
+
const stat = statSync(challenge.file);
|
|
892
|
+
if (!stat.isFile() || (stat.mode & 0o777) !== 0o600) {
|
|
893
|
+
return { state: "invalid" };
|
|
894
|
+
}
|
|
895
|
+
raw = readFileSync(challenge.file, "utf8");
|
|
896
|
+
}
|
|
897
|
+
catch (error) {
|
|
898
|
+
return error.code === "ENOENT"
|
|
899
|
+
? { state: "missing" }
|
|
900
|
+
: { state: "invalid" };
|
|
901
|
+
}
|
|
902
|
+
try {
|
|
903
|
+
const ack = JSON.parse(raw);
|
|
904
|
+
if (ack.kind !== H2A_MCP_READY_KIND ||
|
|
905
|
+
ack.version !== 1 ||
|
|
906
|
+
ack.nonce !== challenge.nonce ||
|
|
907
|
+
!Number.isInteger(ack.pid) ||
|
|
908
|
+
ack.pid !== expectedPanePid ||
|
|
909
|
+
typeof ack.sessionId !== "string" ||
|
|
910
|
+
ack.sessionId.length === 0) {
|
|
911
|
+
return { state: "invalid" };
|
|
912
|
+
}
|
|
913
|
+
return { state: "ready", pid: ack.pid };
|
|
914
|
+
}
|
|
915
|
+
catch {
|
|
916
|
+
return { state: "invalid" };
|
|
917
|
+
}
|
|
918
|
+
}
|
|
919
|
+
function stopStructuredSidecar(pane) {
|
|
920
|
+
spawnSync(TMUX, ["kill-pane", "-t", pane], { stdio: "ignore" });
|
|
921
|
+
}
|
|
922
|
+
/**
|
|
923
|
+
* Fail-closed structured sidecar launch. Success means the exact agent pane is
|
|
924
|
+
* still live and the captured sidecar pane produced a nonce- and PID-correlated
|
|
925
|
+
* ACK after auto-open. A successful `new-window` or matching argv is never enough.
|
|
926
|
+
*/
|
|
927
|
+
export async function startH2aWindowVerified(session, cwd, commandLine, agentPane, stderr = process.stderr, options = {}) {
|
|
928
|
+
const bin = commandLine.trim().split(/\s+/)[0] ?? "";
|
|
929
|
+
if (!bin || !commandAvailable(bin)) {
|
|
930
|
+
stderr.write(`[h2a] required h2a sidecar unavailable: \`${bin || commandLine}\` not found in PATH.\n`);
|
|
931
|
+
return undefined;
|
|
932
|
+
}
|
|
933
|
+
if (!validTmuxPaneId(agentPane) || localSessionPanePid(agentPane) === undefined) {
|
|
934
|
+
stderr.write(`[h2a] required h2a sidecar refused: agent pane ${agentPane || "<missing>"} is not live.\n`);
|
|
935
|
+
return undefined;
|
|
936
|
+
}
|
|
937
|
+
if (sessionWindowNames(session).includes(H2A_WINDOW_NAME)) {
|
|
938
|
+
stderr.write(`[h2a] required h2a sidecar refused: ${H2A_WINDOW_NAME} window already exists in ${session}.\n`);
|
|
939
|
+
return undefined;
|
|
940
|
+
}
|
|
941
|
+
const challenge = createStructuredReadinessChallenge();
|
|
942
|
+
let sidecarPane;
|
|
943
|
+
try {
|
|
944
|
+
const r = spawnSync(TMUX, buildStructuredSessionWindowArgs(session, H2A_WINDOW_NAME, cwd, commandLine, agentPane, challenge), {
|
|
945
|
+
encoding: "utf8",
|
|
946
|
+
stdio: ["ignore", "pipe", "ignore"],
|
|
947
|
+
});
|
|
948
|
+
sidecarPane = r.stdout?.trim();
|
|
949
|
+
if (r.status !== 0 || !validTmuxPaneId(sidecarPane)) {
|
|
950
|
+
stderr.write(`[h2a] required h2a sidecar failed to capture a pane in ${session}.\n`);
|
|
951
|
+
return undefined;
|
|
952
|
+
}
|
|
953
|
+
const attempts = Math.max(2, options.attempts ?? 200);
|
|
954
|
+
const intervalMs = Math.max(1, options.intervalMs ?? 100);
|
|
955
|
+
const delay = options.delay ??
|
|
956
|
+
((ms) => new Promise((resolve) => setTimeout(resolve, ms)));
|
|
957
|
+
let stablePid;
|
|
958
|
+
for (let attempt = 0; attempt < attempts; attempt += 1) {
|
|
959
|
+
await delay(intervalMs);
|
|
960
|
+
const agentPid = localSessionPanePid(agentPane);
|
|
961
|
+
const sidecarPid = localSessionPanePid(sidecarPane);
|
|
962
|
+
if (agentPid === undefined ||
|
|
963
|
+
sidecarPid === undefined ||
|
|
964
|
+
(stablePid !== undefined && sidecarPid !== stablePid)) {
|
|
965
|
+
stopStructuredSidecar(sidecarPane);
|
|
966
|
+
stderr.write(`[h2a] required h2a sidecar failed pane/PID guard in ${session}.\n`);
|
|
967
|
+
return undefined;
|
|
968
|
+
}
|
|
969
|
+
stablePid = sidecarPid;
|
|
970
|
+
const readiness = probeStructuredReadiness(challenge, sidecarPid);
|
|
971
|
+
if (readiness.state === "invalid") {
|
|
972
|
+
stopStructuredSidecar(sidecarPane);
|
|
973
|
+
stderr.write(`[h2a] required h2a sidecar returned an invalid readiness ACK in ${session}.\n`);
|
|
974
|
+
return undefined;
|
|
975
|
+
}
|
|
976
|
+
if (readiness.state === "ready") {
|
|
977
|
+
setSessionOption(session, `${LAUNCH_OPTION_PREFIX}h2a`, redactSecrets(commandLine));
|
|
978
|
+
return { pane: sidecarPane, pid: readiness.pid };
|
|
979
|
+
}
|
|
980
|
+
}
|
|
981
|
+
stopStructuredSidecar(sidecarPane);
|
|
982
|
+
stderr.write(`[h2a] required h2a sidecar timed out waiting for correlated readiness ACK in ${session}.\n`);
|
|
983
|
+
return undefined;
|
|
984
|
+
}
|
|
985
|
+
finally {
|
|
986
|
+
cleanupStructuredReadinessChallenge(challenge);
|
|
987
|
+
}
|
|
988
|
+
}
|
|
728
989
|
/**
|
|
729
990
|
* Attach the real terminal to a local tmux session. Blocks until the user
|
|
730
991
|
* detaches (Ctrl-b d) or the session ends. Returns the tmux exit status.
|
|
@@ -897,20 +1158,26 @@ export function sessionAttached(name) {
|
|
|
897
1158
|
}
|
|
898
1159
|
}
|
|
899
1160
|
/**
|
|
900
|
-
*
|
|
901
|
-
* Enter key event.
|
|
902
|
-
*
|
|
903
|
-
*
|
|
904
|
-
*
|
|
905
|
-
* the interactive throttle auto-resume to un-stick a rate-limited pane. Returns
|
|
906
|
-
* whether tmux accepted both sends.
|
|
1161
|
+
* Paste a LITERAL line into a session's main pane, then submit it with a real
|
|
1162
|
+
* Enter key event. Content reaches `tmux load-buffer -` on stdin, then a named
|
|
1163
|
+
* buffer is pasted: arbitrary text is never interpreted by a shell and never
|
|
1164
|
+
* appears in a process argv. Enter is a separate key-name event. Used both for
|
|
1165
|
+
* initial prompts and interactive throttle nudges.
|
|
907
1166
|
*/
|
|
908
1167
|
export function sendKeysLiteral(name, keys) {
|
|
909
|
-
const
|
|
910
|
-
|
|
1168
|
+
const buffer = `h2a-${process.pid}-${randomUUID()}`;
|
|
1169
|
+
const loaded = spawnSync(TMUX, ["load-buffer", "-b", buffer, "-"], {
|
|
1170
|
+
input: keys,
|
|
1171
|
+
encoding: "utf8",
|
|
1172
|
+
stdio: ["pipe", "ignore", "ignore"],
|
|
911
1173
|
});
|
|
912
|
-
if (
|
|
1174
|
+
if (loaded.status !== 0)
|
|
1175
|
+
return false;
|
|
1176
|
+
const pasted = spawnSync(TMUX, ["paste-buffer", "-b", buffer, "-d", "-t", name], { stdio: "ignore" });
|
|
1177
|
+
if (pasted.status !== 0) {
|
|
1178
|
+
spawnSync(TMUX, ["delete-buffer", "-b", buffer], { stdio: "ignore" });
|
|
913
1179
|
return false;
|
|
1180
|
+
}
|
|
914
1181
|
const enter = spawnSync(TMUX, ["send-keys", "-t", name, "Enter"], {
|
|
915
1182
|
stdio: "ignore",
|
|
916
1183
|
});
|
package/dist/tmux.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tmux.js","sourceRoot":"","sources":["../src/tmux.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tmux.js","sourceRoot":"","sources":["../src/tmux.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EACL,WAAW,EACX,YAAY,EACZ,MAAM,EACN,QAAQ,EACR,UAAU,EACV,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAE1C,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,GAEd,MAAM,qBAAqB,CAAC;AAG7B,MAAM,IAAI,GAAG,MAAM,CAAC;AAEpB,uEAAuE;AACvE,MAAM,CAAC,MAAM,YAAY,GAAG,SAAS,CAAC;AAEtC,yEAAyE;AACzE,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEvC,0EAA0E;AAC1E,MAAM,CAAC,MAAM,wBAAwB,GAAG,QAAQ,CAAC;AAMjD;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,IAAI,EAAE,wBAAwB;IAC9B,OAAO,EAAE,CAAC;IACV,UAAU,EAAE;QACV,EAAE,IAAI,EAAE,6BAA6B,EAAE;QACvC,EAAE,IAAI,EAAE,4BAA4B,EAAE;QACtC,EAAE,IAAI,EAAE,uCAAuC,EAAE;QACjD,EAAE,IAAI,EAAE,4DAA4D,EAAE;QACtE,EAAE,IAAI,EAAE,iBAAiB,EAAE;QAC3B,EAAE,IAAI,EAAE,yBAAyB,EAAE;QACnC,EAAE,IAAI,EAAE,wBAAwB,EAAE;QAClC,EAAE,IAAI,EAAE,sBAAsB,EAAE;QAChC,EAAE,IAAI,EAAE,wCAAwC,EAAE;QAClD,EAAE,IAAI,EAAE,6BAA6B,EAAE;QACvC;YACE,IAAI,EAAE,sFAAsF;SAC7F;QACD,EAAE,IAAI,EAAE,0BAA0B,EAAE;QACpC,EAAE,MAAM,EAAE,sBAAsB,EAAE;QAClC,EAAE,IAAI,EAAE,oCAAoC,EAAE;QAC9C,EAAE,IAAI,EAAE,6BAA6B,EAAE;QACvC,EAAE,MAAM,EAAE,gBAAgB,EAAE;QAC5B,EAAE,IAAI,EAAE,2DAA2D,EAAE;QACrE,EAAE,IAAI,EAAE,8DAA8D,EAAE;QACxE,EAAE,MAAM,EAAE,uBAAuB,EAAE;KACU;CACvC,CAAC;AAEX;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;;;;2DAI8B,CAAC;AAE5D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG;iBACvB,CAAC;AAElB;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;;;qEASqC,CAAC;AAEtE;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAClC,OAAe,EACf,GAAW,EACX,KAAyB,EACzB,aAAoC,EAAE;IAEtC,oEAAoE;IACpE,4EAA4E;IAC5E,MAAM,MAAM,GACV,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxE,IAAI,GAAG,GAAG,WAAW,OAAO,IAAI,GAAG,EAAE,CAAC;IACtC,IAAI,KAAK;QAAE,GAAG,IAAI,WAAW,KAAK,EAAE,CAAC;IACrC,IAAI,MAAM,IAAI,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC;QAAE,GAAG,IAAI,OAAO,MAAM,EAAE,CAAC;IAC/D,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,KAAa;IACtD,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACtE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,cAAc,GAAG;;;;2DAIoC,CAAC;AAE5D,kFAAkF;AAClF,MAAM,CAAC,MAAM,yBAAyB,GAAG;;iBAExB,CAAC;AAElB;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAC;AACrC,MAAM,iBAAiB,GAAG,oBAAoB,CAAC;AAC/C,MAAM,iBAAiB,GAAG,oBAAoB,CAAC;AAC/C,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AAC7C,MAAM,sBAAsB,GAAG,oBAAoB,CAAC;AACpD,MAAM,uBAAuB,GAAG,qBAAqB,CAAC;AACtD,MAAM,kBAAkB,GAAG,eAAe,CAAC;AAiB3C,MAAM,UAAU,aAAa;IAC3B,IAAI,CAAC;QACH,OAAO,SAAS,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;IACnE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,CAAS;IAC/B,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC;SACrB,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC;SAChC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAC3B,OAAO,IAAI,IAAI,SAAS,CAAC;AAC3B,CAAC;AAED,4CAA4C;AAC5C,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,YAAY,GAAG,IAAI,EAAE,CAAC;AACzE,CAAC;AAED,MAAM,kBAAkB,GAAG;IACzB,oBAAoB;IACpB,sBAAsB;IACtB,mBAAmB;CACX,CAAC;AAEX,SAAS,mBAAmB;IAC1B,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,KAAK,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,KAAK;YAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,6BAA6B;IACpC,kFAAkF;IAClF,gFAAgF;IAChF,uEAAuE;IACvE,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAChE,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,UAAU,CAAC,CAAS;IAC3B,OAAO,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa;IACrC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;AAC7C,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,iBAAiB;IAC/B,IAAI,CAAC,aAAa,EAAE;QAAE,OAAO,EAAE,CAAC;IAChC,MAAM,CAAC,GAAG,SAAS,CACjB,IAAI,EACJ;QACE,eAAe;QACf,IAAI;QACJ,sFAAsF;KACvF,EACD,EAAE,QAAQ,EAAE,MAAM,EAAE,CACrB,CAAC;IACF,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAC3C,MAAM,GAAG,GAAmB,EAAE,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACtE,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;YAAE,SAAS;QACtD,MAAM,OAAO,GAAiB;YAC5B,IAAI;YACJ,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC;YACrC,OAAO,EAAE,OAAO,IAAI,GAAG;YACvB,IAAI,EAAE,IAAI,IAAI,EAAE;YAChB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;SAC/B,CAAC;QACF,IAAI,WAAW,IAAI,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;YACtC,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;QAC3C,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC;IACrC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;AACtE,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,yBAAyB,CACvC,MAAyC,EACzC,GAAW;IAEX,OAAO,MAAM;SACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACb,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC;QACnC,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACnD,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;AAC1D,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B,CACxC,OAAe,EACf,WAAmB;IAEnB,MAAM,CAAC,GAAG,SAAS,CACjB,IAAI,EACJ;QACE,YAAY;QACZ,IAAI;QACJ,kBAAkB,CAAC,OAAO,CAAC;QAC3B,eAAe;QACf,WAAW;KACZ,EACD,EAAE,KAAK,EAAE,QAAQ,EAAE,CACpB,CAAC;IACF,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;AACxB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CACxC,OAAe;IAEf,MAAM,CAAC,GAAG,SAAS,CACjB,IAAI,EACJ,CAAC,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,kBAAkB,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC,EAC3E,EAAE,QAAQ,EAAE,MAAM,EAAE,CACrB,CAAC;IACF,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC/D,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC1B,OAAO,CAAC,IAAI,SAAS,CAAC;AACxB,CAAC;AAsBD;;;;;;;;GAQG;AACH,SAAS,sBAAsB;IAC7B,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe;QAC5C,CAAC,CAAC,CAAC,SAAS,EAAE,4BAA4B,EAAE,UAAU,CAAC;QACvD,CAAC,CAAC,CAAC,4BAA4B,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IAC1D,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;QAC7B,IACE,SAAS,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;aAChE,MAAM,KAAK,CAAC,EACf,CAAC;YACD,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,sBAAsB,CACpC,IAAwB,EACxB,OAAO,GAAG,wBAAwB;IAElC,MAAM,IAAI,GAAiC;QACzC,yEAAyE;QACzE,+DAA+D;QAC/D,CAAC,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,CAAC;QACzC,2EAA2E;QAC3E,CAAC,KAAK,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,CAAC;QACxC,CAAC,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,CAAC;QACvC,CAAC,KAAK,EAAE,IAAI,EAAE,kBAAkB,EAAE,eAAe,CAAC;QAClD,CAAC,KAAK,EAAE,IAAI,EAAE,oBAAoB,EAAE,kCAAkC,CAAC;QACvE,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC;QAC5B,CAAC,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,CAAC;QACpC,CAAC,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC;QACnC,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC;QACjC,CAAC,KAAK,EAAE,IAAI,EAAE,mBAAmB,EAAE,eAAe,CAAC;QACnD,CAAC,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,GAAG,CAAC;QACrC,CAAC,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,CAAC;QACxC;YACE,MAAM;YACN,IAAI;YACJ,yBAAyB;YACzB,sDAAsD;SACvD;QACD,0EAA0E;QAC1E,CAAC,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC;QACrC;YACE,MAAM;YACN,IAAI;YACJ,aAAa;YACb,IAAI;YACJ,MAAM;YACN,iBAAiB;YACjB,cAAc;YACd,4BAA4B;SAC7B;QACD,CAAC,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,WAAW,EAAE,IAAI,CAAC;QAClD,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC;QAC3C,sEAAsE;QACtE,4EAA4E;QAC5E,6EAA6E;QAC7E,8EAA8E;QAC9E,2EAA2E;QAC3E;YACE,MAAM;YACN,IAAI;YACJ,OAAO;YACP,IAAI;YACJ,IAAI;YACJ,iBAAiB;YACjB,mCAAmC;YACnC,iBAAiB;SAClB;QACD;YACE,MAAM;YACN,IAAI;YACJ,WAAW;YACX,OAAO;YACP,WAAW;YACX,IAAI;YACJ,sBAAsB;SACvB;QACD;YACE,MAAM;YACN,IAAI;YACJ,cAAc;YACd,OAAO;YACP,WAAW;YACX,IAAI;YACJ,sBAAsB;SACvB;QACD,2BAA2B,EAAE;KAC9B,CAAC;IACF,2EAA2E;IAC3E,wEAAwE;IACxE,oEAAoE;IACpE,IAAI,IAAI;QAAE,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC;IACzD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,eAAe,CAAC,IAA2B;IAClD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,IAA0C;IAE1C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACxC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,SAAS,IAAI,mBAAmB,CAAC,UAAU,EAAE,CAAC;QACvD,IAAI,MAAM,IAAI,SAAS,EAAE,CAAC;YACxB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC;gBAAE,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACpE,CAAC;aAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YACpE,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,2BAA2B;IACzC,MAAM,SAAS,GAAG;QAChB,qCAAqC;QACrC,yEAAyE;QACzE,6EAA6E;QAC7E,4EAA4E;QAC5E,8EAA8E;QAC9E,4GAA4G;KAC7G,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACf,6EAA6E;IAC7E,4EAA4E;IAC5E,wDAAwD;IACxD,MAAM,MAAM,GAAG;QACb,0BAA0B;QAC1B,8EAA8E;QAC9E,gCAAgC;QAChC,iBAAiB;QACjB,kGAAkG;QAClG,gFAAgF;QAChF,kDAAkD;QAClD,+BAA+B;QAC/B,6CAA6C;KAC9C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,OAAO;QACL,MAAM;QACN,IAAI;QACJ,KAAK;QACL,UAAU;QACV,IAAI;QACJ,SAAS;QACT,gBAAgB,gBAAgB,CAAC,MAAM,CAAC,EAAE;QAC1C,eAAe;KAChB,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,wBAAwB,CACtC,OAAO,GAAG,oBAAoB,EAAE,CAAC,OAAO;IAExC,MAAM,IAAI,GAAG,sBAAsB,CAAC,sBAAsB,EAAE,EAAE,OAAO,CAAC,CAAC;IACvE,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACxB,oEAAoE;QACpE,SAAS,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IAClD,CAAC;AACH,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,kBAAkB,CAAC,OAAgB;IACjD,wBAAwB,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAe,EACf,OAAe,EACf,GAAW,EACX,OAA8B,EAAE,EAChC,KAAc,EACd,WAAW,GAAG,oBAAoB,EAAE,CAAC,OAAO,EAC5C,WAAkC,EAAE;IAEpC,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,EACJ,oBAAoB,GAAG,KAAK,EAC5B,cAAc,GAAG,KAAK,EACtB,GAAG,cAAc,EAClB,GAAG,QAAQ,CAAC;IACb,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAChC,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,uCAAuC,CAAC,CAAC;QAChF,CAAC;QACD,MAAM,SAAS,GAAG,wBAAwB,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;QAC/D,oBAAoB,CAAC,IAAI,EAAE,kBAAkB,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,cAAc,EAAE,CAAC,CAAC,CAAC;QAC3F,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC7D,CAAC;IAED,MAAM,CAAC,GAAG,SAAS,CACjB,IAAI,EACJ;QACE,aAAa;QACb,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,YAAY;QACZ,GAAG,mBAAmB,EAAE;QACxB,IAAI;QACJ,IAAI;QACJ,yEAAyE;QACzE,wEAAwE;QACxE,kEAAkE;QAClE,IAAI;QACJ,OAAO;QACP,IAAI;QACJ,GAAG;QACH,GAAG,6BAA6B,EAAE;QAClC,WAAW;QACX,KAAK;QACL,oBAAoB,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,aAAa;QAC/D,GAAG,CAAC,oBAAoB;YACtB,CAAC,CAAC,CAAC,OAAO,CAAC;YACX,CAAC,CAAC;gBACE,oBAAoB,CAClB,OAAO,EACP,GAAG,EACH,KAAK,EACL,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CACzD;gBACD,OAAO;aACR,CAAC;QACN,GAAG,IAAI;KACR,EACD;QACE,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC;KACtC,CACF,CAAC;IACF,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC;IACvE,CAAC;IACD,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;IACrC,MAAM,YAAY,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5E,MAAM,SAAS,GAAG,wBAAwB,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;IAC7E,IAAI,CAAC,oBAAoB,IAAI,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAC3D,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,6CAA6C,IAAI,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,qEAAqE;IACrE,SAAS,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE;QAC/D,KAAK,EAAE,QAAQ;KAChB,CAAC,CAAC;IACH,oBAAoB,CAAC,IAAI,EAAE,kBAAkB,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,cAAc,EAAE,CAAC,CAAC,CAAC;IAC3F,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAC7D,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,mBAAmB,CAAC,SAAiB;IACnD,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IAClD,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE;QAC3E,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;KACpC,CAAC,CAAC;IACH,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAClD,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IACjD,OAAO,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5D,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAClC,OAAe,EACf,OAAe,EACf,GAAW,EACX,IAA2B,EAC3B,UAAkB,EAClB,SAAiB,EACjB,KAAa,EACb,WAAW,GAAG,oBAAoB,EAAE,CAAC,OAAO,EAC5C,WAAoB,EACpB,cAAc,GAAG,KAAK;IAEtB,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5B,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACpC,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAChC,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,uCAAuC,CAAC,CAAC;QAChF,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACxB,CAAC;IAED,MAAM,UAAU,GAAG,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,UAAU,SAAS,CAAC;IAC3E,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,aAAa,CAAC,UAAU,EAAE,WAAW,EAAE;YACrC,QAAQ,EAAE,MAAM;YAChB,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,GAAG,SAAS,CACjB,IAAI,EACJ;QACE,aAAa;QACb,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,YAAY;QACZ,GAAG,mBAAmB,EAAE;QACxB,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,OAAO;QACP,IAAI;QACJ,GAAG;QACH,GAAG,6BAA6B,EAAE;QAClC,WAAW;QACX,KAAK;QACL,gBAAgB;QAChB,UAAU;QACV,SAAS;QACT,UAAU;QACV,OAAO;QACP,GAAG,IAAI;KACR,EACD;QACE,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC;KACrC,CACF,CAAC;IACF,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnB,yBAAyB,CAAC,UAAU,CAAC,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC;IACvE,CAAC;IACD,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;IACrC,MAAM,YAAY,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5E,MAAM,SAAS,GAAG,wBAAwB,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;IAC7E,IAAI,cAAc,IAAI,CAAC,SAAS,EAAE,CAAC;QACjC,yBAAyB,CAAC,UAAU,CAAC,CAAC;QACtC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,6CAA6C,IAAI,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,SAAS,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE;QAC/D,KAAK,EAAE,QAAQ;KAChB,CAAC,CAAC;IACH,OAAO;QACL,IAAI;QACJ,IAAI;QACJ,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtC,CAAC;AACJ,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,yBAAyB,CAAC,UAAmB;IAC3D,IAAI,CAAC,UAAU;QAAE,OAAO;IACxB,IAAI,CAAC;QACH,UAAU,CAAC,UAAU,CAAC,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,sEAAsE;IACxE,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,MAAM,CAAC,GAAG,SAAS,CACjB,IAAI,EACJ,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,EAAE,qBAAqB,CAAC,EAC1D,EAAE,QAAQ,EAAE,MAAM,EAAE,CACrB,CAAC;IACF,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC/D,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/C,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5C,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,KAAK,GAAG,GAAG;IACnD,MAAM,CAAC,GAAG,SAAS,CACjB,IAAI,EACJ,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,KAAK,EAAE,CAAC,EACrD,EAAE,QAAQ,EAAE,MAAM,EAAE,CACrB,CAAC;IACF,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAC3C,OAAO,CAAC,CAAC,MAAM,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAAe,EACf,UAAkB,EAClB,GAAW,EACX,WAAmB,EACnB,SAAkB;IAElB,OAAO;QACL,YAAY;QACZ,IAAI;QACJ,IAAI;QACJ,OAAO;QACP,IAAI;QACJ,UAAU;QACV,IAAI;QACJ,GAAG;QACH,WAAW;QACX,KAAK;QACL,cAAc;QACd,eAAe;QACf,SAAS,IAAI,EAAE;QACf,WAAW;KACZ,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gCAAgC,CAC9C,OAAe,EACf,UAAkB,EAClB,GAAW,EACX,WAAmB,EACnB,SAAiB,EACjB,SAA4D;IAE5D,OAAO;QACL,YAAY;QACZ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,YAAY;QACZ,IAAI;QACJ,GAAG,sBAAsB,IAAI,SAAS,CAAC,IAAI,EAAE;QAC7C,IAAI;QACJ,GAAG,uBAAuB,IAAI,SAAS,CAAC,KAAK,EAAE;QAC/C,IAAI;QACJ,OAAO;QACP,IAAI;QACJ,UAAU;QACV,IAAI;QACJ,GAAG;QACH,WAAW;QACX,KAAK;QACL,yBAAyB;QACzB,mBAAmB;QACnB,SAAS;QACT,WAAW;KACZ,CAAC;AACJ,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,MAAM,CAAC,GAAG,SAAS,CACjB,IAAI,EACJ,CAAC,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,CAAC,EACvD,EAAE,QAAQ,EAAE,MAAM,EAAE,CACrB,CAAC;IACF,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAC3C,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAC9C,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,gBAAgB,CAC9B,OAAe,EACf,UAAkB,EAClB,GAAW,EACX,WAAmB,EACnB,SAAkB;IAElB,MAAM,CAAC,GAAG,SAAS,CACjB,IAAI,EACJ,sBAAsB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,SAAS,CAAC,EACxE,EAAE,KAAK,EAAE,QAAQ,EAAE,CACpB,CAAC;IACF,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;AACxB,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,IAAI,CAAC;QACH,OAAO,CACL,SAAS,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,iBAAiB,GAAG,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;aACpE,MAAM,KAAK,CAAC,CAChB,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,KAAyB;IAChD,OAAO,KAAK,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAe;IACzC,OAAO,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC;AAC3D,CAAC;AAED,SAAS,iBAAiB,CACxB,OAAe,EACf,MAAc;IAEd,MAAM,CAAC,GAAG,SAAS,CACjB,IAAI,EACJ,CAAC,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,kBAAkB,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,EAClE,EAAE,QAAQ,EAAE,MAAM,EAAE,CACrB,CAAC;IACF,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC/D,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC9B,OAAO,KAAK,IAAI,SAAS,CAAC;AAC5B,CAAC;AAED,SAAS,gBAAgB,CACvB,OAAe,EACf,MAAc,EACd,KAAa;IAEb,SAAS,CACP,IAAI,EACJ,CAAC,YAAY,EAAE,IAAI,EAAE,kBAAkB,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAChE;QACE,KAAK,EAAE,QAAQ;KAChB,CACF,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,OAAe;IACtC,MAAM,CAAC,GAAG,SAAS,CACjB,IAAI,EACJ;QACE,YAAY;QACZ,IAAI;QACJ,IAAI;QACJ,kBAAkB,CAAC,OAAO,CAAC;QAC3B,IAAI;QACJ,4BAA4B;KAC7B,EACD,EAAE,QAAQ,EAAE,MAAM,EAAE,CACrB,CAAC;IACF,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAClD,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,UAAU,KAAK,eAAe,IAAI,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9D,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,2BAA2B,CACzC,QAAgB;IAEhB,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IACvC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACvB,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IACtC,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC;IACrC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CACzB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,KAAK,WAAW;QACtB,iBAAiB,CAAC,CAAC,CAAC,IAAI,EAAE,iBAAiB,CAAC,KAAK,IAAI,CACxD,CAAC;IACF,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,OAAO,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IAC7D,IAAI,eAAe,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAC3C,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACtC,IAAI,IAAI;QAAE,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC;IAC7D,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,wBAAwB,CAC/B,OAAe,EACf,OAAe,EACf,GAAW,EACX,YAAqB;IAErB,MAAM,IAAI,GAAG,eAAe,CAAC,YAAY,CAAC;QACxC,CAAC,CAAC,YAAY;QACd,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC9B,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC;IACnD,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAC;IACtD,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,EAAE,GAAG,CAAC,CAAC;IACjD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,SAAS,oBAAoB,CAAC,OAAe,EAAE,GAAkB;IAC/D,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC;QACrD,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,OAAO,kBAAkB,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,iBAAiB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,yBAAyB,CAAC,WAAmB;IACpD,OAAO,2CAA2C,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACvE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAC5B,OAAe,EACf,GAAW,EACX,WAAmB,EACnB,SAA4C,OAAO,CAAC,MAAM;IAE1D,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACrD,IAAI,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,MAAM,CAAC,KAAK,CACV,+BAA+B,GAAG,IAAI,WAAW,6FAA6F,CAC/I,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,kBAAkB,GAAG,yBAAyB,CAAC,WAAW,CAAC,CAAC;IAClE,IAAI,kBAAkB,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QAC1D,IAAI,kBAAkB,EAAE,CAAC;YACvB,MAAM,CAAC,KAAK,CACV,sCAAsC,OAAO,mGAAmG,CACjJ,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC5C,IAAI,kBAAkB,IAAI,CAAC,SAAS,EAAE,CAAC;QACrC,MAAM,CAAC,KAAK,CACV,kEAAkE,OAAO,2DAA2D,CACrI,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IACE,CAAC,gBAAgB,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,EAAE,WAAW,EAAE,SAAS,CAAC,EACxE,CAAC;QACD,MAAM,CAAC,KAAK,CACV,8DAA8D,OAAO,KAAK,CAC3E,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,2FAA2F;IAC3F,gBAAgB,CAAC,OAAO,EAAE,GAAG,oBAAoB,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC;IACpF,OAAO,IAAI,CAAC;AACd,CAAC;AAsBD,SAAS,kCAAkC;IACzC,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAChE,OAAO;QACL,SAAS;QACT,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC;QACnC,KAAK,EAAE,UAAU,EAAE;KACpB,CAAC;AACJ,CAAC;AAED,SAAS,mCAAmC,CAC1C,SAAuC;IAEvC,IAAI,CAAC;QACH,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAChE,CAAC;IAAC,MAAM,CAAC;QACP,6CAA6C;IAC/C,CAAC;AACH,CAAC;AAOD,SAAS,wBAAwB,CAC/B,SAAuC,EACvC,eAAuB;IAEvB,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC;YACpD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAC9B,CAAC;QACD,GAAG,GAAG,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAQ,KAA+B,CAAC,IAAI,KAAK,QAAQ;YACvD,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE;YACtB,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAC3B,CAAC;IACD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA4B,CAAC;QACvD,IACE,GAAG,CAAC,IAAI,KAAK,kBAAkB;YAC/B,GAAG,CAAC,OAAO,KAAK,CAAC;YACjB,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,KAAK;YAC7B,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC;YAC1B,GAAG,CAAC,GAAG,KAAK,eAAe;YAC3B,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ;YACjC,GAAG,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAC1B,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAC9B,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,GAAa,EAAE,CAAC;IACpD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAY;IACzC,SAAS,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;AAClE,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAAe,EACf,GAAW,EACX,WAAmB,EACnB,SAAiB,EACjB,SAA4C,OAAO,CAAC,MAAM,EAC1D,UAAgD,EAAE;IAElD,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACrD,IAAI,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,MAAM,CAAC,KAAK,CACV,6CAA6C,GAAG,IAAI,WAAW,yBAAyB,CACzF,CAAC;QACF,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,mBAAmB,CAAC,SAAS,CAAC,KAAK,SAAS,EAAE,CAAC;QAChF,MAAM,CAAC,KAAK,CACV,kDAAkD,SAAS,IAAI,WAAW,iBAAiB,CAC5F,CAAC;QACF,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,kBAAkB,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QAC1D,MAAM,CAAC,KAAK,CACV,uCAAuC,eAAe,6BAA6B,OAAO,KAAK,CAChG,CAAC;QACF,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,SAAS,GAAG,kCAAkC,EAAE,CAAC;IACvD,IAAI,WAA+B,CAAC;IACpC,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,SAAS,CACjB,IAAI,EACJ,gCAAgC,CAC9B,OAAO,EACP,eAAe,EACf,GAAG,EACH,WAAW,EACX,SAAS,EACT,SAAS,CACV,EACD;YACE,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;SACpC,CACF,CAAC;QACF,WAAW,GAAG,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,CAAC;YACpD,MAAM,CAAC,KAAK,CACV,0DAA0D,OAAO,KAAK,CACvE,CAAC;YACF,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,IAAI,GAAG,CAAC,CAAC;QACtD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC;QAC1D,MAAM,KAAK,GACT,OAAO,CAAC,KAAK;YACb,CAAC,CAAC,EAAU,EAAE,EAAE,CACd,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7D,IAAI,SAA6B,CAAC;QAClC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,QAAQ,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;YACvD,MAAM,KAAK,CAAC,UAAU,CAAC,CAAC;YACxB,MAAM,QAAQ,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;YAChD,MAAM,UAAU,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;YACpD,IACE,QAAQ,KAAK,SAAS;gBACtB,UAAU,KAAK,SAAS;gBACxB,CAAC,SAAS,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,CAAC,EACrD,CAAC;gBACD,qBAAqB,CAAC,WAAW,CAAC,CAAC;gBACnC,MAAM,CAAC,KAAK,CACV,uDAAuD,OAAO,KAAK,CACpE,CAAC;gBACF,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,SAAS,GAAG,UAAU,CAAC;YACvB,MAAM,SAAS,GAAG,wBAAwB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAClE,IAAI,SAAS,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAClC,qBAAqB,CAAC,WAAW,CAAC,CAAC;gBACnC,MAAM,CAAC,KAAK,CACV,mEAAmE,OAAO,KAAK,CAChF,CAAC;gBACF,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,IAAI,SAAS,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;gBAChC,gBAAgB,CACd,OAAO,EACP,GAAG,oBAAoB,KAAK,EAC5B,aAAa,CAAC,WAAW,CAAC,CAC3B,CAAC;gBACF,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC;YACnD,CAAC;QACH,CAAC;QACD,qBAAqB,CAAC,WAAW,CAAC,CAAC;QACnC,MAAM,CAAC,KAAK,CACV,gFAAgF,OAAO,KAAK,CAC7F,CAAC;QACF,OAAO,SAAS,CAAC;IACnB,CAAC;YAAS,CAAC;QACT,mCAAmC,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,kBAAkB,EAAE,CAAC;IACrB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI;QAC3B,CAAC,CAAC,CAAC,eAAe,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;QACrC,CAAC,CAAC,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzC,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IACtD,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACpC,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,iBAAiB,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE;QACzD,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;KACpC,CAAC,CAAC;IACH,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAe,EAAE,IAAc;IACnE,MAAM,CAAC,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IACzD,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;AACvB,CAAC;AAED,iCAAiC;AACjC,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC7E,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;AACxB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB;IAC9B,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE;YACpD,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;SACpC,CAAC,CAAC;QACH,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAC9C,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM;aAClB,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;aACzC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;QACpE,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,MAAM,IAAI,GAAG,SAAS,CACpB,IAAI,EACJ,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,qCAAqC,CAAC,EACpE,EAAE,QAAQ,EAAE,MAAM,EAAE,CACrB,CAAC;IACF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACpD,MAAM,CAAC,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3D,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACjD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACrD,oCAAoC;IACpC,MAAM,QAAQ,GAAG,SAAS,CACxB,MAAM,EACN;QACE,KAAK;QACL,aAAa,GAAG,8FAA8F,GAAG,kCAAkC;KACpJ,EACD,EAAE,QAAQ,EAAE,MAAM,EAAE,CACrB,CAAC;IACF,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACpD,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC;AAC9C,CAAC;AAQD,SAAS,eAAe,CAAC,GAAW;IAClC,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE;QACtE,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;KACpC,CAAC,CAAC;IACH,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACzD,OAAO,QAAQ,CAAC,MAAM;SACnB,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;SACzC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,sBAAsB,CAAC,GAAW;IACzC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,SAAS,GAAG,UAAU,EAAE,MAAM,CAAC,CAAC;QACzD,MAAM,GAAG,GAA2B,EAAE,CAAC;QACvC,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,CAAC,GAAG,CAAC;gBAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,4BAA4B,CAC1C,IAAY,EACZ,QAAgD;IAEhD,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,CAAC,EAAE;QACzE,QAAQ,EAAE,MAAM;KACjB,CAAC,CAAC;IACH,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IACxD,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IACxD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IACjE,MAAM,CAAC,QAAQ,CAAC,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,sBAAsB,CAAC,QAAQ,IAAI,OAAO,CAAC,CAAC;IACxD,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,MAAM,OAAO,GAAG,GAAG,CAAC,kBAAkB,CAAC;IACvC,MAAM,SAAS,GAAG,GAAG,CAAC,oBAAoB,CAAC;IAC3C,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IAC7C,IAAI,OAAO,KAAK,QAAQ,CAAC,OAAO,IAAI,SAAS,KAAK,QAAQ,CAAC,SAAS,EAAE,CAAC;QACrE,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,OAAe;IAC7D,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE;QACrE,KAAK,EAAE,QAAQ;KAChB,CAAC,CAAC;IACH,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;AACxB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,SAAS,CACjB,IAAI,EACJ,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,EAAE,qBAAqB,CAAC,EAC1D,EAAE,QAAQ,EAAE,MAAM,EAAE,CACrB,CAAC;QACF,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,CAAC,6CAA6C;QAC9E,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC,CAAC,gCAAgC;QACvE,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC,CAAC,+CAA+C;IAC9D,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,IAAY;IACxD,MAAM,MAAM,GAAG,OAAO,OAAO,CAAC,GAAG,IAAI,UAAU,EAAE,EAAE,CAAC;IACpD,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE;QACjE,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC;KACpC,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACtC,MAAM,MAAM,GAAG,SAAS,CACtB,IAAI,EACJ,CAAC,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAChD,EAAE,KAAK,EAAE,QAAQ,EAAE,CACpB,CAAC;IACF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,SAAS,CAAC,IAAI,EAAE,CAAC,eAAe,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACtE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE;QAChE,KAAK,EAAE,QAAQ;KAChB,CAAC,CAAC;IACH,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;AAC5B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,MAAoB,EAAE,SAAiB;IACnE,MAAM,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC/B,IAAI,MAAM,CAAC,UAAU;QAAE,GAAG,CAAC,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACtE,4EAA4E;IAC5E,2EAA2E;IAC3E,8EAA8E;IAC9E,+EAA+E;IAC/E,8EAA8E;IAC9E,MAAM,IAAI,GAAG;QACX,IAAI;QACJ,MAAM,CAAC,SAAS;QAChB,MAAM;QACN,KAAK;QACL,WAAW,SAAS,EAAE;QACtB,IAAI;QACJ,eAAe;QACf,IAAI;QACJ,KAAK;QACL,cAAc;QACd,gBAAgB;QAChB,MAAM;QACN,IAAI;QACJ,aAAa;QACb,IAAI;QACJ,IAAI;QACJ,gBAAgB;KACjB,CAAC;IACF,6EAA6E;IAC7E,8EAA8E;IAC9E,yEAAyE;IACzE,4EAA4E;IAC5E,6EAA6E;IAC7E,wEAAwE;IACxE,4EAA4E;IAC5E,kEAAkE;IAClE,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,SAAS,CAAC;QACR,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,CAAC,GAAG,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;QAC7B,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;YACjB,wEAAwE;YACxE,+BAA+B;YAC/B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,uBAAuB,SAAS,4BAA4B,SAAS,WAAW,CACjF,CAAC;YACF,OAAO,CAAC,CAAC;QACX,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACrC,IAAI,KAAK,GAAG,IAAI,EAAE,CAAC;YACjB,aAAa,IAAI,CAAC,CAAC;YACnB,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;gBACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,uDAAuD,MAAM,2BAA2B;oBACtF,uBAAuB,SAAS,6BAA6B,CAChE,CAAC;gBACF,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,aAAa,GAAG,CAAC,CAAC,CAAC,+CAA+C;QACpE,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,qCAAqC,MAAM,yDAAyD;YAClG,0EAA0E,CAC7E,CAAC;QACF,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IACjD,CAAC;AACH,CAAC"}
|