@kenkaiiii/ggcoder 3.6.3 → 3.6.5

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.
Files changed (105) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +158 -0
  3. package/dist/config.d.ts +1 -1
  4. package/dist/config.d.ts.map +1 -1
  5. package/dist/config.js +1 -1
  6. package/dist/config.js.map +1 -1
  7. package/dist/core/process-manager.d.ts.map +1 -1
  8. package/dist/core/process-manager.js +7 -0
  9. package/dist/core/process-manager.js.map +1 -1
  10. package/dist/core/session-manager.js +1 -1
  11. package/dist/core/session-manager.js.map +1 -1
  12. package/dist/core/socket-server.d.ts +15 -0
  13. package/dist/core/socket-server.d.ts.map +1 -0
  14. package/dist/core/socket-server.js +140 -0
  15. package/dist/core/socket-server.js.map +1 -0
  16. package/dist/session.js +1 -1
  17. package/dist/session.js.map +1 -1
  18. package/dist/system-prompt.d.ts.map +1 -1
  19. package/dist/system-prompt.js +4 -0
  20. package/dist/system-prompt.js.map +1 -1
  21. package/dist/tools/bash.d.ts.map +1 -1
  22. package/dist/tools/bash.js +19 -2
  23. package/dist/tools/bash.js.map +1 -1
  24. package/dist/tools/grep.js +18 -10
  25. package/dist/tools/grep.js.map +1 -1
  26. package/dist/tools/index.d.ts +1 -0
  27. package/dist/tools/index.d.ts.map +1 -1
  28. package/dist/tools/index.js +3 -0
  29. package/dist/tools/index.js.map +1 -1
  30. package/dist/tools/subagent.d.ts.map +1 -1
  31. package/dist/tools/subagent.js +15 -3
  32. package/dist/tools/subagent.js.map +1 -1
  33. package/dist/tools/tasks.d.ts +16 -0
  34. package/dist/tools/tasks.d.ts.map +1 -0
  35. package/dist/tools/tasks.js +132 -0
  36. package/dist/tools/tasks.js.map +1 -0
  37. package/dist/ui/App.d.ts +6 -1
  38. package/dist/ui/App.d.ts.map +1 -1
  39. package/dist/ui/App.js +235 -31
  40. package/dist/ui/App.js.map +1 -1
  41. package/dist/ui/components/ActivityIndicator.d.ts +2 -1
  42. package/dist/ui/components/ActivityIndicator.d.ts.map +1 -1
  43. package/dist/ui/components/ActivityIndicator.js +81 -6
  44. package/dist/ui/components/ActivityIndicator.js.map +1 -1
  45. package/dist/ui/components/Banner.d.ts +2 -1
  46. package/dist/ui/components/Banner.d.ts.map +1 -1
  47. package/dist/ui/components/Banner.js +2 -2
  48. package/dist/ui/components/Banner.js.map +1 -1
  49. package/dist/ui/components/InputArea.d.ts +2 -1
  50. package/dist/ui/components/InputArea.d.ts.map +1 -1
  51. package/dist/ui/components/InputArea.js +6 -1
  52. package/dist/ui/components/InputArea.js.map +1 -1
  53. package/dist/ui/components/Markdown.d.ts +2 -0
  54. package/dist/ui/components/Markdown.d.ts.map +1 -1
  55. package/dist/ui/components/Markdown.js +70 -71
  56. package/dist/ui/components/Markdown.js.map +1 -1
  57. package/dist/ui/components/ShimmerLine.d.ts +1 -1
  58. package/dist/ui/components/ShimmerLine.d.ts.map +1 -1
  59. package/dist/ui/components/ShimmerLine.js +22 -34
  60. package/dist/ui/components/ShimmerLine.js.map +1 -1
  61. package/dist/ui/components/StreamingArea.d.ts.map +1 -1
  62. package/dist/ui/components/StreamingArea.js +40 -4
  63. package/dist/ui/components/StreamingArea.js.map +1 -1
  64. package/dist/ui/components/TaskOverlay.d.ts +10 -0
  65. package/dist/ui/components/TaskOverlay.d.ts.map +1 -0
  66. package/dist/ui/components/TaskOverlay.js +263 -0
  67. package/dist/ui/components/TaskOverlay.js.map +1 -0
  68. package/dist/ui/components/ToolExecution.js +38 -0
  69. package/dist/ui/components/ToolExecution.js.map +1 -1
  70. package/dist/ui/components/UserMessage.js +3 -3
  71. package/dist/ui/components/UserMessage.js.map +1 -1
  72. package/dist/ui/hooks/useAgentLoop.d.ts.map +1 -1
  73. package/dist/ui/hooks/useAgentLoop.js +45 -12
  74. package/dist/ui/hooks/useAgentLoop.js.map +1 -1
  75. package/dist/ui/hooks/useTerminalSize.d.ts.map +1 -1
  76. package/dist/ui/hooks/useTerminalSize.js +4 -8
  77. package/dist/ui/hooks/useTerminalSize.js.map +1 -1
  78. package/dist/ui/hooks/useTerminalTitle.js +2 -2
  79. package/dist/ui/hooks/useTerminalTitle.js.map +1 -1
  80. package/dist/ui/live-item-flush.d.ts +49 -0
  81. package/dist/ui/live-item-flush.d.ts.map +1 -0
  82. package/dist/ui/live-item-flush.js +56 -0
  83. package/dist/ui/live-item-flush.js.map +1 -0
  84. package/dist/ui/live-item-flush.test.d.ts +2 -0
  85. package/dist/ui/live-item-flush.test.d.ts.map +1 -0
  86. package/dist/ui/live-item-flush.test.js +307 -0
  87. package/dist/ui/live-item-flush.test.js.map +1 -0
  88. package/dist/ui/render.d.ts.map +1 -1
  89. package/dist/ui/render.js +3 -12
  90. package/dist/ui/render.js.map +1 -1
  91. package/dist/ui/utils/table-text.d.ts +25 -0
  92. package/dist/ui/utils/table-text.d.ts.map +1 -0
  93. package/dist/ui/utils/table-text.js +78 -0
  94. package/dist/ui/utils/table-text.js.map +1 -0
  95. package/dist/ui/utils/table-text.test.d.ts +2 -0
  96. package/dist/ui/utils/table-text.test.d.ts.map +1 -0
  97. package/dist/ui/utils/table-text.test.js +202 -0
  98. package/dist/ui/utils/table-text.test.js.map +1 -0
  99. package/dist/utils/format.js +1 -1
  100. package/dist/utils/format.js.map +1 -1
  101. package/dist/utils/sound.d.ts +2 -0
  102. package/dist/utils/sound.d.ts.map +1 -0
  103. package/dist/utils/sound.js +11 -0
  104. package/dist/utils/sound.js.map +1 -0
  105. package/package.json +8 -6
package/dist/ui/App.js CHANGED
@@ -1,8 +1,12 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import React, { useState, useRef, useCallback, useEffect, useMemo } from "react";
3
3
  import { Box, Text, Static, useStdout } from "ink";
4
4
  import { useTerminalSize } from "./hooks/useTerminalSize.js";
5
- import crypto from "node:crypto";
5
+ import crypto, { createHash } from "node:crypto";
6
+ import { readFileSync, writeFileSync } from "node:fs";
7
+ import { homedir } from "node:os";
8
+ import { join } from "node:path";
9
+ import { playNotificationSound } from "../utils/sound.js";
6
10
  import { extractImagePaths } from "../utils/image.js";
7
11
  import { useAgentLoop } from "./hooks/useAgentLoop.js";
8
12
  import { UserMessage } from "./components/UserMessage.js";
@@ -16,8 +20,8 @@ import { ActivityIndicator } from "./components/ActivityIndicator.js";
16
20
  import { InputArea } from "./components/InputArea.js";
17
21
  import { Footer } from "./components/Footer.js";
18
22
  import { Banner } from "./components/Banner.js";
19
- import { ShimmerLine } from "./components/ShimmerLine.js";
20
23
  import { ModelSelector } from "./components/ModelSelector.js";
24
+ import { TaskOverlay } from "./components/TaskOverlay.js";
21
25
  import { BackgroundTasksBar } from "./components/BackgroundTasksBar.js";
22
26
  import { useTheme } from "./theme/theme.js";
23
27
  import { useTerminalTitle } from "./hooks/useTerminalTitle.js";
@@ -30,6 +34,9 @@ import { shouldCompact, compact } from "../core/compaction/compactor.js";
30
34
  import { estimateConversationTokens } from "../core/compaction/token-estimator.js";
31
35
  import { PROMPT_COMMANDS, getPromptCommand } from "../core/prompt-commands.js";
