botmux 2.12.0 → 2.12.1

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.
@@ -0,0 +1,39 @@
1
+ import type { CodexBridgeEvent } from './codex-transcript.js';
2
+ export interface CodexPendingTurn {
3
+ turnId: string;
4
+ started: boolean;
5
+ contentFingerprint?: string;
6
+ /** Wall-clock millis when mark() was called. The emit gate uses this as
7
+ * the lower bound of the "did `botmux send` happen for this turn?"
8
+ * window. Optional only for legacy / test-injected turns. */
9
+ markTimeMs?: number;
10
+ /** Set once an assistant_final event closes this turn. */
11
+ finalText?: string;
12
+ }
13
+ export declare class CodexBridgeQueue {
14
+ private seen;
15
+ private queue;
16
+ private collecting;
17
+ /** Register events as historical without producing pending-turn side
18
+ * effects. Used at attach time when resume mode wants to swallow prior
19
+ * conversation as already-processed. */
20
+ absorb(events: CodexBridgeEvent[]): void;
21
+ /** Push a pending Lark turn anchored to the message text. The fingerprint
22
+ * derived from `message` is what the upcoming `user` event must contain
23
+ * to start this turn. Pre-path-known marking is allowed: the worker can
24
+ * call this before late-attach has located the rollout file, and the
25
+ * ingest call after attach will still match correctly. */
26
+ mark(turnId: string, message: string, markTimeMs?: number): void;
27
+ /** Drop all pending turns. Used when the worker decides it can't reliably
28
+ * attribute future events (e.g. a teardown). */
29
+ clearPending(): CodexPendingTurn[];
30
+ /** Process newly-appended events. Idempotent on uuid: events with seen
31
+ * uuids are skipped, so callers can replay safely. */
32
+ ingest(events: CodexBridgeEvent[]): void;
33
+ /** Pop FIFO any leading turn that is started AND has finalText. */
34
+ drainEmittable(): CodexPendingTurn[];
35
+ size(): number;
36
+ /** Test helper — peek the queue without mutating. */
37
+ peek(): readonly CodexPendingTurn[];
38
+ }
39
+ //# sourceMappingURL=codex-bridge-queue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-bridge-queue.d.ts","sourceRoot":"","sources":["../../src/services/codex-bridge-queue.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;kEAE8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,IAAI,CAAqB;IACjC,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,UAAU,CAAiC;IAEnD;;6CAEyC;IACzC,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAAI;IAIxC;;;;+DAI2D;IAC3D,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,GAAE,MAAmB,GAAG,IAAI;IAS5E;qDACiD;IACjD,YAAY,IAAI,gBAAgB,EAAE;IAMlC;2DACuD;IACvD,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAAI;IA8BxC,mEAAmE;IACnE,cAAc,IAAI,gBAAgB,EAAE;IAYpC,IAAI,IAAI,MAAM;IAId,qDAAqD;IACrD,IAAI,IAAI,SAAS,gBAAgB,EAAE;CAGpC"}
@@ -0,0 +1,116 @@
1
+ /**
2
+ * Codex bridge fallback's pending-turn queue.
3
+ *
4
+ * Lighter than Claude's BridgeTurnQueue because Codex's bridge has no /adopt
5
+ * surface and no local-terminal dual-write: the worker is the only writer,
6
+ * so any user_message in the rollout that doesn't match a pending Lark turn
7
+ * by fingerprint is either history (resume / late-attach) or somebody else's
8
+ * session — either way, ignore it. The Claude queue's "synthesise a local
9
+ * turn and forward to Lark" branch would just spam the thread here.
10
+ *
11
+ * Attribution rule:
12
+ * - mark() — push a pending turn entry (state: not started),
13
+ * anchored to a fingerprint of the Lark message.
14
+ * - ingest(events) —
15
+ * * 'user' event whose text matches the head pending turn's
16
+ * fingerprint → that turn becomes 'started' (collecting). User
17
+ * events with no fingerprint match are silently dropped (history
18
+ * or local input).
19
+ * * 'assistant_final' event → the currently-collecting turn closes
20
+ * with finalText set; eligible for emit on the next drain.
21
+ * - drainEmittable() — pop FIFO any leading turn that is started AND
22
+ * has finalText. Started turns that don't yet have finalText (model
23
+ * mid-turn at idle wakeup, e.g. between idle ticks) stay queued.
24
+ */
25
+ import { makeFingerprint, normaliseForFingerprint } from './bridge-turn-queue.js';
26
+ export class CodexBridgeQueue {
27
+ seen = new Set();
28
+ queue = [];
29
+ collecting = null;
30
+ /** Register events as historical without producing pending-turn side
31
+ * effects. Used at attach time when resume mode wants to swallow prior
32
+ * conversation as already-processed. */
33
+ absorb(events) {
34
+ for (const ev of events)
35
+ this.seen.add(ev.uuid);
36
+ }
37
+ /** Push a pending Lark turn anchored to the message text. The fingerprint
38
+ * derived from `message` is what the upcoming `user` event must contain
39
+ * to start this turn. Pre-path-known marking is allowed: the worker can
40
+ * call this before late-attach has located the rollout file, and the
41
+ * ingest call after attach will still match correctly. */
42
+ mark(turnId, message, markTimeMs = Date.now()) {
43
+ this.queue.push({
44
+ turnId,
45
+ started: false,
46
+ contentFingerprint: makeFingerprint(message),
47
+ markTimeMs,
48
+ });
49
+ }
50
+ /** Drop all pending turns. Used when the worker decides it can't reliably
51
+ * attribute future events (e.g. a teardown). */
52
+ clearPending() {
53
+ const dropped = this.queue.splice(0);
54
+ if (this.collecting && dropped.includes(this.collecting))
55
+ this.collecting = null;
56
+ return dropped;
57
+ }
58
+ /** Process newly-appended events. Idempotent on uuid: events with seen
59
+ * uuids are skipped, so callers can replay safely. */
60
+ ingest(events) {
61
+ for (const ev of events) {
62
+ if (!ev.uuid || this.seen.has(ev.uuid))
63
+ continue;
64
+ this.seen.add(ev.uuid);
65
+ if (ev.kind === 'user') {
66
+ const next = this.queue.find(t => !t.started);
67
+ if (!next)
68
+ continue;
69
+ // Time lower bound: a user_message older than the turn's mark
70
+ // (minus a small skew tolerance) cannot have been triggered by
71
+ // this Lark turn. Without this, fresh-empty attach over a long
72
+ // resume rollout could let a historical prompt with the same
73
+ // fingerprint start the current pending turn and emit yesterday's
74
+ // assistant reply. 5s skew absorbs clock drift between worker
75
+ // mark() and Codex's transcript timestamp.
76
+ if (next.markTimeMs !== undefined && ev.timestampMs < next.markTimeMs - 5_000)
77
+ continue;
78
+ if (next.contentFingerprint) {
79
+ const userText = normaliseForFingerprint(ev.text);
80
+ if (!userText.includes(next.contentFingerprint))
81
+ continue;
82
+ }
83
+ next.started = true;
84
+ this.collecting = next;
85
+ }
86
+ else if (ev.kind === 'assistant_final') {
87
+ if (this.collecting) {
88
+ this.collecting.finalText = ev.text;
89
+ this.collecting = null;
90
+ }
91
+ }
92
+ }
93
+ }
94
+ /** Pop FIFO any leading turn that is started AND has finalText. */
95
+ drainEmittable() {
96
+ const out = [];
97
+ while (this.queue.length > 0) {
98
+ const head = this.queue[0];
99
+ if (!head.started || !head.finalText)
100
+ break;
101
+ this.queue.shift();
102
+ if (this.collecting === head)
103
+ this.collecting = null;
104
+ out.push(head);
105
+ }
106
+ return out;
107
+ }
108
+ size() {
109
+ return this.queue.length;
110
+ }
111
+ /** Test helper — peek the queue without mutating. */
112
+ peek() {
113
+ return this.queue;
114
+ }
115
+ }
116
+ //# sourceMappingURL=codex-bridge-queue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-bridge-queue.js","sourceRoot":"","sources":["../../src/services/codex-bridge-queue.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ export interface CodexBridgeEvent {
2
+ /** Synthetic uuid for dedup: `<absPath>:<byteOffset>` of the line start.
3
+ * Stable across re-drains because rollout files are append-only. */
4
+ uuid: string;
5
+ /** Wall-clock ms parsed from the event's `timestamp` field. Falls back
6
+ * to Date.now() if missing/unparseable so the gate's window math still
7
+ * has something to compare against. */
8
+ timestampMs: number;
9
+ /** Discriminator for the queue layer:
10
+ * - 'user' starts a pending Lark turn (fingerprint-matched)
11
+ * - 'assistant_final' closes the currently-collecting turn */
12
+ kind: 'user' | 'assistant_final';
13
+ /** Concatenated text from the message's content blocks (input_text for
14
+ * user, output_text for assistant). */
15
+ text: string;
16
+ }
17
+ export interface CodexDrainResult {
18
+ events: CodexBridgeEvent[];
19
+ /** Byte offset of the last fully-parsed line + its trailing \n. The next
20
+ * drain should pass this back as fromOffset. */
21
+ newOffset: number;
22
+ /** A line that was written without its terminating \n yet. Currently
23
+ * informational — only complete lines produce events. */
24
+ pendingTail: string;
25
+ }
26
+ /** Locate the rollout file for a given Codex sessionId. Codex names files
27
+ * `rollout-<ts>-<sid>.jsonl`, so a suffix match is unambiguous. The
28
+ * directory tree is small (year/month/day) — a one-shot recursive scan
29
+ * is cheap enough that we don't bother caching. */
30
+ export declare function findCodexRolloutBySessionId(cliSessionId: string): string | undefined;
31
+ /** Increment-read the rollout from `fromOffset`. Mirrors the byte-offset
32
+ * contract of claude-transcript.drainTranscript so callers can swap them
33
+ * out and reuse the existing fs.watch / poll wakeup machinery. */
34
+ export declare function drainCodexRollout(path: string, fromOffset: number): CodexDrainResult;
35
+ //# sourceMappingURL=codex-transcript.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-transcript.d.ts","sourceRoot":"","sources":["../../src/services/codex-transcript.ts"],"names":[],"mappings":"AAgCA,MAAM,WAAW,gBAAgB;IAC/B;yEACqE;IACrE,IAAI,EAAE,MAAM,CAAC;IACb;;4CAEwC;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB;;oEAEgE;IAChE,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAAC;IACjC;4CACwC;IACxC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B;qDACiD;IACjD,SAAS,EAAE,MAAM,CAAC;IAClB;8DAC0D;IAC1D,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;oDAGoD;AACpD,wBAAgB,2BAA2B,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAoBpF;AAkBD;;mEAEmE;AACnE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,gBAAgB,CAqDpF"}
@@ -0,0 +1,163 @@
1
+ /**
2
+ * Reader for Codex's per-session rollout JSONL.
3
+ *
4
+ * Codex stores each session's full transcript at
5
+ * ~/.codex/sessions/<YYYY>/<MM>/<DD>/rollout-<ts>-<cliSessionId>.jsonl
6
+ * and creates the file lazily on the first user submit. Inside, the bridge
7
+ * fallback only cares about two `response_item.payload.type === 'message'`
8
+ * shapes:
9
+ *
10
+ * - role=user → the user's prompt text (input_text content)
11
+ * - role=assistant +
12
+ * phase=final_answer → the model's final reply (output_text content)
13
+ *
14
+ * Why these and not `event_msg`:
15
+ * - `response_item` is the canonical transcript record; `event_msg` is a
16
+ * UI-event stream that can carry the same final text via two channels
17
+ * (`agent_message phase=final_answer` AND `task_complete.last_agent_message`).
18
+ * Picking `response_item` keeps the reader to a single source of truth
19
+ * and avoids any chance of double-emit if both paths are present.
20
+ * - Skipping role=developer (system instructions), phase=commentary
21
+ * (mid-turn status), reasoning, and function_call* keeps the bridge
22
+ * focused on what the user actually said and what the model finally
23
+ * answered — same scope as the Claude bridge.
24
+ *
25
+ * Pure I/O. Attribution belongs in CodexBridgeQueue.
26
+ */
27
+ import { existsSync, statSync, openSync, readSync, closeSync, readdirSync } from 'node:fs';
28
+ import { homedir } from 'node:os';
29
+ import { join } from 'node:path';
30
+ const CODEX_SESSIONS_ROOT = join(homedir(), '.codex', 'sessions');
31
+ /** Locate the rollout file for a given Codex sessionId. Codex names files
32
+ * `rollout-<ts>-<sid>.jsonl`, so a suffix match is unambiguous. The
33
+ * directory tree is small (year/month/day) — a one-shot recursive scan
34
+ * is cheap enough that we don't bother caching. */
35
+ export function findCodexRolloutBySessionId(cliSessionId) {
36
+ if (!cliSessionId || !existsSync(CODEX_SESSIONS_ROOT))
37
+ return undefined;
38
+ const suffix = `-${cliSessionId}.jsonl`;
39
+ const stack = [CODEX_SESSIONS_ROOT];
40
+ while (stack.length > 0) {
41
+ const dir = stack.pop();
42
+ let entries;
43
+ try {
44
+ entries = readdirSync(dir);
45
+ }
46
+ catch {
47
+ continue;
48
+ }
49
+ for (const name of entries) {
50
+ const full = join(dir, name);
51
+ let st;
52
+ try {
53
+ st = statSync(full);
54
+ }
55
+ catch {
56
+ continue;
57
+ }
58
+ if (st.isDirectory()) {
59
+ stack.push(full);
60
+ }
61
+ else if (st.isFile() && name.endsWith(suffix)) {
62
+ return full;
63
+ }
64
+ }
65
+ }
66
+ return undefined;
67
+ }
68
+ /** Concatenate all text blocks of a content array. Codex rollout content
69
+ * is always an array of `{type, text}`; the kinds we care about are
70
+ * `input_text` (user) and `output_text` (assistant). Other block types
71
+ * (image_url, audio, etc.) are ignored — the bridge only forwards text. */
72
+ function joinTextBlocks(content, kind) {
73
+ if (!Array.isArray(content))
74
+ return '';
75
+ const parts = [];
76
+ for (const block of content) {
77
+ if (block && typeof block === 'object' && block.type === kind) {
78
+ const text = block.text;
79
+ if (typeof text === 'string')
80
+ parts.push(text);
81
+ }
82
+ }
83
+ return parts.join('');
84
+ }
85
+ /** Increment-read the rollout from `fromOffset`. Mirrors the byte-offset
86
+ * contract of claude-transcript.drainTranscript so callers can swap them
87
+ * out and reuse the existing fs.watch / poll wakeup machinery. */
88
+ export function drainCodexRollout(path, fromOffset) {
89
+ if (!existsSync(path))
90
+ return { events: [], newOffset: 0, pendingTail: '' };
91
+ let size;
92
+ try {
93
+ size = statSync(path).size;
94
+ }
95
+ catch {
96
+ return { events: [], newOffset: fromOffset, pendingTail: '' };
97
+ }
98
+ let start = fromOffset;
99
+ // Truncated/rotated jsonl — re-read from the top. Codex doesn't normally
100
+ // rewrite rollouts, but mirror Claude's defensive handling.
101
+ if (size < start)
102
+ start = 0;
103
+ if (size === start)
104
+ return { events: [], newOffset: start, pendingTail: '' };
105
+ const len = size - start;
106
+ const buf = Buffer.alloc(len);
107
+ const fd = openSync(path, 'r');
108
+ try {
109
+ readSync(fd, buf, 0, len, start);
110
+ }
111
+ finally {
112
+ closeSync(fd);
113
+ }
114
+ const text = buf.toString('utf8');
115
+ const lastNl = text.lastIndexOf('\n');
116
+ const completeText = lastNl >= 0 ? text.slice(0, lastNl + 1) : '';
117
+ const pendingTail = lastNl >= 0 ? text.slice(lastNl + 1) : text;
118
+ const newOffset = start + Buffer.byteLength(completeText, 'utf8');
119
+ const events = [];
120
+ // Track byte offset within the file as we walk lines so synthetic uuids
121
+ // are stable across re-drains.
122
+ let cursor = start;
123
+ for (const line of completeText.split('\n')) {
124
+ if (line.length === 0) {
125
+ cursor += 1; // the \n after an empty line
126
+ continue;
127
+ }
128
+ const lineByteLen = Buffer.byteLength(line, 'utf8') + 1; // include \n
129
+ const lineStart = cursor;
130
+ cursor += lineByteLen;
131
+ let obj;
132
+ try {
133
+ obj = JSON.parse(line);
134
+ }
135
+ catch {
136
+ continue;
137
+ }
138
+ if (obj?.type !== 'response_item')
139
+ continue;
140
+ const p = obj.payload;
141
+ if (!p || typeof p !== 'object' || p.type !== 'message')
142
+ continue;
143
+ const ts = typeof obj.timestamp === 'string' ? Date.parse(obj.timestamp) : NaN;
144
+ const timestampMs = Number.isFinite(ts) ? ts : Date.now();
145
+ if (p.role === 'user') {
146
+ const text = joinTextBlocks(p.content, 'input_text');
147
+ if (!text)
148
+ continue;
149
+ events.push({ uuid: `${path}:${lineStart}`, timestampMs, kind: 'user', text });
150
+ }
151
+ else if (p.role === 'assistant' && p.phase === 'final_answer') {
152
+ const text = joinTextBlocks(p.content, 'output_text');
153
+ if (!text)
154
+ continue;
155
+ events.push({ uuid: `${path}:${lineStart}`, timestampMs, kind: 'assistant_final', text });
156
+ }
157
+ // Skip role=developer (instructions), phase=commentary (mid-turn
158
+ // status), and any reasoning / function_call* events — see file
159
+ // header for rationale.
160
+ }
161
+ return { events, newOffset, pendingTail };
162
+ }
163
+ //# sourceMappingURL=codex-transcript.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-transcript.js","sourceRoot":"","sources":["../../src/services/codex-transcript.ts"],"names":[],"mappings":"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"}
package/dist/worker.js CHANGED
@@ -18,6 +18,8 @@ import { join } from 'node:path';
18
18
  import { drainTranscript, joinAssistantText, findJsonlContainingFingerprint, findLatestJsonl, extractLastAssistantTurn, stringifyUserContent } from './services/claude-transcript.js';
