baxian 2.0.2 → 2.0.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/README.md +2 -2
- package/README.zh-CN.md +3 -3
- package/dist/agent/bootstrap.js +4 -4
- package/dist/agent/branch.d.ts.map +1 -1
- package/dist/agent/branch.js +0 -7
- package/dist/agent/branch.js.map +1 -1
- package/dist/agent/detect/region.d.ts.map +1 -1
- package/dist/agent/detect/region.js +0 -3
- package/dist/agent/detect/region.js.map +1 -1
- package/dist/agent/dispatch-reconciler.d.ts +2 -0
- package/dist/agent/dispatch-reconciler.d.ts.map +1 -1
- package/dist/agent/dispatch-reconciler.js +48 -55
- package/dist/agent/dispatch-reconciler.js.map +1 -1
- package/dist/agent/lineage.d.ts.map +1 -1
- package/dist/agent/lineage.js +0 -9
- package/dist/agent/lineage.js.map +1 -1
- package/dist/agent/manager.d.ts +42 -8
- package/dist/agent/manager.d.ts.map +1 -1
- package/dist/agent/manager.js +717 -375
- package/dist/agent/manager.js.map +1 -1
- package/dist/agent/net-exec.d.ts.map +1 -1
- package/dist/agent/net-exec.js +0 -5
- package/dist/agent/net-exec.js.map +1 -1
- package/dist/agent/pane-streamer-manager.d.ts.map +1 -1
- package/dist/agent/pane-streamer-manager.js +0 -36
- package/dist/agent/pane-streamer-manager.js.map +1 -1
- package/dist/agent/pane-streamer.d.ts +6 -0
- package/dist/agent/pane-streamer.d.ts.map +1 -1
- package/dist/agent/pane-streamer.js +126 -83
- package/dist/agent/pane-streamer.js.map +1 -1
- package/dist/agent/phase-signal-watcher.d.ts.map +1 -1
- package/dist/agent/phase-signal-watcher.js +2 -77
- package/dist/agent/phase-signal-watcher.js.map +1 -1
- package/dist/agent/phase-signal.d.ts +0 -1
- package/dist/agent/phase-signal.d.ts.map +1 -1
- package/dist/agent/phase-signal.js +0 -17
- package/dist/agent/phase-signal.js.map +1 -1
- package/dist/agent/preflight.d.ts.map +1 -1
- package/dist/agent/preflight.js +0 -18
- package/dist/agent/preflight.js.map +1 -1
- package/dist/agent/prompt.d.ts.map +1 -1
- package/dist/agent/prompt.js +0 -1
- package/dist/agent/prompt.js.map +1 -1
- package/dist/agent/repo-store.d.ts.map +1 -1
- package/dist/agent/repo-store.js +0 -38
- package/dist/agent/repo-store.js.map +1 -1
- package/dist/agent/runner.d.ts.map +1 -1
- package/dist/agent/runner.js +0 -2
- package/dist/agent/runner.js.map +1 -1
- package/dist/agent/tmux-install.js +0 -1
- package/dist/agent/tmux-install.js.map +1 -1
- package/dist/agent/tmux-probe-poller.d.ts.map +1 -1
- package/dist/agent/tmux-probe-poller.js +4 -11
- package/dist/agent/tmux-probe-poller.js.map +1 -1
- package/dist/agent/tmux.d.ts.map +1 -1
- package/dist/agent/tmux.js +0 -86
- package/dist/agent/tmux.js.map +1 -1
- package/dist/agent/vt-visible-text.d.ts +46 -1
- package/dist/agent/vt-visible-text.d.ts.map +1 -1
- package/dist/agent/vt-visible-text.js +639 -63
- package/dist/agent/vt-visible-text.js.map +1 -1
- package/dist/api/agents.d.ts.map +1 -1
- package/dist/api/agents.js +3 -49
- package/dist/api/agents.js.map +1 -1
- package/dist/api/config.d.ts.map +1 -1
- package/dist/api/config.js +10 -59
- package/dist/api/config.js.map +1 -1
- package/dist/api/hosts.d.ts.map +1 -1
- package/dist/api/hosts.js +8 -63
- package/dist/api/hosts.js.map +1 -1
- package/dist/api/platform-guard.d.ts.map +1 -1
- package/dist/api/platform-guard.js +2 -3
- package/dist/api/platform-guard.js.map +1 -1
- package/dist/api/probe.d.ts.map +1 -1
- package/dist/api/probe.js +0 -1
- package/dist/api/probe.js.map +1 -1
- package/dist/api/projects.d.ts.map +1 -1
- package/dist/api/projects.js +15 -28
- package/dist/api/projects.js.map +1 -1
- package/dist/api/tasks.d.ts.map +1 -1
- package/dist/api/tasks.js +94 -58
- package/dist/api/tasks.js.map +1 -1
- package/dist/app.d.ts +2 -2
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +0 -6
- package/dist/app.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +6 -31
- package/dist/cli.js.map +1 -1
- package/dist/config/hot-reload.d.ts.map +1 -1
- package/dist/config/hot-reload.js +0 -4
- package/dist/config/hot-reload.js.map +1 -1
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +6 -29
- package/dist/config/loader.js.map +1 -1
- package/dist/config/normalizer.d.ts.map +1 -1
- package/dist/config/normalizer.js +0 -19
- package/dist/config/normalizer.js.map +1 -1
- package/dist/config/validator.d.ts.map +1 -1
- package/dist/config/validator.js +31 -229
- package/dist/config/validator.js.map +1 -1
- package/dist/event/handlers.d.ts.map +1 -1
- package/dist/event/handlers.js +3 -11
- package/dist/event/handlers.js.map +1 -1
- package/dist/event/log.js +0 -2
- package/dist/event/log.js.map +1 -1
- package/dist/event/ws.d.ts.map +1 -1
- package/dist/event/ws.js +3 -3
- package/dist/event/ws.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -46
- package/dist/index.js.map +1 -1
- package/dist/platform/body-digest.d.ts.map +1 -1
- package/dist/platform/body-digest.js +0 -4
- package/dist/platform/body-digest.js.map +1 -1
- package/dist/platform/command-renderer.d.ts.map +1 -1
- package/dist/platform/command-renderer.js +0 -3
- package/dist/platform/command-renderer.js.map +1 -1
- package/dist/platform/comment-cursor.d.ts.map +1 -1
- package/dist/platform/comment-cursor.js +0 -21
- package/dist/platform/comment-cursor.js.map +1 -1
- package/dist/platform/driver-spec.d.ts.map +1 -1
- package/dist/platform/driver-spec.js +1 -42
- package/dist/platform/driver-spec.js.map +1 -1
- package/dist/platform/feedback.d.ts +5 -1
- package/dist/platform/feedback.d.ts.map +1 -1
- package/dist/platform/feedback.js +7 -1
- package/dist/platform/feedback.js.map +1 -1
- package/dist/platform/field-mapper.d.ts.map +1 -1
- package/dist/platform/field-mapper.js +3 -11
- package/dist/platform/field-mapper.js.map +1 -1
- package/dist/platform/git-driver.d.ts.map +1 -1
- package/dist/platform/git-driver.js +0 -20
- package/dist/platform/git-driver.js.map +1 -1
- package/dist/platform/manifest.d.ts.map +1 -1
- package/dist/platform/manifest.js +0 -3
- package/dist/platform/manifest.js.map +1 -1
- package/dist/platform/markers.d.ts.map +1 -1
- package/dist/platform/markers.js +0 -19
- package/dist/platform/markers.js.map +1 -1
- package/dist/platform/platform-poller.d.ts +5 -1
- package/dist/platform/platform-poller.d.ts.map +1 -1
- package/dist/platform/platform-poller.js +8 -49
- package/dist/platform/platform-poller.js.map +1 -1
- package/dist/platform/plugin-registry.d.ts.map +1 -1
- package/dist/platform/plugin-registry.js +1 -12
- package/dist/platform/plugin-registry.js.map +1 -1
- package/dist/platform/pr-conversation-cache.d.ts +12 -7
- package/dist/platform/pr-conversation-cache.d.ts.map +1 -1
- package/dist/platform/pr-conversation-cache.js +60 -40
- package/dist/platform/pr-conversation-cache.js.map +1 -1
- package/dist/platform/preflight-exec.d.ts.map +1 -1
- package/dist/platform/preflight-exec.js +0 -9
- package/dist/platform/preflight-exec.js.map +1 -1
- package/dist/platform/response-parser.d.ts.map +1 -1
- package/dist/platform/response-parser.js +0 -4
- package/dist/platform/response-parser.js.map +1 -1
- package/dist/platform/review-timeline.d.ts +17 -2
- package/dist/platform/review-timeline.d.ts.map +1 -1
- package/dist/platform/review-timeline.js +93 -106
- package/dist/platform/review-timeline.js.map +1 -1
- package/dist/platform/row-schema.d.ts.map +1 -1
- package/dist/platform/row-schema.js +0 -11
- package/dist/platform/row-schema.js.map +1 -1
- package/dist/platform/startup.d.ts.map +1 -1
- package/dist/platform/startup.js +1 -12
- package/dist/platform/startup.js.map +1 -1
- package/dist/platform/types.d.ts.map +1 -1
- package/dist/platform/types.js +0 -5
- package/dist/platform/types.js.map +1 -1
- package/dist/platform/verdict-engine.d.ts.map +1 -1
- package/dist/platform/verdict-engine.js +0 -15
- package/dist/platform/verdict-engine.js.map +1 -1
- package/dist/shared/concurrency.d.ts.map +1 -1
- package/dist/shared/concurrency.js +0 -2
- package/dist/shared/concurrency.js.map +1 -1
- package/dist/shared/constants.d.ts +0 -2
- package/dist/shared/constants.d.ts.map +1 -1
- package/dist/shared/constants.js +0 -3
- package/dist/shared/constants.js.map +1 -1
- package/dist/shared/git-url.d.ts.map +1 -1
- package/dist/shared/git-url.js +0 -9
- package/dist/shared/git-url.js.map +1 -1
- package/dist/shared/types.d.ts +31 -12
- package/dist/shared/types.d.ts.map +1 -1
- package/dist/shared/types.js +14 -0
- package/dist/shared/types.js.map +1 -1
- package/dist/skill/registry.d.ts.map +1 -1
- package/dist/skill/registry.js +0 -5
- package/dist/skill/registry.js.map +1 -1
- package/dist/skills/baxian-signals/SKILL.md +0 -6
- package/dist/state/agent-store.d.ts.map +1 -1
- package/dist/state/agent-store.js +0 -6
- package/dist/state/agent-store.js.map +1 -1
- package/dist/state/error-record-store.d.ts.map +1 -1
- package/dist/state/error-record-store.js +0 -5
- package/dist/state/error-record-store.js.map +1 -1
- package/dist/state/init.d.ts.map +1 -1
- package/dist/state/init.js +0 -1
- package/dist/state/init.js.map +1 -1
- package/dist/state/lock.d.ts.map +1 -1
- package/dist/state/lock.js +0 -1
- package/dist/state/lock.js.map +1 -1
- package/dist/state/snapshot.d.ts +0 -1
- package/dist/state/snapshot.d.ts.map +1 -1
- package/dist/state/snapshot.js +0 -13
- package/dist/state/snapshot.js.map +1 -1
- package/dist/state/task-store.d.ts.map +1 -1
- package/dist/state/task-store.js +96 -11
- package/dist/state/task-store.js.map +1 -1
- package/dist/terminal/attach.d.ts.map +1 -1
- package/dist/terminal/attach.js +0 -4
- package/dist/terminal/attach.js.map +1 -1
- package/dist/terminal/stream-ws.js +0 -5
- package/dist/terminal/stream-ws.js.map +1 -1
- package/dist/web/assets/index-CzVzThuT.js +15 -0
- package/dist/web/assets/{index-BS2adAfI.css → index-Rmp4wT_5.css} +1 -1
- package/dist/web/index.html +2 -2
- package/package.json +1 -1
- package/dist/agent/root-agent-runtime.d.ts +0 -80
- package/dist/agent/root-agent-runtime.d.ts.map +0 -1
- package/dist/agent/root-agent-runtime.js +0 -637
- package/dist/agent/root-agent-runtime.js.map +0 -1
- package/dist/agent/root-recovery-coordinator.d.ts +0 -124
- package/dist/agent/root-recovery-coordinator.d.ts.map +0 -1
- package/dist/agent/root-recovery-coordinator.js +0 -1557
- package/dist/agent/root-recovery-coordinator.js.map +0 -1
- package/dist/state/root-recovery-store.d.ts +0 -107
- package/dist/state/root-recovery-store.d.ts.map +0 -1
- package/dist/state/root-recovery-store.js +0 -400
- package/dist/state/root-recovery-store.js.map +0 -1
- package/dist/web/assets/index-BKiM0MSM.js +0 -15
package/dist/agent/tmux.js
CHANGED
|
@@ -48,7 +48,6 @@ function assertPlainFormat(fmt) {
|
|
|
48
48
|
throw new Error(`tmux format ${JSON.stringify(fmt)} contains unsupported characters`);
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
|
-
// Newline/NUL cannot survive tmux command re-parsing; everything else round-trips via '\'' splicing.
|
|
52
51
|
export function tmuxQuote(value) {
|
|
53
52
|
if (value.includes('\n') || value.includes('\0')) {
|
|
54
53
|
throw new Error(`tmux argument ${JSON.stringify(value)} contains unsupported characters (newline/NUL)`);
|
|
@@ -68,15 +67,11 @@ function parseSessionRef(line) {
|
|
|
68
67
|
return null;
|
|
69
68
|
return { serverPid: m[1], serverStart: m[2], sessionId: m[3] };
|
|
70
69
|
}
|
|
71
|
-
// Names land inside tmux format filters — reject syntax-altering characters outright.
|
|
72
70
|
function assertPlainSessionName(name) {
|
|
73
71
|
if (!/^[A-Za-z0-9_@=[\]-]+$/.test(name)) {
|
|
74
72
|
throw new Error(`tmux session name ${JSON.stringify(name)} contains unsupported characters`);
|
|
75
73
|
}
|
|
76
74
|
}
|
|
77
|
-
// One read carries geometry, owner state, non-reusable session identity, the
|
|
78
|
-
// session claim, and a feature probe evaluated by the same server that will
|
|
79
|
-
// evaluate write guards (plus its version for the legacy determination).
|
|
80
75
|
const WINDOW_GEOMETRY_FORMAT = '#{window_width} #{window_height} #{status} #{window-size} ' +
|
|
81
76
|
'#{@bx_owner_gen}|#{pid}|#{start_time}|#{session_id}|#{@baxian-agent-id}|#{version}|#{e|<=:1,2}';
|
|
82
77
|
const TMUX_VERSION_RE = /^(?:next-)?(\d+)\.(\d+)/;
|
|
@@ -89,15 +84,10 @@ export function classifyOwnerWriteCapability(versionRaw, probeRaw) {
|
|
|
89
84
|
const major = parseInt(m[1], 10);
|
|
90
85
|
const minor = parseInt(m[2], 10);
|
|
91
86
|
if (major > 3 || (major === 3 && minor >= 2)) {
|
|
92
|
-
// A >=3.2 server whose arithmetic probe did NOT evaluate is contradictory
|
|
93
|
-
// evidence — never downgrade it to an unguarded-adjacent path.
|
|
94
87
|
return null;
|
|
95
88
|
}
|
|
96
89
|
return 'legacy';
|
|
97
90
|
}
|
|
98
|
-
// A client's usable content area excludes its status line(s); tmux only keeps the
|
|
99
|
-
// scroll-optimized incremental stream for clients whose content area matches the
|
|
100
|
-
// window size, so both conversions must stay N-aware or geometry runs away.
|
|
101
91
|
export function contentArea(tty, statusLines) {
|
|
102
92
|
return { cols: tty.cols, rows: Math.max(1, tty.rows - statusLines) };
|
|
103
93
|
}
|
|
@@ -150,20 +140,16 @@ export class SessionAbsentError extends Error {
|
|
|
150
140
|
this.name = 'SessionAbsentError';
|
|
151
141
|
}
|
|
152
142
|
}
|
|
153
|
-
// A pattern that can never match — used where a runtime has no dialog of a given kind.
|
|
154
143
|
const NEVER_RE = /[^\s\S]/;
|
|
155
144
|
const REPL_PROC_TITLES = {
|
|
156
145
|
'claude-code': /^(?:claude(?:\.exe)?|\d+\.\d+\.\d+)$/,
|
|
157
146
|
codex: /^(?:codex|node)$/,
|
|
158
|
-
// qodercli's npm bin reports a versioned process name (e.g. qodercli-1.0.40); the standalone binary may not.
|
|
159
147
|
opencode: /^opencode$/,
|
|
160
148
|
qodercli: /^qodercli(?:-[\d.]+)?$/,
|
|
161
149
|
};
|
|
162
150
|
const READY_ANCHORS = {
|
|
163
151
|
'claude-code': /⏵⏵ bypass permissions on/,
|
|
164
152
|
codex: /permissions: YOLO mode|(?:^|\n)› [^\n]+\n\n\s+[A-Za-z0-9][A-Za-z0-9._:/-]*(?:\s+[A-Za-z0-9][A-Za-z0-9._:/-]*){0,2}\s+·[^\n]*(?:\n\s*)?$/,
|
|
165
|
-
// opencode/qodercli have no idle-only anchor line (their footers persist while working);
|
|
166
|
-
// readiness for them is decided by the idle-composer + not-busy path in hasRuntimeReadyView.
|
|
167
153
|
opencode: NEVER_RE,
|
|
168
154
|
qodercli: NEVER_RE,
|
|
169
155
|
};
|
|
@@ -217,8 +203,6 @@ function detectRuntimeCompletionPopup(stripped, runtime) {
|
|
|
217
203
|
}
|
|
218
204
|
return RUNTIME_COMPLETION_POPUP_RE.test(footer.join(' '));
|
|
219
205
|
}
|
|
220
|
-
// codex 空 composer 上按一次 Esc 会 arm backtrack,footer 变成此提示、替换掉带 `·` 的状态行;
|
|
221
|
-
// 它只在空闲态出现(工作中 Esc 是打断),故等价于一个 ready anchor。锚定屏幕底部避免误吃历史输出。
|
|
222
206
|
const CODEX_BACKTRACK_HINT_RE = /(?:^|\n)[ \t]*esc again to edit previous message[ \t]*(?:\n[ \t]*)*$/i;
|
|
223
207
|
function hasReplReadyAnchor(stripped, runtime) {
|
|
224
208
|
if (READY_ANCHORS[runtime].test(stripped))
|
|
@@ -229,8 +213,6 @@ const OSC_TITLE_WORKING_RE = /^[⠀-⣿] /;
|
|
|
229
213
|
export function hasOscTitleWorking(paneTitle) {
|
|
230
214
|
return OSC_TITLE_WORKING_RE.test(paneTitle);
|
|
231
215
|
}
|
|
232
|
-
// claude-code 独有契约(poller manifest osc_title_idle 同源):idle 恒为 "✳ <摘要>",working 为 braille 帧前缀。
|
|
233
|
-
// codex 的 title 是 cwd 之类的弱信号,不构成 idle 契约。
|
|
234
216
|
const OSC_TITLE_IDLE_RES = {
|
|
235
217
|
'claude-code': /^✳ /,
|
|
236
218
|
};
|
|
@@ -248,24 +230,11 @@ const CODEX_IDLE_PROMPT_LINE_RE = /^[ \t]*[›→](?:[ \t].*)?$/im;
|
|
|
248
230
|
const CODEX_IDLE_COMPOSER_LINE_RE = /(?:^|\n)→ [A-Za-z0-9][\w.-]*(?:\s+git:\([^\s)]+\))?\s*$/i;
|
|
249
231
|
const CODEX_IDLE_PROMPT_TAIL_LINES = 6;
|
|
250
232
|
const CODEX_WORKING_TAIL_LINES = 8;
|
|
251
|
-
// claude-code ≥2.1 的空 composer 行是 ❯ + no-break space(U+00A0),[ \t] 不含它
|
|
252
233
|
const CLAUDE_IDLE_COMPOSER_LINE_RE = /^[ \t\u00A0]*[❯>][ \t\u00A0]*$/m;
|
|
253
|
-
// opencode working: progress bar `■■■⬝⬝⬝` + interrupt hint. Matches the herdr-listed
|
|
254
|
-
// "esc to interrupt", the post-TUI-rewrite "esc interrupt" (no "to"), and the
|
|
255
|
-
// "ctrl+c to interrupt" footer that can be the only busy evidence if the bar wraps out of tail.
|
|
256
234
|
const OPENCODE_BUSY_RE = /(?:esc|ctrl\+c)\s+(?:to\s+)?interrupt|(?:■|⬝){4,}/i;
|
|
257
235
|
const OPENCODE_IDLE_COMPOSER_RE = /ctrl\+p\s+commands/;
|
|
258
|
-
// qodercli working: "(esc to cancel," suffix + braille "Thinking…" spinner line.
|
|
259
236
|
const QODER_BUSY_RE = /\(esc to cancel,|^[ \t]*[⠀-⣿][ \t]+.*\p{L}/mu;
|
|
260
|
-
// Only the composer placeholder marks idle. "? for shortcuts" is dropped on purpose: it is also
|
|
261
|
-
// an OVERLAY_FOOTER_SIGNAL (help/shortcuts overlay), so using it as an idle cue would read an
|
|
262
|
-
// overlay pane as ready and paste the prompt into the overlay instead of the composer.
|
|
263
237
|
const QODER_IDLE_COMPOSER_RE = /Type your message or @/;
|
|
264
|
-
// opencode/qodercli keep their idle footer visible while a permission prompt is up, so the
|
|
265
|
-
// footer-based idle-composer check alone would read a pending pane as ready. Block the ready
|
|
266
|
-
// view on the prompt text. Kept in sync with each manifest's pending rule (opencode.json
|
|
267
|
-
// permission_required, qodercli.json confirmation_blocker) so ready gate and detection never
|
|
268
|
-
// diverge. Misfire only degrades to a dispatch timeout (fail-closed), never an inject over a live prompt.
|
|
269
238
|
const RUNTIME_PENDING_RES = {
|
|
270
239
|
opencode: /△\s*Permission required|Permission required|Allow once|Allow always/i,
|
|
271
240
|
qodercli: /Permission Required|Allow this command to run|Do you want to allow|waiting for user confirmation|awaiting approval|allow once or always\?|asking user|enter your response|review your answers:|shell awaiting input/i,
|
|
@@ -347,8 +316,6 @@ export function hasRuntimeIdleComposerPrompt(stripped, runtime) {
|
|
|
347
316
|
const t = tail(stripped, CODEX_IDLE_PROMPT_TAIL_LINES);
|
|
348
317
|
return CODEX_IDLE_COMPOSER_LINE_RE.test(t) || CODEX_EMPTY_COMPOSER_RE.test(t);
|
|
349
318
|
}
|
|
350
|
-
// opencode/qodercli 的 fresh 屏顶部锚定/垂直居中,idle 标记落在物理 tail 之外(下方是空行海),
|
|
351
|
-
// 取非空行窗口(与 manifest region tailNonEmpty 同语义)做到几何无关。
|
|
352
319
|
if (runtime === 'opencode') {
|
|
353
320
|
return OPENCODE_IDLE_COMPOSER_RE.test(tailNonEmpty(stripped, ACTIVE_SPINNER_TAIL_LINES));
|
|
354
321
|
}
|
|
@@ -365,28 +332,17 @@ function screenBlocksReadyView(stripped, runtime) {
|
|
|
365
332
|
|| (RUNTIME_PENDING_RES[runtime]?.test(stripped) ?? false)
|
|
366
333
|
|| detectRuntimeOverlay(stripped);
|
|
367
334
|
}
|
|
368
|
-
// manifest blocker 规则(bash/generic permission、live_blocked_form、dynamic workflow、legacy)的文本指纹。
|
|
369
|
-
// 这些 prompt 挂起时 OSC 标题仍是 ✳ idle 形态(manifest 里 blocker 优先级压过 osc_title_idle 即此语义),
|
|
370
|
-
// 单短语 ≤22 字符,29 列窄 pane 下不折行。仅供 title fast path 消费:并入 hasRuntimeReadyView 会让
|
|
371
|
-
// 历史输出里的这些短语误伤 bootstrap 等既有调用方。误拦仅退化为超时 409(fail-closed),
|
|
372
|
-
// 但可能出现在回复正文的短语一律走组合判定(与选单形态同现)——裸判会把常态 idle 输出当 prompt。
|
|
373
|
-
// 指纹一律用 \s+ 连接词间:Ink 在词边界硬折行,长短语(skip interview…35 字符)窄屏必断行
|
|
374
335
|
const PENDING_PROMPT_SIGNALS = [
|
|
375
336
|
/waiting\s+for\s+permission/i,
|
|
376
337
|
/review\s+your\s+answers/i,
|
|
377
338
|
/skip\s+interview\s+and\s+plan\s+immediately/i,
|
|
378
339
|
];
|
|
379
340
|
const PENDING_OFFER_RE = /do\s+you\s+want\s+to|would\s+you\s+like\s+to|tab\s+to\s+amend|ctrl\+e\s+to\s+explain/i;
|
|
380
|
-
// manifest bash/generic permission 的选项行形态并集:裸 Yes(反色选中无 ❯)、编号 Yes/No。
|
|
381
|
-
// 不收 `❯ <任意文本>`(legacy manifest 形态):clear 的 pre-clear wait 发生在清残稿之前,
|
|
382
|
-
// composer 残稿正是 ❯+文本,收了会把修复目标场景 veto 成死锁。
|
|
383
341
|
const PENDING_OPTION_LINE_RE = /^\s*(?:❯\s*)?(?:\d+\.\s*)?yes\b|^\s*(?:❯\s*)?\d+\.\s*no\b/im;
|
|
384
342
|
const SELECT_FORM_ENTER_RE = /enter\s+to\s+(?:select|confirm)/i;
|
|
385
343
|
const DYNAMIC_WORKFLOW_RE = /run\s+a\s+dynamic\s+workflow\?/i;
|
|
386
344
|
const FORM_ESC_CANCEL_RE = /esc\s+to\s+cancel/i;
|
|
387
345
|
const PENDING_PROMPT_TAIL_LINES = 15;
|
|
388
|
-
// 活动 form 区域:最后一条水平线(form/composer box 边界)之后;无水平线(如极窄 pane 不渲染
|
|
389
|
-
// box)时退回 tail 15。不学 extractRegion 的"无线取整屏"——这里误拦即 409,整屏会把正文引用扫进来。
|
|
390
346
|
function pendingPromptRegion(stripped) {
|
|
391
347
|
const lines = stripped.split('\n');
|
|
392
348
|
let lastRule = -1;
|
|
@@ -408,8 +364,6 @@ export function detectRuntimePendingPrompt(stripped) {
|
|
|
408
364
|
return true;
|
|
409
365
|
return SELECT_FORM_ENTER_RE.test(t) && FORM_ESC_CANCEL_RE.test(t);
|
|
410
366
|
}
|
|
411
|
-
// transcript viewer / model picker 挂起时按键落 overlay 而非 composer;与 manifest skipStateUpdate 规则同源。
|
|
412
|
-
// footer(ctrl+o to toggle · esc to close,31 字符)窄屏会折两行,故看最后 2 个非空行而非 manifest 的 1 行。
|
|
413
367
|
const OVERLAY_FOOTER_SIGNALS = [
|
|
414
368
|
/ctrl\+o[^\n]{0,60}to\s+toggle/i,
|
|
415
369
|
/ctrl\+e[^\n]{0,60}show\s+all/i,
|
|
@@ -513,7 +467,6 @@ export class TmuxManager {
|
|
|
513
467
|
async createSession(name, workdir) {
|
|
514
468
|
assertPlainSessionName(name);
|
|
515
469
|
const PATH = '/opt/homebrew/bin:/usr/local/bin:/opt/local/bin:/usr/bin:/bin:/usr/sbin:/sbin';
|
|
516
|
-
// -e lands the nonce atomically with the session itself — the post-disconnect ownership proof.
|
|
517
470
|
const nonce = randomUUID();
|
|
518
471
|
let result;
|
|
519
472
|
try {
|
|
@@ -532,7 +485,6 @@ export class TmuxManager {
|
|
|
532
485
|
return ref;
|
|
533
486
|
return this.reconcileCreatedSession(name, nonce, `new-session succeeded but returned unparseable ref ${JSON.stringify(result.stdout.trim())}`);
|
|
534
487
|
}
|
|
535
|
-
// "No success seen" is not "not created" — a session may be live behind a dropped connection.
|
|
536
488
|
if (execOutcomeUnknown(result)) {
|
|
537
489
|
return this.reconcileCreatedSession(name, nonce, `new-session outcome unknown (exit ${result.exitCode}): ${result.stderr.trim()}`);
|
|
538
490
|
}
|
|
@@ -571,7 +523,6 @@ export class TmuxManager {
|
|
|
571
523
|
const line = result.stdout.trim();
|
|
572
524
|
return line.startsWith(`${CREATION_NONCE_ENV}=`) ? line.slice(CREATION_NONCE_ENV.length + 1) : null;
|
|
573
525
|
}
|
|
574
|
-
// Transient-network / 255 markers on either stream must NOT be read as "no nonce"; treat as unknown.
|
|
575
526
|
if (tmuxProbeOutcomeUnknown(result)) {
|
|
576
527
|
throw new TmuxOutcomeUnknownError(`tmux creation-nonce probe for ${name} outcome unknown (transient): exit ${result.exitCode}: ${result.stderr}`);
|
|
577
528
|
}
|
|
@@ -580,7 +531,6 @@ export class TmuxManager {
|
|
|
580
531
|
}
|
|
581
532
|
throw new Error(`tmux creation-nonce probe for ${name} failed (exit ${result.exitCode}): ${result.stderr}`);
|
|
582
533
|
}
|
|
583
|
-
// Ref and claim come from one round trip — the claim can't belong to a different session.
|
|
584
534
|
async getSessionSnapshot(name, opts) {
|
|
585
535
|
assertPlainSessionName(name);
|
|
586
536
|
const result = await run(this.runner, `tmux list-sessions -F '${SESSION_REF_FORMAT}|#{@baxian-agent-id}' ` +
|
|
@@ -607,8 +557,6 @@ export class TmuxManager {
|
|
|
607
557
|
async hasCreationNonce(name, opts) {
|
|
608
558
|
return (await this.readCreationNonce(name, opts)) !== null;
|
|
609
559
|
}
|
|
610
|
-
// Every session-option write re-proves generation+session+claim inside the server itself;
|
|
611
|
-
// expectedClaim '' is the fresh-create batch writing the claim onto a still-unclaimed session.
|
|
612
560
|
async setSessionOptionsIfAlive(ref, entries, opts) {
|
|
613
561
|
assertSessionRef(ref);
|
|
614
562
|
if (opts.expectedClaim !== '')
|
|
@@ -650,7 +598,6 @@ export class TmuxManager {
|
|
|
650
598
|
const value = firstLine.slice(PANE_OK_MARKER.length);
|
|
651
599
|
return value === '' ? null : value;
|
|
652
600
|
}
|
|
653
|
-
// The web-terminal resize path: size change and window-size pin ride one claim-checked command.
|
|
654
601
|
async resizeWindowByRef(ref, claim, cols, rows) {
|
|
655
602
|
assertSessionRef(ref);
|
|
656
603
|
assertPlainSessionName(claim);
|
|
@@ -673,8 +620,6 @@ export class TmuxManager {
|
|
|
673
620
|
throw new PaneGoneError(ref.sessionId, 'identity condition failed');
|
|
674
621
|
}
|
|
675
622
|
}
|
|
676
|
-
// list-panes -a with an exact generation+session+claim filter cannot fall back to another
|
|
677
|
-
// session, and a fresh server reissuing the same $n fails the generation half.
|
|
678
623
|
async getSinglePaneByRef(ref, claim, opts) {
|
|
679
624
|
assertSessionRef(ref);
|
|
680
625
|
assertPlainSessionName(claim);
|
|
@@ -697,7 +642,6 @@ export class TmuxManager {
|
|
|
697
642
|
assertPaneId(paneId);
|
|
698
643
|
return { session: ref, paneId, claim };
|
|
699
644
|
}
|
|
700
|
-
// Generation AND the caller-declared claim condition are evaluated inside the killing server itself.
|
|
701
645
|
async killSessionRef(ref, claimCond, opts) {
|
|
702
646
|
assertSessionRef(ref);
|
|
703
647
|
let claimClause;
|
|
@@ -717,7 +661,6 @@ export class TmuxManager {
|
|
|
717
661
|
if (result.exitCode === 0) {
|
|
718
662
|
return result.stdout.includes(REFUSED_MARKER) ? 'refused' : 'killed';
|
|
719
663
|
}
|
|
720
|
-
// Transient / 255 must not be read as "absent" — a stuck kill would otherwise let DELETE drop the session.
|
|
721
664
|
if (tmuxProbeOutcomeUnknown(result)) {
|
|
722
665
|
throw new TmuxOutcomeUnknownError(`tmux killSessionRef ${ref.sessionId} outcome unknown (transient): exit ${result.exitCode}: ${result.stderr}`);
|
|
723
666
|
}
|
|
@@ -741,7 +684,6 @@ export class TmuxManager {
|
|
|
741
684
|
}
|
|
742
685
|
throw new Error(`tmux guarded write to ${pane.paneId} failed (exit ${result.exitCode}): ${result.stderr}`);
|
|
743
686
|
}
|
|
744
|
-
// Marker-first read: the FIRST line decides ok/gone, so pane text can never spoof the verdict.
|
|
745
687
|
async guardedPaneRead(pane, headerFmt, extra = [], opts) {
|
|
746
688
|
assertPaneRef(pane);
|
|
747
689
|
assertPlainFormat(headerFmt);
|
|
@@ -768,8 +710,6 @@ export class TmuxManager {
|
|
|
768
710
|
body: nl === -1 ? '' : result.stdout.slice(nl + 1),
|
|
769
711
|
};
|
|
770
712
|
}
|
|
771
|
-
// Absent / transient / other failures are distinct outcomes: SSH flakes and
|
|
772
|
-
// exit 255 must never be read as "session gone" (three-state discipline).
|
|
773
713
|
async getWindowGeometry(name, opts) {
|
|
774
714
|
assertPlainSessionName(name);
|
|
775
715
|
const result = await run(this.runner, `tmux display-message -p -t ${shellQuote(`=${name}:`)} ${shellQuote(WINDOW_GEOMETRY_FORMAT)}`, opts);
|
|
@@ -783,10 +723,6 @@ export class TmuxManager {
|
|
|
783
723
|
}
|
|
784
724
|
throw new Error(`tmux getWindowGeometry ${name} failed (exit ${result.exitCode}): ${result.stderr}`);
|
|
785
725
|
}
|
|
786
|
-
// The guard re-evaluates identity + claim (+ generation when the server proves
|
|
787
|
-
// format arithmetic) inside the tmux server at execution time: a delayed write —
|
|
788
|
-
// stale gen, a same-name session rebuilt after ours died, or a foreign/unclaimed
|
|
789
|
-
// same-name session — lands as a no-op instead of mutating a window we don't own.
|
|
790
726
|
async ownerWrite(name, ref, claim, gen, mode, resizeTo, opts) {
|
|
791
727
|
assertPlainSessionName(name);
|
|
792
728
|
assertSessionRef(ref);
|
|
@@ -830,7 +766,6 @@ export class TmuxManager {
|
|
|
830
766
|
throw new Error(`tmux pane ${pane.paneId} has an empty current path`);
|
|
831
767
|
return path;
|
|
832
768
|
}
|
|
833
|
-
// A gone pane reads as an empty title on purpose: title is an advisory signal, never an authority.
|
|
834
769
|
async readPaneTitle(pane, opts) {
|
|
835
770
|
try {
|
|
836
771
|
return await this.displayMessage(pane, '#{pane_title}', opts);
|
|
@@ -881,7 +816,6 @@ export class TmuxManager {
|
|
|
881
816
|
const { body } = await this.guardedPaneRead(pane, '', [`capture-pane ${flags.join(' ')} -t ${pane.paneId}`], execOpts);
|
|
882
817
|
return body;
|
|
883
818
|
}
|
|
884
|
-
// Probe-gated stdin load (bytes reach a buffer only on a five-field identity match, no openssl) then a claim-checked paste; once the load is confirmed, any paste non-success reconciles the named buffer so nothing leaks.
|
|
885
819
|
async injectPrompt(pane, prompt, agentId) {
|
|
886
820
|
assertPaneRef(pane);
|
|
887
821
|
const bytes = Buffer.byteLength(prompt, 'utf8');
|
|
@@ -897,7 +831,6 @@ export class TmuxManager {
|
|
|
897
831
|
].join('|');
|
|
898
832
|
const loadCmd = `[ "$(tmux display-message -p -t ${shellQuote(pane.paneId)} '${probeFmt}')" = ${shellQuote(expected)} ] && ` +
|
|
899
833
|
`tmux load-buffer -b ${shellQuote(buf)} -`;
|
|
900
|
-
// Step 1 — probe-gated load via execWithStdin (login-shell PATH resolves tmux); a failed gate/load leaves NO buffer, only an unknown outcome reconciles.
|
|
901
834
|
let loaded;
|
|
902
835
|
try {
|
|
903
836
|
loaded = await this.runner.execWithStdin(loadCmd, payload);
|
|
@@ -915,7 +848,6 @@ export class TmuxManager {
|
|
|
915
848
|
throw new PaneGoneError(pane.paneId, loaded.stderr.trim());
|
|
916
849
|
throw new PaneGoneError(pane.paneId, `identity probe or buffer load failed before any buffer was created: ${loaded.stderr.trim() || 'probe mismatch'}`);
|
|
917
850
|
}
|
|
918
|
-
// Step 2 — the buffer now exists. Any non-success here may leave it behind → reconcile by name.
|
|
919
851
|
const pasteCmd = `tmux if-shell -t ${shellQuote(pane.paneId)} -F ${shellQuote(paneCond(pane))} ` +
|
|
920
852
|
`${shellQuote(`paste-buffer -b ${buf} -t ${pane.paneId} -d -p -r`)} ` +
|
|
921
853
|
`${shellQuote(`delete-buffer -b ${buf} ; display-message -p ${TARGET_GONE_MARKER}`)}`;
|
|
@@ -933,15 +865,12 @@ export class TmuxManager {
|
|
|
933
865
|
}
|
|
934
866
|
return;
|
|
935
867
|
}
|
|
936
|
-
// Non-zero after a confirmed load (e.g. pane vanished before if-shell resolved -t, returning
|
|
937
|
-
// "can't find pane") does NOT run the else-branch, so the buffer lingers — reconcile by name.
|
|
938
868
|
await this.reconcileInjectBuffer(buf, `paste failed (exit ${pasted.exitCode}): ${pasted.stderr.trim()}`);
|
|
939
869
|
if (pasted.exitCode === 1 && (isSessionAbsent(pasted.stderr) || isTargetGone(pasted.stderr))) {
|
|
940
870
|
throw new PaneGoneError(pane.paneId, pasted.stderr.trim() || 'pane gone before paste');
|
|
941
871
|
}
|
|
942
872
|
throw new Error(`tmux injectPrompt ${pane.paneId} paste failed (exit ${pasted.exitCode}): ${pasted.stderr}`);
|
|
943
873
|
}
|
|
944
|
-
// The uuid buffer name is the non-rebindable credential: deleting it by name on any server removes only this call's bytes, so reconciliation ignores generation.
|
|
945
874
|
async reconcileInjectBuffer(buf, cause) {
|
|
946
875
|
try {
|
|
947
876
|
const del = await run(this.runner, `tmux delete-buffer -b ${shellQuote(buf)}`);
|
|
@@ -958,7 +887,6 @@ export class TmuxManager {
|
|
|
958
887
|
console.warn(`[tmux] injectPrompt reconcile: buffer ${buf} cleanup NOT confirmed; prompt may linger in tmux (${cause}):`, err);
|
|
959
888
|
}
|
|
960
889
|
}
|
|
961
|
-
// Staging split from pasting lets a caller fence the paste after every await the staging exec hides.
|
|
962
890
|
async stagePromptBuffer(paneId, prompt, agentId) {
|
|
963
891
|
const bytes = Buffer.byteLength(prompt, 'utf8');
|
|
964
892
|
if (bytes > MAX_PROMPT_BYTES) {
|
|
@@ -969,7 +897,6 @@ export class TmuxManager {
|
|
|
969
897
|
let result;
|
|
970
898
|
let transportErr;
|
|
971
899
|
try {
|
|
972
|
-
// Raw stdin load (no openssl) — same transport as injectPrompt, keeping the guard path openssl-free.
|
|
973
900
|
result = await this.runner.execWithStdin(`tmux load-buffer -b ${shellQuote(buf)} -`, payload);
|
|
974
901
|
}
|
|
975
902
|
catch (err) {
|
|
@@ -978,7 +905,6 @@ export class TmuxManager {
|
|
|
978
905
|
}
|
|
979
906
|
if (transportErr !== undefined || result.exitCode !== 0) {
|
|
980
907
|
let retirementNote = '';
|
|
981
|
-
// Unknown outcome may have created the full-prompt buffer remotely; retire it by its unique name.
|
|
982
908
|
if (transportErr !== undefined || execOutcomeUnknown(result)) {
|
|
983
909
|
let cleanupFailure;
|
|
984
910
|
try {
|
|
@@ -1026,7 +952,6 @@ export class TmuxManager {
|
|
|
1026
952
|
async sendEnter(pane) {
|
|
1027
953
|
await this.sendKeysToPane(pane, 'Enter');
|
|
1028
954
|
}
|
|
1029
|
-
// 空格先弄脏 composer——空 composer 上 C-c 会退出 codex;间隔防止连发被 codex 粘贴检测合并。
|
|
1030
955
|
async clearComposerDraft(pane) {
|
|
1031
956
|
await this.sendKeysLiteral(pane, ' ');
|
|
1032
957
|
await sleep(COMPOSER_DIRTY_SETTLE_MS);
|
|
@@ -1052,7 +977,6 @@ export class TmuxManager {
|
|
|
1052
977
|
if (submitAckBusy(composerBaseline, runtime)) {
|
|
1053
978
|
throw new Error(`runtime ack timeout (paneId=${pane.paneId}): pane already busy at baseline`);
|
|
1054
979
|
}
|
|
1055
|
-
// Width-independent busy authority: at narrow width the in-pane "working" line soft-wraps out of regex range, but the OSC title still transitions idle→working. Prefer the caller's PRE-Enter sample; reading here would race a runtime that flips to working right after submit.
|
|
1056
980
|
const baselineTitle = opts.baselineTitle ?? await this.readPaneTitle(pane);
|
|
1057
981
|
if (hasOscTitleWorking(baselineTitle)) {
|
|
1058
982
|
throw new Error(`runtime ack timeout (paneId=${pane.paneId}): pane already busy at baseline`);
|
|
@@ -1073,12 +997,7 @@ export class TmuxManager {
|
|
|
1073
997
|
&& !detectStartupDialog(bottomLine, runtime)
|
|
1074
998
|
&& !TRUST_DIALOGS[runtime].test(visible)
|
|
1075
999
|
&& !detectRuntimeCompletionPopup(visible, runtime)
|
|
1076
|
-
// opencode/qodercli can open a permission/confirmation prompt right after submit,
|
|
1077
|
-
// before any busy spinner. Resending Enter there would hit the default option
|
|
1078
|
-
// (e.g. Allow once), so treat a pending prompt as "already left the composer".
|
|
1079
1000
|
&& !(RUNTIME_PENDING_RES[runtime]?.test(visible) ?? false)
|
|
1080
|
-
// 非 YOLO 下 claude-code 的权限 prompt 底行(Esc to cancel · Tab to amend…)不落上面任何
|
|
1081
|
-
// 守卫;区域限定的 pending 指纹兜底,误伤只退化为 ack 超时(fail-closed),绝不 Enter 进 prompt。
|
|
1082
1001
|
&& !detectRuntimePendingPrompt(visible);
|
|
1083
1002
|
if (opts.resend
|
|
1084
1003
|
&& enterWouldSubmit
|
|
@@ -1177,17 +1096,12 @@ function isSessionAbsent(stderr) {
|
|
|
1177
1096
|
s.includes('no such session') ||
|
|
1178
1097
|
(s.includes('error connecting to') && s.includes('no such file or directory')));
|
|
1179
1098
|
}
|
|
1180
|
-
// A tmux probe outcome is UNKNOWN (not "absent") when exit 255 (ssh/exec layer) or an INDEPENDENT
|
|
1181
|
-
// transient marker appears. The local "error connecting to <socket> (No such file)" absence itself
|
|
1182
|
-
// matches the generic "error connecting to" transient pattern, so it is stripped before deciding —
|
|
1183
|
-
// only a remaining genuine transient (ssh drop, connection reset, …) makes the outcome unknown.
|
|
1184
1099
|
function tmuxProbeOutcomeUnknown(result) {
|
|
1185
1100
|
if (result.exitCode === 255)
|
|
1186
1101
|
return true;
|
|
1187
1102
|
const stderrSansSocketAbsence = (result.stderr || '').replace(/error connecting to \S+ \(no such file or directory\)/gi, '');
|
|
1188
1103
|
return isTransientNetworkFailure(stderrSansSocketAbsence) || isTransientNetworkFailure(result.stdout);
|
|
1189
1104
|
}
|
|
1190
|
-
// A pane/window that vanished (distinct from a whole-session/server absence).
|
|
1191
1105
|
function isTargetGone(stderr) {
|
|
1192
1106
|
const s = (stderr || '').trim().toLowerCase();
|
|
1193
1107
|
return /can'?t find (?:pane|window)/.test(s) || s.includes('no such pane') || s.includes('no such window');
|
package/dist/agent/tmux.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tmux.js","sourceRoot":"","sources":["../../src/agent/tmux.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tmux.js","sourceRoot":"","sources":["../../src/agent/tmux.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,GAAG,GAAG,CAAC,MAAqB,EAAE,GAAW,EAAE,IAAkB,EAAuB,EAAE,CAC1F,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAsB5B,MAAM,CAAC,MAAM,kBAAkB,GAAG,uBAAuB,CAAC;AAC1D,MAAM,kBAAkB,GAAG,oCAAoC,CAAC;AAChE,MAAM,cAAc,GAAG,iBAAiB,CAAC;AACzC,MAAM,kBAAkB,GAAG,gBAAgB,CAAC;AAC5C,MAAM,cAAc,GAAG,YAAY,CAAC;AAQpC,MAAM,OAAO,aAAc,SAAQ,KAAK;IACV;IAA5B,YAA4B,MAAc,EAAE,MAAc;QACxD,KAAK,CAAC,eAAe,MAAM,gCAAgC,MAAM,EAAE,CAAC,CAAC;QAD3C,WAAM,GAAN,MAAM,CAAQ;QAExC,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AAED,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAChD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF;AAED,SAAS,YAAY,CAAC,MAAc;IAClC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACvE,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,IAAa;IAClC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/B,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,cAAc,CAAC,GAAmB;IACzC,OAAO,oBAAoB,GAAG,CAAC,SAAS,wBAAwB,GAAG,CAAC,WAAW,IAAI,CAAC;AACtF,CAAC;AAED,SAAS,WAAW,CAAC,GAAmB,EAAE,KAAa;IACrD,OAAO,aAAa,cAAc,CAAC,GAAG,CAAC,uBAAuB,GAAG,CAAC,SAAS,+BAA+B,KAAK,IAAI,CAAC;AACtH,CAAC;AAED,SAAS,QAAQ,CAAC,IAAa;IAC7B,MAAM,IAAI,GAAG,2BAA2B,IAAI,CAAC,OAAO,CAAC,SAAS,qBAAqB,IAAI,CAAC,MAAM,IAAI,CAAC;IACnG,OAAO,aAAa,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,8BAA8B,IAAI,CAAC,KAAK,IAAI,CAAC;AACvG,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAW;IACpC,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IACxF,CAAC;AACH,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAa;IACrC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;IAC1G,CAAC;IACD,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IAC9B,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;AAC7C,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAmB;IAC3C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;QACrG,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACnC,MAAM,CAAC,GAAG,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACtD,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACjE,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAY;IAC1C,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IAC/F,CAAC;AACH,CAAC;AAoBD,MAAM,sBAAsB,GAC1B,4DAA4D;IAC5D,gGAAgG,CAAC;AAEnG,MAAM,eAAe,GAAG,yBAAyB,CAAC;AAElD,MAAM,UAAU,4BAA4B,CAAC,UAAkB,EAAE,QAAgB;IAC/E,IAAI,QAAQ,KAAK,GAAG;QAAE,OAAO,MAAM,CAAC;IACpC,MAAM,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;IAClD,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACjC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAOD,MAAM,UAAU,WAAW,CAAC,GAAY,EAAE,WAAmB;IAC3D,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG,WAAW,CAAC,EAAE,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,QAAgE;IACzF,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,IAAI,GAAG,KAAK,KAAK;QAAE,OAAO,CAAC,CAAC;IAC5B,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,CAAC,CAAC;IAC3B,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAClD,MAAM,IAAI,KAAK,CAAC,mCAAmC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAc;IAChD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACxC,MAAM,CAAC,GAAG,kFAAkF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxG,IAAI,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,qCAAqC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/E,CAAC;IACD,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IACjG,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;QAC/F,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,QAAQ,GAAkB,IAAI,CAAC;IACnC,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;QAClB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC3E,CAAC;QACD,QAAQ,GAAG,MAAM,CAAC;IACpB,CAAC;IACD,OAAO;QACL,KAAK;QACL,MAAM;QACN,WAAW,EAAE,gBAAgB,CAAC,MAAM,CAAC;QACrC,QAAQ;QACR,QAAQ;QACR,GAAG,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE;QACtD,KAAK;QACL,oBAAoB,EAAE,4BAA4B,CAAC,UAAU,EAAE,QAAQ,CAAC;KACzE,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAC3C,YAAY,IAAY,EAAE,MAAc;QACtC,KAAK,CAAC,gBAAgB,IAAI,eAAe,MAAM,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AA2BD,MAAM,QAAQ,GAAG,SAAS,CAAC;AAE3B,MAAM,gBAAgB,GAAqC;IACzD,aAAa,EAAE,sCAAsC;IACrD,KAAK,EAAE,kBAAkB;IACzB,QAAQ,EAAE,YAAY;IACtB,QAAQ,EAAE,wBAAwB;CACnC,CAAC;AAEF,MAAM,aAAa,GAAqC;IACtD,aAAa,EAAE,0BAA0B;IACzC,KAAK,EAAE,yIAAyI;IAChJ,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,QAAQ;CACnB,CAAC;AAEF,MAAM,aAAa,GAAqC;IACtD,aAAa,EAAE,yDAAyD;IACxE,KAAK,EAAE,qDAAqD;IAC5D,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,gEAAgE;CAC3E,CAAC;AAEF,MAAM,sBAAsB,GAAsB;IAChD,yDAAyD;IACzD,2CAA2C;IAC3C,4CAA4C;CAC7C,CAAC;AAEF,MAAM,8BAA8B,GAAyD;IAC3F,KAAK,EAAE;QACL,2FAA2F;QAC3F,4DAA4D;KAC7D;IACD,QAAQ,EAAE;QACR,wDAAwD;KACzD;CACF,CAAC;AAEF,MAAM,UAAU,mBAAmB,CAAC,QAAgB,EAAE,OAA0B;IAC9E,IAAI,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACtE,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3B,OAAO,8BAA8B,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,KAAK,CAAC;AACzF,CAAC;AAED,MAAM,oBAAoB,GAAsB;IAC9C,uDAAuD;CACxD,CAAC;AAEF,MAAM,UAAU,iBAAiB,CAAC,QAAgB;IAChD,OAAO,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,2BAA2B,GAAG,iDAAiD,CAAC;AACtF,MAAM,6BAA6B,GAAG,CAAC,CAAC;AACxC,SAAS,4BAA4B,CAAC,QAAgB,EAAE,OAAyB;IAC/E,IAAI,OAAO,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,6BAA6B,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5F,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,IAAI,KAAK,EAAE;YAAE,SAAS;QAC1B,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,MAAM;QAC9B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,uBAAuB,GAAG,uEAAuE,CAAC;AAExG,SAAS,kBAAkB,CAAC,QAAgB,EAAE,OAAyB;IACrE,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IACvD,OAAO,OAAO,KAAK,OAAO,IAAI,uBAAuB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,oBAAoB,GAAG,SAAS,CAAC;AACvC,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IAClD,OAAO,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,kBAAkB,GAA8C;IACpE,aAAa,EAAE,KAAK;CACrB,CAAC;AAEF,MAAM,UAAU,eAAe,CAAC,SAAiB,EAAE,OAAyB;IAC1E,OAAO,kBAAkB,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAe,EAAE,OAAyB;IACzE,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,2BAA2B,GAAG,CAAC,CAAC;AACtC,MAAM,+BAA+B,GAAG,CAAC,CAAC;AAC1C,MAAM,mBAAmB,GAAG,qCAAqC,CAAC;AAClE,MAAM,qBAAqB,GAAG,yCAAyC,CAAC;AACxE,MAAM,yBAAyB,GAAG,4BAA4B,CAAC;AAC/D,MAAM,2BAA2B,GAAG,0DAA0D,CAAC;AAC/F,MAAM,4BAA4B,GAAG,CAAC,CAAC;AACvC,MAAM,wBAAwB,GAAG,CAAC,CAAC;AACnC,MAAM,4BAA4B,GAAG,iCAAiC,CAAC;AACvE,MAAM,gBAAgB,GAAG,oDAAoD,CAAC;AAC9E,MAAM,yBAAyB,GAAG,oBAAoB,CAAC;AACvD,MAAM,aAAa,GAAG,8CAA8C,CAAC;AACrE,MAAM,sBAAsB,GAAG,wBAAwB,CAAC;AACxD,MAAM,mBAAmB,GAA8C;IACrE,QAAQ,EAAE,sEAAsE;IAChF,QAAQ,EAAE,sNAAsN;CACjO,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC/C,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QACnD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;IACrF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAErC,MAAM,UAAU,sBAAsB,CAAC,QAAgB;IACrD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,yBAAyB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3F,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,IAAI,CAAC,QAAgB,EAAE,KAAa;IAC3C,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvC,OAAO,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAgB;IAC1C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE;YAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAgB;IAC5C,OAAO,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,2BAA2B,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,QAAgB;IACnD,OAAO,gBAAgB,CAAC,QAAQ,CAAC,IAAI,oBAAoB,CAAC,QAAQ,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,cAAc,CAAC,QAAgB,EAAE,OAAe;IACvD,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC;IACd,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC;IAChF,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;QACrE,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS;YAAE,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC;IAC5C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAgB,EAAE,OAA0B;IACvE,IAAI,OAAO,KAAK,OAAO;QAAE,OAAO,cAAc,CAAC,QAAQ,EAAE,yBAAyB,CAAC,CAAC;IACpF,IAAI,OAAO,KAAK,aAAa;QAAE,OAAO,cAAc,CAAC,QAAQ,EAAE,4BAA4B,CAAC,CAAC;IAC7F,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AAED,SAAS,0BAA0B,CAAC,QAAgB,EAAE,OAA0B;IAC9E,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,2BAA2B,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,cAAc,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;IAChE,IAAI,OAAO,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9B,OAAO,OAAO,GAAG,mBAAmB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAgB,EAAE,OAA0B;IACtE,IAAI,OAAO,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IACtC,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,wBAAwB,CAAC,CAAC;IAC5D,MAAM,WAAW,GAAG,cAAc,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC;IACtE,IAAI,WAAW,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAClC,OAAO,WAAW,GAAG,mBAAmB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,sBAAsB,CAAC,QAAgB,EAAE,OAA0B;IAC1E,OAAO,sBAAsB,CAAC,QAAQ,CAAC;WAClC,0BAA0B,CAAC,QAAQ,EAAE,OAAO,CAAC;WAC7C,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,uBAAuB,GAAG,qCAAqC,CAAC;AAEtE,MAAM,UAAU,4BAA4B,CAAC,QAAgB,EAAE,OAAyB;IACtF,IAAI,OAAO,KAAK,aAAa,EAAE,CAAC;QAC9B,OAAO,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,+BAA+B,CAAC,CAAC,CAAC;IAC5F,CAAC;IACD,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACxB,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,4BAA4B,CAAC,CAAC;QACvD,OAAO,2BAA2B,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChF,CAAC;IACD,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;QAC3B,OAAO,yBAAyB,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,yBAAyB,CAAC,CAAC,CAAC;IAC3F,CAAC;IACD,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;QAC3B,OAAO,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,yBAAyB,CAAC,CAAC,CAAC;IACxF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAgB,EAAE,OAAyB;IACxE,OAAO,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC;WACrC,iBAAiB,CAAC,QAAQ,CAAC;WAC3B,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC;WACtC,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;WACrC,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC;WACvD,oBAAoB,CAAC,QAAQ,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,sBAAsB,GAAsB;IAChD,6BAA6B;IAC7B,0BAA0B;IAC1B,8CAA8C;CAC/C,CAAC;AACF,MAAM,gBAAgB,GAAG,uFAAuF,CAAC;AACjH,MAAM,sBAAsB,GAAG,6DAA6D,CAAC;AAC7F,MAAM,oBAAoB,GAAG,kCAAkC,CAAC;AAChE,MAAM,mBAAmB,GAAG,iCAAiC,CAAC;AAC9D,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AAChD,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAErC,SAAS,mBAAmB,CAAC,QAAgB;IAC3C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC;IAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAAE,QAAQ,GAAG,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,QAAQ,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/D,OAAO,IAAI,CAAC,QAAQ,EAAE,yBAAyB,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,QAAgB;IACzD,MAAM,CAAC,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACxC,IAAI,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/D,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5E,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3E,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,sBAAsB,GAAsB;IAChD,gCAAgC;IAChC,+BAA+B;IAC/B,6BAA6B;IAC7B,kCAAkC;IAClC,aAAa;IACb,sBAAsB;CACvB,CAAC;AACF,MAAM,6BAA6B,GAAG,CAAC,CAAC;AACxC,MAAM,qBAAqB,GAAG,iBAAiB,CAAC;AAChD,MAAM,sBAAsB,GAAG,kCAAkC,CAAC;AAElE,SAAS,iBAAiB,CAAC,QAAgB,EAAE,KAAa;IACxD,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAClE,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE;YAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,QAAgB;IACnD,MAAM,MAAM,GAAG,iBAAiB,CAAC,QAAQ,EAAE,6BAA6B,CAAC,CAAC;IAC1E,IAAI,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpE,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,yBAAyB,CAAC,CAAC;IACpD,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,QAAgB,EAAE,OAAyB;IAC/E,OAAO,CAAC,qBAAqB,CAAC,QAAQ,EAAE,OAAO,CAAC;WAC3C,CAAC,0BAA0B,CAAC,QAAQ,CAAC;WACrC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,QAAgB,EAAE,OAAyB;IAC7E,IAAI,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IACvD,IAAI,CAAC,4BAA4B,CAAC,QAAQ,EAAE,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IACnE,OAAO,CAAC,qBAAqB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,QAAgB,EAAE,OAAyB;IAC1E,IAAI,OAAO,KAAK,OAAO;QAAE,OAAO,sBAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC1E,IAAI,OAAO,KAAK,UAAU;QAAE,OAAO,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,yBAAyB,CAAC,CAAC,CAAC;IAC5G,IAAI,OAAO,KAAK,UAAU;QAAE,OAAO,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,yBAAyB,CAAC,CAAC,CAAC;IACzG,OAAO,oBAAoB,CAAC,QAAQ,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,aAAa,CAAC,QAAgB,EAAE,OAAyB;IAChE,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACxB,OAAO,gBAAgB,CAAC,QAAQ,CAAC,IAAI,0BAA0B,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACrF,CAAC;IACD,IAAI,OAAO,KAAK,UAAU;QAAE,OAAO,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,yBAAyB,CAAC,CAAC,CAAC;IAC5G,IAAI,OAAO,KAAK,UAAU;QAAE,OAAO,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,yBAAyB,CAAC,CAAC,CAAC;IACzG,OAAO,oBAAoB,CAAC,QAAQ,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,eAAe,GAAG,8EAA8E,CAAC;AACvG,MAAM,oBAAoB,GAAG,qBAAqB,CAAC;AASnD,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAExB;IACA;IACA;IAHlB,YACkB,MAAc,EACd,OAAyB,EACzB,UAAkB,EAClC,MAAe;QAEf,MAAM,IAAI,GAAG,0BAA0B,MAAM,aAAa,OAAO,kBAAkB,CAAC;QACpF,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,0BAA0B,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,MAAM,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC,CAAC;QAP/C,WAAM,GAAN,MAAM,CAAQ;QACd,YAAO,GAAP,OAAO,CAAkB;QACzB,eAAU,GAAV,UAAU,CAAQ;QAMlC,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAED,MAAM,iBAAiB,GAAG,iEAAiE,CAAC;AAE5F,MAAM,YAAY,GAAG,wBAAwB,CAAC;AAE9C,MAAM,SAAS,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AAErE,MAAM,KAAK,GAAG,CAAC,EAAU,EAAiB,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAEjF,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAChC,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAErC,MAAM,iBAAiB,GAAG,2BAA2B,CAAC;AACtD,SAAS,kBAAkB,CAAC,QAAgB;IAC1C,OAAO,QAAQ,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,OAAO,WAAW;IACF;IAApB,YAAoB,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAAG,CAAC;IAE7C,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAC3B,MAAqB;QAErB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,wBAAwB,MAAM,CAAC,QAAQ,MAAM,MAAM,CAAC,MAAM,IAAI,eAAe,EAAE,CAAC,CAAC;QACnG,CAAC;QACD,MAAM,KAAK,GAAG,+BAA+B,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAClE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAClF,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAAY,EAAE,OAAe;QAC/C,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAC7B,MAAM,IAAI,GAAG,+EAA+E,CAAC;QAC7F,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;QAC3B,IAAI,MAAkB,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,GAAG,CAChB,IAAI,CAAC,MAAM,EACX,0BAA0B,UAAU,CAAC,IAAI,CAAC,GAAG;gBAC3C,MAAM,UAAU,CAAC,QAAQ,IAAI,EAAE,CAAC,GAAG;gBACnC,MAAM,UAAU,CAAC,GAAG,kBAAkB,IAAI,KAAK,EAAE,CAAC,GAAG;gBACrD,mBAAmB,UAAU,CAAC,OAAO,CAAC,GAAG;gBACzC,QAAQ,kBAAkB,GAAG,CAChC,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,IAAI,CAAC,uBAAuB,CACjC,IAAI,EACJ,KAAK,EACL,8BAA8B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACjF,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,GAAG,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC3C,IAAI,GAAG;gBAAE,OAAO,GAAG,CAAC;YACpB,OAAO,IAAI,CAAC,uBAAuB,CACjC,IAAI,EACJ,KAAK,EACL,sDAAsD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAC7F,CAAC;QACJ,CAAC;QACD,IAAI,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC,uBAAuB,CACjC,IAAI,EACJ,KAAK,EACL,qCAAqC,MAAM,CAAC,QAAQ,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CACjF,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,iCAAiC,IAAI,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7E,CAAC;IAEO,KAAK,CAAC,uBAAuB,CACnC,IAAY,EACZ,KAAa,EACb,KAAa;QAEb,IAAI,QAAoC,CAAC;QACzC,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,sBAAsB,IAAI,+CAA+C;gBACvE,IAAI,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,sBAAsB,KAAK,EAAE,CACpF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,iCAAiC,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,aAA4B,CAAC;QACjC,IAAI,CAAC;YACH,aAAa,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACrD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,sBAAsB,IAAI,2CAA2C;gBACnE,IAAI,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,sBAAsB,KAAK,EAAE,CACpF,CAAC;QACJ,CAAC;QACD,IAAI,aAAa,KAAK,KAAK,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,CAAC,wBAAwB,IAAI,yCAAyC,KAAK,GAAG,CAAC,CAAC;YAC5F,OAAO,QAAQ,CAAC,GAAG,CAAC;QACtB,CAAC;QACD,MAAM,IAAI,KAAK,CACb,gBAAgB,IAAI,4FAA4F,KAAK,EAAE,CACxH,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,IAAY,EAAE,IAAkB;QAC9D,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,GAAG,CACtB,IAAI,CAAC,MAAM,EACX,4BAA4B,UAAU,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,kBAAkB,EAAE,EAC3E,IAAI,CACL,CAAC;QACF,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,kBAAkB,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACtG,CAAC;QACD,IAAI,uBAAuB,CAAC,MAAM,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,uBAAuB,CAAC,iCAAiC,IAAI,sCAAsC,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACpJ,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YACtG,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,iCAAiC,IAAI,iBAAiB,MAAM,CAAC,QAAQ,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9G,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,IAAY,EAAE,IAAkB;QACvD,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,GAAG,CACtB,IAAI,CAAC,MAAM,EACX,0BAA0B,kBAAkB,wBAAwB;YAClE,MAAM,UAAU,CAAC,wBAAwB,IAAI,GAAG,CAAC,EAAE,EACrD,IAAI,CACL,CAAC;QACF,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAClC,IAAI,IAAI,KAAK,EAAE;gBAAE,OAAO,IAAI,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAClC,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YACpE,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,wBAAwB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjG,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;YAClC,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QACrD,CAAC;QACD,IAAI,uBAAuB,CAAC,MAAM,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,uBAAuB,CAAC,2BAA2B,IAAI,sCAAsC,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9I,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;QACzE,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,iBAAiB,MAAM,CAAC,QAAQ,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACxG,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,IAAY,EAAE,IAAkB;QACrD,OAAO,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,wBAAwB,CAC5B,GAAmB,EACnB,OAAiD,EACjD,IAA+B;QAE/B,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACtB,IAAI,IAAI,CAAC,aAAa,KAAK,EAAE;YAAE,sBAAsB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC1E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAC3C,MAAM,IAAI,GAAG,OAAO;aACjB,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,kBAAkB,GAAG,CAAC,SAAS,KAAK,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;aACpF,IAAI,CAAC,KAAK,CAAC,CAAC;QACf,MAAM,MAAM,GAAG,MAAM,GAAG,CACtB,IAAI,CAAC,MAAM,EACX,oBAAoB,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG;YAC9C,MAAM,UAAU,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG;YACzD,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG;YACtB,GAAG,UAAU,CAAC,sBAAsB,kBAAkB,EAAE,CAAC,EAAE,CAC9D,CAAC;QACF,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QACzE,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC;QAC3E,MAAM,IAAI,KAAK,CACb,iCAAiC,GAAG,CAAC,SAAS,iBAAiB,MAAM,CAAC,QAAQ,MAAM,MAAM,CAAC,MAAM,EAAE,CACpG,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,GAAmB,EAAE,KAAa,EAAE,GAAW;QACzE,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACtB,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAC9B,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACvB,MAAM,MAAM,GAAG,MAAM,GAAG,CACtB,IAAI,CAAC,MAAM,EACX,oBAAoB,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG;YAC9C,MAAM,UAAU,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,GAAG;YAC5C,GAAG,UAAU,CAAC,0BAA0B,GAAG,CAAC,SAAS,MAAM,cAAc,KAAK,GAAG,IAAI,CAAC,GAAG;YACzF,GAAG,UAAU,CAAC,sBAAsB,kBAAkB,EAAE,CAAC,EAAE,CAC9D,CAAC;QACF,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAI,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,8BAA8B,GAAG,CAAC,SAAS,IAAI,GAAG,YAAY,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACjG,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,2BAA2B,CAAC,CAAC;QACtE,CAAC;QACD,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACrD,OAAO,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,GAAmB,EAAE,KAAa,EAAE,IAAY,EAAE,IAAY;QACpF,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACtB,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;YACjF,MAAM,IAAI,KAAK,CAAC,8CAA8C,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;QAChF,CAAC;QACD,MAAM,KAAK,GAAG,qBAAqB,GAAG,CAAC,SAAS,QAAQ,IAAI,OAAO,IAAI,KAAK;YAC1E,kBAAkB,GAAG,CAAC,SAAS,sBAAsB,CAAC;QACxD,MAAM,MAAM,GAAG,MAAM,GAAG,CACtB,IAAI,CAAC,MAAM,EACX,oBAAoB,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG;YAC9C,MAAM,UAAU,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,GAAG;YAC5C,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG;YACvB,GAAG,UAAU,CAAC,sBAAsB,kBAAkB,EAAE,CAAC,EAAE,CAC9D,CAAC;QACF,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAI,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,CAAC,SAAS,YAAY,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACtF,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,2BAA2B,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,GAAmB,EAAE,KAAa,EAAE,IAAkB;QAC7E,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACtB,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,GAAG,CACtB,IAAI,CAAC,MAAM,EACX,6DAA6D;YAC3D,MAAM,UAAU,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,EAAE,EAC7C,IAAI,CACL,CAAC;QACF,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAI,KAAK,CAAC,gBAAgB,GAAG,CAAC,SAAS,sBAAsB,CAAC,CAAC;QACvE,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,CAAC,SAAS,YAAY,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACvF,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC3E,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,gBAAgB,GAAG,CAAC,SAAS,2BAA2B,CAAC,CAAC;QAC5E,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CACb,gBAAgB,GAAG,CAAC,SAAS,QAAQ,KAAK,CAAC,MAAM,0EAA0E,CAC5H,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,YAAY,CAAC,MAAM,CAAC,CAAC;QACrB,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,GAAmB,EAAE,SAAwB,EAAE,IAAkB;QACpF,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACtB,IAAI,WAAmB,CAAC;QACxB,IAAI,SAAS,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACnC,WAAW,GAAG,4BAA4B,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,sBAAsB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACxC,WAAW,GAAG,SAAS,CAAC,IAAI,KAAK,QAAQ;gBACvC,CAAC,CAAC,4BAA4B,SAAS,CAAC,KAAK,GAAG;gBAChD,CAAC,CAAC,4DAA4D,SAAS,CAAC,KAAK,IAAI,CAAC;QACtF,CAAC;QACD,MAAM,IAAI,GAAG,aAAa,cAAc,CAAC,GAAG,CAAC,uBAAuB,GAAG,CAAC,SAAS,MAAM,WAAW,GAAG,CAAC;QACtG,MAAM,MAAM,GAAG,MAAM,GAAG,CACtB,IAAI,CAAC,MAAM,EACX,oBAAoB,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG;YACrE,GAAG,UAAU,CAAC,oBAAoB,GAAG,CAAC,SAAS,GAAG,CAAC,GAAG;YACtD,GAAG,UAAU,CAAC,sBAAsB,cAAc,EAAE,CAAC,EAAE,EACzD,IAAI,CACL,CAAC;QACF,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;QACvE,CAAC;QACD,IAAI,uBAAuB,CAAC,MAAM,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,uBAAuB,CAAC,uBAAuB,GAAG,CAAC,SAAS,sCAAsC,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACnJ,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC;YAAE,OAAO,QAAQ,CAAC;QAC7E,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,CAAC,SAAS,oBAAoB,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/G,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,IAAa,EAAE,KAAe,EAAE,IAAkB;QAC/E,aAAa,CAAC,IAAI,CAAC,CAAC;QACpB,MAAM,MAAM,GAAG,MAAM,GAAG,CACtB,IAAI,CAAC,MAAM,EACX,oBAAoB,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG;YAC7E,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG;YACnC,GAAG,UAAU,CAAC,sBAAsB,kBAAkB,EAAE,CAAC,EAAE,EAC7D,IAAI,CACL,CAAC;QACF,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBAC/C,MAAM,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC;YACpE,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7D,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,CAAC,MAAM,iBAAiB,MAAM,CAAC,QAAQ,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7G,CAAC;IAEO,KAAK,CAAC,eAAe,CAC3B,IAAa,EACb,SAAiB,EACjB,QAAkB,EAAE,EACpB,IAAkB;QAElB,aAAa,CAAC,IAAI,CAAC,CAAC;QACpB,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC7B,MAAM,KAAK,GAAG;YACZ,yBAAyB,IAAI,CAAC,MAAM,KAAK,cAAc,GAAG,SAAS,GAAG;YACtE,GAAG,KAAK;SACT,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACd,MAAM,MAAM,GAAG,MAAM,GAAG,CACtB,IAAI,CAAC,MAAM,EACX,oBAAoB,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG;YAC7E,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG;YACvB,GAAG,UAAU,CAAC,sBAAsB,kBAAkB,EAAE,CAAC,EAAE,EAC7D,IAAI,CACL,CAAC;QACF,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,CAAC,MAAM,iBAAiB,MAAM,CAAC,QAAQ,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5G,CAAC;QACD,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,SAAS,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACzE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC;QACpE,CAAC;QACD,OAAO;YACL,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC;YAC9C,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;SACnD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,IAAY,EAAE,IAAkB;QACtD,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,GAAG,CACtB,IAAI,CAAC,MAAM,EACX,8BAA8B,UAAU,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,UAAU,CAAC,sBAAsB,CAAC,EAAE,EAC7F,IAAI,CACL,CAAC;QACF,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC;YAAE,OAAO,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACrE,IAAI,uBAAuB,CAAC,MAAM,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,uBAAuB,CAAC,0BAA0B,IAAI,sCAAsC,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7I,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAI,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,iBAAiB,MAAM,CAAC,QAAQ,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACvG,CAAC;IAED,KAAK,CAAC,UAAU,CACd,IAAY,EACZ,GAAmB,EACnB,KAAa,EACb,GAAkB,EAClB,IAAyB,EACzB,QAAoD,EACpD,IAAkB;QAElB,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAC7B,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACtB,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,wBAAwB,GAAG,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,IAAI,GAAG,CAAC;QAC3B,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,GAAG,KAAK,IAAI;YACxB,CAAC,CAAC,gBAAgB;YAClB,CAAC,CAAC,QAAQ,gBAAgB,gDAAgD,GAAG,OAAO,CAAC;QACvF,MAAM,OAAO,GAAG;YACd,GAAG,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,MAAM,mBAAmB,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3E,kBAAkB,MAAM,iBAAiB,IAAI,EAAE;YAC/C,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,qBAAqB,MAAM,QAAQ,QAAQ,CAAC,IAAI,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9F,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACd,MAAM,MAAM,GAAG,MAAM,GAAG,CACtB,IAAI,CAAC,MAAM,EACX,uBAAuB,UAAU,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,KAAK,EAC1F,IAAI,CACL,CAAC;QACF,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,iBAAiB,MAAM,CAAC,QAAQ,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAChG,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAY,EAAE,IAAkB;QAC/C,MAAM,MAAM,GAAG,MAAM,GAAG,CACtB,IAAI,CAAC,MAAM,EACX,uBAAuB,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,EAC/C,IAAI,CACL,CAAC;QACF,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACvC,IAAI,uBAAuB,CAAC,MAAM,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,uBAAuB,CAAC,mBAAmB,IAAI,sCAAsC,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACtI,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC;YAAE,OAAO,KAAK,CAAC;QAC1E,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,oBAAoB,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAClG,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,IAAa,EAAE,GAAW,EAAE,IAAkB;QACjE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,IAAa,EAAE,IAAkB;QACxD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,sBAAsB,EAAE,IAAI,CAAC,CAAC;QAC3E,IAAI,IAAI,KAAK,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC,MAAM,4BAA4B,CAAC,CAAC;QACvF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAAa,EAAE,IAAkB;QACnD,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;QAChE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,GAAW,EAAE,KAAa;QAC9C,MAAM,MAAM,GAAG,MAAM,GAAG,CACtB,IAAI,CAAC,MAAM,EACX,sBAAsB,UAAU,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAC7D,CAAC;QACF,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,YAAY,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAED,KAAK,CAAC,2BAA2B,CAAC,GAAW,EAAE,KAAa;QAC1D,MAAM,MAAM,GAAG,MAAM,GAAG,CACtB,IAAI,CAAC,MAAM,EACX,2BAA2B,UAAU,CAAC,GAAG,CAAC,iBAAiB;YACzD,YAAY,UAAU,CAAC,KAAK,CAAC,OAAO;YACpC,uBAAuB,UAAU,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAChE,CAAC;QACF,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CACb,oCAAoC,GAAG,YAAY,MAAM,CAAC,MAAM,EAAE,CACnE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,IAAa,EAAE,GAAG,IAAc;QACnD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC9B,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE;YAChC,gBAAgB,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;SACvE,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,IAAa,EAAE,IAAY;QAC/C,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE;YAChC,mBAAmB,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE;SACpD,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,IAAa,EAAE,OAAwB,EAAE;QAC7D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC;QAChC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,MAAM,KAAK,GAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACrC,IAAI,IAAI;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACrD,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,UAAU,EAAE,CAAC,CAAC;QACrC,CAAC;aAAM,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACxB,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1E,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,eAAe,CACzC,IAAI,EACJ,EAAE,EACF,CAAC,gBAAgB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,EACrD,QAAQ,CACT,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAa,EAAE,MAAc,EAAE,OAAe;QAC/D,aAAa,CAAC,IAAI,CAAC,CAAC;QACpB,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChD,IAAI,KAAK,GAAG,gBAAgB,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CACb,qBAAqB,IAAI,CAAC,MAAM,sBAAsB,KAAK,YAAY,gBAAgB,EAAE,CAC1F,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,GAAG,UAAU,OAAO,IAAI,UAAU,EAAE,EAAE,CAAC;QAChD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,mEAAmE,CAAC;QACrF,MAAM,QAAQ,GAAG;YACf,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;YACxE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK;SACxB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACZ,MAAM,OAAO,GACX,mCAAmC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,QAAQ,SAAS,UAAU,CAAC,QAAQ,CAAC,QAAQ;YAC5G,uBAAuB,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;QAC7C,IAAI,MAAkB,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,uBAAuB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACjH,MAAM,IAAI,KAAK,CACb,qBAAqB,IAAI,CAAC,MAAM,8BAA8B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACjH,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,IAAI,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC/B,MAAM,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,8BAA8B,MAAM,CAAC,QAAQ,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACjH,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,CAAC,MAAM,+BAA+B,MAAM,CAAC,QAAQ,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YACvH,CAAC;YACD,IAAI,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC;gBAAE,MAAM,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YAC/F,MAAM,IAAI,aAAa,CACrB,IAAI,CAAC,MAAM,EACX,uEAAuE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,gBAAgB,EAAE,CAClH,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GACZ,oBAAoB,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG;YAC7E,GAAG,UAAU,CAAC,mBAAmB,GAAG,OAAO,IAAI,CAAC,MAAM,WAAW,CAAC,GAAG;YACrE,GAAG,UAAU,CAAC,oBAAoB,GAAG,yBAAyB,kBAAkB,EAAE,CAAC,EAAE,CAAC;QAC1F,IAAI,MAAkB,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,wBAAwB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClH,MAAM,IAAI,KAAK,CACb,qBAAqB,IAAI,CAAC,MAAM,+BAA+B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAClH,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBAC/C,MAAM,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,0DAA0D,CAAC,CAAC;YACnG,CAAC;YACD,OAAO;QACT,CAAC;QACD,MAAM,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,sBAAsB,MAAM,CAAC,QAAQ,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACzG,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YAC7F,MAAM,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,wBAAwB,CAAC,CAAC;QACzF,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,CAAC,MAAM,uBAAuB,MAAM,CAAC,QAAQ,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/G,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAAC,GAAW,EAAE,KAAa;QAC5D,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,yBAAyB,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC/E,IAAI,GAAG,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBACvB,OAAO,CAAC,IAAI,CAAC,0DAA0D,GAAG,KAAK,KAAK,GAAG,CAAC,CAAC;gBACzF,OAAO;YACT,CAAC;YACD,IAAI,GAAG,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAAE,OAAO;YACnG,OAAO,CAAC,IAAI,CACV,yCAAyC,GAAG,yBAAyB;gBACnE,SAAS,GAAG,CAAC,QAAQ,KAAK,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,iCAAiC,KAAK,GAAG,CACvF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CACV,yCAAyC,GAAG,sDAAsD,KAAK,IAAI,EAC3G,GAAG,CACJ,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,MAAc,EAAE,MAAc,EAAE,OAAe;QACrE,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChD,IAAI,KAAK,GAAG,gBAAgB,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CACb,0BAA0B,MAAM,sBAAsB,KAAK,YAAY,gBAAgB,EAAE,CAC1F,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,GAAG,UAAU,OAAO,IAAI,UAAU,EAAE,EAAE,CAAC;QAChD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5C,IAAI,MAAkB,CAAC;QACvB,IAAI,YAAqB,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,uBAAuB,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAChG,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,YAAY,GAAG,GAAG,CAAC;YACnB,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;QACrD,CAAC;QACD,IAAI,YAAY,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YACxD,IAAI,cAAc,GAAG,EAAE,CAAC;YACxB,IAAI,YAAY,KAAK,SAAS,IAAI,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7D,IAAI,cAAkC,CAAC;gBACvC,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,yBAAyB,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAC/E,MAAM,eAAe,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBACpF,IAAI,GAAG,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;wBAC3C,cAAc,GAAG,iBAAiB,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,QAAQ,GAAG,CAAC,QAAQ,EAAE,UAAU,GAAG,CAAC,QAAQ,GAAG,CAAC;oBACzG,CAAC;gBACH,CAAC;gBAAC,OAAO,QAAQ,EAAE,CAAC;oBAClB,cAAc,GAAG,QAAQ,YAAY,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACnF,CAAC;gBACD,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;oBACjC,OAAO,CAAC,IAAI,CAAC,mCAAmC,MAAM,2BAA2B,GAAG,4BAA4B,CAAC,CAAC;gBACpH,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,IAAI,CACV,mCAAmC,MAAM,mCAAmC,GAAG,0BAA0B,cAAc,EAAE,CAC1H,CAAC;oBACF,cAAc,GAAG,mBAAmB,GAAG,0BAA0B,cAAc,GAAG,CAAC;gBACrF,CAAC;YACH,CAAC;YACD,IAAI,YAAY,KAAK,SAAS;gBAAE,MAAM,YAAY,CAAC;YACnD,MAAM,WAAW,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3E,MAAM,IAAI,KAAK,CAAC,0BAA0B,MAAM,UAAU,WAAW,KAAK,MAAM,CAAC,MAAM,GAAG,cAAc,EAAE,CAAC,CAAC;QAC9G,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,MAAc,EAAE,GAAW;QACjD,MAAM,MAAM,GAAG,MAAM,GAAG,CACtB,IAAI,CAAC,MAAM,EACX,wBAAwB,UAAU,CAAC,GAAG,CAAC,OAAO,UAAU,CAAC,MAAM,CAAC,WAAW,CAC5E,CAAC;QACF,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,0BAA0B,MAAM,YAAY,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,GAAW;QAChC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,yBAAyB,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClF,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,YAAY,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,IAAa;QACrC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,eAAe,CACjD,IAAI,EACJ,kBAAkB,EAClB,CAAC,mBAAmB,IAAI,CAAC,MAAM,QAAQ,CAAC,CACzC,CAAC;QACF,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACjD,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,qBAAqB,OAAO,KAAK,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAa;QAC3B,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,IAAa;QACpC,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACtC,MAAM,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,IAAa,EAAE,OAAiB,EAAE;QAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,CAAC;QACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,GAAG,EAAE,oBAAoB,CAAC,CAAC;QACxE,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;YAC7B,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;YACtB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YACjD,IAAI,GAAG,KAAK,IAAI;gBAAE,OAAO,GAAG,CAAC;YAC7B,IAAI,GAAG,GAAG,CAAC;QACb,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,IAAa,EACb,QAAgB,EAChB,OAAyB,EACzB,OAA0B,EAAE;QAE5B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,GAAG,EAAE,oBAAoB,CAAC,CAAC;QACxE,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,aAAa,CAAC,gBAAgB,EAAE,OAAO,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,CAAC,MAAM,kCAAkC,CAAC,CAAC;QAChG,CAAC;QACD,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC3E,IAAI,kBAAkB,CAAC,aAAa,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,CAAC,MAAM,kCAAkC,CAAC,CAAC;QAChG,CAAC;QACD,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,IAAI,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC5E,IAAI,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,kBAAkB,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;YACzE,IAAI,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC;gBAAE,OAAO;YAC5C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,kBAAkB,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,aAAa;gBAAE,OAAO;YACjE,IAAI,IAAI,CAAC,oBAAoB,IAAI,OAAO,KAAK,gBAAgB;gBAAE,OAAO;YACtE,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAC/C,MAAM,gBAAgB,GACpB,CAAC,iBAAiB,CAAC,UAAU,CAAC;mBAC3B,CAAC,mBAAmB,CAAC,UAAU,EAAE,OAAO,CAAC;mBACzC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;mBACrC,CAAC,4BAA4B,CAAC,OAAO,EAAE,OAAO,CAAC;mBAC/C,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC;mBACvD,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;YAC1C,IACE,IAAI,CAAC,MAAM;mBACR,gBAAgB;mBAChB,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,IAAI,gBAAgB,EAC9C,CAAC;gBACD,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;gBACpB,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC1B,CAAC;YACD,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;QACxB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,IAAa,EACb,OAAyB,EACzB,OAAiB,EAAE;QAEnB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,IAAI,GAAG,CAAC;QACxC,MAAM,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;YAC7E,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBACzC,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC;YAC3E,IAAI,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;gBACvC,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAClG,IAAI,mBAAmB,CAAC,aAAa,EAAE,OAAO,CAAC;oBAAE,OAAO,KAAK,CAAC;YAChE,CAAC;YACD,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;QACxB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,IAAa,EACb,OAAyB,EACzB,IAAkB;QAElB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,eAAe,CACjD,IAAI,EACJ,yBAAyB,EACzB,CAAC,sBAAsB,IAAI,CAAC,MAAM,UAAU,CAAC,EAC7C,IAAI,CACL,CAAC;QACF,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAEjC,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5C,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;YAC3E,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;YAC3E,IAAI,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC;gBAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;YACpG,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;QAClC,CAAC;QACD,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAC9D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,IAAa,EACb,OAAyB,EACzB,OAA0B,EAAE;QAE5B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,IAAI,GAAG,CAAC;QACxC,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,KAAK,CAAC;QACtD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7F,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,SAA6B,CAAC;QAClC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,yBAAyB,EAAE,OAAO,CAAC,CAAC;YACpF,IAAI,eAAe,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACvD,MAAM,IAAI,iBAAiB,CACzB,IAAI,CAAC,MAAM,EACX,OAAO,EACP,YAAY,EACZ,wBAAwB,OAAO,qCAAqC,CACrE,CAAC;YACJ,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;YAC9G,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;YAChC,YAAY,GAAG,QAAQ,CAAC;YACxB,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC5B,IAAI,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC;oBAAE,OAAO;gBACnD,IAAI,IAAI,CAAC,iBAAiB,IAAI,qBAAqB,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;oBACvE,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBACpD,IAAI,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC;wBAAE,OAAO;gBAClD,CAAC;YACH,CAAC;YACD,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;QACxB,CAAC;QACD,IAAI,IAAI,CAAC,iBAAiB,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YACtD,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,IAAI,iBAAiB,CACzB,IAAI,CAAC,MAAM,EACX,OAAO,EACP,YAAY,EACZ,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAC/E,CAAC;IACJ,CAAC;CACF;AAED,SAAS,qBAAqB,CAAC,MAAc;IAC3C,OAAO,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAc;IACzC,OAAO,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,eAAe,CAAC,MAAc;IACrC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9C,OAAO,CACL,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QAC/B,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QAC/B,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QAChC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QAC7B,CAAC,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC,CAC/E,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,MAA0D;IACzF,IAAI,MAAM,CAAC,QAAQ,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IACzC,MAAM,uBAAuB,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,OAAO,CAC3D,yDAAyD,EACzD,EAAE,CACH,CAAC;IACF,OAAO,yBAAyB,CAAC,uBAAuB,CAAC,IAAI,yBAAyB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACxG,CAAC;AAED,SAAS,YAAY,CAAC,MAAc;IAClC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9C,OAAO,6BAA6B,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;AAC7G,CAAC"}
|