32
36
  import { loadCustomCommands } from "../core/custom-commands.js";
37
+ import { pruneHistory, flushOnTurnText, flushOnTurnEnd } from "./live-item-flush.js";
38
+ // pruneHistory, flushOnTurnText, flushOnTurnEnd, MAX_HISTORY_ITEMS
39
+ // are imported from ./live-item-flush.ts
33
40
  // ── Duration summary ─────────────────────────────────────
34
41
  function formatDuration(ms) {
35
42
  const totalSec = Math.round(ms / 1000);
@@ -41,21 +48,48 @@ function formatDuration(ms) {
41
48
  }
42
49
  function pickDurationVerb(toolsUsed) {
43
50
  const has = (name) => toolsUsed.includes(name);
44
- // Tool-specific phrases (most specific first)
51
+ const hasAny = (...names) => names.some(has);
52
+ const writing = has("edit") || has("write");
53
+ const reading = has("read") || has("grep") || has("find") || has("ls");
54
+ // Multi-tool combos (most specific first)
55
+ if (has("subagent") && writing)
56
+ return "Orchestrated changes for";
45
57
  if (has("subagent"))
46
58
  return "Delegated work for";
59
+ if (has("web-fetch") && writing)
60
+ return "Researched & coded for";
61
+ if (has("web-fetch") && reading)
62
+ return "Researched for";
63
+ if (has("web-fetch"))
64
+ return "Fetched the web for";
65
+ if (has("bash") && writing)
66
+ return "Built & ran for";
47
67
  if (has("edit") && has("write"))
48
68
  return "Crafted code for";
69
+ if (has("edit") && has("bash"))
70
+ return "Refactored & tested for";
71
+ if (has("edit") && reading)
72
+ return "Refactored for";
49
73
  if (has("edit"))
50
74
  return "Refactored for";
75
+ if (has("write") && has("bash"))
76
+ return "Wrote & ran for";
77
+ if (has("write") && reading)
78
+ return "Wrote code for";
51
79
  if (has("write"))
52
80
  return "Wrote code for";
53
81
  if (has("bash") && has("grep"))
54
82
  return "Hacked away for";
83
+ if (has("bash") && reading)
84
+ return "Ran & investigated for";
55
85
  if (has("bash"))
56
86
  return "Executed commands for";
87
+ if (hasAny("tasks", "task-output", "task-stop"))
88
+ return "Managed tasks for";
57
89
  if (has("grep") && has("read"))
58
90
  return "Investigated for";
91
+ if (has("grep") && has("find"))
92
+ return "Scoured the codebase for";
59
93
  if (has("grep"))
60
94
  return "Searched for";
61
95
  if (has("read") && has("find"))
@@ -81,6 +115,49 @@ function pickDurationVerb(toolsUsed) {
81
115
  }
82
116
  // ── Animated thinking border ────────────────────────────────
83
117
  const THINKING_BORDER_COLORS = ["#60a5fa", "#818cf8", "#a78bfa", "#818cf8", "#60a5fa"];
118
+ // ── Task count helper ───────────────────────────────────────
119
+ function getTaskCount(cwd) {
120
+ try {
121
+ const hash = createHash("sha256").update(cwd).digest("hex").slice(0, 16);
122
+ const data = readFileSync(join(homedir(), ".gg-tasks", "projects", hash, "tasks.json"), "utf-8");
123
+ const tasks = JSON.parse(data);
124
+ return tasks.filter((t) => t.status !== "done").length;
125
+ }
126
+ catch {
127
+ return 0;
128
+ }
129
+ }
130
+ function getNextPendingTask(cwd) {
131
+ try {
132
+ const hash = createHash("sha256").update(cwd).digest("hex").slice(0, 16);
133
+ const data = readFileSync(join(homedir(), ".gg-tasks", "projects", hash, "tasks.json"), "utf-8");
134
+ const tasks = JSON.parse(data);
135
+ const pending = tasks.find((t) => t.status === "pending");
136
+ if (!pending)
137
+ return null;
138
+ return {
139
+ id: pending.id,
140
+ title: pending.title,
141
+ prompt: pending.prompt || pending.text || pending.title,
142
+ };
143
+ }
144
+ catch {
145
+ return null;
146
+ }
147
+ }
148
+ function markTaskInProgress(cwd, taskId) {
149
+ try {
150
+ const hash = createHash("sha256").update(cwd).digest("hex").slice(0, 16);
151
+ const filePath = join(homedir(), ".gg-tasks", "projects", hash, "tasks.json");
152
+ const data = readFileSync(filePath, "utf-8");
153
+ const tasks = JSON.parse(data);
154
+ const updated = tasks.map((t) => (t.id === taskId ? { ...t, status: "in-progress" } : t));
155
+ writeFileSync(filePath, JSON.stringify(updated, null, 2) + "\n", "utf-8");
156
+ }
157
+ catch {
158
+ // ignore
159
+ }
160
+ }
84
161
  // ── App Component ──────────────────────────────────────────
85
162
  export function App(props) {
86
163
  const theme = useTheme();
@@ -101,12 +178,18 @@ export function App(props) {
101
178
  useEffect(() => {
102
179
  if (isRestoredSession && !restoredRef.current) {
103
180
  restoredRef.current = true;
104
- setHistory((prev) => [...prev, ...props.initialHistory]);
181
+ setHistory((prev) => pruneHistory([...prev, ...props.initialHistory]));
105
182
  }
106
183
  }, [isRestoredSession, props.initialHistory]);
107
184
  // Items from the current/last turn — rendered in the live area so they stay visible
108
185
  const [liveItems, setLiveItems] = useState([]);
109
186
  const [overlay, setOverlay] = useState(null);
187
+ const [taskCount, setTaskCount] = useState(() => getTaskCount(props.cwd));
188
+ const [runAllTasks, setRunAllTasks] = useState(false);
189
+ const runAllTasksRef = useRef(false);
190
+ const startTaskRef = useRef(() => { });
191
+ const cwdRef = useRef(props.cwd);
192
+ const [staticKey, setStaticKey] = useState(0);
110
193
  const [lastUserMessage, setLastUserMessage] = useState("");
111
194
  const [doneStatus, setDoneStatus] = useState(null);
112
195
  const [gitBranch, setGitBranch] = useState(null);
@@ -115,10 +198,13 @@ export function App(props) {
115
198
  const [thinkingEnabled, setThinkingEnabled] = useState(!!props.thinking);
116
199
  const messagesRef = useRef(props.messages);
117
200
  const nextIdRef = useRef(0);
118
- const wasRunningRef = useRef(false);
119
201
  const sessionManagerRef = useRef(props.sessionsDir ? new SessionManager(props.sessionsDir) : null);
202
+ const sessionPathRef = useRef(props.sessionPath);
120
203
  const persistedIndexRef = useRef(messagesRef.current.length);
121
204
  const getId = () => String(nextIdRef.current++);
205
+ // Two-phase flush: items waiting to be moved to Static history after the
206
+ // live area has been cleared and Ink has committed the smaller output.
207
+ const pendingFlushRef = useRef([]);
122
208
  // Derive credentials for the current provider
123
209
  const currentCreds = props.credentialsByProvider?.[currentProvider];
124
210
  const activeApiKey = currentCreds?.accessToken ?? props.apiKey;
@@ -137,7 +223,7 @@ export function App(props) {
137
223
  }, [reloadCustomCommands]);
138
224
  const persistNewMessages = useCallback(async () => {
139
225
  const sm = sessionManagerRef.current;
140
- const sp = props.sessionPath;
226
+ const sp = sessionPathRef.current;
141
227
  if (!sm || !sp)
142
228
  return;
143
229
  const allMsgs = messagesRef.current;
@@ -155,7 +241,7 @@ export function App(props) {
155
241
  await sm.appendEntry(sp, entry);
156
242
  }
157
243
  persistedIndexRef.current = allMsgs.length;
158
- }, [props.sessionPath]);
244
+ }, []);
159
245
  // ── Compaction ─────────────────────────────────────────
160
246
  // Load settings for auto-compaction
161
247
  const settingsRef = useRef(null);
@@ -294,10 +380,16 @@ export function App(props) {
294
380
  persistNewMessages();
295
381
  }, [persistNewMessages]),
296
382
  onTurnText: useCallback((text, thinking, thinkingMs) => {
297
- setLiveItems((prev) => [
298
- ...prev,
299
- { kind: "assistant", text, thinking, thinkingMs, id: getId() },
300
- ]);
383
+ // Flush all completed items from the previous turn to Static history.
384
+ // This keeps liveItems bounded per-turn, preventing Ink's live area from
385
+ // growing unbounded, which makes Ink's live-area re-renders expensive.
386
+ setLiveItems((prev) => {
387
+ const flushed = flushOnTurnText(prev);
388
+ if (flushed.length > 0) {
389
+ setHistory((h) => pruneHistory([...h, ...flushed]));
390
+ }
391
+ return [{ kind: "assistant", text, thinking, thinkingMs, id: getId() }];
392
+ });
301
393
  }, []),
302
394
  onToolStart: useCallback((toolCallId, name, args) => {
303
395
  log("INFO", "tool", `Tool call started: ${name}`, { id: toolCallId });
@@ -451,6 +543,15 @@ export function App(props) {
451
543
  ...(usage.cacheRead != null && { cacheRead: String(usage.cacheRead) }),
452
544
  ...(usage.cacheWrite != null && { cacheWrite: String(usage.cacheWrite) }),
453
545
  });
546
+ // For tool-only turns (no text), flush completed items to Static so
547
+ // liveItems doesn't grow unbounded across consecutive tool-only turns.
548
+ setLiveItems((prev) => {
549
+ const { flushed, remaining } = flushOnTurnEnd(prev, stopReason);
550
+ if (flushed.length > 0) {
551
+ setHistory((h) => pruneHistory([...h, ...flushed]));
552
+ }
553
+ return remaining;
554
+ });
454
555
  }, []),