19
19
  import { BridgeTurnQueue, makeFingerprint } from './services/bridge-turn-queue.js';
20
20
  import { shouldSuppressBridgeEmit } from './services/bridge-fallback-gate.js';
21
+ import { CodexBridgeQueue } from './services/codex-bridge-queue.js';
22
+ import { drainCodexRollout, findCodexRolloutBySessionId } from './services/codex-transcript.js';
21
23
  import { dirname } from 'node:path';
22
24
  import { createServer as createHttpServer } from 'node:http';
23
25
  import { WebSocketServer, WebSocket } from 'ws';
@@ -108,6 +110,25 @@ let bridgeBaselineDone = false;
108
110
  /** Once-per-attach flag so a re-baseline after fs.watch lazy-fire doesn't
109
111
  * re-send the preamble. Reset only when the bridge teardown happens. */
110
112
  let bridgePreambleSent = false;
113
+ // ─── Codex bridge state ──────────────────────────────────────────────────
114
+ //
115
+ // Parallel to the Claude bridge above. Codex's transcript layout is
116
+ // different enough (separate file location, different event schema) that
117
+ // trying to share storage / readers would obscure both — so we keep state
118
+ // independent. Marker file (`<DATA_DIR>/turn-sends/<sid>.jsonl`) and the
119
+ // gate function are CLI-agnostic and shared.
120
+ let codexBridgeRolloutPath;
121
+ let codexBridgeOffset = 0;
122
+ let codexBridgePendingTail = '';
123
+ let codexBridgeBaselineDone = false;
124
+ const codexBridgeQueue = new CodexBridgeQueue();
125
+ let codexBridgeWatcher = null;
126
+ let codexBridgeTimer = null;
127
+ /** Codex sessionId we received via writeInput but haven't yet resolved a
128
+ * rollout file for. The poller keeps retrying — the file appears on
129
+ * Codex's first user submit, but with some race delay after our submit
130
+ * returns. Cleared once attached. */
131
+ let codexBridgePendingSessionId;
111
132
  /** Cap the preamble text so an extremely long previous turn doesn't blow
112
133
  * past Lark's per-message limit. The user only needs enough to recall
113
134
  * context, not the entire transcript. */
@@ -823,6 +844,179 @@ function drainPathInto(path, fromOffset) {
823
844
  bridgeQueue.ingest(result.events, path);
824
845
  return { offset: result.newOffset, tail: result.pendingTail };
825
846
  }
847
+ // ─── Codex bridge wiring ─────────────────────────────────────────────────
848
+ //
849
+ // Codex's bridge fallback is intentionally simpler than Claude's: no /adopt
850
+ // surface, no pid-resolver / quiet-rotation / fingerprint-jsonl-switch
851
+ // machinery. The reader watches one rollout file (located by cliSessionId)
852
+ // and the queue's only responsibility is "user fingerprint match → start;
853
+ // assistant_final → close". Everything else (mark / emit gate / send
854
+ // marker IO / type-ahead serialisation / one-write-per-idle break) is
855
+ // shared with the Claude path.
856
+ function codexBridgeFallbackActive() {
857
+ if (lastInitConfig?.adoptMode)
858
+ return false;
859
+ return lastInitConfig?.cliId === 'codex';
860
+ }
861
+ function codexBridgeStartTimer() {
862
+ if (codexBridgeTimer)
863
+ return;
864
+ // Single 1s ticker that handles three jobs: late-attach (poll for the
865
+ // rollout file once we know cliSessionId), ingest (fs.watch backup),
866
+ // and idle-window emit. The last is critical for the late-attach race:
867
+ // if the rollout path appears AFTER the CLI's idle event has fired,
868
+ // the idle callback's emit already ran (and saw an empty queue), so
869
+ // the next emit chance would be at the next idle — i.e. the user has
870
+ // to send another message before the previous turn's fallback shows
871
+ // up. Emitting here when isPromptReady=true closes that window.
872
+ // Codex's queue only releases turns on `assistant_final` (the model's
873
+ // declared end-of-turn), so a tick-driven emit can't accidentally
874
+ // publish a half-streamed response.
875
+ codexBridgeTimer = setInterval(() => {
876
+ try {
877
+ if (!codexBridgeRolloutPath && codexBridgePendingSessionId) {
878
+ const path = findCodexRolloutBySessionId(codexBridgePendingSessionId);
879
+ if (path) {
880
+ codexBridgePendingSessionId = undefined;
881
+ codexBridgeAttach(path, 'fresh-empty');
882
+ }
883
+ }
884
+ codexBridgeIngest();
885
+ if (isPromptReady)
886
+ emitReadyCodexTurns();
887
+ }
888
+ catch (err) {
889
+ log(`Codex bridge tick error: ${err.message}`);
890
+ }
891
+ }, 1000);
892
+ }
893
+ function codexBridgeAttach(rolloutPath, mode) {
894
+ codexBridgeRolloutPath = rolloutPath;
895
+ if (mode === 'fresh-empty') {
896
+ // Brand-new session OR late-attach right after first submit. Either
897
+ // way we want to ingest from offset 0 — pending turns marked before
898
+ // attach are still in the queue, so the user_message that just landed
899
+ // (or is about to land) will fingerprint-match them.
900
+ codexBridgeOffset = 0;
901
+ codexBridgePendingTail = '';
902
+ codexBridgeBaselineDone = true;
903
+ log(`Codex bridge fresh-empty: ${rolloutPath}`);
904
+ }
905
+ else if (existsSync(rolloutPath)) {
906
+ const result = drainCodexRollout(rolloutPath, 0);
907
+ codexBridgeOffset = result.newOffset;
908
+ codexBridgePendingTail = result.pendingTail;
909
+ codexBridgeQueue.absorb(result.events);
910
+ codexBridgeBaselineDone = true;
911
+ log(`Codex bridge baselined: ${rolloutPath} (offset=${codexBridgeOffset})`);
912
+ }
913
+ else {
914
+ // baseline-existing requested but file missing — degrade to fresh
915
+ // semantics so the lazy-appearing file isn't accidentally absorbed.
916
+ codexBridgeOffset = 0;
917
+ codexBridgePendingTail = '';
918
+ codexBridgeBaselineDone = true;
919
+ log(`Codex bridge transcript not yet present at ${rolloutPath}; treating as fresh`);
920
+ }
921
+ try {
922
+ codexBridgeWatcher = fsWatch(rolloutPath, { persistent: false }, () => {
923
+ try {
924
+ codexBridgeIngest();
925
+ }
926
+ catch (err) {
927
+ log(`Codex bridge ingest error: ${err.message}`);
928
+ }
929
+ });
930
+ }
931
+ catch (err) {
932
+ log(`Codex bridge fs.watch unavailable (${err.message}); relying on poller`);
933
+ }
934
+ }
935
+ /** Called from flushPending after writeInput first returns a cliSessionId.
936
+ * Tries to locate the rollout file immediately; if it's not on disk yet,
937
+ * remembers the sid so the 1s poller can keep retrying. */
938
+ function codexBridgeNotifyCliSessionId(cliSessionId) {
939
+ if (!codexBridgeFallbackActive() || codexBridgeRolloutPath)
940
+ return;
941
+ const path = findCodexRolloutBySessionId(cliSessionId);
942
+ if (path) {
943
+ codexBridgePendingSessionId = undefined;
944
+ codexBridgeAttach(path, 'fresh-empty');
945
+ }
946
+ else {
947
+ codexBridgePendingSessionId = cliSessionId;
948
+ codexBridgeStartTimer();
949
+ }
950
+ }
951
+ function codexBridgeIngest() {
952
+ if (!codexBridgeRolloutPath || !codexBridgeBaselineDone)
953
+ return;
954
+ const result = drainCodexRollout(codexBridgeRolloutPath, codexBridgeOffset);
955
+ codexBridgeOffset = result.newOffset;
956
+ codexBridgePendingTail = result.pendingTail;
957
+ codexBridgeQueue.ingest(result.events);
958
+ }
959
+ /** Mark a pending Lark turn for Codex. Crucially this works even before a
960
+ * rollout path is known — the queue is path-agnostic, and ingest after
961
+ * late-attach picks up the user_message and matches the fingerprint. */
962
+ function codexBridgeMarkPendingTurn(messageText) {
963
+ if (!codexBridgeFallbackActive())
964
+ return false;
965
+ const turnId = `codex-${randomBytes(8).toString('hex')}`;
966
+ codexBridgeQueue.mark(turnId, messageText);
967
+ return true;
968
+ }
969
+ function codexBridgeDrainAndMaybeEmit() {
970
+ if (!codexBridgeFallbackActive())
971
+ return;
972
+ if (codexBridgeRolloutPath && codexBridgeBaselineDone) {
973
+ try {
974
+ codexBridgeIngest();
975
+ }
976
+ catch (err) {
977
+ log(`Codex bridge ingest error: ${err.message}`);
978
+ }
979
+ }
980
+ emitReadyCodexTurns();
981
+ }
982
+ function emitReadyCodexTurns() {
983
+ const ready = codexBridgeQueue.drainEmittable();
984
+ if (ready.length === 0)
985
+ return;
986
+ const markers = readSendMarkers();
987
+ const remaining = codexBridgeQueue.peek();
988
+ const nextPendingMarkTimeMs = remaining.length > 0 ? remaining[0].markTimeMs : undefined;
989
+ for (let i = 0; i < ready.length; i++) {
990
+ const turn = ready[i];
991
+ const nextBoundaryMs = (i + 1 < ready.length ? ready[i + 1].markTimeMs : nextPendingMarkTimeMs);
992
+ if (shouldSuppressBridgeEmit({ markTimeMs: turn.markTimeMs, isLocal: false }, nextBoundaryMs, markers, false)) {
993
+ log(`Codex bridge fallback suppressed for turn ${turn.turnId.substring(0, 8)} (model called botmux send within window)`);
994
+ continue;
995
+ }
996
+ if (!turn.finalText)
997
+ continue;
998
+ send({ type: 'final_output', content: turn.finalText, lastUuid: turn.turnId, turnId: turn.turnId });
999
+ }
1000
+ }
1001
+ function stopCodexBridge() {
1002
+ if (codexBridgeWatcher) {
1003
+ try {
1004
+ codexBridgeWatcher.close();
1005
+ }
1006
+ catch { /* ignore */ }
1007
+ codexBridgeWatcher = null;
1008
+ }
1009
+ if (codexBridgeTimer) {
1010
+ clearInterval(codexBridgeTimer);
1011
+ codexBridgeTimer = null;
1012
+ }
1013
+ codexBridgeRolloutPath = undefined;
1014
+ codexBridgeOffset = 0;
1015
+ codexBridgePendingTail = '';
1016
+ codexBridgeBaselineDone = false;
1017
+ codexBridgeQueue.clearPending();
1018
+ codexBridgePendingSessionId = undefined;
1019
+ }
826
1020
  /** When a rotation moves bridgeJsonlPath away from `oldPath`, queue turns
827
1021
  * whose sourceJsonlPath equals oldPath may still be waiting on assistant
828
1022
  * text that hasn't landed yet. Add oldPath to the secondary polling set
@@ -1340,10 +1534,17 @@ async function flushPending() {
1340
1534
  // so BridgeTurnQueue.ingest never starts the pending turn for them and
1341
1535
  // the assistant text would be dropped on the floor. Serialise instead —
1342
1536
  // worker holds messages in pendingMessages until the CLI reaches idle.
1343
- const typeAheadAllowed = cliAdapter.supportsTypeAhead && !(bridgeJsonlPath && !lastInitConfig?.adoptMode);
1537
+ const claudeBridgeActive = !!bridgeJsonlPath && !lastInitConfig?.adoptMode;
1538
+ const codexBridgeActive = codexBridgeFallbackActive();
1539
+ const bridgeFallbackActive = claudeBridgeActive || codexBridgeActive;
1540
+ // Type-ahead must be disabled for any active bridge fallback (claude or
1541
+ // codex). Claude type-ahead's queued submits never become role:user
1542
+ // events; Codex doesn't declare supportsTypeAhead so this is mostly a
1543
+ // belt-and-braces gate, but keep symmetry so future adapters with
1544
+ // type-ahead get the same protection automatically.
1545
+ const typeAheadAllowed = cliAdapter.supportsTypeAhead && !bridgeFallbackActive;
1344
1546
  if (!isPromptReady && !typeAheadAllowed)
1345
1547
  return;
1346
- const bridgeFallbackActive = !!bridgeJsonlPath && !lastInitConfig?.adoptMode;
1347
1548
  isFlushing = true;
1348
1549
  if (isPromptReady) {
1349
1550
  isPromptReady = false;
@@ -1359,21 +1560,34 @@ async function flushPending() {
1359
1560
  // falls inside [markTimeMs(N), markTimeMs(N+1)). Marking earlier
1360
1561
  // (at IPC arrival) would let a slow-finishing turn N's send leak
1361
1562
  // into turn N+1's window and falsely suppress its emit.
1362
- if (bridgeFallbackActive) {
1563
+ if (claudeBridgeActive) {
1363
1564
  try {
1364
1565
  bridgeIngest();
1365
1566
  }
1366
1567
  catch { /* best-effort */ }