455
556
  onDone: useCallback((durationMs, toolsUsed) => {
456
557
  log("INFO", "agent", `Agent done`, {
@@ -458,29 +559,59 @@ export function App(props) {
458
559
  toolsUsed: toolsUsed.join(",") || "none",
459
560
  });
460
561
  setDoneStatus({ durationMs, toolsUsed, verb: pickDurationVerb(toolsUsed) });
562
+ playNotificationSound();
563
+ // Two-phase flush to avoid Ink text clipping.
564
+ // Phase 1 (here): clear the live area so Ink commits a render with
565
+ // the smaller output and updates its internal line counter.
566
+ // Phase 2 (useEffect below): push items to Static history in a
567
+ // separate render cycle so the Static write never coincides with
568
+ // a live-area height change in the same frame.
569
+ setLiveItems((prev) => {
570
+ if (prev.length > 0) {
571
+ pendingFlushRef.current = prev;
572
+ }
573
+ return [];
574
+ });
575
+ // Run-all: auto-start next pending task after a short delay
576
+ // (allow the two-phase flush to complete first)
577
+ if (runAllTasksRef.current) {
578
+ setTimeout(() => {
579
+ const cwd = cwdRef.current;
580
+ const next = getNextPendingTask(cwd);
581
+ if (next) {
582
+ markTaskInProgress(cwd, next.id);
583
+ startTaskRef.current(next.title, next.prompt, next.id);
584
+ }
585
+ else {
586
+ setRunAllTasks(false);
587
+ log("INFO", "tasks", "Run-all complete — no more pending tasks");
588
+ }
589
+ }, 500);
590
+ }
461
591
  }, []),
462
592
  onAborted: useCallback(() => {
463
593
  log("WARN", "agent", "Agent run aborted by user");
594
+ setRunAllTasks(false);
464
595
  setLiveItems((prev) => {
465
596
  const next = prev.map((item) => item.kind === "subagent_group" ? { ...item, aborted: true } : item);
466
597
  return [...next, { kind: "info", text: "Request was stopped.", id: getId() }];
467
598
  });
468
599
  }, []),
469
600
  });
470
- // When agent finishes, move live items into Static history so the live area
471
- // is minimal. This prevents scroll jumping caused by Ink re-rendering the
472
- // entire live area on every timer tick (cursor blink, border pulse, etc.).
601
+ // Phase 2 of the two-phase flush: after onDone clears liveItems (phase 1)
602
+ // and Ink renders the smaller live area (updating its internal line
603
+ // counter), this effect pushes the stashed items into Static history.
604
+ // Because the Static write happens in a SEPARATE render cycle from the
605
+ // live-area shrink, Ink's log-update never needs to erase the old tall
606
+ // live area AND write Static content in the same frame — avoiding the
607
+ // cursor-math mismatch that caused text clipping.
473
608
  useEffect(() => {
474
- if (wasRunningRef.current && !agentLoop.isRunning) {
475
- setLiveItems((prev) => {
476
- if (prev.length > 0) {
477
- setHistory((h) => [...h, ...prev]);
478
- }
479
- return [];
480
- });
609
+ if (pendingFlushRef.current.length > 0) {
610
+ const items = pendingFlushRef.current;
611
+ pendingFlushRef.current = [];
612
+ setHistory((h) => pruneHistory([...h, ...items]));
481
613
  }
482
- wasRunningRef.current = agentLoop.isRunning;
483
- }, [agentLoop.isRunning]);
614
+ });
484
615
  // Sync terminal title with agent loop state
485
616
  useEffect(() => {
486
617
  setTitlePhase(agentLoop.activityPhase);
@@ -493,7 +624,7 @@ export function App(props) {
493
624
  return;
494
625
  const timer = setInterval(() => {
495
626
  setThinkingBorderFrame((f) => (f + 1) % THINKING_BORDER_COLORS.length);
496
- }, 500);
627
+ }, 1000);
497
628
  return () => clearInterval(timer);
498
629
  }, [agentLoop.activityPhase]);
499
630
  // Success flash on turn completion
@@ -555,7 +686,7 @@ export function App(props) {
555
686
  // Move live items into history before starting
556
687
  setLiveItems((prev) => {
557
688
  if (prev.length > 0) {
558
- setHistory((h) => [...h, ...prev]);
689
+ setHistory((h) => pruneHistory([...h, ...prev]));
559
690
  }
560
691
  return [];
561
692
  });
@@ -595,7 +726,7 @@ export function App(props) {
595
726
  // Move any remaining live items into history (Static) before starting new turn
596
727
  setLiveItems((prev) => {
597
728
  if (prev.length > 0) {
598
- setHistory((h) => [...h, ...prev]);
729
+ setHistory((h) => pruneHistory([...h, ...prev]));
599
730
  }
600
731
  return [];
601
732
  });
@@ -714,9 +845,11 @@ export function App(props) {
714
845
  const renderItem = (item) => {
715
846
  switch (item.kind) {
716
847
  case "banner":
717
- return (_jsx(Banner, { version: props.version, model: props.model, provider: props.provider, cwd: props.cwd }, item.id));
848
+ return (_jsx(Banner, { version: props.version, model: props.model, provider: props.provider, cwd: props.cwd, taskCount: taskCount }, item.id));
718
849
  case "user":
719
850
  return _jsx(UserMessage, { text: item.text, imageCount: item.imageCount }, item.id);
851
+ case "task":
852
+ return (_jsx(Box, { marginTop: 1, children: _jsxs(Text, { wrap: "wrap", children: [_jsx(Text, { color: theme.success, bold: true, children: "▶ " }), _jsx(Text, { color: theme.textDim, children: "Task: " }), _jsx(Text, { color: theme.success, children: item.title })] }) }, item.id));
720
853
  case "assistant":
721
854
  return (_jsx(AssistantMessage, { text: item.text, thinking: item.thinking, thinkingMs: item.thinkingMs, showThinking: props.showThinking }, item.id));
722
855
  case "tool_start":
@@ -741,8 +874,79 @@ export function App(props) {
741
874
  return _jsx(SubAgentPanel, { agents: item.agents, aborted: item.aborted }, item.id);
742
875
  }
743
876
  };
744
- return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Static, { items: history, style: { width: "100%" }, children: (item) => renderItem(item) }, resizeKey), _jsx(ShimmerLine, { active: agentLoop.isRunning }), _jsxs(Box, { flexDirection: "column", flexGrow: 1, paddingRight: 1, children: [liveItems.map((item) => renderItem(item)), _jsx(StreamingArea, { isRunning: agentLoop.isRunning, streamingText: agentLoop.streamingText, streamingThinking: agentLoop.streamingThinking, showThinking: props.showThinking, thinkingMs: agentLoop.thinkingMs })] }), agentLoop.isRunning && agentLoop.activityPhase !== "idle" ? (_jsx(Box, { marginTop: 1, borderStyle: agentLoop.activityPhase === "thinking" ? "round" : undefined, borderColor: agentLoop.activityPhase === "thinking"
745
- ? THINKING_BORDER_COLORS[thinkingBorderFrame]
746
- : undefined, paddingLeft: agentLoop.activityPhase === "thinking" ? 1 : 0, paddingRight: agentLoop.activityPhase === "thinking" ? 1 : 0, children: _jsx(ActivityIndicator, { phase: agentLoop.activityPhase, elapsedMs: agentLoop.elapsedMs, thinkingMs: agentLoop.thinkingMs, isThinking: agentLoop.isThinking, tokenEstimate: agentLoop.streamedTokenEstimate, userMessage: lastUserMessage }) })) : (doneStatus && (_jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: doneFlash ? theme.success : theme.textDim, children: ["✻ ", doneStatus.verb, " ", formatDuration(doneStatus.durationMs)] }) }))), _jsx(InputArea, { onSubmit: handleSubmit, onAbort: handleAbort, disabled: agentLoop.isRunning, isActive: !taskBarFocused, onDownAtEnd: handleFocusTaskBar, onShiftTab: handleToggleThinking, cwd: props.cwd, commands: allCommands }), overlay === "model" ? (_jsx(ModelSelector, { onSelect: handleModelSelect, onCancel: () => setOverlay(null), loggedInProviders: props.loggedInProviders ?? [currentProvider], currentModel: currentModel, currentProvider: currentProvider })) : (_jsx(Footer, { model: currentModel, tokensIn: agentLoop.contextUsed, cwd: props.cwd, gitBranch: gitBranch, thinkingEnabled: thinkingEnabled })), bgTasks.length > 0 && (_jsx(BackgroundTasksBar, { tasks: bgTasks, focused: taskBarFocused, expanded: taskBarExpanded, selectedIndex: selectedTaskIndex, onExpand: handleTaskBarExpand, onCollapse: handleTaskBarCollapse, onKill: handleTaskKill, onExit: handleTaskBarExit, onNavigate: handleTaskNavigate }))] }));
877
+ // ── Start a task (shared by manual "work on it" and run-all) ──
878
+ const startTask = useCallback((title, prompt, taskId) => {
879
+ setTaskCount(getTaskCount(props.cwd));
880
+ // Reset to a fresh session before sending the task
881
+ stdout?.write("\x1b[2J\x1b[3J\x1b[H");
882
+ setHistory([{ kind: "banner", id: "banner" }]);
883
+ setLiveItems([]);
884
+ messagesRef.current = messagesRef.current.slice(0, 1);
885
+ agentLoop.reset();
886
+ persistedIndexRef.current = messagesRef.current.length;
887
+ const sm = sessionManagerRef.current;
888
+ if (sm) {
889
+ void sm.create(props.cwd, currentProvider, currentModel).then((s) => {
890
+ sessionPathRef.current = s.path;
891
+ log("INFO", "tasks", "New session for task", { path: s.path });
892
+ });
893
+ }
894
+ // Inject completion instruction so the agent marks the task done
895
+ const shortId = taskId.slice(0, 8);
896
+ const completionHint = `\n\n---\nWhen you have fully completed this task, call the tasks tool to mark it done:\n` +
897
+ `tasks({ action: "done", id: "${shortId}" })`;
898
+ const fullPrompt = prompt + completionHint;
899
+ // Show the short title in the TUI, but send the full prompt to the agent
900
+ const taskItem = { kind: "task", title, id: getId() };
901
+ setLastUserMessage(title);
902
+ setDoneStatus(null);
903
+ setLiveItems([taskItem]);
904
+ void (async () => {
905
+ try {
906
+ await agentLoop.run(fullPrompt);
907
+ }
908
+ catch (err) {
909
+ const msg = err instanceof Error ? err.message : String(err);
910
+ log("ERROR", "error", msg);
911
+ const isAbort = msg.includes("aborted") || msg.includes("abort");
912
+ setLiveItems((prev) => [
913
+ ...prev,
914
+ isAbort
915
+ ? { kind: "info", text: "Request was stopped.", id: getId() }
916
+ : { kind: "error", message: msg, id: getId() },
917
+ ]);
918
+ // Stop run-all if a task errors
919
+ setRunAllTasks(false);
920
+ }
921
+ })();
922
+ }, [props.cwd, stdout, agentLoop, currentProvider, currentModel]);
923
+ // Keep refs in sync for access from stale closures (onDone)
924
+ startTaskRef.current = startTask;
925
+ useEffect(() => {
926
+ runAllTasksRef.current = runAllTasks;
927
+ }, [runAllTasks]);
928
+ const isTaskView = overlay === "tasks";
929
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Static, { items: isTaskView ? [] : history, style: { width: "100%" }, children: (item) => renderItem(item) }, `${resizeKey}-${staticKey}`), isTaskView ? (_jsx(TaskOverlay, { cwd: props.cwd, agentRunning: agentLoop.isRunning, onClose: () => {
930
+ stdout?.write("\x1b[2J\x1b[3J\x1b[H");
931
+ setTaskCount(getTaskCount(props.cwd));
932
+ setStaticKey((k) => k + 1);
933
+ setOverlay(null);
934
+ }, onWorkOnTask: (title, prompt, taskId) => {
935
+ setOverlay(null);
936
+ startTask(title, prompt, taskId);
937
+ }, onRunAllTasks: () => {
938
+ setOverlay(null);
939
+ setRunAllTasks(true);
940
+ const next = getNextPendingTask(props.cwd);
941
+ if (next) {
942
+ markTaskInProgress(props.cwd, next.id);
943
+ startTask(next.title, next.prompt, next.id);
944
+ }
945
+ } })) : (_jsxs(_Fragment, { children: [_jsxs(Box, { flexDirection: "column", flexGrow: 1, paddingRight: 1, children: [liveItems.map((item) => renderItem(item)), _jsx(StreamingArea, { isRunning: agentLoop.isRunning, streamingText: agentLoop.streamingText, streamingThinking: agentLoop.streamingThinking, showThinking: props.showThinking, thinkingMs: agentLoop.thinkingMs })] }), agentLoop.isRunning && agentLoop.activityPhase !== "idle" ? (_jsx(Box, { marginTop: 1, borderStyle: agentLoop.activityPhase === "thinking" ? "round" : undefined, borderColor: agentLoop.activityPhase === "thinking"
946
+ ? THINKING_BORDER_COLORS[thinkingBorderFrame]
947
+ : undefined, paddingLeft: agentLoop.activityPhase === "thinking" ? 1 : 0, paddingRight: agentLoop.activityPhase === "thinking" ? 1 : 0, children: _jsx(ActivityIndicator, { phase: agentLoop.activityPhase, elapsedMs: agentLoop.elapsedMs, thinkingMs: agentLoop.thinkingMs, isThinking: agentLoop.isThinking, tokenEstimate: agentLoop.streamedTokenEstimate, userMessage: lastUserMessage, activeToolNames: agentLoop.activeToolCalls.map((tc) => tc.name) }) })) : (doneStatus && (_jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: doneFlash ? theme.success : theme.textDim, children: ["✻ ", doneStatus.verb, " ", formatDuration(doneStatus.durationMs)] }) }))), _jsx(InputArea, { onSubmit: handleSubmit, onAbort: handleAbort, disabled: agentLoop.isRunning, isActive: !taskBarFocused, onDownAtEnd: handleFocusTaskBar, onShiftTab: handleToggleThinking, onToggleTasks: () => {
948
+ stdout?.write("\x1b[2J\x1b[3J\x1b[H");
949
+ setOverlay("tasks");
950
+ }, cwd: props.cwd, commands: allCommands }), overlay === "model" ? (_jsx(ModelSelector, { onSelect: handleModelSelect, onCancel: () => setOverlay(null), loggedInProviders: props.loggedInProviders ?? [currentProvider], currentModel: currentModel, currentProvider: currentProvider })) : (_jsx(Footer, { model: currentModel, tokensIn: agentLoop.contextUsed, cwd: props.cwd, gitBranch: gitBranch, thinkingEnabled: thinkingEnabled })), bgTasks.length > 0 && (_jsx(BackgroundTasksBar, { tasks: bgTasks, focused: taskBarFocused, expanded: taskBarExpanded, selectedIndex: selectedTaskIndex, onExpand: handleTaskBarExpand, onCollapse: handleTaskBarCollapse, onKill: handleTaskKill, onExit: handleTaskBarExit, onNavigate: handleTaskNavigate }))] }))] }));
747
951
  }