1367
1568
  bridgeMarkPendingTurn(msg);
1368
1569
  }
1570
+ else if (codexBridgeActive) {
1571
+ // Codex mark works even before the rollout path is known: the
1572
+ // queue is path-agnostic, and the late-attach below will start
1573
+ // ingest from offset 0 so the user_message that lands shortly
1574
+ // after still fingerprint-matches this turn.
1575
+ codexBridgeMarkPendingTurn(msg);
1576
+ }
1369
1577
  log(`Writing to PTY (flush): "${msg.substring(0, 80)}"`);
1370
1578
  const result = await cliAdapter.writeInput(backend, msg);
1371
1579
  // Persist any sessionId the adapter observed via authoritative sources
1372
1580
  // (Claude's pid file, Codex's history). Done independently of submit
1373
1581
  // outcome — the rotation is real even when the current Enter didn't
1374
1582
  // land, and we want next-resume to use the right id.
1375
- if (result?.cliSessionId)
1583
+ if (result?.cliSessionId) {
1376
1584
  persistCliSessionId(result.cliSessionId);
1585
+ // First successful Codex submit also reveals the rollout path.
1586
+ // Late-attach now so subsequent assistant_final events get
1587
+ // attributed to this turn.
1588
+ if (codexBridgeActive)
1589
+ codexBridgeNotifyCliSessionId(result.cliSessionId);
1590
+ }
1377
1591
  if (result && result.submitted === false) {
1378
1592
  const preview = msg.length > 60 ? msg.slice(0, 60) + '…' : msg;
1379
1593
  log(`writeInput: submit not confirmed after retries — notifying user. preview="${preview}"`);
@@ -1415,8 +1629,9 @@ function sendToPty(content) {
1415
1629
  // Tear down the prompt card so the user doesn't see stale options.
1416
1630
  send({ type: 'tui_prompt_resolved', selectedText: 'user-override' });
1417
1631
  }
1418
- // See flushPending: bridge fallback gates type-ahead off.
1419
- const typeAheadAllowed = cliAdapter.supportsTypeAhead && !(bridgeJsonlPath && !lastInitConfig?.adoptMode);
1632
+ // See flushPending: bridge fallback gates type-ahead off (claude OR codex).
1633
+ const bridgeFallbackActive = (!!bridgeJsonlPath && !lastInitConfig?.adoptMode) || codexBridgeFallbackActive();
1634
+ const typeAheadAllowed = cliAdapter.supportsTypeAhead && !bridgeFallbackActive;
1420
1635
  if (isPromptReady || isFlushing || typeAheadAllowed) {
1421
1636
  log(`Writing to PTY: "${content.substring(0, 80)}"`);
1422
1637
  flushPending(); // fire-and-forget async; no-op if already flushing
@@ -1621,6 +1836,31 @@ function spawnCli(cfg) {
1621
1836
  mode: cfg.resume ? 'baseline-existing' : 'fresh-empty',
1622
1837
  });
1623
1838
  }
1839
+ // Codex bridge fallback: same intent as the Claude block above but a
1840
+ // different transcript layout. Resume-with-known-cliSessionId can attach
1841
+ // immediately; new sessions / resume-without-id rely on flushPending to
1842
+ // late-attach once writeInput returns the cliSessionId.
1843
+ if (cfg.cliId === 'codex') {
1844
+ if (cfg.cliSessionId) {
1845
+ const rolloutPath = findCodexRolloutBySessionId(cfg.cliSessionId);
1846
+ if (rolloutPath) {
1847
+ codexBridgeAttach(rolloutPath, 'baseline-existing');
1848
+ }
1849
+ else {
1850
+ // Resume but the rollout file isn't where we expected — start the
1851
+ // poller so we keep looking; if the user submits and a new file
1852
+ // appears, late-attach kicks in via writeInput's cliSessionId.
1853
+ codexBridgePendingSessionId = cfg.cliSessionId;
1854
+ codexBridgeStartTimer();
1855
+ }
1856
+ }
1857
+ else {
1858
+ // Brand-new Codex session: no path until first submit. Start the
1859
+ // poller anyway so the CLI is ready to attach the moment we have
1860
+ // a cliSessionId.
1861
+ codexBridgeStartTimer();
1862
+ }
1863
+ }
1624
1864
  // Set up idle detection
1625
1865
  idleDetector = new IdleDetector(cliAdapter);
1626
1866
  idleDetector.onIdle(() => {
@@ -1637,6 +1877,14 @@ function spawnCli(cfg) {
1637
1877
  log(`Bridge emit error: ${err.message}`);
1638
1878
  }
1639
1879
  }
1880
+ if (codexBridgeFallbackActive()) {
1881
+ try {
1882
+ codexBridgeDrainAndMaybeEmit();
1883
+ }
1884
+ catch (err) {
1885
+ log(`Codex bridge emit error: ${err.message}`);
1886
+ }
1887
+ }
1640
1888
  markPromptReady();
1641
1889
  });
1642
1890
  backend.onData(onPtyData);
@@ -1670,6 +1918,7 @@ function killCli() {
1670
1918
  // restart with the proper mode based on the new cfg. Leaving it running
1671
1919
  // would dangle a watcher pinned to a stale jsonl path.
1672
1920
  stopBridgeWatcher();
1921
+ stopCodexBridge();
1673
1922
  // Clean up CLI PID marker
1674
1923
  if (cliPidMarker) {
1675
1924
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,IAAI,OAAO,EAAkB,MAAM,SAAS,CAAC;AAChK,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,8BAA8B,EAAE,eAAe,EAAE,wBAAwB,EAAE,oBAAoB,EAAwB,MAAM,iCAAiC,CAAC;AAC5M,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACnF,OAAO,EAAE,wBAAwB,EAAyB,MAAM,oCAAoC,CAAC;AACrG,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAChG,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,IAAI,gBAAgB,EAAwB,MAAM,WAAW,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAEhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,eAAe,EACf,eAAe,EACf,KAAK,EACL,uBAAuB,GACxB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAE/F,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAE1E,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,KAAK,YAAY,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,gFAAgF;AAEhF,IAAI,UAAU,GAAsB,IAAI,CAAC;AACzC,IAAI,OAAO,GAA0B,IAAI,CAAC;AAC1C,IAAI,YAAY,GAAkB,IAAI,CAAC,CAAE,iCAAiC;AAC1E,IAAI,YAAY,GAAwB,IAAI,CAAC;AAC7C,IAAI,UAAU,GAAG,KAAK,CAAC;AACvB;;qEAEqE;AACrE,IAAI,UAAU,GAAG,KAAK,CAAC;AACvB,IAAI,UAAU,GAA+C,IAAI,CAAC;AAClE,IAAI,GAAG,GAA2B,IAAI,CAAC;AACvC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAa,CAAC;AACvC,MAAM,aAAa,GAAG,IAAI,OAAO,EAAa,CAAC;AAC/C,uDAAuD;AACvD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAuB,CAAC;AAClD,MAAM,UAAU,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAEnD,IAAI,SAAS,GAAG,EAAE,CAAC;AACnB,IAAI,cAAc,GAAqD,IAAI,CAAC;AAC5E,MAAM,iBAAiB,GAA2B,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AACpK,SAAS,OAAO,KAAa,OAAO,iBAAiB,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;AAC9F,IAAI,aAAa,GAAG,KAAK,CAAC;AAC1B,sEAAsE;AACtE,IAAI,UAAU,GAAG,KAAK,CAAC;AACvB,MAAM,eAAe,GAAa,EAAE,CAAC;AAErC,8EAA8E;AAC9E,EAAE;AACF,2EAA2E;AAC3E,0EAA0E;AAC1E,2EAA2E;AAC3E,uEAAuE;AACvE,kDAAkD;AAClD,EAAE;AACF,mEAAmE;AACnE,yEAAyE;AACzE,IAAI,eAAmC,CAAC;AACxC;;;0DAG0D;AAC1D,IAAI,cAAkC,CAAC;AACvC;;;;+BAI+B;AAC/B,IAAI,YAAgC,CAAC;AACrC,IAAI,YAAgC,CAAC;AACrC;2EAC2E;AAC3E,IAAI,0BAA8C,CAAC;AACnD;;;;;wCAKwC;AACxC,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAkB,CAAC,CAAC,gBAAgB;AACxE,IAAI,YAAY,GAAG,CAAC,CAAC;AACrB,IAAI,iBAAiB,GAAG,EAAE,CAAC;AAC3B,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC;AAC1C,IAAI,aAAa,GAAqB,IAAI,CAAC;AAC3C,IAAI,mBAAmB,GAA0B,IAAI,CAAC;AACtD;;;;qCAIqC;AACrC,IAAI,kBAAkB,GAAG,KAAK,CAAC;AAC/B;yEACyE;AACzE,IAAI,kBAAkB,GAAG,KAAK,CAAC;AAE/B,4EAA4E;AAC5E,EAAE;AACF,oEAAoE;AACpE,yEAAyE;AACzE,0EAA0E;AAC1E,yEAAyE;AACzE,6CAA6C;AAC7C,IAAI,sBAA0C,CAAC;AAC/C,IAAI,iBAAiB,GAAG,CAAC,CAAC;AAC1B,IAAI,sBAAsB,GAAG,EAAE,CAAC;AAChC,IAAI,uBAAuB,GAAG,KAAK,CAAC;AACpC,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,EAAE,CAAC;AAChD,IAAI,kBAAkB,GAAqB,IAAI,CAAC;AAChD,IAAI,gBAAgB,GAA0B,IAAI,CAAC;AACnD;;;sCAGsC;AACtC,IAAI,2BAA+C,CAAC;AAEpD;;0CAE0C;AAC1C,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAC9B,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAEpC;;0CAE0C;AAC1C,MAAM,mBAAmB,GAAG,IAAI,CAAC;AACjC,MAAM,wBAAwB,GAAG,IAAI,CAAC;AAEtC,SAAS,oBAAoB,CAAC,IAAY,EAAE,GAAW;IACrD,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG;QAAE,OAAO,IAAI,CAAC;IACpC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC;AAClC,CAAC;AAED;;;;kEAIkE;AAClE,SAAS,sBAAsB,CAAC,QAAgB,EAAE,aAAqB;IACrE,MAAM,CAAC,GAAG,oBAAoB,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,mBAAmB,CAAC,CAAC;IACrE,MAAM,CAAC,GAAG,oBAAoB,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,wBAAwB,CAAC,CAAC;IAC/E,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1B,OAAO;QACL,yCAAyC;QACzC,EAAE;QACF,OAAO;QACP,CAAC,IAAI,KAAK;QACV,EAAE;QACF,MAAM,OAAO,EAAE,GAAG;QAClB,CAAC,IAAI,KAAK;KACX,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,8EAA8E;AAC9E,EAAE;AACF,6EAA6E;AAC7E,8EAA8E;AAC9E,4EAA4E;AAC5E,wEAAwE;AACxE,6EAA6E;AAC7E,2EAA2E;AAC3E,uEAAuE;AACvE,2EAA2E;AAC3E,SAAS,gBAAgB;IACvB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IAClE,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,YAAY,EAAE,GAAG,SAAS,QAAQ,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,eAAe;IACtB,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;IAChC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAC1C,IAAI,CAAC;QACH,MAAM,GAAG,GAAuB,EAAE,CAAC;QACnC,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3D,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBAAE,SAAS;YAC3B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAChC,IAAI,OAAO,MAAM,EAAE,QAAQ,KAAK,QAAQ;oBAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC7D,CAAC;YAAC,MAAM,CAAC,CAAC,yBAAyB,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,GAAG,CAAC,8BAA8B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACjD,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB;IACvB,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;IAChC,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,IAAI,CAAC;QAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,+CAA+C,CAAC,CAAC;AACrF,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAyB;IACvD,wEAAwE;IACxE,wEAAwE;IACxE,uEAAuE;IACvE,kEAAkE;IAClE,iEAAiE;IACjE,IAAI,CAAC,cAAc,EAAE,SAAS;QAAE,OAAO;IACvC,IAAI,kBAAkB;QAAE,OAAO;IAC/B,MAAM,IAAI,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAC9C,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,kBAAkB,GAAG,IAAI,CAAC;IAC1B,IAAI,CAAC;QACH,IAAI,EAAE,gBAAgB;QACtB,QAAQ,EAAE,oBAAoB,CAAC,IAAI,CAAC,QAAQ,EAAE,iBAAiB,CAAC;QAChE,aAAa,EAAE,oBAAoB,CAAC,IAAI,CAAC,aAAa,EAAE,sBAAsB,CAAC;KAChF,CAAC,CAAC;IACH,GAAG,CAAC,mEAAmE,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,oBAAoB;IAC3B,IAAI,CAAC,eAAe;QAAE,OAAO;IAC7B,MAAM,MAAM,GAAG,eAAe,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;IACnD,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC;IAChC,iBAAiB,GAAG,MAAM,CAAC,WAAW,CAAC;IACvC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAClC,kBAAkB,GAAG,IAAI,CAAC;IAC1B,yEAAyE;IACzE,yEAAyE;IACzE,mEAAmE;IACnE,oEAAoE;IACpE,+DAA+D;IAC/D,IAAI,cAAc,EAAE,SAAS;QAAE,sBAAsB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACvE,CAAC;AAED;;;;;;;;;;;;;gEAagE;AAChE,SAAS,sBAAsB;IAC7B,IAAI,CAAC,cAAc;QAAE,OAAO,KAAK,CAAC;IAClC,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;IACnC,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;IAC1E,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,kBAAkB;QAAE,OAAO,KAAK,CAAC;IAE9D,sEAAsE;IACtE,sEAAsE;IACtE,uEAAuE;IACvE,sCAAsC;IACtC,MAAM,mBAAmB,GAAG,SAAS,CAAC,UAAU,KAAK,SAAS;QAC5D,CAAC,CAAC,SAAS,CAAC,UAAU,GAAG,KAAK;QAC9B,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,OAAO,GAAG,8BAA8B,CAC5C,cAAc,EACd,SAAS,CAAC,kBAAkB,EAC5B;QACE,WAAW,EAAE,eAAe;QAC5B,sBAAsB,EAAE,IAAI;QAC5B,mBAAmB;KACpB,CACF,CAAC;IACF,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAE3B,uEAAuE;IACvE,uEAAuE;IACvE,2EAA2E;IAC3E,sEAAsE;IACtE,qEAAqE;IACrE,wEAAwE;IACxE,wEAAwE;IACxE,wCAAwC;IACxC,IAAI,eAAe,IAAI,kBAAkB,EAAE,CAAC;QAC1C,IAAI,eAAe,GAAG,YAAY,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,aAAa,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;YAC7D,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC;QACnC,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,GAAG,CAAC,oDAAoD,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC;QACtF,CAAC;QACD,oCAAoC,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IACzE,CAAC;IAED,GAAG,CAAC,+BAA+B,eAAe,MAAM,OAAO,+EAA+E,CAAC,CAAC;IAChJ,IAAI,aAAa,EAAE,CAAC;QAClB,IAAI,CAAC;YAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QACrD,aAAa,GAAG,IAAI,CAAC;IACvB,CAAC;IACD,sEAAsE;IACtE,yEAAyE;IACzE,uEAAuE;IACvE,wEAAwE;IACxE,2BAA2B;IAC3B,eAAe,GAAG,OAAO,CAAC;IAC1B,YAAY,GAAG,CAAC,CAAC;IACjB,iBAAiB,GAAG,EAAE,CAAC;IACvB,kEAAkE;IAClE,uEAAuE;IACvE,oEAAoE;IACpE,sEAAsE;IACtE,kBAAkB,GAAG,IAAI,CAAC;IAC1B,IAAI,CAAC;QACH,aAAa,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE;YAC3D,IAAI,CAAC;gBAAC,YAAY,EAAE,CAAC;YAAC,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAAC,GAAG,CAAC,wBAAwB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAAC,CAAC;QAC1F,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,GAAG,CAAC,8CAA8C,GAAG,CAAC,OAAO,+BAA+B,CAAC,CAAC;IAChG,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;8DA2B8D;AAC9D,MAAM,iBAAiB,GAAG,KAAK,CAAC;AAEhC,SAAS,QAAQ,CAAC,IAAY;IAC5B,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE;YAAE,OAAO,IAAI,CAAC;QAC9B,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,GAAW;IAC7B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACrD,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;2EAE2E;AAC3E,SAAS,oBAAoB,CAAC,GAAW,EAAE,GAAW;IACpD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAClD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO,EAAE,CAAC;IAC5C,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACH,OAAO,GAAG,WAAW,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,IAAI,MAAc,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,GAAG,YAAY,CAAC,SAAS,GAAG,OAAO,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,SAAS;QACzC,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG;YAAE,SAAS;QACtC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;yBACyB;AACzB,SAAS,UAAU,CAAC,KAAe;IACjC,IAAI,IAAI,GAA6C,IAAI,CAAC;IAC1D,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,CAAC,EAAE;YAAE,SAAS;QAClB,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO;YAAE,IAAI,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC;IAClF,CAAC;IACD,OAAO,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC;AAC5B,CAAC;AAED;;;;;;6BAM6B;AAC7B,SAAS,qBAAqB,CAAC,OAAe,EAAE,QAAgB,EAAE,MAAc;IAC9E,oEAAoE;IACpE,mEAAmE;IACnE,WAAW;IACX,IAAI,eAAe,IAAI,kBAAkB,EAAE,CAAC;QAC1C,IAAI,eAAe,GAAG,YAAY,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,aAAa,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;YAC7D,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC;QACnC,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,GAAG,CAAC,mCAAmC,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC;QACxF,CAAC;QACD,oCAAoC,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IACzE,CAAC;IAED,GAAG,CAAC,+BAA+B,MAAM,MAAM,eAAe,IAAI,QAAQ,MAAM,OAAO,EAAE,CAAC,CAAC;IAC3F,IAAI,aAAa,EAAE,CAAC;QAClB,IAAI,CAAC;YAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QACrD,aAAa,GAAG,IAAI,CAAC;IACvB,CAAC;IACD,eAAe,GAAG,OAAO,CAAC;IAC1B,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAClC,iBAAiB,GAAG,EAAE,CAAC;IAEvB,wEAAwE;IACxE,mEAAmE;IACnE,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC3C,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC;IAChC,iBAAiB,GAAG,MAAM,CAAC,WAAW,CAAC;IACvC,MAAM,OAAO,GAAsB,EAAE,CAAC;IACtC,MAAM,IAAI,GAAsB,EAAE,CAAC;IACnC,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAC/B,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC;QACtB,IAAI,OAAO,EAAE,CAAC,SAAS,KAAK,QAAQ;YAAE,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;QACtE,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,QAAQ;YAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;;YAC3D,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrB,CAAC;IACD,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC5B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACvD,kBAAkB,GAAG,IAAI,CAAC;IAC1B,GAAG,CAAC,0BAA0B,OAAO,CAAC,MAAM,gCAAgC,IAAI,CAAC,MAAM,uBAAuB,CAAC,CAAC;IAEhH,IAAI,CAAC;QACH,aAAa,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE;YAC3D,IAAI,CAAC;gBAAC,YAAY,EAAE,CAAC;YAAC,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAAC,GAAG,CAAC,wBAAwB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAAC,CAAC;QAC1F,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,GAAG,CAAC,kDAAkD,GAAG,CAAC,OAAO,+BAA+B,CAAC,CAAC;IACpG,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB;IAC/B,IAAI,CAAC,cAAc,IAAI,CAAC,eAAe;QAAE,OAAO;IAChD,uEAAuE;IACvE,oEAAoE;IACpE,yCAAyC;IACzC,IAAI,YAAY,KAAK,SAAS;QAAE,OAAO;IACvC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;QAAE,OAAO;IAEtC,MAAM,WAAW,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;IAC9C,IAAI,CAAC,WAAW;QAAE,OAAO;IAEzB,oEAAoE;IACpE,sEAAsE;IACtE,qEAAqE;IACrE,8BAA8B;IAC9B,MAAM,MAAM,GAAG,oBAAoB,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;IAClE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,MAAM,IAAI,MAAM,KAAK,eAAe,EAAE,CAAC;YACzC,qBAAqB,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,EAAE,YAAY,YAAY,EAAE,CAAC,CAAC;QACjF,CAAC;QACD,mEAAmE;QACnE,uDAAuD;QACvD,OAAO;IACT,CAAC;IAED,qEAAqE;IACrE,mEAAmE;IACnE,sEAAsE;IACtE,gCAAgC;IAChC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,IAAI,GAAG,GAAG,WAAW,CAAC,OAAO,GAAG,iBAAiB;QAAE,OAAO;IAC1D,MAAM,MAAM,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC;IAC/C,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,eAAe;QAAE,OAAO;IAClD,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IACpC,IAAI,CAAC,UAAU;QAAE,OAAO;IACxB,IAAI,UAAU,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,GAAG,iBAAiB;QAAE,OAAO;IACzE,qBAAqB,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,EAAE,yBAAyB,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;AACxI,CAAC;AAoBD,SAAS,gCAAgC;IACvC,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY;QAAE,OAAO,aAAa,CAAC;IACzD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IACjE,IAAI,CAAC,QAAQ;QAAE,OAAO,aAAa,CAAC;IACpC,IAAI,0BAA0B,KAAK,QAAQ,CAAC,YAAY,EAAE,CAAC;QACzD,0BAA0B,GAAG,QAAQ,CAAC,YAAY,CAAC;IACrD,CAAC;IACD,IAAI,QAAQ,CAAC,IAAI,KAAK,eAAe;QAAE,OAAO,MAAM,CAAC;IAErD,uEAAuE;IACvE,uEAAuE;IACvE,uEAAuE;IACvE,kEAAkE;IAClE,sEAAsE;IACtE,uEAAuE;IACvE,oDAAoD;IACpD,IAAI,eAAe,IAAI,kBAAkB,EAAE,CAAC;QAC1C,IAAI,eAAe,GAAG,YAAY,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,aAAa,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;YAC7D,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC;QACnC,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,GAAG,CAAC,0CAA0C,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC;QAC5E,CAAC;QACD,oCAAoC,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IACzE,CAAC;IAED,GAAG,CAAC,8CAA8C,eAAe,IAAI,QAAQ,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACpG,IAAI,aAAa,EAAE,CAAC;QAClB,IAAI,CAAC;YAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QACrD,aAAa,GAAG,IAAI,CAAC;IACvB,CAAC;IACD,qEAAqE;IACrE,sEAAsE;IACtE,oEAAoE;IACpE,oEAAoE;IACpE,uEAAuE;IACvE,iEAAiE;IACjE,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC;IAChC,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxC,YAAY,GAAG,CAAC,CAAC;IACjB,iBAAiB,GAAG,EAAE,CAAC;IACvB,kBAAkB,GAAG,IAAI,CAAC;IAC1B,IAAI,CAAC;QACH,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE;YACjE,IAAI,CAAC;gBAAC,YAAY,EAAE,CAAC;YAAC,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAAC,GAAG,CAAC,wBAAwB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAAC,CAAC;QAC1F,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,GAAG,CAAC,kDAAkD,GAAG,CAAC,OAAO,+BAA+B,CAAC,CAAC;IACpG,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,YAAY;IACnB,uEAAuE;IACvE,uEAAuE;IACvE,uEAAuE;IACvE,uCAAuC;IACvC,mBAAmB,EAAE,CAAC;IACtB,qEAAqE;IACrE,gEAAgE;IAChE,sDAAsD;IACtD,MAAM,SAAS,GAAG,gCAAgC,EAAE,CAAC;IACrD,oEAAoE;IACpE,oEAAoE;IACpE,wEAAwE;IACxE,oEAAoE;IACpE,6DAA6D;IAC7D,qEAAqE;IACrE,gEAAgE;IAChE,0DAA0D;IAC1D,IAAI,QAAQ,GAAG,SAAS,KAAK,UAAU,CAAC;IACxC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,QAAQ,GAAG,sBAAsB,EAAE,CAAC;IACtC,CAAC;IACD,mEAAmE;IACnE,qEAAqE;IACrE,oEAAoE;IACpE,oEAAoE;IACpE,8DAA8D;IAC9D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,wBAAwB,EAAE,CAAC;IAC7B,CAAC;IACD,IAAI,CAAC,eAAe;QAAE,OAAO;IAC7B,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,2EAA2E;QAC3E,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC;YAAE,OAAO;QAC7C,oBAAoB,EAAE,CAAC;QACvB,OAAO;IACT,CAAC;IACD,MAAM,MAAM,GAAG,eAAe,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;IAC9D,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC;IAChC,iBAAiB,GAAG,MAAM,CAAC,WAAW,CAAC;IACvC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,kBAAkB,CAAC,SAAiB,EAAE,IAAuF;IACpI,eAAe,GAAG,SAAS,CAAC;IAC5B,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACpC,YAAY,GAAG,IAAI,EAAE,MAAM,CAAC;IAC5B,YAAY,GAAG,IAAI,EAAE,MAAM,CAAC;IAC5B,MAAM,IAAI,GAAG,IAAI,EAAE,IAAI,IAAI,mBAAmB,CAAC;IAC/C,wEAAwE;IACxE,uEAAuE;IACvE,yEAAyE;IACzE,wEAAwE;IACxE,QAAQ;IACR,IAAI,YAAY,IAAI,YAAY,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QACjE,IAAI,QAAQ,EAAE,CAAC;YACb,0BAA0B,GAAG,QAAQ,CAAC,YAAY,CAAC;YACnD,IAAI,QAAQ,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;gBACtC,GAAG,CAAC,uDAAuD,eAAe,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;gBACjG,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAChC,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;QAC3B,yEAAyE;QACzE,uEAAuE;QACvE,wEAAwE;QACxE,mEAAmE;QACnE,sEAAsE;QACtE,yEAAyE;QACzE,YAAY,GAAG,CAAC,CAAC;QACjB,iBAAiB,GAAG,EAAE,CAAC;QACvB,kBAAkB,GAAG,IAAI,CAAC;QAC1B,GAAG,CAAC,4BAA4B,eAAe,mDAAmD,CAAC,CAAC;IACtG,CAAC;SAAM,IAAI,cAAc,CAAC,eAAe,CAAC,EAAE,CAAC;QAC3C,oBAAoB,EAAE,CAAC;QACvB,GAAG,CAAC,qBAAqB,eAAe,YAAY,YAAY,GAAG,CAAC,CAAC;IACvE,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,wCAAwC,eAAe,qCAAqC,CAAC,CAAC;IACpG,CAAC;IACD,0EAA0E;IAC1E,0EAA0E;IAC1E,qEAAqE;IACrE,IAAI,CAAC;QACH,aAAa,GAAG,OAAO,CAAC,eAAe,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE;YACnE,IAAI,CAAC;gBAAC,YAAY,EAAE,CAAC;YAAC,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAAC,GAAG,CAAC,wBAAwB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAAC,CAAC;QAC1F,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,GAAG,CAAC,gCAAgC,GAAG,CAAC,OAAO,+BAA+B,CAAC,CAAC;IAClF,CAAC;IACD,mBAAmB,GAAG,WAAW,CAAC,GAAG,EAAE;QACrC,IAAI,CAAC;YAAC,YAAY,EAAE,CAAC;QAAC,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAAC,GAAG,CAAC,wBAAwB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAAC,CAAC;IAC1F,CAAC,EAAE,IAAI,CAAC,CAAC;AACX,CAAC;AAED,SAAS,iBAAiB;IACxB,IAAI,aAAa,EAAE,CAAC;QAClB,IAAI,CAAC;YAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QACrD,aAAa,GAAG,IAAI,CAAC;IACvB,CAAC;IACD,IAAI,mBAAmB,EAAE,CAAC;QACxB,aAAa,CAAC,mBAAmB,CAAC,CAAC;QACnC,mBAAmB,GAAG,IAAI,CAAC;IAC7B,CAAC;IACD,YAAY,GAAG,SAAS,CAAC;IACzB,YAAY,GAAG,SAAS,CAAC;IACzB,0BAA0B,GAAG,SAAS,CAAC;IACvC,oBAAoB,CAAC,KAAK,EAAE,CAAC;IAC7B,kBAAkB,GAAG,KAAK,CAAC;AAC7B,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAS,qBAAqB,CAAC,WAAmB;IAChD,IAAI,CAAC,eAAe;QAAE,OAAO,KAAK,CAAC;IACnC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,GAAG,CAAC,oFAAoF,CAAC,CAAC;QAC1F,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,WAAW,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;IACjD,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,CAAC;IAC9D,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,uBAAuB;IAC9B,IAAI,CAAC,eAAe;QAAE,OAAO;IAC7B,YAAY,EAAE,CAAC;IACf,cAAc,EAAE,CAAC;IACjB,wEAAwE;IACxE,sEAAsE;IACtE,uEAAuE;IACvE,mBAAmB,EAAE,CAAC;AACxB,CAAC;AAED;;;;;;;6DAO6D;AAC7D,SAAS,cAAc;IACrB,MAAM,KAAK,GAAG,WAAW,CAAC,cAAc,EAAE,CAAC;IAC3C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAC/B,MAAM,SAAS,GAAG,cAAc,EAAE,SAAS,KAAK,IAAI,CAAC;IACrD,wEAAwE;IACxE,qEAAqE;IACrE,wEAAwE;IACxE,mEAAmE;IACnE,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;IACnD,MAAM,gBAAgB,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;IAC5C,MAAM,qBAAqB,GAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IACvG,MAAM,KAAK,GAAG,IAAI,GAAG,EAA8C,CAAC;IACpE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,cAAc,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;QAChG,IAAI,wBAAwB,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;YACzH,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,wCAAwC,CAAC;YACvF,GAAG,CAAC,uCAAuC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,GAAG,CAAC,CAAC;YACtF,SAAS;QACX,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,IAAI,eAAe,CAAC;QACrD,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,IAAI,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACnC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC3B,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACtE,MAAM,aAAa,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAErE,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,oEAAoE;YACpE,qEAAqE;YACrE,sEAAsE;YACtE,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ;gBAC1B,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC;gBACpD,CAAC,CAAC,SAAS,CAAC;YACd,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7E,MAAM,OAAO,GAAG,sBAAsB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;YAChE,IAAI,CAAC,OAAO;gBAAE,SAAS;YACvB,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YACvE,SAAS;QACX,CAAC;QAED,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACxF,CAAC;AACH,CAAC;AAED;;;;;oEAKoE;AACpE,SAAS,aAAa,CAAC,IAAY,EAAE,UAAkB;IACrD,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACjD,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACxC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC;AAChE,CAAC;AAED,4EAA4E;AAC5E,EAAE;AACF,4EAA4E;AAC5E,uEAAuE;AACvE,2EAA2E;AAC3E,0EAA0E;AAC1E,qEAAqE;AACrE,sEAAsE;AACtE,+BAA+B;AAE/B,SAAS,yBAAyB;IAChC,IAAI,cAAc,EAAE,SAAS;QAAE,OAAO,KAAK,CAAC;IAC5C,OAAO,cAAc,EAAE,KAAK,KAAK,OAAO,CAAC;AAC3C,CAAC;AAED,SAAS,qBAAqB;IAC5B,IAAI,gBAAgB;QAAE,OAAO;IAC7B,sEAAsE;IACtE,qEAAqE;IACrE,uEAAuE;IACvE,oEAAoE;IACpE,oEAAoE;IACpE,qEAAqE;IACrE,oEAAoE;IACpE,gEAAgE;IAChE,sEAAsE;IACtE,kEAAkE;IAClE,oCAAoC;IACpC,gBAAgB,GAAG,WAAW,CAAC,GAAG,EAAE;QAClC,IAAI,CAAC;YACH,IAAI,CAAC,sBAAsB,IAAI,2BAA2B,EAAE,CAAC;gBAC3D,MAAM,IAAI,GAAG,2BAA2B,CAAC,2BAA2B,CAAC,CAAC;gBACtE,IAAI,IAAI,EAAE,CAAC;oBACT,2BAA2B,GAAG,SAAS,CAAC;oBACxC,iBAAiB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;YACD,iBAAiB,EAAE,CAAC;YACpB,IAAI,aAAa;gBAAE,mBAAmB,EAAE,CAAC;QAC3C,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,GAAG,CAAC,4BAA4B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACjD,CAAC;IACH,CAAC,EAAE,IAAI,CAAC,CAAC;AACX,CAAC;AAED,SAAS,iBAAiB,CAAC,WAAmB,EAAE,IAAyC;IACvF,sBAAsB,GAAG,WAAW,CAAC;IACrC,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;QAC3B,oEAAoE;QACpE,oEAAoE;QACpE,sEAAsE;QACtE,qDAAqD;QACrD,iBAAiB,GAAG,CAAC,CAAC;QACtB,sBAAsB,GAAG,EAAE,CAAC;QAC5B,uBAAuB,GAAG,IAAI,CAAC;QAC/B,GAAG,CAAC,6BAA6B,WAAW,EAAE,CAAC,CAAC;IAClD,CAAC;SAAM,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,iBAAiB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACjD,iBAAiB,GAAG,MAAM,CAAC,SAAS,CAAC;QACrC,sBAAsB,GAAG,MAAM,CAAC,WAAW,CAAC;QAC5C,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACvC,uBAAuB,GAAG,IAAI,CAAC;QAC/B,GAAG,CAAC,2BAA2B,WAAW,YAAY,iBAAiB,GAAG,CAAC,CAAC;IAC9E,CAAC;SAAM,CAAC;QACN,kEAAkE;QAClE,oEAAoE;QACpE,iBAAiB,GAAG,CAAC,CAAC;QACtB,sBAAsB,GAAG,EAAE,CAAC;QAC5B,uBAAuB,GAAG,IAAI,CAAC;QAC/B,GAAG,CAAC,8CAA8C,WAAW,qBAAqB,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,CAAC;QACH,kBAAkB,GAAG,OAAO,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE;YACpE,IAAI,CAAC;gBAAC,iBAAiB,EAAE,CAAC;YAAC,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAAC,GAAG,CAAC,8BAA8B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAAC,CAAC;QACrG,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,GAAG,CAAC,sCAAsC,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC;IAC/E,CAAC;AACH,CAAC;AAED;;4DAE4D;AAC5D,SAAS,6BAA6B,CAAC,YAAoB;IACzD,IAAI,CAAC,yBAAyB,EAAE,IAAI,sBAAsB;QAAE,OAAO;IACnE,MAAM,IAAI,GAAG,2BAA2B,CAAC,YAAY,CAAC,CAAC;IACvD,IAAI,IAAI,EAAE,CAAC;QACT,2BAA2B,GAAG,SAAS,CAAC;QACxC,iBAAiB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACzC,CAAC;SAAM,CAAC;QACN,2BAA2B,GAAG,YAAY,CAAC;QAC3C,qBAAqB,EAAE,CAAC;IAC1B,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB;IACxB,IAAI,CAAC,sBAAsB,IAAI,CAAC,uBAAuB;QAAE,OAAO;IAChE,MAAM,MAAM,GAAG,iBAAiB,CAAC,sBAAsB,EAAE,iBAAiB,CAAC,CAAC;IAC5E,iBAAiB,GAAG,MAAM,CAAC,SAAS,CAAC;IACrC,sBAAsB,GAAG,MAAM,CAAC,WAAW,CAAC;IAC5C,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACzC,CAAC;AAED;;yEAEyE;AACzE,SAAS,0BAA0B,CAAC,WAAmB;IACrD,IAAI,CAAC,yBAAyB,EAAE;QAAE,OAAO,KAAK,CAAC;IAC/C,MAAM,MAAM,GAAG,SAAS,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;IACzD,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC3C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,4BAA4B;IACnC,IAAI,CAAC,yBAAyB,EAAE;QAAE,OAAO;IACzC,IAAI,sBAAsB,IAAI,uBAAuB,EAAE,CAAC;QACtD,IAAI,CAAC;YAAC,iBAAiB,EAAE,CAAC;QAAC,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAAC,GAAG,CAAC,8BAA8B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAAC,CAAC;IACrG,CAAC;IACD,mBAAmB,EAAE,CAAC;AACxB,CAAC;AAED,SAAS,mBAAmB;IAC1B,MAAM,KAAK,GAAG,gBAAgB,CAAC,cAAc,EAAE,CAAC;IAChD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAC/B,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;IAClC,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,EAAE,CAAC;IAC1C,MAAM,qBAAqB,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IACzF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,cAAc,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;QAChG,IAAI,wBAAwB,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;YAC9G,GAAG,CAAC,6CAA6C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,2CAA2C,CAAC,CAAC;YACzH,SAAS;QACX,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,SAAS;QAC9B,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACtG,CAAC;AACH,CAAC;AAED,SAAS,eAAe;IACtB,IAAI,kBAAkB,EAAE,CAAC;QACvB,IAAI,CAAC;YAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAC1D,kBAAkB,GAAG,IAAI,CAAC;IAC5B,CAAC;IACD,IAAI,gBAAgB,EAAE,CAAC;QACrB,aAAa,CAAC,gBAAgB,CAAC,CAAC;QAChC,gBAAgB,GAAG,IAAI,CAAC;IAC1B,CAAC;IACD,sBAAsB,GAAG,SAAS,CAAC;IACnC,iBAAiB,GAAG,CAAC,CAAC;IACtB,sBAAsB,GAAG,EAAE,CAAC;IAC5B,uBAAuB,GAAG,KAAK,CAAC;IAChC,gBAAgB,CAAC,YAAY,EAAE,CAAC;IAChC,2BAA2B,GAAG,SAAS,CAAC;AAC1C,CAAC;AAED;;;;;;6BAM6B;AAC7B,SAAS,oCAAoC,CAAC,OAAe,EAAE,eAAuB;IACpF,MAAM,eAAe,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,KAAK,OAAO,CAAC,CAAC;IACpF,IAAI,CAAC,eAAe;QAAE,OAAO;IAC7B,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACnD,qEAAqE;IACrE,gDAAgD;IAChD,IAAI,QAAQ,KAAK,SAAS,IAAI,eAAe,GAAG,QAAQ,EAAE,CAAC;QACzD,oBAAoB,CAAC,GAAG,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IACrD,CAAC;IACD,GAAG,CAAC,mCAAmC,OAAO,YAAY,eAAe,sBAAsB,CAAC,CAAC;AACnG,CAAC;AAED;;;mCAGmC;AACnC,SAAS,mBAAmB;IAC1B,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,oBAAoB,EAAE,CAAC;QAClD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC7C,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;gBAAE,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACtE,oBAAoB,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,GAAG,CAAC,uCAAuC,IAAI,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;AACH,CAAC;AAED;;kDAEkD;AAClD,SAAS,mBAAmB;IAC1B,IAAI,oBAAoB,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO;IAC5C,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;QACnC,IAAI,CAAC,CAAC,eAAe;YAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;IAC3D,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,oBAAoB,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QACpD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAClC,GAAG,CAAC,iCAAiC,IAAI,uBAAuB,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;AACH,CAAC;AAED,oDAAoD;AACpD,SAAS,cAAc,CAAC,CAAS;IAC/B,IAAI,CAAC;QAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,KAAK,CAAC;IAAC,CAAC;AACvD,CAAC;AACD,sGAAsG;AACtG,IAAI,mBAAmB,GAAG,IAAI,CAAC;AAE/B,gFAAgF;AAChF,yEAAyE;AACzE,4EAA4E;AAC5E,uEAAuE;AACvE,uEAAuE;AACvE,oDAAoD;AACpD,MAAM,QAAQ,GAAG,mBAAmB,CAAC;AACrC,MAAM,QAAQ,GAAG,mBAAmB,CAAC;AACrC;;;;2CAI2C;AAC3C,IAAI,UAAU,GAAG,QAAQ,CAAC;AAC1B,IAAI,UAAU,GAAG,QAAQ,CAAC;AAE1B,gFAAgF;AAEhF,IAAI,QAAQ,GAA4B,IAAI,CAAC;AAC7C,IAAI,iBAAiB,GAA0C,IAAI,CAAC;AACpE,MAAM,yBAAyB,GAAG,KAAK,CAAC;AAExC,+EAA+E;AAE/E,MAAM,cAAc,GAAG,SAAS,CAAC,CAAC,eAAe;AACjD,IAAI,UAAU,GAAG,EAAE,CAAC;AACpB;;;;;2DAK2D;AAC3D,IAAI,eAAe,GAAG,KAAK,CAAC;AAC5B,MAAM,YAAY,GAAG,0BAA0B,CAAC;AAChD,MAAM,WAAW,GAAG,0BAA0B,CAAC;AAE/C,+EAA+E;AAE/E,IAAI,cAAc,GAA0B,IAAI,CAAC;AACjD,yEAAyE;AACzE,IAAI,iBAAiB,GAAG,KAAK,CAAC;AAE9B,SAAS,mBAAmB;IAC1B,MAAM,EAAE,GAAG,MAAM,CAAC,cAAc,CAAC;IACjC,GAAG,CAAC,kCAAkC,EAAE,CAAC,OAAO,aAAa,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,WAAW,EAAE,CAAC,KAAK,IAAI,OAAO,kBAAkB,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAC5K,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK;QAAE,OAAO;IAElE,cAAc,GAAG,IAAI,cAAc,CACjC;QACE,OAAO,EAAE,EAAE,CAAC,OAAO;QACnB,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,KAAK,EAAE,EAAE,CAAC,KAAK;QACf,UAAU,EAAE,EAAE,CAAC,UAAU;QACzB,WAAW,EAAE,EAAE,CAAC,WAAW;QAC3B,gBAAgB,EAAE,EAAE,CAAC,gBAAgB;QACrC,YAAY,EAAE,EAAE,CAAC,YAAY;QAC7B,SAAS,EAAE,EAAE,CAAC,SAAS;KACxB,EACD;QACE,WAAW,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE;QAChD,WAAW,EAAE,GAAG,EAAE,GAA4D,CAAC;QAC/E,WAAW,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE;YACjD,iBAAiB,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;QAClE,CAAC;QACD,mBAAmB,EAAE,CAAC,YAAY,EAAE,EAAE;YACpC,iBAAiB,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,YAAY,EAAE,CAAC,CAAC;YACpD,wDAAwD;YACxD,YAAY,EAAE,CAAC;QACjB,CAAC;QACD,GAAG;KACJ,CACF,CAAC;IACF,cAAc,CAAC,KAAK,EAAE,CAAC;AACzB,CAAC;AAED,SAAS,kBAAkB;IACzB,cAAc,EAAE,OAAO,EAAE,CAAC;IAC1B,cAAc,GAAG,IAAI,CAAC;IACtB,iBAAiB,GAAG,KAAK,CAAC;AAC5B,CAAC;AAED,+EAA+E;AAE/E,MAAM,sBAAsB,GAAG,MAAM,CAAC;AACtC,MAAM,oBAAoB,GAAG,KAAK,CAAC;AACnC,+EAA+E;AAC/E,0EAA0E;AAC1E,sEAAsE;AACtE,4DAA4D;AAE5D,IAAI,WAAW,GAAgB,QAAQ,CAAC;AACxC,IAAI,eAAe,GAA0C,IAAI,CAAC;AAClE,IAAI,gBAAgB,GAAyC,IAAI,CAAC;AAClE,IAAI,YAAY,GAAG,EAAE,CAAC;AACtB,IAAI,kBAAkB,GAAG,EAAE,CAAC;AAC5B,IAAI,sBAAsB,GAAG,EAAE,CAAC;AAEhC,SAAS,mBAAmB;IAC1B,kBAAkB,EAAE,CAAC;IACrB,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC;IAC1F,0DAA0D;IAC1D,KAAK,gBAAgB,EAAE,CAAC;AAC1B,CAAC;AAED,SAAS,kBAAkB;IACzB,IAAI,eAAe,EAAE,CAAC;QAAC,aAAa,CAAC,eAAe,CAAC,CAAC;QAAC,eAAe,GAAG,IAAI,CAAC;IAAC,CAAC;IAChF,IAAI,gBAAgB,EAAE,CAAC;QAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;QAAC,gBAAgB,GAAG,IAAI,CAAC;IAAC,CAAC;AACpF,CAAC;AAED,0EAA0E;AAC1E,SAAS,0BAA0B;IACjC,IAAI,WAAW,KAAK,YAAY;QAAE,OAAO;IACzC,IAAI,gBAAgB;QAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC;IACrD,IAAI,eAAe,EAAE,CAAC;QAAC,aAAa,CAAC,eAAe,CAAC,CAAC;QAAC,eAAe,GAAG,IAAI,CAAC;IAAC,CAAC;IAChF,gBAAgB,GAAG,UAAU,CAAC,KAAK,IAAI,EAAE;QACvC,gBAAgB,GAAG,IAAI,CAAC;QACxB,MAAM,gBAAgB,EAAE,CAAC;QACzB,IAAI,WAAW,KAAK,YAAY,EAAE,CAAC;YACjC,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC,EAAE,oBAAoB,CAAC,CAAC;AAC3B,CAAC;AAED,KAAK,UAAU,gBAAgB;IAC7B,IAAI,WAAW,KAAK,YAAY;QAAE,OAAO;IACzC,IAAI,mBAAmB;QAAE,OAAO;IAChC,IAAI,CAAC,QAAQ;QAAE,OAAO;IACtB,IAAI,CAAC,kBAAkB,IAAI,CAAC,sBAAsB;QAAE,OAAO;IAE3D,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC;IAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;IAExC,0CAA0C;IAC1C,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IACpC,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1D,IAAI,IAAI,KAAK,YAAY;QAAE,OAAO;IAClC,YAAY,GAAG,IAAI,CAAC;IAEpB,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC;QACpE,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC;QACpE,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACvE,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,GAAG,CAAC,6BAA6B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAChD,OAAO;IACT,CAAC;IAED,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,iBAAiB,CAAC,kBAAkB,EAAE,sBAAsB,EAAE,GAAG,CAAC,CAAC;IACtF,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,GAAG,CAAC,6BAA6B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAChD,OAAO;IACT,CAAC;IAED,IAAI,MAAM,GAAqC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IAClF,IAAI,cAAc,EAAE,WAAW;QAAE,MAAM,GAAG,WAAW,CAAC;IACtD,IAAI,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAiB;IACzC,WAAW,GAAG,IAAI,CAAC;IACnB,YAAY,GAAG,EAAE,CAAC;IAClB,IAAI,IAAI,KAAK,YAAY;QAAE,mBAAmB,EAAE,CAAC;;QAC5C,kBAAkB,EAAE,CAAC;AAC5B,CAAC;AAED,wFAAwF;AACxF,MAAM,YAAY,GAAkC;IAClD,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO;IACvE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;IACpD,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO;CAC/C,CAAC;AACF,MAAM,WAAW,GAAkC;IACjD,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG;IAC9D,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ;IAC7D,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS;CACnD,CAAC;AAEF,8EAA8E;AAC9E,6EAA6E;AAC7E,2EAA2E;AAC3E,0EAA0E;AAC1E,0EAA0E;AAC1E,4DAA4D;AAC5D,IAAI,qBAAqB,GAAG,CAAC,CAAC;AAE9B,SAAS,kBAAkB;IACzB,IAAI,qBAAqB,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,qBAAqB,IAAI,OAAO,CAAC;QAAE,OAAO;IAC3F,IAAI,CAAC;QAAE,OAAe,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAC9E,qBAAqB,GAAG,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAkB;IAC1C,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,MAAM,UAAU,GAAG,GAAG,KAAK,cAAc,IAAI,GAAG,KAAK,gBAAgB,CAAC;IAEtE,8EAA8E;IAC9E,IAAI,UAAU,IAAI,qBAAqB,IAAI,OAAO,EAAE,CAAC;QACnD,MAAM,EAAE,GAAG,OAAc,CAAC;QAC1B,IAAI,CAAC;YACH,IAAI,qBAAqB,KAAK,CAAC,IAAI,GAAG,KAAK,cAAc,EAAE,CAAC;gBAC1D,EAAE,CAAC,aAAa,EAAE,CAAC;YACrB,CAAC;YACD,IAAI,GAAG,KAAK,cAAc,IAAI,qBAAqB,GAAG,CAAC,EAAE,CAAC;gBACxD,EAAE,CAAC,mBAAmB,CAAC,GAAG,KAAK,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;gBACjF,qBAAqB,IAAI,GAAG,KAAK,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzD,IAAI,qBAAqB,IAAI,CAAC,EAAE,CAAC;oBAC/B,qBAAqB,GAAG,CAAC,CAAC;oBAC1B,+EAA+E;oBAC/E,IAAI,CAAC;wBAAC,EAAE,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;gBAClE,CAAC;YACH,CAAC;YACD,GAAG,CAAC,gBAAgB,GAAG,MAAM,qBAAqB,yBAAyB,CAAC,CAAC;QAC/E,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,GAAG,CAAC,uBAAuB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5C,CAAC;QACD,0BAA0B,EAAE,CAAC;QAC7B,OAAO;IACT,CAAC;IAED,2EAA2E;IAC3E,IAAI,qBAAqB,GAAG,CAAC;QAAE,kBAAkB,EAAE,CAAC;IAEpD,IAAI,iBAAiB,IAAI,OAAO,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;QACrD,OAAe,CAAC,eAAe,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;IACtD,CAAC;SAAM,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;IAClC,CAAC;IACD,kEAAkE;IAClE,yEAAyE;IACzE,uEAAuE;IACvE,yEAAyE;IACzE,2BAA2B;IAC3B,IAAI,iBAAiB,IAAI,CAAC,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,OAAO,CAAC,EAAE,CAAC;QAC/E,iBAAiB,GAAG,KAAK,CAAC;QAC1B,cAAc,EAAE,eAAe,CAAC,eAAe,GAAG,EAAE,CAAC,CAAC;QACtD,KAAK,YAAY,EAAE,CAAC;IACtB,CAAC;IACD,GAAG,CAAC,gBAAgB,GAAG,EAAE,CAAC,CAAC;IAC3B,0BAA0B,EAAE,CAAC;AAC/B,CAAC;AAED,uDAAuD;AACvD,MAAM,WAAW,GAA2B;IAC1C,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ;IAC7D,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM;CACnD,CAAC;AAEF;;;;GAIG;AACH,KAAK,UAAU,aAAa,CAAC,IAAc,EAAE,OAAgB;IAC3D,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAE1C,IAAI,iBAAiB,IAAI,OAAO,EAAE,CAAC;QACjC,MAAM,CAAC,GAAG,OAAc,CAAC;QACzB,uEAAuE;QACvE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YACvB,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;YACvC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,iBAAiB,GAAG,KAAK,CAAC;QAC1B,IAAI,aAAa,EAAE,CAAC;YAClB,aAAa,GAAG,KAAK,CAAC;YACtB,YAAY,EAAE,KAAK,EAAE,CAAC;QACxB,CAAC;QACD,cAAc,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,GAAG,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACjE,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,kBAAkB,CAAC,IAAc,EAAE,IAAY;IAC5D,IAAI,CAAC,OAAO,IAAI,CAAC,UAAU;QAAE,OAAO;IAEpC,oFAAoF;IACpF,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAE7E,kDAAkD;IAClD,IAAI,iBAAiB,IAAI,OAAO,EAAE,CAAC;QACjC,MAAM,CAAC,GAAG,OAAc,CAAC;QACzB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YACvB,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;YACvC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,+BAA+B;IAC/B,iBAAiB,GAAG,KAAK,CAAC;IAC1B,IAAI,aAAa,EAAE,CAAC;QAClB,aAAa,GAAG,KAAK,CAAC;QACtB,YAAY,EAAE,KAAK,EAAE,CAAC;IACxB,CAAC;IACD,cAAc,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC;IAE9C,+DAA+D;IAC/D,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAE3C,sFAAsF;IACtF,GAAG,CAAC,4BAA4B,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,OAAO,CAAC,MAAM,YAAY,CAAC,CAAC;IACpG,IAAI,CAAC;QACH,MAAM,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,GAAG,CAAC,gCAAgC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACrD,CAAC;AACH,CAAC;AAED,gFAAgF;AAEhF,0CAA0C;AAC1C,sFAAsF;AACtF,yFAAyF;AACzF,uCAAuC;AACvC,MAAM,oBAAoB,GAAG,wCAAwC,CAAC;AACtE,IAAI,YAAY,GAAG,KAAK,CAAC;AAEzB,gFAAgF;AAEhF,SAAS,SAAS,CAAC,IAAY;IAC7B,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAEtB,qEAAqE;IACrE,qEAAqE;IACrE,uEAAuE;IACvE,+BAA+B;IAC/B,IAAI,CAAC,UAAU,IAAI,UAAU,EAAE,CAAC;QAC9B,wEAAwE;QACxE,uEAAuE;QACvE,IAAI,aAAa,GAAG,CAAC,CAAC,CAAC;QACvB,IAAI,gBAAgB,GAAG,eAAe,CAAC;QACvC,YAAY,CAAC,SAAS,GAAG,CAAC,CAAC;QAC3B,WAAW,CAAC,SAAS,GAAG,CAAC,CAAC;QAC1B,KAAK,IAAI,CAAyB,EAAE,CAAC,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAI,CAAC;YACpE,IAAI,CAAC,CAAC,KAAK,GAAG,aAAa,EAAE,CAAC;gBAAC,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC;gBAAC,gBAAgB,GAAG,IAAI,CAAC;YAAC,CAAC;QACpF,CAAC;QACD,KAAK,IAAI,CAAyB,EAAE,CAAC,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAI,CAAC;YACnE,IAAI,CAAC,CAAC,KAAK,GAAG,aAAa,EAAE,CAAC;gBAAC,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC;gBAAC,gBAAgB,GAAG,KAAK,CAAC;YAAC,CAAC;QACrF,CAAC;QACD,eAAe,GAAG,gBAAgB,CAAC;QAEnC,UAAU,IAAI,IAAI,CAAC;QACnB,IAAI,UAAU,CAAC,MAAM,GAAG,cAAc,EAAE,CAAC;YACvC,kEAAkE;YAClE,kEAAkE;YAClE,mEAAmE;YACnE,IAAI,GAAG,GAAG,UAAU,CAAC,MAAM,GAAG,cAAc,CAAC;YAC7C,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAC9C,GAAG,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;YAC/B,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC;YAC9D,UAAU,GAAG,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9C,CAAC;QACD,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;YAC3B,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI;gBAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,2BAA2B;IAC3B,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,wBAAwB,EAAE,EAAE,CAAC,CAAC;QAC5D,IAAI,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxC,YAAY,GAAG,IAAI,CAAC;YACpB,GAAG,CAAC,0CAA0C,CAAC,CAAC;YAChD,IAAI,OAAO,IAAI,iBAAiB,IAAI,OAAO,EAAE,CAAC;gBAC3C,OAAe,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAC5C,CAAC;iBAAM,CAAC;gBACN,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC;YACD,OAAO;QACT,CAAC;IACH,CAAC;IAED,0CAA0C;IAC1C,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,eAAe;IACtB,IAAI,aAAa;QAAE,OAAO,CAAE,gCAAgC;IAC5D,aAAa,GAAG,IAAI,CAAC;IACrB,IAAI,mBAAmB,EAAE,CAAC;QACxB,mBAAmB,GAAG,KAAK,CAAC;QAC5B,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAE,6CAA6C;IACzE,CAAC;IACD,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;IAC/B,kEAAkE;IAClE,wEAAwE;IACxE,yEAAyE;IACzE,iEAAiE;IACjE,oEAAoE;IACpE,IAAI,QAAQ,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QAC5D,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACxC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3D,CAAC;IACD,YAAY,EAAE,CAAC;AACjB,CAAC;AAED,SAAS,mBAAmB,CAAC,YAAoB;IAC/C,IAAI,CAAC,YAAY,IAAI,CAAC,SAAS;QAAE,OAAO;IACxC,IAAI,cAAc;QAAE,cAAc,CAAC,YAAY,GAAG,YAAY,CAAC;IAC/D,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,YAAY,KAAK,YAAY;YAAE,OAAO;QAC9D,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC;QACpC,YAAY,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACpC,GAAG,CAAC,6BAA6B,YAAY,EAAE,CAAC,CAAC;IACnD,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,GAAG,CAAC,qCAAqC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,YAAY;IACzB,IAAI,UAAU;QAAE,OAAO,CAAE,uDAAuD;IAChF,IAAI,CAAC,OAAO,IAAI,CAAC,UAAU;QAAE,OAAO;IACpC,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAE,wCAAwC;IACnF,8EAA8E;IAC9E,uEAAuE;IACvE,0EAA0E;IAC1E,uEAAuE;IACvE,wEAAwE;IACxE,uEAAuE;IACvE,MAAM,kBAAkB,GAAG,CAAC,CAAC,eAAe,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC;IAC3E,MAAM,iBAAiB,GAAG,yBAAyB,EAAE,CAAC;IACtD,MAAM,oBAAoB,GAAG,kBAAkB,IAAI,iBAAiB,CAAC;IACrE,wEAAwE;IACxE,oEAAoE;IACpE,sEAAsE;IACtE,kEAAkE;IAClE,oDAAoD;IACpD,MAAM,gBAAgB,GAAG,UAAU,CAAC,iBAAiB,IAAI,CAAC,oBAAoB,CAAC;IAC/E,IAAI,CAAC,aAAa,IAAI,CAAC,gBAAgB;QAAE,OAAO;IAEhD,UAAU,GAAG,IAAI,CAAC;IAClB,IAAI,aAAa,EAAE,CAAC;QAClB,aAAa,GAAG,KAAK,CAAC;QACtB,YAAY,EAAE,KAAK,EAAE,CAAC;IACxB,CAAC;IAED,IAAI,CAAC;QACH,OAAO,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;YAC3D,MAAM,GAAG,GAAG,eAAe,CAAC,KAAK,EAAG,CAAC;YACrC,qEAAqE;YACrE,+DAA+D;YAC/D,8DAA8D;YAC9D,gEAAgE;YAChE,iEAAiE;YACjE,iEAAiE;YACjE,wDAAwD;YACxD,IAAI,kBAAkB,EAAE,CAAC;gBACvB,IAAI,CAAC;oBAAC,YAAY,EAAE,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;gBACnD,qBAAqB,CAAC,GAAG,CAAC,CAAC;YAC7B,CAAC;iBAAM,IAAI,iBAAiB,EAAE,CAAC;gBAC7B,8DAA8D;gBAC9D,+DAA+D;gBAC/D,8DAA8D;gBAC9D,6CAA6C;gBAC7C,0BAA0B,CAAC,GAAG,CAAC,CAAC;YAClC,CAAC;YACD,GAAG,CAAC,4BAA4B,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;YACzD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACzD,uEAAuE;YACvE,qEAAqE;YACrE,oEAAoE;YACpE,qDAAqD;YACrD,IAAI,MAAM,EAAE,YAAY,EAAE,CAAC;gBACzB,mBAAmB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACzC,+DAA+D;gBAC/D,2DAA2D;gBAC3D,2BAA2B;gBAC3B,IAAI,iBAAiB;oBAAE,6BAA6B,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC5E,CAAC;YACD,IAAI,MAAM,IAAI,MAAM,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;gBACzC,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC/D,GAAG,CAAC,6EAA6E,OAAO,GAAG,CAAC,CAAC;gBAC7F,IAAI,CAAC;oBACH,IAAI,EAAE,aAAa;oBACnB,OAAO,EAAE,eAAe,OAAO,EAAE,sFAAsF,OAAO,EAAE;iBACjI,CAAC,CAAC;YACL,CAAC;YACD,iEAAiE;YACjE,oEAAoE;YACpE,qEAAqE;YACrE,mEAAmE;YACnE,iEAAiE;YACjE,mEAAmE;YACnE,kEAAkE;YAClE,wDAAwD;YACxD,IAAI,oBAAoB,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM;QAChE,CAAC;IACH,CAAC;YAAS,CAAC;QACT,UAAU,GAAG,KAAK,CAAC;IACrB,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,OAAe;IAChC,IAAI,CAAC,OAAO,IAAI,CAAC,UAAU;QAAE,OAAO;IACpC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9B,+EAA+E;IAC/E,2EAA2E;IAC3E,0EAA0E;IAC1E,4EAA4E;IAC5E,sEAAsE;IACtE,qDAAqD;IACrD,IAAI,iBAAiB,EAAE,CAAC;QACtB,GAAG,CAAC,oEAAoE,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;QACrG,iBAAiB,GAAG,KAAK,CAAC;QAC1B,cAAc,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC;QAC9C,mEAAmE;QACnE,IAAI,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,YAAY,EAAE,eAAe,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,4EAA4E;IAC5E,MAAM,oBAAoB,GAAG,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,IAAI,yBAAyB,EAAE,CAAC;IAC9G,MAAM,gBAAgB,GAAG,UAAU,CAAC,iBAAiB,IAAI,CAAC,oBAAoB,CAAC;IAC/E,IAAI,aAAa,IAAI,UAAU,IAAI,gBAAgB,EAAE,CAAC;QACpD,GAAG,CAAC,oBAAoB,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;QACrD,YAAY,EAAE,CAAC,CAAE,mDAAmD;IACtE,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,mBAAmB,eAAe,CAAC,MAAM,eAAe,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,OAAO,EAAE,UAAU,CAAC,CAAC;IAClH,CAAC;AACH,CAAC;AAED,gFAAgF;AAEhF,SAAS,kBAAkB;IACzB,oEAAoE;IACpE,mEAAmE;IACnE,oEAAoE;IACpE,sEAAsE;IACtE,qDAAqD;IACrD,QAAQ,GAAG,IAAI,gBAAgB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACxD,IAAI,cAAkC,CAAC;IACvC,iBAAiB,GAAG,WAAW,CAAC,GAAG,EAAE;QACnC,IAAI,CAAC,QAAQ,IAAI,mBAAmB;YAAE,OAAO;QAC7C,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACjD,IAAI,MAAM,GAAqC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QAClF,IAAI,cAAc,EAAE,WAAW;YAAE,MAAM,GAAG,WAAW,CAAC;QACtD,6EAA6E;QAC7E,IAAI,OAAO,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;YACzC,cAAc,GAAG,MAAM,CAAC;YACxB,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC,EAAE,yBAAyB,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,iBAAiB;IACxB,IAAI,iBAAiB,EAAE,CAAC;QAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;QAAC,iBAAiB,GAAG,IAAI,CAAC;IAAC,CAAC;IACtF,IAAI,QAAQ,EAAE,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QAAC,QAAQ,GAAG,IAAI,CAAC;IAAC,CAAC;AACxD,CAAC;AAED,gFAAgF;AAEhF,SAAS,QAAQ,CAAC,GAA8C;IAC9D,wEAAwE;IACxE,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC;QACzC,sEAAsE;QACtE,oEAAoE;QACpE,qEAAqE;QACrE,6CAA6C;QAC7C,UAAU,GAAG,IAAI,CAAC;QAClB,UAAU,GAAG,IAAI,CAAC;QAClB,MAAM,IAAI,GAAG,GAAG,CAAC,aAAa,IAAI,QAAQ,CAAC;QAC3C,MAAM,IAAI,GAAG,GAAG,CAAC,aAAa,IAAI,QAAQ,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACxD,OAAO,GAAG,MAAM,CAAC;QACjB,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE;YACnB,GAAG,EAAE,GAAG,CAAC,UAAU;YACnB,IAAI;YACJ,IAAI;YACJ,GAAG,EAAE,OAAO,CAAC,GAA6B;SAC3C,CAAC,CAAC;QAEH,mEAAmE;QACnE,qEAAqE;QACrE,wEAAwE;QACxE,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,CAAC,oBAAoB,EAAE,CAAC;YAC9C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;gBAAE,SAAS,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,GAAG,CAAC,gCAAgC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,wEAAwE;QACxE,kEAAkE;QAClE,8CAA8C;QAC9C,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC;YACxB,kBAAkB,CAAC,GAAG,CAAC,eAAe,EAAE;gBACtC,MAAM,EAAE,GAAG,CAAC,WAAW;gBACvB,MAAM,EAAE,GAAG,CAAC,QAAQ;aACrB,CAAC,CAAC;QACL,CAAC;QAED,2DAA2D;QAC3D,qEAAqE;QACrE,oEAAoE;QACpE,2CAA2C;QAC3C,MAAM,WAAW,GAAG,GAAG,CAAC,eAAe;YACrC,CAAC,CAAC,oBAAoB,CAAC,aAAa,EAAE,SAAS,CAAC;YAChD,CAAC,CAAE,EAAE,iBAAiB,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAU,CAAC;QACvE,YAAY,GAAG,IAAI,YAAY,CAAC,WAAW,CAAC,CAAC;QAC7C,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE;YACvB,GAAG,CAAC,qCAAqC,CAAC,CAAC;YAC3C,IAAI,CAAC;gBAAC,uBAAuB,EAAE,CAAC;YAAC,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAAC,GAAG,CAAC,sBAAsB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAAC,CAAC;YACjG,eAAe,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC1B,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;YAC9B,GAAG,CAAC,yCAAyC,IAAI,aAAa,MAAM,GAAG,CAAC,CAAC;YACzE,OAAO,GAAG,IAAI,CAAC;YACf,aAAa,GAAG,KAAK,CAAC;YACtB,iBAAiB,EAAE,CAAC;YACpB,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,mBAAmB,GAAG,KAAK,CAAC;QAC5B,QAAQ,EAAE,WAAW,EAAE,CAAC;QACxB,GAAG,CAAC,gCAAgC,GAAG,CAAC,eAAe,KAAK,IAAI,IAAI,IAAI,GAAG,CAAC,CAAC;QAC7E,OAAO;IACT,CAAC;IAED,UAAU,GAAG,oBAAoB,CAAC,GAAG,CAAC,KAAY,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC;IACzE,MAAM,OAAO,GAAG,GAAG,CAAC,WAAW,KAAK,MAAM,CAAC;IAC3C,UAAU,GAAG,OAAO,CAAC;IACrB,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACxF,OAAO,GAAG,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;IAErC,+EAA+E;IAC/E,0EAA0E;IAC1E,8EAA8E;IAC9E,8EAA8E;IAC9E,0CAA0C;IAC1C,IAAI,GAAG,CAAC,KAAK,KAAK,aAAa,EAAE,CAAC;QAC/B,OAAoC,CAAC,eAAe;YACnD,yBAAyB,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC;QAChC,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,KAAK;QAC3B,eAAe,EAAE,GAAG,CAAC,YAAY;QACjC,aAAa,EAAE,GAAG,CAAC,MAAM,IAAI,SAAS;QACtC,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,SAAS,EAAE,GAAG,CAAC,SAAS;KACzB,CAAC,CAAC;IAEH,0FAA0F;IAC1F,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACxD,IAAI,KAAK;QAAE,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAE5D,wEAAwE;IACxE,+CAA+C;IAC/C,oDAAoD;IACpD,MAAM,mBAAmB,GACvB,GAAG,CAAC,KAAK,KAAK,aAAa;QAC3B,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC;QACxB,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;IAC1B,IAAI,mBAAmB,EAAE,CAAC;QACxB,GAAG,CAAC,6DAA6D,CAAC,CAAC;IACrE,CAAC;IAED,GAAG,CAAC,aAAa,UAAU,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC;IAEtF,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,EAAE;QAC1C,GAAG,EAAE,GAAG,CAAC,UAAU;QACnB,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,QAAQ;QACd,GAAG,EAAE;YACH,GAAG,OAAO,CAAC,GAAG;YACd,UAAU,EAAE,SAAS;YACrB,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACf;KACvC,CAAC,CAAC;IAEH,yEAAyE;IACzE,sEAAsE;IACtE,sEAAsE;IACtE,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;IACvC,IAAI,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;QAC1E,IAAI,CAAC;YACH,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3C,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YAChD,aAAa,CAAC,YAAY,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;YAC3C,GAAG,CAAC,2BAA2B,MAAM,EAAE,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,GAAG,CAAC,mCAAmC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED,kEAAkE;IAClE,4EAA4E;IAC5E,2EAA2E;IAC3E,wEAAwE;IACxE,IAAI,GAAG,CAAC,KAAK,KAAK,aAAa,IAAI,MAAM,EAAE,CAAC;QACzC,OAAoC,CAAC,MAAM,GAAG,MAAM,CAAC;QACrD,OAAoC,CAAC,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC;IAChE,CAAC;IAED,2EAA2E;IAC3E,6EAA6E;IAC7E,qEAAqE;IACrE,IAAI,MAAM,EAAE,UAAU,EAAE,CAAC;QACvB,GAAG,CAAC,sCAAsC,CAAC,CAAC;IAC9C,CAAC;IAED,yEAAyE;IACzE,uEAAuE;IACvE,0EAA0E;IAC1E,wEAAwE;IACxE,wEAAwE;IACxE,qEAAqE;IACrE,sEAAsE;IACtE,kEAAkE;IAClE,IAAI,GAAG,CAAC,KAAK,KAAK,aAAa,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;QACjD,MAAM,WAAW,GAAG,yBAAyB,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;QAC7E,kBAAkB,CAAC,WAAW,EAAE;YAC9B,MAAM,EAAE,MAAM,IAAI,SAAS;YAC3B,MAAM,EAAE,GAAG,CAAC,UAAU;YACtB,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,aAAa;SACvD,CAAC,CAAC;IACL,CAAC;IAED,qEAAqE;IACrE,yEAAyE;IACzE,wEAAwE;IACxE,wDAAwD;IACxD,IAAI,GAAG,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;QAC1B,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;YACrB,MAAM,WAAW,GAAG,2BAA2B,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAClE,IAAI,WAAW,EAAE,CAAC;gBAChB,iBAAiB,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;YACtD,CAAC;iBAAM,CAAC;gBACN,kEAAkE;gBAClE,gEAAgE;gBAChE,+DAA+D;gBAC/D,2BAA2B,GAAG,GAAG,CAAC,YAAY,CAAC;gBAC/C,qBAAqB,EAAE,CAAC;YAC1B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,iEAAiE;YACjE,iEAAiE;YACjE,kBAAkB;YAClB,qBAAqB,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,wBAAwB;IACxB,YAAY,GAAG,IAAI,YAAY,CAAC,UAAU,CAAC,CAAC;IAC5C,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE;QACvB,GAAG,CAAC,wBAAwB,CAAC,CAAC;QAC9B,oEAAoE;QACpE,oEAAoE;QACpE,mEAAmE;QACnE,4DAA4D;QAC5D,IAAI,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC;gBAAC,uBAAuB,EAAE,CAAC;YAAC,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAAC,GAAG,CAAC,sBAAsB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAAC,CAAC;QACnG,CAAC;QACD,IAAI,yBAAyB,EAAE,EAAE,CAAC;YAChC,IAAI,CAAC;gBAAC,4BAA4B,EAAE,CAAC;YAAC,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAAC,GAAG,CAAC,4BAA4B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAAC,CAAC;QAC9G,CAAC;QACD,eAAe,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC1B,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;QAC9B,GAAG,CAAC,GAAG,OAAO,EAAE,kBAAkB,IAAI,aAAa,MAAM,GAAG,CAAC,CAAC;QAC9D,OAAO,GAAG,IAAI,CAAC;QACf,aAAa,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,oEAAoE;IACpE,mEAAmE;IACnE,qEAAqE;IACrE,wEAAwE;IACxE,YAAY;IACZ,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,mBAAmB,EAAE,CAAC;YACxB,mBAAmB,GAAG,KAAK,CAAC;YAC5B,QAAQ,EAAE,WAAW,EAAE,CAAC;YACxB,GAAG,CAAC,gDAAgD,CAAC,CAAC;QACxD,CAAC;IACH,CAAC,EAAE,MAAM,CAAC,CAAC;AACb,CAAC;AAED,SAAS,OAAO;IACd,YAAY,EAAE,OAAO,EAAE,CAAC;IACxB,YAAY,GAAG,IAAI,CAAC;IACpB,kBAAkB,EAAE,CAAC;IACrB,iBAAiB,EAAE,CAAC;IACpB,OAAO,EAAE,IAAI,EAAE,CAAC;IAChB,OAAO,GAAG,IAAI,CAAC;IACf,qEAAqE;IACrE,wEAAwE;IACxE,uDAAuD;IACvD,iBAAiB,EAAE,CAAC;IACpB,eAAe,EAAE,CAAC;IAClB,0BAA0B;IAC1B,IAAI,YAAY,EAAE,CAAC;QACjB,IAAI,CAAC;YAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAC9D,YAAY,GAAG,IAAI,CAAC;IACtB,CAAC;IACD,aAAa,GAAG,KAAK,CAAC;IACtB,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;IAC3B,UAAU,GAAG,EAAE,CAAC;IAChB,eAAe,GAAG,KAAK,CAAC;IACxB,YAAY,GAAG,KAAK,CAAC;AACvB,CAAC;AAED,gFAAgF;AAEhF,SAAS,cAAc,CAAC,IAAY,EAAE,aAAsB;IAC1D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,UAAU,GAAG,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACzC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,UAAU,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YAClE,MAAM,QAAQ,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,UAAU,CAAC;YAC9D,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,0BAA0B,EAAE,CAAC,CAAC;YACnE,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,GAAG,GAAG,IAAI,eAAe,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QAElD,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,GAAoB,EAAE,EAAE;YAChD,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAElB,iDAAiD;YACjD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,UAAU,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YAClE,MAAM,QAAQ,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,UAAU,CAAC;YAC9D,IAAI,QAAQ;gBAAE,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACpC,GAAG,CAAC,+BAA+B,SAAS,CAAC,IAAI,YAAY,QAAQ,GAAG,CAAC,CAAC;YAE1E,IAAI,UAAU,IAAI,CAAC,UAAU,IAAI,SAAS,EAAE,CAAC;gBAC3C,4CAA4C;gBAC5C,yDAAyD;gBACzD,0DAA0D;gBAC1D,kFAAkF;gBAClF,EAAE;gBACF,sEAAsE;gBACtE,sEAAsE;gBACtE,gEAAgE;gBAChE,gEAAgE;gBAChE,oEAAoE;gBACpE,2DAA2D;gBAC3D,gEAAgE;gBAChE,MAAM,UAAU,GAAG,cAAc,EAAE,eAAe,IAAI,WAAW,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBACzF,IAAI,EAAE,GAAoB,IAAI,CAAC;gBAC/B,MAAM,YAAY,GAAa,EAAE,CAAC;gBAElC,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,IAAY,EAAE,EAAE;oBACjD,IAAI,EAAE;wBAAE,OAAO;oBACf,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE;wBAC3D,IAAI,EAAE,gBAAgB;wBACtB,IAAI;wBACJ,IAAI;qBACL,CAAC,CAAC;oBACH,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;oBAEvB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE;wBACtB,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI;4BAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACnD,CAAC,CAAC,CAAC;oBACH,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE;wBACb,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;wBACtB,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI;4BAAE,EAAE,CAAC,KAAK,EAAE,CAAC;oBACnD,CAAC,CAAC,CAAC;oBAEH,yDAAyD;oBACzD,KAAK,MAAM,IAAI,IAAI,YAAY;wBAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAChD,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC1B,CAAC,CAAC;gBAEF,iEAAiE;gBACjE,sDAAsD;gBACtD,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;gBAE/D,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE;oBACvB,IAAI,CAAC;wBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;wBACpC,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;4BAC1D,IAAI,CAAC,EAAE,EAAE,CAAC;gCACR,YAAY,CAAC,UAAU,CAAC,CAAC;gCACzB,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;4BAClC,CAAC;iCAAM,CAAC;gCACN,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;4BAChC,CAAC;wBACH,CAAC;6BAAM,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;4BAChE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gCAC3B,0DAA0D;gCAC1D,gEAAgE;gCAChE,6CAA6C;gCAC7C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;oCAAE,OAAO;4BAC9C,CAAC;4BACD,IAAI,EAAE;gCAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;;gCACtB,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;wBACnC,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC,CAAC,qCAAqC,CAAC,CAAC;gBACnD,CAAC,CAAC,CAAC;gBAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;oBAClB,YAAY,CAAC,UAAU,CAAC,CAAC;oBACzB,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBACrB,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBACpC,IAAI,QAAQ,EAAE,CAAC;wBACb,IAAI,CAAC;4BAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;wBAAC,CAAC;wBAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;wBACrD,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBACxB,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,+CAA+C;gBAC/C,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1B,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACtB,CAAC;gBAED,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE;oBACvB,IAAI,CAAC;wBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;wBACpC,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;4BAC1D,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;wBACtC,CAAC;6BAAM,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;4BAChE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;gCAAE,OAAO,CAAC,YAAY;4BAChD,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;wBAC3B,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC,CAAC,qCAAqC,CAAC,CAAC;gBACnD,CAAC,CAAC,CAAC;gBAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;oBAClB,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACvB,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,aAAa,IAAI,CAAC,CAAC;QACtC,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE;YACvC,MAAM,IAAI,GAAG,UAAW,CAAC,OAAO,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,GAAG,CAAC,qBAAqB,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;YACzC,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;QACH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAA0B,EAAE,EAAE;YACpD,IAAI,aAAa,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC/C,8CAA8C;gBAC9C,GAAG,CAAC,kBAAkB,aAAa,iCAAiC,CAAC,CAAC;gBACtE,UAAW,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE;oBAC/B,MAAM,IAAI,GAAG,UAAW,CAAC,OAAO,EAAE,CAAC;oBACnC,MAAM,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC9D,GAAG,CAAC,qBAAqB,IAAI,IAAI,IAAI,aAAa,CAAC,CAAC;oBACpD,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChB,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,eAAe,CAAC,QAAiB;IACxC,MAAM,KAAK,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxC,OAAO;;;;;SAKA,OAAO,EAAE,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAoDd,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA8EN,UAAU,IAAI,CAAC,UAAU;;;;;;;;;;OAUnC,UAAU,IAAI,CAAC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA8DxB,CAAC;AACT,CAAC;AAED,gFAAgF;AAEhF,SAAS,IAAI,CAAC,GAAmB;IAC/B,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,GAAG,CAAC,GAAW;IACtB,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,aAAa,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC;AACzF,CAAC;AAED,gFAAgF;AAEhF,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,GAAY,EAAE,EAAE;IAC3C,MAAM,GAAG,GAAG,GAAqB,CAAC;IAElC,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,IAAI,cAAc;gBAAE,OAAO,CAAE,sBAAsB;YACnD,cAAc,GAAG,GAAG,CAAC;YACrB,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;YAC1B,IAAI,GAAG,CAAC,WAAW;gBAAE,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,GAAG,CAAC,WAAW,CAAC;YACnE,iDAAiD;YACjD,IAAI,GAAG,CAAC,SAAS;gBAAE,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACpD,0DAA0D;YAC1D,kBAAkB,GAAG,GAAG,CAAC,SAAS,CAAC;YACnC,sBAAsB,GAAG,GAAG,CAAC,aAAa,CAAC;YAC3C,8DAA8D;YAC9D,kEAAkE;YAClE,gEAAgE;YAChE,iEAAiE;YACjE,mEAAmE;YACnE,MAAM,IAAI,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;YAC1C,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC;YACvB,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC;YACvB,GAAG,CAAC,iBAAiB,SAAS,SAAS,GAAG,CAAC,UAAU,YAAY,UAAU,IAAI,UAAU,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAEpI,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC1D,kBAAkB,EAAE,CAAC;gBACrB,mBAAmB,EAAE,CAAC;gBACtB,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAEd,0DAA0D;gBAC1D,qEAAqE;gBACrE,iEAAiE;gBACjE,6DAA6D;gBAC7D,+CAA+C;gBAC/C,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,0BAA0B,EAAE,CAAC;oBAC1D,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACnC,CAAC;gBAED,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;YACnD,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,MAAM;QACR,CAAC;QAED,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,8EAA8E;YAC9E,QAAQ,EAAE,WAAW,EAAE,CAAC;YACxB,yEAAyE;YACzE,IAAI,qBAAqB,GAAG,CAAC;gBAAE,kBAAkB,EAAE,CAAC;YACpD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;YAC5B,IAAI,cAAc,EAAE,SAAS,EAAE,CAAC;gBAC9B,uEAAuE;gBACvE,qEAAqE;gBACrE,mEAAmE;gBACnE,kEAAkE;gBAClE,uDAAuD;gBACvD,IAAI,eAAe,EAAE,CAAC;oBACpB,IAAI,CAAC;wBAAC,YAAY,EAAE,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;oBACnD,qBAAqB,CAAC,OAAO,CAAC,CAAC;gBACjC,CAAC;gBACD,uDAAuD;gBACvD,IAAI,OAAO,EAAE,CAAC;oBACZ,IAAI,UAAU,IAAI,OAAO,IAAI,iBAAiB,IAAI,OAAO,EAAE,CAAC;wBACzD,OAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;wBAClC,OAAe,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;oBAC5C,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;oBAChC,CAAC;oBACD,aAAa,GAAG,KAAK,CAAC;oBACtB,YAAY,EAAE,KAAK,EAAE,CAAC;gBACxB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,mEAAmE;gBACnE,gEAAgE;gBAChE,gEAAgE;gBAChE,8DAA8D;gBAC9D,uDAAuD;gBACvD,SAAS,CAAC,OAAO,CAAC,CAAC;YACrB,CAAC;YACD,MAAM;QACR,CAAC;QAED,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,uEAAuE;YACvE,yEAAyE;YACzE,uEAAuE;YACvE,sEAAsE;YACtE,oEAAoE;YACpE,QAAQ,EAAE,WAAW,EAAE,CAAC;YACxB,IAAI,qBAAqB,GAAG,CAAC;gBAAE,kBAAkB,EAAE,CAAC;YACpD,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,UAAU,IAAI,OAAO,IAAI,iBAAiB,IAAI,OAAO,EAAE,CAAC;oBACzD,OAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBACtC,OAAe,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;gBAC5C,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;gBACpC,CAAC;gBACD,aAAa,GAAG,KAAK,CAAC;gBACtB,YAAY,EAAE,KAAK,EAAE,CAAC;gBACtB,GAAG,CAAC,8BAA8B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACnD,CAAC;YACD,MAAM;QACR,CAAC;QAED,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,IAAI,cAAc,EAAE,SAAS,EAAE,CAAC;gBAC9B,GAAG,CAAC,+BAA+B,CAAC,CAAC;gBACrC,MAAM;YACR,CAAC;YACD,GAAG,CAAC,mBAAmB,CAAC,CAAC;YACzB,OAAO,EAAE,cAAc,EAAE,EAAE,CAAC;YAC5B,OAAO,EAAE,CAAC;YACV,mBAAmB,GAAG,IAAI,CAAC;YAC3B,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,cAAc,EAAE,CAAC;oBACnB,kBAAkB,EAAE,CAAC;oBACrB,mBAAmB,EAAE,CAAC;oBACtB,QAAQ,CAAC,EAAE,GAAG,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC5D,CAAC;YACH,CAAC,EAAE,GAAG,CAAC,CAAC;YACR,MAAM;QACR,CAAC;QAED,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YACrC,MAAM;QACR,CAAC;QAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACtB,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YACvC,MAAM;QACR,CAAC;QAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACxB,GAAG,CAAC,kBAAkB,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YAClC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC3B,MAAM;QACR,CAAC;QAED,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC1B,MAAM;QACR,CAAC;QAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACtB,IAAI,WAAW,KAAK,YAAY;gBAAE,MAAM;YACxC,YAAY,GAAG,EAAE,CAAC;YAClB,IAAI,eAAe,EAAE,CAAC;gBACpB,aAAa,CAAC,eAAe,CAAC,CAAC;gBAC/B,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC;YAC5F,CAAC;YACD,KAAK,gBAAgB,EAAE,CAAC;YACxB,GAAG,CAAC,2BAA2B,CAAC,CAAC;YACjC,MAAM;QACR,CAAC;QAED,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,GAAG,CAAC,iBAAiB,CAAC,CAAC;YACvB,kBAAkB,EAAE,CAAC;YACrB,sEAAsE;YACtE,OAAO,EAAE,cAAc,EAAE,EAAE,CAAC;YAC5B,OAAO,EAAE,CAAC;YACV,sEAAsE;YACtE,qEAAqE;YACrE,oEAAoE;YACpE,+BAA+B;YAC/B,gBAAgB,EAAE,CAAC;YACnB,OAAO,EAAE,CAAC;YACV,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,gFAAgF;AAEhF,SAAS,OAAO;IACd,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC;QAChC,IAAI,CAAC;YAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;IACjD,CAAC;IACD,UAAU,CAAC,KAAK,EAAE,CAAC;IACnB,KAAK,MAAM,EAAE,IAAI,SAAS;QAAE,EAAE,CAAC,KAAK,EAAE,CAAC;IACvC,SAAS,CAAC,KAAK,EAAE,CAAC;IAClB,IAAI,GAAG,EAAE,CAAC;QAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QAAC,GAAG,GAAG,IAAI,CAAC;IAAC,CAAC;IACrC,IAAI,UAAU,EAAE,CAAC;QAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAAC,UAAU,GAAG,IAAI,CAAC;IAAC,CAAC;AAC5D,CAAC;AAED,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9F,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7F,uDAAuD;AACvD,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE7H,GAAG,CAAC,qCAAqC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "botmux",
3
- "version": "2.12.0",
3
+ "version": "2.12.1",
4
4
  "description": "Bridge between IM platforms and AI coding CLIs — one topic, one CLI session with live streaming",
5
5
  "type": "module",
6
6
  "main": "dist/index-daemon.js",