748
952
  //# sourceMappingURL=App.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/ui/App.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACjF,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,MAAM,MAAM,aAAa,CAAC;AASjC,OAAO,EAAE,iBAAiB,EAAwB,MAAM,mBAAmB,CAAC;AAE5E,OAAO,EAAE,YAAY,EAAsB,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAqB,MAAM,+BAA+B,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAErF,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAGxE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,cAAc,EAAqB,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAsB,MAAM,4BAA4B,CAAC;AAmHpF,4DAA4D;AAE5D,SAAS,cAAc,CAAC,EAAU;IAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IACvC,IAAI,QAAQ,GAAG,EAAE;QAAE,OAAO,GAAG,QAAQ,GAAG,CAAC;IACzC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC;IACtC,MAAM,GAAG,GAAG,QAAQ,GAAG,EAAE,CAAC;IAC1B,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC;AACjD,CAAC;AAED,SAAS,gBAAgB,CAAC,SAAmB;IAC3C,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEvD,8CAA8C;IAC9C,IAAI,GAAG,CAAC,UAAU,CAAC;QAAE,OAAO,oBAAoB,CAAC;IACjD,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC;QAAE,OAAO,kBAAkB,CAAC;IAC3D,IAAI,GAAG,CAAC,MAAM,CAAC;QAAE,OAAO,gBAAgB,CAAC;IACzC,IAAI,GAAG,CAAC,OAAO,CAAC;QAAE,OAAO,gBAAgB,CAAC;IAC1C,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC;QAAE,OAAO,iBAAiB,CAAC;IACzD,IAAI,GAAG,CAAC,MAAM,CAAC;QAAE,OAAO,uBAAuB,CAAC;IAChD,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC;QAAE,OAAO,kBAAkB,CAAC;IAC1D,IAAI,GAAG,CAAC,MAAM,CAAC;QAAE,OAAO,cAAc,CAAC;IACvC,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC;QAAE,OAAO,cAAc,CAAC;IACtD,IAAI,GAAG,CAAC,MAAM,CAAC;QAAE,OAAO,sBAAsB,CAAC;IAC/C,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,mBAAmB,CAAC;IAEzD,qCAAqC;IACrC,MAAM,OAAO,GAAG;QACd,cAAc;QACd,aAAa;QACb,cAAc;QACd,oBAAoB;QACpB,mBAAmB;QACnB,yBAAyB;QACzB,wBAAwB;QACxB,uBAAuB;QACvB,sBAAsB;QACtB,wBAAwB;KACzB,CAAC;IACF,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,+DAA+D;AAE/D,MAAM,sBAAsB,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AA6BvF,8DAA8D;AAE9D,MAAM,UAAU,GAAG,CAAC,KAAe;IACjC,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;IAC/B,MAAM,EAAE,SAAS,EAAE,GAAG,eAAe,EAAE,CAAC;IAExC,4DAA4D;IAC5D,gEAAgE;IAChE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAgB,MAAM,CAAC,CAAC;IACpE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,gBAAgB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAE3C,yEAAyE;IACzE,4EAA4E;IAC5E,wEAAwE;IACxE,kEAAkE;IAClE,MAAM,iBAAiB,GAAG,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;IAClF,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CACpC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAC5D,CAAC;IACF,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAClC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,iBAAiB,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YAC9C,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC;YAC3B,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC,cAAe,CAAC,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,EAAE,CAAC,iBAAiB,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;IAC9C,oFAAoF;IACpF,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAkB,EAAE,CAAC,CAAC;IAChE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAiB,IAAI,CAAC,CAAC;IAC7D,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC3D,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAIlC,IAAI,CAAC,CAAC;IAChB,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAChE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACvE,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACzE,MAAM,WAAW,GAAG,MAAM,CAAY,KAAK,CAAC,QAAQ,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC5B,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,iBAAiB,GAAG,MAAM,CAC9B,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CACjE,CAAC;IACF,MAAM,iBAAiB,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAE7D,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;IAEhD,8CAA8C;IAC9C,MAAM,YAAY,GAAG,KAAK,CAAC,qBAAqB,EAAE,CAAC,eAAe,CAAC,CAAC;IACpE,MAAM,YAAY,GAAG,YAAY,EAAE,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC;IAC/D,MAAM,eAAe,GAAG,YAAY,EAAE,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC;IAEnE,kBAAkB;IAClB,SAAS,CAAC,GAAG,EAAE;QACb,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC7C,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAEhB,0CAA0C;IAC1C,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAkB,EAAE,CAAC,CAAC;IAC1E,MAAM,oBAAoB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC5C,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACxD,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAChB,SAAS,CAAC,GAAG,EAAE;QACb,oBAAoB,EAAE,CAAC;IACzB,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAE3B,MAAM,kBAAkB,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QAChD,MAAM,EAAE,GAAG,iBAAiB,CAAC,OAAO,CAAC;QACrC,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC;QAC7B,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE;YAAE,OAAO;QACvB,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;QACpC,KAAK,IAAI,CAAC,GAAG,iBAAiB,CAAC,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChE,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;gBAAE,SAAS;YACpC,MAAM,KAAK,GAAiB;gBAC1B,IAAI,EAAE,SAAS;gBACf,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE;gBACvB,QAAQ,EAAE,IAAI;gBACd,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,OAAO,EAAE,GAAG;aACb,CAAC;YACF,MAAM,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC;QACD,iBAAiB,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAC7C,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IAExB,0DAA0D;IAE1D,oCAAoC;IACpC,MAAM,WAAW,GAAG,MAAM,CAAyB,IAAI,CAAC,CAAC;IACzD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,EAAE,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACnD,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;gBAClB,WAAW,CAAC,OAAO,GAAG,EAAE,CAAC;YAC3B,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;IAEzB,MAAM,mBAAmB,GAAG,WAAW,CACrC,KAAK,EAAE,QAAmB,EAAsB,EAAE;QAChD,MAAM,aAAa,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;QACrD,MAAM,YAAY,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,KAAK,EAAE,CAAC;QACvB,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,oBAAoB,EAAE;YAC9C,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;YACjC,eAAe,EAAE,MAAM,CAAC,YAAY,CAAC;YACrC,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC;SACrC,CAAC,CAAC;QAEH,wBAAwB;QACxB,YAAY,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAEtE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE;gBACrC,QAAQ,EAAE,eAAe;gBACzB,KAAK,EAAE,YAAY;gBACnB,MAAM,EAAE,YAAY;gBACpB,aAAa;gBACb,MAAM,EAAE,SAAS;aAClB,CAAC,CAAC;YAEH,wCAAwC;YACxC,YAAY,CAAC,CAAC,IAAI,EAAE,EAAE,CACpB,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAChB,IAAI,CAAC,EAAE,KAAK,MAAM;gBAChB,CAAC,CAAE;oBACC,IAAI,EAAE,WAAW;oBACjB,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa;oBAC1C,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ;oBAChC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,oBAAoB;oBAChD,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,mBAAmB;oBAC9C,EAAE,EAAE,MAAM;iBACO;gBACrB,CAAC,CAAC,IAAI,CACT,CACF,CAAC;YAEF,OAAO,MAAM,CAAC,QAAQ,CAAC;QACzB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,GAAG,CAAC,OAAO,EAAE,YAAY,EAAE,sBAAsB,GAAG,EAAE,CAAC,CAAC;YACxD,6BAA6B;YAC7B,YAAY,CAAC,CAAC,IAAI,EAAE,EAAE,CACpB,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAChB,IAAI,CAAC,EAAE,KAAK,MAAM;gBAChB,CAAC,CAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,sBAAsB,GAAG,EAAE,EAAE,EAAE,EAAE,MAAM,EAAgB;gBACpF,CAAC,CAAC,IAAI,CACT,CACF,CAAC;YACF,OAAO,QAAQ,CAAC,CAAC,8BAA8B;QACjD,CAAC;IACH,CAAC,EACD,CAAC,YAAY,EAAE,eAAe,EAAE,YAAY,CAAC,CAC9C,CAAC;IAEF;;;;OAIG;IACH,MAAM,gBAAgB,GAAG,WAAW,CAClC,KAAK,EAAE,QAAmB,EAAsB,EAAE;QAChD,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC;QACrC,MAAM,WAAW,GAAG,QAAQ,EAAE,GAAG,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC;QACzD,MAAM,SAAS,GAAG,QAAQ,EAAE,GAAG,CAAC,kBAAkB,CAAC,IAAI,GAAG,CAAC;QAE3D,IAAI,CAAC,WAAW;YAAE,OAAO,QAAQ,CAAC;QAElC,MAAM,aAAa,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;QACrD,IAAI,aAAa,CAAC,QAAQ,EAAE,aAAa,EAAE,SAAS,CAAC,EAAE,CAAC;YACtD,OAAO,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,EACD,CAAC,YAAY,EAAE,mBAAmB,CAAC,CACpC,CAAC;IAEF,2DAA2D;IAC3D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAsB,EAAE,CAAC,CAAC;IAChE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5D,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE9D,iDAAiD;IACjD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,KAAK,CAAC,cAAc;YAAE,OAAO;QAClC,MAAM,EAAE,GAAG,KAAK,CAAC,cAAc,CAAC;QAChC,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,MAAM,OAAO,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC;YAC7D,UAAU,CAAC,OAAO,CAAC,CAAC;QACtB,CAAC,CAAC;QACF,IAAI,EAAE,CAAC;QACP,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACzC,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;IAE3B,2CAA2C;IAC3C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACzB,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;QACD,uBAAuB;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,iBAAiB,GAAG,MAAM,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;YAC9C,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAExC,MAAM,kBAAkB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC1C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAErB,MAAM,iBAAiB,GAAG,WAAW,CAAC,GAAG,EAAE;QACzC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACzB,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,mBAAmB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC3C,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzB,oBAAoB,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,qBAAqB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7C,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,cAAc,GAAG,WAAW,CAChC,CAAC,EAAU,EAAE,EAAE;QACb,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC,EACD,CAAC,KAAK,CAAC,cAAc,CAAC,CACvB,CAAC;IAEF,MAAM,kBAAkB,GAAG,WAAW,CAAC,CAAC,KAAa,EAAE,EAAE;QACvD,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,SAAS,GAAG,YAAY,CAC5B,WAAW,EACX;QACE,QAAQ,EAAE,eAAe;QACzB,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;QACpE,MAAM,EAAE,YAAY;QACpB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,SAAS,EAAE,eAAe;QAC1B,gBAAgB;KACjB,EACD;QACE,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE;YAC3B,kBAAkB,EAAE,CAAC;QACvB,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC;QACxB,UAAU,EAAE,WAAW,CAAC,CAAC,IAAY,EAAE,QAAgB,EAAE,UAAkB,EAAE,EAAE;YAC7E,YAAY,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;gBACrB,GAAG,IAAI;gBACP,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE;aAC/D,CAAC,CAAC;QACL,CAAC,EAAE,EAAE,CAAC;QACN,WAAW,EAAE,WAAW,CACtB,CAAC,UAAkB,EAAE,IAAY,EAAE,IAA6B,EAAE,EAAE;YAClE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,sBAAsB,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;YACtE,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;gBACxB,4CAA4C;gBAC5C,MAAM,QAAQ,GAAiB;oBAC7B,UAAU;oBACV,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;oBAC7B,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC;oBAC1C,MAAM,EAAE,SAAS;oBACjB,YAAY,EAAE,CAAC;oBACf,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;iBACpC,CAAC;gBACF,YAAY,CAAC,CAAC,IAAI,EAAE,EAAE;oBACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC;oBAC1E,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;wBACpB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAsB,CAAC;wBAClD,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;wBACvB,IAAI,CAAC,QAAQ,CAAC,GAAG;4BACf,GAAG,KAAK;4BACR,MAAM,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC;yBACpC,CAAC;wBACF,OAAO,IAAI,CAAC;oBACd,CAAC;oBACD,OAAO,CAAC,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;gBAChF,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,YAAY,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;oBACrB,GAAG,IAAI;oBACP,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE;iBAC5D,CAAC,CAAC;YACL,CAAC;QACH,CAAC,EACD,EAAE,CACH;QACD,YAAY,EAAE,WAAW,CAAC,CAAC,UAAkB,EAAE,MAAe,EAAE,EAAE;YAChE,YAAY,CAAC,CAAC,IAAI,EAAE,EAAE;gBACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC;gBAC1E,IAAI,QAAQ,KAAK,CAAC,CAAC;oBAAE,OAAO,IAAI,CAAC;gBACjC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAsB,CAAC;gBAClD,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;gBAC5E,IAAI,QAAQ,KAAK,CAAC,CAAC;oBAAE,OAAO,IAAI,CAAC;gBAEjC,MAAM,QAAQ,GAAG,MAAwB,CAAC;gBAC1C,MAAM,aAAa,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;gBACxC,aAAa,CAAC,QAAQ,CAAC,GAAG;oBACxB,GAAG,aAAa,CAAC,QAAQ,CAAC;oBAC1B,YAAY,EAAE,QAAQ,CAAC,YAAY;oBACnC,UAAU,EAAE,EAAE,GAAG,QAAQ,CAAC,UAAU,EAAE;oBACtC,eAAe,EAAE,QAAQ,CAAC,eAAe;iBAC1C,CAAC;gBAEF,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;gBACvB,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;gBACrD,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,EAAE,CAAC;QACN,SAAS,EAAE,WAAW,CACpB,CACE,UAAkB,EAClB,IAAY,EACZ,MAAc,EACd,OAAgB,EAChB,UAAkB,EAClB,OAAiB,EACjB,EAAE;YACF,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;YACzC,GAAG,CAAC,KAAyB,EAAE,MAAM,EAAE,oBAAoB,IAAI,EAAE,EAAE;gBACjE,EAAE,EAAE,UAAU;gBACd,QAAQ,EAAE,GAAG,UAAU,IAAI;gBAC3B,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC;aACzB,CAAC,CAAC;YACH,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;gBACxB,YAAY,CAAC,CAAC,IAAI,EAAE,EAAE;oBACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC;oBAC1E,IAAI,QAAQ,KAAK,CAAC,CAAC;wBAAE,OAAO,IAAI,CAAC;oBACjC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAsB,CAAC;oBAClD,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;oBAC5E,IAAI,QAAQ,KAAK,CAAC,CAAC;wBAAE,OAAO,IAAI,CAAC;oBAEjC,MAAM,SAAS,GAAG,OAAsC,CAAC;oBACzD,MAAM,aAAa,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;oBACxC,aAAa,CAAC,QAAQ,CAAC,GAAG;wBACxB,GAAG,aAAa,CAAC,QAAQ,CAAC;wBAC1B,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;wBAClC,MAAM;wBACN,UAAU,EAAE,SAAS,EAAE,UAAU,IAAI,UAAU;wBAC/C,YAAY,EAAE,SAAS,EAAE,YAAY,IAAI,aAAa,CAAC,QAAQ,CAAC,CAAC,YAAY;wBAC7E,UAAU,EAAE,SAAS,EAAE,UAAU,IAAI,aAAa,CAAC,QAAQ,CAAC,CAAC,UAAU;qBACxE,CAAC;oBAEF,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;oBACvB,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;oBACrD,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,YAAY,CAAC,CAAC,IAAI,EAAE,EAAE;oBACpB,6DAA6D;oBAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAC7B,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,CACvE,CAAC;oBACF,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;wBACpB,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAkB,CAAC;wBAClD,MAAM,QAAQ,GAAiB;4BAC7B,IAAI,EAAE,WAAW;4BACjB,IAAI;4BACJ,IAAI,EAAE,SAAS,CAAC,IAAI;4BACpB,MAAM;4BACN,OAAO;4BACP,UAAU;4BACV,EAAE,EAAE,SAAS,CAAC,EAAE;yBACjB,CAAC;wBACF,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;wBACvB,IAAI,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;wBAC1B,OAAO,IAAI,CAAC;oBACd,CAAC;oBACD,wBAAwB;oBACxB,OAAO;wBACL,GAAG,IAAI;wBACP,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE;qBAChF,CAAC;gBACJ,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,EACD,EAAE,CACH;QACD,gBAAgB,EAAE,WAAW,CAAC,CAAC,EAAU,EAAE,IAAY,EAAE,KAAc,EAAE,EAAE;YACzE,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,qBAAqB,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YAChE,YAAY,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;gBACrB,GAAG,IAAI;gBACP,EAAE,IAAI,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE;aAC9E,CAAC,CAAC;QACL,CAAC,EAAE,EAAE,CAAC;QACN,kBAAkB,EAAE,WAAW,CAAC,CAAC,SAAiB,EAAE,UAAkB,EAAE,IAAa,EAAE,EAAE;YACvF,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,oBAAoB,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;YAC5E,YAAY,CAAC,CAAC,IAAI,EAAE,EAAE;gBACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAC7B,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,mBAAmB,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,CACnF,CAAC;gBACF,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;oBACpB,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAwB,CAAC;oBACxD,MAAM,QAAQ,GAAuB;wBACnC,IAAI,EAAE,kBAAkB;wBACxB,IAAI,EAAE,SAAS,CAAC,IAAI;wBACpB,KAAK,EAAE,SAAS,CAAC,KAAK;wBACtB,UAAU;wBACV,IAAI;wBACJ,EAAE,EAAE,SAAS,CAAC,EAAE;qBACjB,CAAC;oBACF,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;oBACvB,IAAI,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;oBAC1B,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,OAAO;oBACL,GAAG,IAAI;oBACP,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE;iBACxF,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,EAAE,CAAC;QACN,SAAS,EAAE,WAAW,CACpB,CACE,IAAY,EACZ,UAAkB,EAClB,KAKC,EACD,EAAE;YACF,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,IAAI,QAAQ,EAAE;gBACxC,UAAU;gBACV,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC;gBACtC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC;gBACxC,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;gBACtE,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,IAAI,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;aAC1E,CAAC,CAAC;QACL,CAAC,EACD,EAAE,CACH;QACD,MAAM,EAAE,WAAW,CAAC,CAAC,UAAkB,EAAE,SAAmB,EAAE,EAAE;YAC9D,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE;gBACjC,QAAQ,EAAE,GAAG,UAAU,IAAI;gBAC3B,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM;aACzC,CAAC,CAAC;YACH,aAAa,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC9E,CAAC,EAAE,EAAE,CAAC;QACN,SAAS,EAAE,WAAW,CAAC,GAAG,EAAE;YAC1B,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,2BAA2B,CAAC,CAAC;YAClD,YAAY,CAAC,CAAC,IAAI,EAAE,EAAE;gBACpB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAC7B,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CACnE,CAAC;gBACF,OAAO,CAAC,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YAChF,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,EAAE,CAAC;KACP,CACF,CAAC;IAEF,4EAA4E;IAC5E,0EAA0E;IAC1E,2EAA2E;IAC3E,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,aAAa,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;YAClD,YAAY,CAAC,CAAC,IAAI,EAAE,EAAE;gBACpB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpB,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;gBACrC,CAAC;gBACD,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC;QACD,aAAa,CAAC,OAAO,GAAG,SAAS,CAAC,SAAS,CAAC;IAC9C,CAAC,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IAE1B,4CAA4C;IAC5C,SAAS,CAAC,GAAG,EAAE;QACb,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QACvC,eAAe,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IAEnD,2BAA2B;IAC3B,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,CAAC,aAAa,KAAK,UAAU;YAAE,OAAO;QACnD,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;YAC7B,sBAAsB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;QACzE,CAAC,EAAE,GAAG,CAAC,CAAC;QACR,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC,EAAE,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;IAE9B,mCAAmC;IACnC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,UAAU,EAAE,CAAC;YACf,YAAY,CAAC,IAAI,CAAC,CAAC;YACnB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;YACzD,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,MAAM,YAAY,GAAG,WAAW,CAC9B,KAAK,EAAE,KAAa,EAAE,cAAiC,EAAE,EAAE,EAAE;QAC3D,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAE7B,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,kBAAkB,OAAO,EAAE,CAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YACN,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;YACjF,GAAG,CACD,MAAM,EACN,OAAO,EACP,eAAe,SAAS,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,WAAW,CAAC,MAAM,SAAS,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACjI,CAAC;QACJ,CAAC;QAED,gDAAgD;QAChD,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YAC7C,UAAU,CAAC,OAAO,CAAC,CAAC;YACpB,OAAO;QACT,CAAC;QAED,yCAAyC;QACzC,IAAI,OAAO,KAAK,UAAU,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YAC/C,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACjE,IAAI,SAAS,KAAK,WAAW,CAAC,OAAO,EAAE,CAAC;gBACtC,WAAW,CAAC,OAAO,GAAG,SAAS,CAAC;gBAChC,iBAAiB,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,8BAA8B;YAC/D,CAAC;YACD,OAAO;QACT,CAAC;QAED,gCAAgC;QAChC,IAAI,OAAO,KAAK,OAAO,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;YACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,mDAAmD;QACnD,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YACzB,qEAAqE;YACrE,yEAAyE;YACzE,MAAM,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAC;YACtC,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;YAC/C,YAAY,CAAC,EAAE,CAAC,CAAC;YACjB,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,qBAAqB;YAC5E,SAAS,CAAC,KAAK,EAAE,CAAC;YAClB,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;YACxE,OAAO;QACT,CAAC;QAED,yEAAyE;QACzE,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/C,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAC7C,MAAM,SAAS,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC3F,MAAM,UAAU,GAAG,UAAU,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,CAAC;YAE3D,IAAI,UAAU,EAAE,CAAC;gBACf,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,oBAAoB,OAAO,EAAE,CAAC,CAAC;gBAEtD,+CAA+C;gBAC/C,YAAY,CAAC,CAAC,IAAI,EAAE,EAAE;oBACpB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACpB,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;oBACrC,CAAC;oBACD,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;gBAEH,4CAA4C;gBAC5C,MAAM,QAAQ,GAAa,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC;gBACxE,kBAAkB,CAAC,OAAO,CAAC,CAAC;gBAC5B,aAAa,CAAC,IAAI,CAAC,CAAC;gBACpB,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAEzB,oCAAoC;gBACpC,IAAI,CAAC;oBACH,MAAM,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBAClC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAC7D,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;oBAC3B,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;oBACjE,YAAY,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;wBACrB,GAAG,IAAI;wBACP,OAAO;4BACL,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE;4BAC7D,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE;qBACjD,CAAC,CAAC;gBACL,CAAC;gBACD,kEAAkE;gBAClE,oBAAoB,EAAE,CAAC;gBACvB,OAAO;YACT,CAAC;QACH,CAAC;QAED,uBAAuB;QACvB,IAAI,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAClD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YACjD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACpB,YAAY,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;gBAC/E,OAAO;YACT,CAAC;QACH,CAAC;QAED,+EAA+E;QAC/E,YAAY,CAAC,CAAC,IAAI,EAAE,EAAE;YACpB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;YACrC,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QAEH,8DAA8D;QAC9D,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;QACzC,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;YAChE,WAAW,GAAG,SAAS,CAAC;QAC1B,CAAC;QACD,MAAM,QAAQ,GAAa;YACzB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,WAAW;YACjB,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;YACtD,EAAE,EAAE,KAAK,EAAE;SACZ,CAAC;QACF,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC1B,aAAa,CAAC,IAAI,CAAC,CAAC;QACpB,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEzB,iEAAiE;QACjE,IAAI,WAAoD,CAAC;QACzD,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,KAAK,GAAmC,EAAE,CAAC;YACjD,IAAI,OAAO,EAAE,CAAC;gBACZ,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YAC9C,CAAC;YACD,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;gBAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1E,CAAC;YACD,WAAW,GAAG,KAAK,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,WAAW,GAAG,KAAK,CAAC;QACtB,CAAC;QAED,YAAY;QACZ,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;YAC3B,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACjE,YAAY,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;gBACrB,GAAG,IAAI;gBACP,OAAO;oBACL,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE;oBAC7D,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE;aACjD,CAAC,CAAC;QACL,CAAC;IACH,CAAC,EACD,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,mBAAmB,CAAC,CACvD,CAAC;IAEF,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;QACnC,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;YACxB,SAAS,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,MAAM,oBAAoB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC5C,kBAAkB,CAAC,CAAC,IAAI,EAAE,EAAE;YAC1B,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC;YACnB,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;YACrE,YAAY,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;gBACtB,GAAG,KAAK;gBACR,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE;aACvE,CAAC,CAAC;YACH,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;gBACvB,MAAM,EAAE,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBACnD,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC;YACxD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;IAEzB,MAAM,iBAAiB,GAAG,WAAW,CACnC,CAAC,KAAa,EAAE,EAAE;QAChB,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,QAAQ,KAAK,CAAC,CAAC;YAAE,OAAO;QAC5B,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAa,CAAC;QACzD,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;QAC7C,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;QACpF,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAChC,eAAe,CAAC,UAAU,CAAC,CAAC;QAC5B,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;QACvC,MAAM,WAAW,GAAG,SAAS,EAAE,IAAI,IAAI,UAAU,CAAC;QAClD,YAAY,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YACrB,GAAG,IAAI;YACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,WAAW,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE;SAClE,CAAC,CAAC;QAEH,8CAA8C;QAC9C,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,EAAE,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACnD,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;gBACxB,MAAM,EAAE,CAAC,GAAG,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;gBAC7C,MAAM,EAAE,CAAC,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,EACD,CAAC,KAAK,CAAC,YAAY,CAAC,CACrB,CAAC;IAEF,uDAAuD;IACvD,MAAM,WAAW,GAAG,OAAO,CACzB,GAAG,EAAE,CAAC;QACJ,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,cAAc,EAAE;QAC9D,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,sBAAsB,EAAE;QACxE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,4BAA4B,EAAE;QACzE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,gBAAgB,EAAE;QACvE,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC/B,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,WAAW,EAAE,GAAG,CAAC,WAAW;SAC7B,CAAC,CAAC;QACH,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC9B,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,EAAc;YACvB,WAAW,EAAE,GAAG,CAAC,WAAW;SAC7B,CAAC,CAAC;KACJ,EACD,CAAC,cAAc,CAAC,CACjB,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,IAAmB,EAAE,EAAE;QACzC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,QAAQ;gBACX,OAAO,CACL,KAAC,MAAM,IAEL,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,GAAG,EAAE,KAAK,CAAC,GAAG,IAJT,IAAI,CAAC,EAAE,CAKZ,CACH,CAAC;YACJ,KAAK,MAAM;gBACT,OAAO,KAAC,WAAW,IAAe,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,IAArD,IAAI,CAAC,EAAE,CAAkD,CAAC;YACrF,KAAK,WAAW;gBACd,OAAO,CACL,KAAC,gBAAgB,IAEf,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,YAAY,EAAE,KAAK,CAAC,YAAY,IAJ3B,IAAI,CAAC,EAAE,CAKZ,CACH,CAAC;YACJ,KAAK,YAAY;gBACf,OAAO,KAAC,aAAa,IAAe,MAAM,EAAC,SAAS,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,IAA1D,IAAI,CAAC,EAAE,CAAuD,CAAC;YAC5F,KAAK,WAAW;gBACd,OAAO,CACL,KAAC,aAAa,IAEZ,MAAM,EAAC,MAAM,EACb,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,OAAO,EAAE,IAAI,CAAC,OAAO,IALhB,IAAI,CAAC,EAAE,CAMZ,CACH,CAAC;YACJ,KAAK,mBAAmB;gBACtB,OAAO,CACL,KAAC,mBAAmB,IAAe,MAAM,EAAC,SAAS,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAA5D,IAAI,CAAC,EAAE,CAAyD,CAC3F,CAAC;YACJ,KAAK,kBAAkB;gBACrB,OAAO,CACL,KAAC,mBAAmB,IAElB,MAAM,EAAC,MAAM,EACb,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,IAAI,EAAE,IAAI,CAAC,IAAI,IALV,IAAI,CAAC,EAAE,CAMZ,CACH,CAAC;YACJ,KAAK,OAAO;gBACV,OAAO,CACL,MAAC,GAAG,IAAe,SAAS,EAAE,CAAC,aAC7B,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,YAAG,IAAI,GAAQ,EACvC,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,YAAG,IAAI,CAAC,OAAO,GAAQ,KAFvC,IAAI,CAAC,EAAE,CAGX,CACP,CAAC;YACJ,KAAK,MAAM;gBACT,OAAO,CACL,KAAC,GAAG,IAAe,SAAS,EAAE,CAAC,YAC7B,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,OAAO,YAAG,IAAI,CAAC,IAAI,GAAQ,IADtC,IAAI,CAAC,EAAE,CAEX,CACP,CAAC;YACJ,KAAK,YAAY;gBACf,OAAO,KAAC,iBAAiB,MAAM,IAAI,CAAC,EAAE,CAAI,CAAC;YAC7C,KAAK,WAAW;gBACd,OAAO,CACL,KAAC,cAAc,IAEb,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,WAAW,EAAE,IAAI,CAAC,WAAW,IAJxB,IAAI,CAAC,EAAE,CAKZ,CACH,CAAC;YACJ,KAAK,UAAU;gBACb,OAAO,CACL,KAAC,GAAG,IAAe,SAAS,EAAE,CAAC,YAC7B,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,OAAO,aACvB,IAAI,EACJ,IAAI,CAAC,IAAI,OAAG,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,IACvC,IAJC,IAAI,CAAC,EAAE,CAKX,CACP,CAAC;YACJ,KAAK,gBAAgB;gBACnB,OAAO,KAAC,aAAa,IAAe,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,IAAnD,IAAI,CAAC,EAAE,CAAgD,CAAC;QACvF,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aAazB,KAAC,MAAM,IAAiB,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,YAC7D,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IADhB,SAAS,CAEb,EAGT,KAAC,WAAW,IAAC,MAAM,EAAE,SAAS,CAAC,SAAS,GAAI,EAK5C,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,aAErD,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAG1C,KAAC,aAAa,IACZ,SAAS,EAAE,SAAS,CAAC,SAAS,EAC9B,aAAa,EAAE,SAAS,CAAC,aAAa,EACtC,iBAAiB,EAAE,SAAS,CAAC,iBAAiB,EAC9C,YAAY,EAAE,KAAK,CAAC,YAAY,EAChC,UAAU,EAAE,SAAS,CAAC,UAAU,GAChC,IACE,EAGL,SAAS,CAAC,SAAS,IAAI,SAAS,CAAC,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,CAC3D,KAAC,GAAG,IACF,SAAS,EAAE,CAAC,EACZ,WAAW,EAAE,SAAS,CAAC,aAAa,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EACzE,WAAW,EACT,SAAS,CAAC,aAAa,KAAK,UAAU;oBACpC,CAAC,CAAC,sBAAsB,CAAC,mBAAmB,CAAC;oBAC7C,CAAC,CAAC,SAAS,EAEf,WAAW,EAAE,SAAS,CAAC,aAAa,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC3D,YAAY,EAAE,SAAS,CAAC,aAAa,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAE5D,KAAC,iBAAiB,IAChB,KAAK,EAAE,SAAS,CAAC,aAAa,EAC9B,SAAS,EAAE,SAAS,CAAC,SAAS,EAC9B,UAAU,EAAE,SAAS,CAAC,UAAU,EAChC,UAAU,EAAE,SAAS,CAAC,UAAU,EAChC,aAAa,EAAE,SAAS,CAAC,qBAAqB,EAC9C,WAAW,EAAE,eAAe,GAC5B,GACE,CACP,CAAC,CAAC,CAAC,CACF,UAAU,IAAI,CACZ,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,MAAC,IAAI,IAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,aACnD,IAAI,EACJ,UAAU,CAAC,IAAI,OAAG,cAAc,CAAC,UAAU,CAAC,UAAU,CAAC,IACnD,GACH,CACP,CACF,EAGD,KAAC,SAAS,IACR,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,SAAS,CAAC,SAAS,EAC7B,QAAQ,EAAE,CAAC,cAAc,EACzB,WAAW,EAAE,kBAAkB,EAC/B,UAAU,EAAE,oBAAoB,EAChC,GAAG,EAAE,KAAK,CAAC,GAAG,EACd,QAAQ,EAAE,WAAW,GACrB,EACD,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CACrB,KAAC,aAAa,IACZ,QAAQ,EAAE,iBAAiB,EAC3B,QAAQ,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAChC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,IAAI,CAAC,eAAe,CAAC,EAC/D,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,eAAe,GAChC,CACH,CAAC,CAAC,CAAC,CACF,KAAC,MAAM,IACL,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,SAAS,CAAC,WAAW,EAC/B,GAAG,EAAE,KAAK,CAAC,GAAG,EACd,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,eAAe,GAChC,CACH,EACA,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CACrB,KAAC,kBAAkB,IACjB,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,eAAe,EACzB,aAAa,EAAE,iBAAiB,EAChC,QAAQ,EAAE,mBAAmB,EAC7B,UAAU,EAAE,qBAAqB,EACjC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,iBAAiB,EACzB,UAAU,EAAE,kBAAkB,GAC9B,CACH,IACG,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/ui/App.tsx"],"names":[],"mappings":"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"}
@@ -6,7 +6,8 @@ interface ActivityIndicatorProps {
6
6
  isThinking: boolean;
7
7
  tokenEstimate: number;
8
8
  userMessage?: string;
9
+ activeToolNames?: string[];
9
10
  }
10
- export declare function ActivityIndicator({ phase, elapsedMs, thinkingMs, isThinking, tokenEstimate, userMessage, }: ActivityIndicatorProps): import("react/jsx-runtime").JSX.Element;
11
+ export declare function ActivityIndicator({ phase, elapsedMs, thinkingMs, isThinking, tokenEstimate, userMessage, activeToolNames, }: ActivityIndicatorProps): import("react/jsx-runtime").JSX.Element;
11
12
  export {};
12
13
  //# sourceMappingURL=ActivityIndicator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ActivityIndicator.d.ts","sourceRoot":"","sources":["../../../src/ui/components/ActivityIndicator.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAgP9D,UAAU,sBAAsB;IAC9B,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,SAAS,EACT,UAAU,EACV,UAAU,EACV,aAAa,EACb,WAAgB,GACjB,EAAE,sBAAsB,2CAqFxB"}
1
+ {"version":3,"file":"ActivityIndicator.d.ts","sourceRoot":"","sources":["../../../src/ui/components/ActivityIndicator.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AA+T9D,UAAU,sBAAsB;IAC9B,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,SAAS,EACT,UAAU,EACV,UAAU,EACV,aAAa,EACb,WAAgB,EAChB,eAAoB,GACrB,EAAE,sBAAsB,2CAsFxB"}