@pentoshi/clai 3.10.0 → 3.11.0

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 (44) hide show
  1. package/dist/tui-v2/actions/action-id.d.ts +1 -1
  2. package/dist/tui-v2/actions/action-id.js +1 -0
  3. package/dist/tui-v2/actions/action-id.js.map +1 -1
  4. package/dist/tui-v2/actions/format-shortcuts.js +1 -0
  5. package/dist/tui-v2/actions/format-shortcuts.js.map +1 -1
  6. package/dist/tui-v2/actions/keymap.js +2 -0
  7. package/dist/tui-v2/actions/keymap.js.map +1 -1
  8. package/dist/tui-v2/app/App.js +3 -1
  9. package/dist/tui-v2/app/App.js.map +1 -1
  10. package/dist/tui-v2/bootstrap/console-guard.d.ts +20 -0
  11. package/dist/tui-v2/bootstrap/console-guard.js +73 -0
  12. package/dist/tui-v2/bootstrap/console-guard.js.map +1 -0
  13. package/dist/tui-v2/bootstrap/start-tui-v2.js +14 -0
  14. package/dist/tui-v2/bootstrap/start-tui-v2.js.map +1 -1
  15. package/dist/tui-v2/components/composer/composer-input-box.js +5 -1
  16. package/dist/tui-v2/components/composer/composer-input-box.js.map +1 -1
  17. package/dist/tui-v2/components/status/status-line.d.ts +8 -2
  18. package/dist/tui-v2/components/status/status-line.js +12 -8
  19. package/dist/tui-v2/components/status/status-line.js.map +1 -1
  20. package/dist/tui-v2/components/transcript/thinking-block.d.ts +3 -1
  21. package/dist/tui-v2/components/transcript/thinking-block.js +49 -5
  22. package/dist/tui-v2/components/transcript/thinking-block.js.map +1 -1
  23. package/dist/tui-v2/components/transcript/transcript-row.js +1 -1
  24. package/dist/tui-v2/components/transcript/transcript-row.js.map +1 -1
  25. package/dist/tui-v2/composer/composer-action-port.d.ts +15 -3
  26. package/dist/tui-v2/composer/composer-action-port.js +49 -6
  27. package/dist/tui-v2/composer/composer-action-port.js.map +1 -1
  28. package/dist/tui-v2/composer/composer-editor.js +37 -44
  29. package/dist/tui-v2/composer/composer-editor.js.map +1 -1
  30. package/dist/tui-v2/composer/draft-actions.d.ts +31 -0
  31. package/dist/tui-v2/composer/draft-actions.js +45 -0
  32. package/dist/tui-v2/composer/draft-actions.js.map +1 -0
  33. package/dist/tui-v2/composer/textarea-keybindings.d.ts +1 -1
  34. package/dist/tui-v2/composer/textarea-keybindings.js +33 -0
  35. package/dist/tui-v2/composer/textarea-keybindings.js.map +1 -1
  36. package/dist/tui-v2/composer/use-draft-actions.d.ts +32 -0
  37. package/dist/tui-v2/composer/use-draft-actions.js +59 -0
  38. package/dist/tui-v2/composer/use-draft-actions.js.map +1 -0
  39. package/dist/tui-v2/state/use-has-draft.d.ts +6 -0
  40. package/dist/tui-v2/state/use-has-draft.js +13 -0
  41. package/dist/tui-v2/state/use-has-draft.js.map +1 -0
  42. package/dist/version.generated.d.ts +2 -2
  43. package/dist/version.generated.js +2 -2
  44. package/package.json +1 -1
@@ -14,7 +14,7 @@
14
14
  * the same model step (agent emits thinking-block before assistant-message
15
15
  * and tool-call). Violet accent distinguishes reasoning from green replies.
16
16
  */
17
- import type { ReactNode } from "react";
17
+ import { type ReactNode } from "react";
18
18
  import type { ThinkingItem } from "../../state/transcript-types.js";
19
19
  import type { Theme } from "../../rendering/theme.js";
20
20
  export declare function ThinkingBlock(props: {
@@ -26,5 +26,7 @@ export declare function ThinkingBlock(props: {
26
26
  * an always-reasoning model does not paint its chain of thought anyway.
27
27
  */
28
28
  liveBody?: boolean | undefined;
29
+ /** Chat-pane columns (plan split/overlay already subtracted). */
30
+ contentWidth?: number | undefined;
29
31
  onToggle: () => void;
30
32
  }): ReactNode;
@@ -1,8 +1,31 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "@opentui/react/jsx-runtime";
2
+ /** @jsxImportSource @opentui/react */
3
+ /**
4
+ * Renders a `ThinkingItem` (CHAT-006, V2-053).
5
+ *
6
+ * Live stream: while the model is still reasoning (`item.streaming`), the body
7
+ * is shown only when the user asked for reasoning — thinking enabled
8
+ * (`/variants`) or expanded with Ctrl+T. Models like MiniMax M3, GLM and Kimi
9
+ * reason by default no matter what we request, and printing that chain
10
+ * verbatim contradicts an explicit `/variants off`. After the block is
11
+ * finalized, the body follows the global Ctrl+T toggle (or a per-block
12
+ * override from clicking the header).
13
+ *
14
+ * Placement: thinking rows always precede the ◆ Response / tool cards for
15
+ * the same model step (agent emits thinking-block before assistant-message
16
+ * and tool-call). Violet accent distinguishes reasoning from green replies.
17
+ */
18
+ import { useMemo } from "react";
2
19
  import { TextAttributes } from "@opentui/core";
20
+ import { useTerminalDimensions } from "@opentui/react";
21
+ import { SELECTABLE_LINE_STYLE } from "./selectable-line.js";
3
22
  import { liveThinkingTail } from "../../rendering/thinking-tail.js";
23
+ import { wrapPagerLine } from "../../rendering/pager-chrome.js";
24
+ /** Body indent inside the block (paddingLeft below). */
25
+ const BODY_INDENT = 2;
4
26
  export function ThinkingBlock(props) {
5
- const { item, theme, expanded, liveBody = true, onToggle } = props;
27
+ const { item, theme, expanded, liveBody = true, contentWidth, onToggle } = props;
28
+ const { width: termWidth } = useTerminalDimensions();
6
29
  const showBody = expanded || (item.streaming && liveBody);
7
30
  const onMouseUp = (event) => {
8
31
  event.preventDefault();
@@ -18,14 +41,35 @@ export function ThinkingBlock(props) {
18
41
  : showBody
19
42
  ? "▾ thinking"
20
43
  : "▸ thinking · ctrl+t or click to view";
44
+ const wrapWidth = Math.max(20, (contentWidth != null ? contentWidth : Math.max(40, termWidth - 8)) -
45
+ BODY_INDENT);
46
+ const bodyLines = useMemo(() => {
47
+ if (!showBody || !item.content)
48
+ return [];
49
+ const source = item.streaming
50
+ ? liveThinkingTail(item.content)
51
+ : item.content;
52
+ return source
53
+ .replace(/\r\n/g, "\n")
54
+ .split("\n")
55
+ .flatMap((line) => wrapPagerLine(line, wrapWidth));
56
+ }, [showBody, item.content, item.streaming, wrapWidth]);
21
57
  return (_jsxs("box", { id: item.id, style: { flexDirection: "column", marginBottom: 1, width: "100%" }, children: [_jsx("box", { onMouseUp: onMouseUp, style: { flexDirection: "row" }, children: _jsx("text", { selectable: true, style: {
22
58
  fg: theme.thinking,
23
59
  attributes: TextAttributes.ITALIC,
24
- }, children: header }) }), showBody && item.content ? (_jsx("box", { style: { flexDirection: "column", paddingLeft: 2, width: "100%" }, children: _jsx("text", { selectable: true, style: {
60
+ }, children: header }) }), showBody && bodyLines.length > 0 ? (_jsx("box", { style: {
61
+ flexDirection: "column",
62
+ paddingLeft: BODY_INDENT,
63
+ width: "100%",
64
+ // Reasoning is the only body whose source text is unbounded, so
65
+ // clip here as well as pre-wrapping: a stray overlong token must
66
+ // never paint into cells outside this pane, which the renderer
67
+ // does not repaint and would leave streaked with fragments.
68
+ overflow: "hidden",
69
+ }, children: bodyLines.map((content, index) => (_jsx("text", { content: content.length === 0 ? " " : content, selectable: true, wrapMode: "none", style: {
70
+ ...SELECTABLE_LINE_STYLE,
25
71
  fg: theme.thinking,
26
72
  attributes: TextAttributes.ITALIC,
27
- // Full pane width so drag-select does not require aiming at glyphs.
28
- width: "100%",
29
- }, children: item.streaming ? liveThinkingTail(item.content) : item.content }) })) : null] }));
73
+ } }, index))) })) : null] }));
30
74
  }
31
75
  //# sourceMappingURL=thinking-block.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"thinking-block.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/transcript/thinking-block.tsx"],"names":[],"mappings":";AAkBA,OAAO,EAAE,cAAc,EAAmB,MAAM,eAAe,CAAC;AAIhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEpE,MAAM,UAAU,aAAa,CAAC,KAU7B;IACC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IACnE,MAAM,QAAQ,GAAG,QAAQ,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,QAAQ,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,CAAC,KAAiB,EAAQ,EAAE;QAC5C,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,yDAAyD;QACzD,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QAC3B,QAAQ,EAAE,CAAC;IACb,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS;QAC3B,CAAC,CAAC,QAAQ;YACR,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,8BAA8B;QAClC,CAAC,CAAC,QAAQ;YACR,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,sCAAsC,CAAC;IAE7C,OAAO,CACL,eAAK,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,aAClF,cAAK,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,YACxD,eACE,UAAU,QACV,KAAK,EAAE;wBACL,EAAE,EAAE,KAAK,CAAC,QAAQ;wBAClB,UAAU,EAAE,cAAc,CAAC,MAAM;qBAClC,YAEA,MAAM,GACF,GACH,EACL,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAC1B,cAAK,KAAK,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,YACpE,eACE,UAAU,QACV,KAAK,EAAE;wBACL,EAAE,EAAE,KAAK,CAAC,QAAQ;wBAClB,UAAU,EAAE,cAAc,CAAC,MAAM;wBACjC,oEAAoE;wBACpE,KAAK,EAAE,MAAM;qBACd,YAEA,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAC1D,GACH,CACP,CAAC,CAAC,CAAC,IAAI,IACJ,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"thinking-block.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/transcript/thinking-block.tsx"],"names":[],"mappings":"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"}
@@ -26,7 +26,7 @@ export function TranscriptRowImpl(props) {
26
26
  body = (_jsx(AssistantMessage, { item: item, theme: theme, contentWidth: contentWidth }));
27
27
  break;
28
28
  case "thinking":
29
- body = (_jsx(ThinkingBlock, { item: item, theme: theme, expanded: expanded, liveBody: liveThinking, onToggle: () => store.toggleItemOverride(item.id, expandThinkingGlobal) }));
29
+ body = (_jsx(ThinkingBlock, { item: item, theme: theme, expanded: expanded, liveBody: liveThinking, contentWidth: contentWidth, onToggle: () => store.toggleItemOverride(item.id, expandThinkingGlobal) }));
30
30
  break;
31
31
  case "tool": {
32
32
  // plan.create / task.update success is Tasks-pane only — hide from chat
@@ -1 +1 @@
1
- {"version":3,"file":"transcript-row.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/transcript/transcript-row.tsx"],"names":[],"mappings":";AAAA,sCAAsC;AACtC;;;;;;GAMG;AAEH,OAAO,EAAE,IAAI,EAAkB,MAAM,OAAO,CAAC;AAM7C,OAAO,EAAE,6BAA6B,EAAE,MAAM,2CAA2C,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,UAAU,iBAAiB,CAAC,KAuBjC;IACC,MAAM,EACJ,IAAI,EACJ,KAAK,EACL,KAAK,EACL,KAAK,EACL,QAAQ,EACR,gBAAgB,EAChB,QAAQ,EACR,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,iBAAiB,GAClB,GAAG,KAAK,CAAC;IAEV,IAAI,IAAe,CAAC;IACpB,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,MAAM;YACT,IAAI,GAAG,CACL,KAAC,WAAW,IACV,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,gBAAgB,EACxB,YAAY,EAAE,YAAY,GAC1B,CACH,CAAC;YACF,MAAM;QACR,KAAK,WAAW;YACd,IAAI,GAAG,CACL,KAAC,gBAAgB,IACf,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,YAAY,GAC1B,CACH,CAAC;YACF,MAAM;QACR,KAAK,UAAU;YACb,IAAI,GAAG,CACL,KAAC,aAAa,IACZ,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,oBAAoB,CAAC,GACvE,CACH,CAAC;YACF,MAAM;QACR,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,wEAAwE;YACxE,yEAAyE;YACzE,IAAI,6BAA6B,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1D,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,GAAG,CACL,KAAC,QAAQ,IACP,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,kBAAkB,CAAC,EACrE,mBAAmB,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,EACvD,iBAAiB,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,EACpD,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,GAAG,EAAE,CACrB,KAAK,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,EAAE,qBAAqB,CAAC,EAE9D,sBAAsB,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAC7D,oBAAoB,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAC1D,CACH,CAAC;YACF,MAAM;QACR,CAAC;QACD,KAAK,QAAQ;YACX,IAAI,GAAG,KAAC,SAAS,IAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,GAAI,CAAC;YAC/C,MAAM;QACR,KAAK,WAAW;YACd,IAAI,GAAG,CACL,KAAC,YAAY,IACX,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,GAAG,EAAE;oBACb,qEAAqE;oBACrE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;oBAC7B,MAAM,KAAK,GACT,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC;wBAC3C,CAAC,CAAC,wBAAwB,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,OAAO,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,SAAS;wBAC7G,CAAC,CAAC,mBAAmB,CAAC;oBAC1B,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBAC7C,CAAC,GACD,CACH,CAAC;YACF,MAAM;QACR,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,WAAW,GAAU,IAAI,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,8BAA8B,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAED,qFAAqF;IACrF,IAAI,CAAC,aAAa;QAAE,OAAO,IAAI,CAAC;IAChC,OAAO,CACL,cACE,MAAM,QACN,WAAW,EAAC,SAAS,EACrB,KAAK,EAAE;YACL,KAAK,EAAE,MAAM;YACb,aAAa,EAAE,QAAQ;YACvB,eAAe,EAAE,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI;YACjE,WAAW,EAAE,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI;YAC5D,YAAY,EAAE,CAAC;SAChB,YAEA,IAAI,GACD,CACP,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC"}
1
+ {"version":3,"file":"transcript-row.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/transcript/transcript-row.tsx"],"names":[],"mappings":";AAAA,sCAAsC;AACtC;;;;;;GAMG;AAEH,OAAO,EAAE,IAAI,EAAkB,MAAM,OAAO,CAAC;AAM7C,OAAO,EAAE,6BAA6B,EAAE,MAAM,2CAA2C,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,UAAU,iBAAiB,CAAC,KAuBjC;IACC,MAAM,EACJ,IAAI,EACJ,KAAK,EACL,KAAK,EACL,KAAK,EACL,QAAQ,EACR,gBAAgB,EAChB,QAAQ,EACR,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,iBAAiB,GAClB,GAAG,KAAK,CAAC;IAEV,IAAI,IAAe,CAAC;IACpB,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,MAAM;YACT,IAAI,GAAG,CACL,KAAC,WAAW,IACV,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,gBAAgB,EACxB,YAAY,EAAE,YAAY,GAC1B,CACH,CAAC;YACF,MAAM;QACR,KAAK,WAAW;YACd,IAAI,GAAG,CACL,KAAC,gBAAgB,IACf,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,YAAY,GAC1B,CACH,CAAC;YACF,MAAM;QACR,KAAK,UAAU;YACb,IAAI,GAAG,CACL,KAAC,aAAa,IACZ,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,YAAY,EACtB,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,oBAAoB,CAAC,GACvE,CACH,CAAC;YACF,MAAM;QACR,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,wEAAwE;YACxE,yEAAyE;YACzE,IAAI,6BAA6B,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1D,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,GAAG,CACL,KAAC,QAAQ,IACP,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,kBAAkB,CAAC,EACrE,mBAAmB,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,EACvD,iBAAiB,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,EACpD,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,GAAG,EAAE,CACrB,KAAK,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,EAAE,qBAAqB,CAAC,EAE9D,sBAAsB,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAC7D,oBAAoB,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAC1D,CACH,CAAC;YACF,MAAM;QACR,CAAC;QACD,KAAK,QAAQ;YACX,IAAI,GAAG,KAAC,SAAS,IAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,GAAI,CAAC;YAC/C,MAAM;QACR,KAAK,WAAW;YACd,IAAI,GAAG,CACL,KAAC,YAAY,IACX,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,GAAG,EAAE;oBACb,qEAAqE;oBACrE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;oBAC7B,MAAM,KAAK,GACT,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC;wBAC3C,CAAC,CAAC,wBAAwB,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,OAAO,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,SAAS;wBAC7G,CAAC,CAAC,mBAAmB,CAAC;oBAC1B,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBAC7C,CAAC,GACD,CACH,CAAC;YACF,MAAM;QACR,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,WAAW,GAAU,IAAI,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,8BAA8B,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAED,qFAAqF;IACrF,IAAI,CAAC,aAAa;QAAE,OAAO,IAAI,CAAC;IAChC,OAAO,CACL,cACE,MAAM,QACN,WAAW,EAAC,SAAS,EACrB,KAAK,EAAE;YACL,KAAK,EAAE,MAAM;YACb,aAAa,EAAE,QAAQ;YACvB,eAAe,EAAE,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI;YACjE,WAAW,EAAE,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI;YAC5D,YAAY,EAAE,CAAC;SAChB,YAEA,IAAI,GACD,CACP,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC"}
@@ -1,12 +1,24 @@
1
1
  /**
2
- * Bridge so chrome outside the composer (status chips) can clear the draft
2
+ * Bridge so chrome outside the composer (status chips) can act on the draft
3
3
  * without holding a React ref to the textarea.
4
4
  */
5
- type ClearHandler = () => void;
5
+ type Handler = () => void;
6
+ type DraftListener = (hasDraft: boolean) => void;
6
7
  export declare const composerActionPort: {
7
8
  /** Register the active composer's clear implementation. Returns unregister. */
8
- registerClear(handler: ClearHandler): () => void;
9
+ registerClear(handler: Handler): () => void;
9
10
  /** Clear the composer draft if a handler is registered. */
10
11
  clear(): void;
12
+ /** Register copy-then-clear (Ctrl+Shift+X). Returns unregister. */
13
+ registerCut(handler: Handler): () => void;
14
+ /** Copy the draft to the clipboard, then clear it. */
15
+ cut(): void;
16
+ /** Register "show the slash-command list inside the composer". */
17
+ registerOpenCommands(handler: Handler): () => void;
18
+ openCommands(): void;
19
+ /** Publish draft emptiness so status chrome can gate draft-only hints. */
20
+ setHasDraft(next: boolean): void;
21
+ hasDraft(): boolean;
22
+ subscribeDraft(listener: DraftListener): () => void;
11
23
  };
12
24
  export {};
@@ -1,20 +1,63 @@
1
1
  /**
2
- * Bridge so chrome outside the composer (status chips) can clear the draft
2
+ * Bridge so chrome outside the composer (status chips) can act on the draft
3
3
  * without holding a React ref to the textarea.
4
4
  */
5
5
  let clearHandler;
6
+ let cutHandler;
7
+ let openCommandsHandler;
8
+ let hasDraft = false;
9
+ const draftListeners = new Set();
10
+ function register(handler, assign, current) {
11
+ assign(handler);
12
+ return () => {
13
+ if (current() === handler)
14
+ assign(undefined);
15
+ };
16
+ }
6
17
  export const composerActionPort = {
7
18
  /** Register the active composer's clear implementation. Returns unregister. */
8
19
  registerClear(handler) {
9
- clearHandler = handler;
10
- return () => {
11
- if (clearHandler === handler)
12
- clearHandler = undefined;
13
- };
20
+ return register(handler, (next) => {
21
+ clearHandler = next;
22
+ }, () => clearHandler);
14
23
  },
15
24
  /** Clear the composer draft if a handler is registered. */
16
25
  clear() {
17
26
  clearHandler?.();
18
27
  },
28
+ /** Register copy-then-clear (Ctrl+Shift+X). Returns unregister. */
29
+ registerCut(handler) {
30
+ return register(handler, (next) => {
31
+ cutHandler = next;
32
+ }, () => cutHandler);
33
+ },
34
+ /** Copy the draft to the clipboard, then clear it. */
35
+ cut() {
36
+ cutHandler?.();
37
+ },
38
+ /** Register "show the slash-command list inside the composer". */
39
+ registerOpenCommands(handler) {
40
+ return register(handler, (next) => {
41
+ openCommandsHandler = next;
42
+ }, () => openCommandsHandler);
43
+ },
44
+ openCommands() {
45
+ openCommandsHandler?.();
46
+ },
47
+ /** Publish draft emptiness so status chrome can gate draft-only hints. */
48
+ setHasDraft(next) {
49
+ if (next === hasDraft)
50
+ return;
51
+ hasDraft = next;
52
+ for (const listener of draftListeners)
53
+ listener(next);
54
+ },
55
+ hasDraft() {
56
+ return hasDraft;
57
+ },
58
+ subscribeDraft(listener) {
59
+ draftListeners.add(listener);
60
+ return () => draftListeners.delete(listener);
61
+ },
19
62
  };
20
63
  //# sourceMappingURL=composer-action-port.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"composer-action-port.js","sourceRoot":"","sources":["../../../src/tui-v2/composer/composer-action-port.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,IAAI,YAAsC,CAAC;AAE3C,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,+EAA+E;IAC/E,aAAa,CAAC,OAAqB;QACjC,YAAY,GAAG,OAAO,CAAC;QACvB,OAAO,GAAG,EAAE;YACV,IAAI,YAAY,KAAK,OAAO;gBAAE,YAAY,GAAG,SAAS,CAAC;QACzD,CAAC,CAAC;IACJ,CAAC;IAED,2DAA2D;IAC3D,KAAK;QACH,YAAY,EAAE,EAAE,CAAC;IACnB,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"composer-action-port.js","sourceRoot":"","sources":["../../../src/tui-v2/composer/composer-action-port.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,IAAI,YAAiC,CAAC;AACtC,IAAI,UAA+B,CAAC;AACpC,IAAI,mBAAwC,CAAC;AAC7C,IAAI,QAAQ,GAAG,KAAK,CAAC;AACrB,MAAM,cAAc,GAAG,IAAI,GAAG,EAAiB,CAAC;AAEhD,SAAS,QAAQ,CACf,OAAgB,EAChB,MAA2C,EAC3C,OAAkC;IAElC,MAAM,CAAC,OAAO,CAAC,CAAC;IAChB,OAAO,GAAG,EAAE;QACV,IAAI,OAAO,EAAE,KAAK,OAAO;YAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,+EAA+E;IAC/E,aAAa,CAAC,OAAgB;QAC5B,OAAO,QAAQ,CACb,OAAO,EACP,CAAC,IAAI,EAAE,EAAE;YACP,YAAY,GAAG,IAAI,CAAC;QACtB,CAAC,EACD,GAAG,EAAE,CAAC,YAAY,CACnB,CAAC;IACJ,CAAC;IACD,2DAA2D;IAC3D,KAAK;QACH,YAAY,EAAE,EAAE,CAAC;IACnB,CAAC;IACD,mEAAmE;IACnE,WAAW,CAAC,OAAgB;QAC1B,OAAO,QAAQ,CACb,OAAO,EACP,CAAC,IAAI,EAAE,EAAE;YACP,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC,EACD,GAAG,EAAE,CAAC,UAAU,CACjB,CAAC;IACJ,CAAC;IACD,sDAAsD;IACtD,GAAG;QACD,UAAU,EAAE,EAAE,CAAC;IACjB,CAAC;IACD,kEAAkE;IAClE,oBAAoB,CAAC,OAAgB;QACnC,OAAO,QAAQ,CACb,OAAO,EACP,CAAC,IAAI,EAAE,EAAE;YACP,mBAAmB,GAAG,IAAI,CAAC;QAC7B,CAAC,EACD,GAAG,EAAE,CAAC,mBAAmB,CAC1B,CAAC;IACJ,CAAC;IACD,YAAY;QACV,mBAAmB,EAAE,EAAE,CAAC;IAC1B,CAAC;IACD,0EAA0E;IAC1E,WAAW,CAAC,IAAa;QACvB,IAAI,IAAI,KAAK,QAAQ;YAAE,OAAO;QAC9B,QAAQ,GAAG,IAAI,CAAC;QAChB,KAAK,MAAM,QAAQ,IAAI,cAAc;YAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;IACD,QAAQ;QACN,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,cAAc,CAAC,QAAuB;QACpC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7B,OAAO,GAAG,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;CACF,CAAC"}
@@ -17,6 +17,7 @@ import { isLargePaste, PasteRegistry, samePastePlaceholderEntries, } from "./pas
17
17
  import { resolveCompletionMenu, sameCompletionMenu, } from "./completion.js";
18
18
  import { buildComposerTextareaOverrides } from "./textarea-keybindings.js";
19
19
  import { composerActionPort } from "./composer-action-port.js";
20
+ import { useDraftActions } from "./use-draft-actions.js";
20
21
  import { createComposerImagePaste } from "./composer-image-paste.js";
21
22
  import { notify } from "../notify.js";
22
23
  import { CompletionMenuView } from "../components/completion/completion-menu.js";
@@ -86,25 +87,6 @@ export function ComposerEditor(props) {
86
87
  restore();
87
88
  };
88
89
  }, [shouldOwnKeyboard]);
89
- useEffect(() => {
90
- return composerActionPort.registerClear(() => {
91
- const editor = editorRef.current;
92
- if (!editor)
93
- return;
94
- editor.clear();
95
- pasteRegistry.current.clear();
96
- promptHistory.current.reset();
97
- menuRef.current = { kind: "none" };
98
- menuKindRef.current = "none";
99
- acceptedSlashRef.current = undefined;
100
- setMenu({ kind: "none" });
101
- setAcceptedSlash(undefined);
102
- setContentRows(1);
103
- setPasteChips([]);
104
- services.focus.focusRegion("composer");
105
- editor.focus();
106
- });
107
- }, [services.focus]);
108
90
  const lastSeedToken = useRef(undefined);
109
91
  useEffect(() => {
110
92
  const seed = props.seedDraft;
@@ -118,11 +100,7 @@ export function ComposerEditor(props) {
118
100
  editor.gotoBufferEnd();
119
101
  services.focus.focusRegion("composer");
120
102
  editor.focus();
121
- menuRef.current = { kind: "none" };
122
- menuKindRef.current = "none";
123
- acceptedSlashRef.current = undefined;
124
- setMenu({ kind: "none" });
125
- setAcceptedSlash(undefined);
103
+ resetMenuState();
126
104
  queueMicrotask(() => {
127
105
  refreshMenu();
128
106
  syncContentRows();
@@ -228,6 +206,8 @@ export function ComposerEditor(props) {
228
206
  setContentRows((current) => (current === nextRows ? current : nextRows));
229
207
  const nextChips = pasteRegistry.current.activeIn(editor.plainText);
230
208
  setPasteChips((current) => samePastePlaceholderEntries(current, nextChips) ? current : nextChips);
209
+ // Gates the draft-only ^X / ⇧^X chips in the status row.
210
+ composerActionPort.setHasDraft(editor.plainText.trim().length > 0);
231
211
  }
232
212
  function refreshMenu() {
233
213
  const editor = editorRef.current;
@@ -404,11 +384,7 @@ export function ComposerEditor(props) {
404
384
  editor.clear();
405
385
  pasteRegistry.current.clear();
406
386
  promptHistory.current.reset();
407
- menuRef.current = { kind: "none" };
408
- menuKindRef.current = "none";
409
- acceptedSlashRef.current = undefined;
410
- setMenu({ kind: "none" });
411
- setAcceptedSlash(undefined);
387
+ resetMenuState();
412
388
  setContentRows(1);
413
389
  setPasteChips([]);
414
390
  if (!expanded)
@@ -542,11 +518,7 @@ export function ComposerEditor(props) {
542
518
  return;
543
519
  }
544
520
  if (chord === "escape") {
545
- menuRef.current = { kind: "none" };
546
- menuKindRef.current = "none";
547
- acceptedSlashRef.current = undefined;
548
- setMenu({ kind: "none" });
549
- setAcceptedSlash(undefined);
521
+ resetMenuState();
550
522
  key.preventDefault();
551
523
  return;
552
524
  }
@@ -567,18 +539,15 @@ export function ComposerEditor(props) {
567
539
  // Non-empty: let OpenTUI handle line kill (do not preventDefault).
568
540
  return;
569
541
  }
542
+ // Shift first: ctrl+shift+x must not fall through to the plain clear.
543
+ if (chord === "ctrl+shift+x") {
544
+ key.preventDefault();
545
+ void draftActions.cut();
546
+ return;
547
+ }
570
548
  if (chord === "ctrl+x") {
571
549
  key.preventDefault();
572
- editor.clear();
573
- pasteRegistry.current.clear();
574
- promptHistory.current.reset();
575
- menuRef.current = { kind: "none" };
576
- menuKindRef.current = "none";
577
- acceptedSlashRef.current = undefined;
578
- setMenu({ kind: "none" });
579
- setAcceptedSlash(undefined);
580
- setContentRows(1);
581
- setPasteChips([]);
550
+ clearDraftState(editor);
582
551
  notify(services, "Draft cleared · ^X", { key: "draft", durationMs: 1400 });
583
552
  return;
584
553
  }
@@ -659,6 +628,30 @@ export function ComposerEditor(props) {
659
628
  services.focus.focusRegion("composer");
660
629
  editorRef.current?.focus();
661
630
  }
631
+ const resetMenuState = () => {
632
+ menuRef.current = { kind: "none" };
633
+ menuKindRef.current = "none";
634
+ acceptedSlashRef.current = undefined;
635
+ setMenu({ kind: "none" });
636
+ setAcceptedSlash(undefined);
637
+ };
638
+ const draftActions = useDraftActions({
639
+ editorRef,
640
+ services,
641
+ expandPastes: (text) => pasteRegistry.current.expand(text),
642
+ resetRegistries: () => {
643
+ pasteRegistry.current.clear();
644
+ promptHistory.current.reset();
645
+ },
646
+ resetMenuState,
647
+ setContentRows,
648
+ clearPasteChips: () => setPasteChips([]),
649
+ focusComposer,
650
+ refreshMenu,
651
+ syncContentRows,
652
+ notify: (message, durationMs) => notify(services, message, { key: "draft", durationMs }),
653
+ });
654
+ const clearDraftState = draftActions.clear;
662
655
  function hoverCompletion(index) {
663
656
  selectedRef.current = index;
664
657
  setSelected(index);
@@ -1 +1 @@
1
- {"version":3,"file":"composer-editor.js","sourceRoot":"","sources":["../../../src/tui-v2/composer/composer-editor.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"composer-editor.js","sourceRoot":"","sources":["../../../src/tui-v2/composer/composer-editor.tsx"],"names":[],"mappings":";AAAA,sCAAsC;AACtC;;;GAGG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAC;AACpE,OAAO,EACL,gBAAgB,EAChB,kBAAkB,GAInB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGlD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EACL,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,YAAY,EACZ,aAAa,EACb,2BAA2B,GAE5B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,qBAAqB,EACrB,kBAAkB,GAEnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oDAAoD,CAAC;AAC1F,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EACL,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,GACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AA6BlF,MAAM,mBAAmB,GAAG,8BAA8B,EAAW,CAAC;AAEtE,MAAM,UAAU,cAAc,CAAC,KAA0B;IACvD,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IAClC,MAAM,SAAS,GAAG,MAAM,CAAqB,IAAI,CAAC,CAAC;IACnD,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;IAClD,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,wBAAwB,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE;QACpE,eAAe,EAAE,CAAC;QAClB,WAAW,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;IACH,gFAAgF;IAChF,MAAM,UAAU,GAAG,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IACnD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAiB,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACnE,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC5C,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAqB,SAAS,CAAC,CAAC;IAClF,uEAAuE;IACvE,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAA0B,EAAE,CAAC,CAAC;IAC1E,yEAAyE;IACzE,yEAAyE;IACzE,+BAA+B;IAC/B,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7B,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,gBAAgB,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;IAC/C,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IACvB,WAAW,CAAC,OAAO,GAAG,QAAQ,CAAC;IAC/B,gBAAgB,CAAC,OAAO,GAAG,aAAa,CAAC;IACzC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;IAChC,MAAM,OAAO,GAAG,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClD,0EAA0E;IAC1E,kEAAkE;IAClE,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;IACxB,MAAM,SAAS,GAAG,kBAAkB,CAClC,OAAO,CAAC,QAAQ,IAAI,GAAG,CAAC,eAAe,EACvC,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC,YAAY,EACjC,GAAG,CAAC,WAAW,IAAI,SAAS,CAC7B,CAAC;IAEF,MAAM,iBAAiB,GAAG,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC;IACnE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,iBAAiB;YAAE,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;;YAC7C,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;IACjC,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAExB,6EAA6E;IAC7E,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,iBAAiB;YAAE,OAAO;QAC9B,IAAI,OAAO,GAAG,2BAA2B,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,qBAAqB,CAAC,GAAG,EAAE;YACvC,OAAO,EAAE,CAAC;YACV,OAAO,GAAG,2BAA2B,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,EAAE;YACV,oBAAoB,CAAC,KAAK,CAAC,CAAC;YAC5B,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAExB,MAAM,aAAa,GAAG,MAAM,CAAqB,SAAS,CAAC,CAAC;IAC5D,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC;QAC7B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,aAAa,CAAC,OAAO;YAAE,OAAO;QAC1D,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC;QACnC,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,MAAM,CAAC,aAAa,EAAE,CAAC;QACvB,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACvC,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,cAAc,EAAE,CAAC;QACjB,cAAc,CAAC,GAAG,EAAE;YAClB,WAAW,EAAE,CAAC;YACd,eAAe,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;QACH,oFAAoF;IACtF,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;IAE7B,4EAA4E;IAC5E,2EAA2E;IAC3E,mCAAmC;IACnC,WAAW,CAAC,CAAC,GAAG,EAAE,EAAE;QAClB,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS;YAAE,OAAO;QACxC,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAErC,sEAAsE;QACtE,yEAAyE;QACzE,IAAI,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;YAAE,OAAO;QAE7D,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO;QAEpC,iEAAiE;QACjE,qEAAqE;QACrE,uEAAuE;QACvE,IAAI,WAAW,CAAC,OAAO,KAAK,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzD,IACE,KAAK,KAAK,IAAI;gBACd,KAAK,KAAK,MAAM;gBAChB,KAAK,KAAK,KAAK;gBACf,KAAK,KAAK,OAAO;gBACjB,KAAK,KAAK,QAAQ,EAClB,CAAC;gBACD,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBACvC,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;gBAC3B,uBAAuB,CAAC,GAAG,CAAC,CAAC;gBAC7B,OAAO;YACT,CAAC;QACH,CAAC;QAED,IAAI,iBAAiB;YAAE,OAAO;QAE9B,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;QACrD,IAAI,aAAa,KAAK,mBAAmB;YAAE,OAAO;QAClD,2DAA2D;QAC3D,IACE,KAAK,KAAK,IAAI;YACd,KAAK,KAAK,MAAM;YAChB,KAAK,KAAK,QAAQ;YAClB,KAAK,KAAK,UAAU;YACpB,KAAK,KAAK,MAAM;YAChB,KAAK,KAAK,KAAK;YACf,GAAG,CAAC,IAAI,KAAK,IAAI;YACjB,GAAG,CAAC,IAAI,KAAK,MAAM,EACnB,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK;YAAE,OAAO;QAC5D,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC1B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK;YAAE,OAAO;QAC3E,GAAG,CAAC,cAAc,EAAE,CAAC;QACrB,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACvC,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;QAC3B,SAAS,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QACpC,cAAc,CAAC,GAAG,EAAE;YAClB,WAAW,EAAE,CAAC;YACd,eAAe,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE;QACjB,IAAI,CAAC,iBAAiB;YAAE,OAAO;QAC/B,MAAM,IAAI,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/D,IAAI,UAAU,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC;YAAE,OAAO;QAChD,IAAI,UAAU,CAAC,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC;YAAE,OAAO;QACxD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YAAE,OAAO;QAChC,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnD,SAAS,CAAC,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3C,cAAc,CAAC,eAAe,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,SAAS,eAAe,CAAC,EAAU;QACjC,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;QACtE,MAAM,CAAC,aAAa,EAAE,CAAC;QACvB,cAAc,CAAC,GAAG,EAAE;YAClB,eAAe,EAAE,CAAC;YAClB,WAAW,EAAE,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8EAA8E;IAC9E,SAAS,eAAe;QACtB,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,cAAc,CAAC,CAAC,CAAC,CAAC;YAClB,aAAa,CAAC,EAAE,CAAC,CAAC;YAClB,OAAO;QACT,CAAC;QACD,yEAAyE;QACzE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAChD,MAAM,aAAa,GAAG,wBAAwB,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC5E,MAAM,QAAQ,GAAG,oBAAoB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAC7D,cAAc,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzE,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnE,aAAa,CAAC,CAAC,OAAO,EAAE,EAAE,CACxB,2BAA2B,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CACtE,CAAC;QACF,yDAAyD;QACzD,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,SAAS,WAAW;QAClB,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,MAAM,IAAI,GAAG,qBAAqB,CAChC,QAAQ,CAAC,QAAQ,EACjB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,YAAY,CACpB,CAAC;QACF,gBAAgB,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC5B,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;gBAAE,OAAO,SAAS,CAAC;YACzD,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YAC3D,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChD,MAAM,IAAI,GACR,KAAK,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YAClE,gBAAgB,CAAC,OAAO,GAAG,IAAI,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACf,sEAAsE;YACtE,wEAAwE;YACxE,+DAA+D;YAC/D,IAAI,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;gBACnC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;gBACvB,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;gBAChC,OAAO,IAAI,CAAC;YACd,CAAC;YACD,mEAAmE;YACnE,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC5E,MAAM,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC;gBAChC,MAAM,QAAQ,GACZ,IAAI,CAAC,IAAI,KAAK,OAAO;oBACnB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI;oBACvB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC;gBAC7B,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,GAAG,GACP,IAAI,CAAC,IAAI,KAAK,OAAO;wBACnB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;wBAClD,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC;oBACxD,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBACnC,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC;oBAC9B,WAAW,CAAC,OAAO,CAAC,CAAC;gBACvB,CAAC;qBAAM,CAAC;oBACN,WAAW,CAAC,OAAO,GAAG,CAAC,CAAC;oBACxB,WAAW,CAAC,CAAC,CAAC,CAAC;gBACjB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,OAAO,GAAG,CAAC,CAAC;gBACxB,WAAW,CAAC,CAAC,CAAC,CAAC;gBACf,+DAA+D;gBAC/D,mDAAmD;gBACnD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBACzB,UAAU,CAAC,OAAO,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;gBAC/C,CAAC;YACH,CAAC;YACD,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;YACvB,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS,gBAAgB,CAAC,IAIzB;QACC,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;QACjC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAChC,MAAM,GAAG,GAAG,IAAI,EAAE,KAAK,IAAI,WAAW,CAAC,OAAO,CAAC;QAC/C,IAAI,IAAI,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;YAC9B,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC;YACjC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO;QAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC;QACnC,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC;QAC/B,IAAI,WAAmB,CAAC;QACxB,IAAI,KAAa,CAAC;QAClB,IAAI,cAAsB,CAAC;QAC3B,IAAI,eAAe,GAAG,KAAK,CAAC;QAC5B,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,IAAI;gBAAE,OAAO;YAClB,WAAW,GAAG,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC;YAC/B,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YACtB,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACrD,CAAC,CAAC,KAAK,CAAC,MAAM;gBACd,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;YAChB,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACjC,gBAAgB,CAAC,OAAO,GAAG,QAAQ,CAAC;YACpC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,IAAI;gBAAE,OAAO;YAClB,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YACtB,cAAc,GAAG,MAAM,CAAC;YACxB,gBAAgB,CAAC,OAAO,GAAG,SAAS,CAAC;YACrC,gBAAgB,CAAC,SAAS,CAAC,CAAC;YAC5B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,gEAAgE;gBAChE,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE,EAAE,CAAC;oBACtB,WAAW,GAAG,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;oBAC5C,eAAe,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC;gBACrC,CAAC;qBAAM,CAAC;oBACN,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;wBACvC,CAAC,CAAC,IAAI,CAAC,KAAK;wBACZ,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC;oBACrB,IAAI,IAAI,EAAE,SAAS,EAAE,CAAC;wBACpB,qEAAqE;wBACrE,WAAW,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC;wBACjD,eAAe,GAAG,KAAK,CAAC;oBAC1B,CAAC;yBAAM,CAAC;wBACN,kCAAkC;wBAClC,WAAW,GAAG,IAAI,QAAQ,EAAE,CAAC;wBAC7B,eAAe,GAAG,IAAI,CAAC;oBACzB,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,WAAW,GAAG,GAAG,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;gBAC1D,eAAe,GAAG,KAAK,CAAC;YAC1B,CAAC;QACH,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC/E,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrB,yCAAyC;QACzC,IAAI,CAAC;YACH,MAAM,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QACpE,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC;gBACH,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;YAClD,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,CAAC,aAAa,EAAE,CAAC;YACzB,CAAC;QACH,CAAC;QACD,WAAW,CAAC,OAAO,GAAG,CAAC,CAAC;QACxB,WAAW,CAAC,CAAC,CAAC,CAAC;QACf,yEAAyE;QACzE,wEAAwE;QACxE,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACvC,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,eAAe,EAAE,CAAC;YACnD,OAAO,CAAC,OAAO,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YACnC,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC;YAC7B,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5B,CAAC;QACD,cAAc,CAAC,GAAG,EAAE;YAClB,WAAW,EAAE,CAAC;YACd,eAAe,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS,MAAM;QACb,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAChC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,CAAC;QAC1C,qEAAqE;QACrE,uEAAuE;QACvE,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,QAAQ,CAAC,EAAE,CAAC;YACvE,sEAAsE;YACtE,+DAA+D;YAC/D,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBAChD,IAAI,IAAI,EAAE,KAAK,EAAE,CAAC;oBAChB,gBAAgB,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBACtC,OAAO;gBACT,CAAC;YACH,CAAC;YACD,gBAAgB,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QACD,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;QACvE,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAC9B,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAC9B,cAAc,EAAE,CAAC;QACjB,cAAc,CAAC,CAAC,CAAC,CAAC;QAClB,aAAa,CAAC,EAAE,CAAC,CAAC;QAClB,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,IAAI,0BAA0B,CAAC,QAAQ,CAAC;YAAE,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/E,KAAK,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,UAAU,iBAAiB,CAAC,MAAc;QAC7C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QAC9B,kEAAkE;QAClE,uEAAuE;QACvE,0CAA0C;QAC1C,IAAI,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;YAChD,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACpD,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC;gBACnD,QAAQ,CAAC,OAAO,CAAC,MAAM,CACrB,MAAM,EACN,oBAAoB,KAAK,aAAa,CACvC,CAAC;gBACF,OAAO;YACT,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAC7D,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,QAAQ,CAAC,OAAO,CAAC,MAAM,CACrB,MAAM,EACN,YAAY,UAAU,CAAC,IAAI,6BAA6B,CACzD,CAAC;YACJ,CAAC;YACD,OAAO;QACT,CAAC;QACD,4EAA4E;QAC5E,MAAM,QAAQ,GAAG,0BAA0B,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC9D,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC;gBACxC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE;oBAC7C,aAAa,EAAE,QAAQ,CAAC,aAAa;iBACtC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,MAAM,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE;oBAClD,aAAa,EAAE,QAAQ,CAAC,aAAa;iBACtC,CAAC,CAAC;YACL,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC;YACxC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,wEAAwE;IACxE,SAAS,eAAe,CAAC,KAAiB;QACxC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO;QACrD,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;QACjC,MAAM,OAAO,GAAG,uBAAuB,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACnE,IAAI,iBAAiB,IAAI,MAAM,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,oBAAoB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YACxD,IAAI,iBAAiB,CAAC,KAAK,CAAC,IAAI,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;gBACvE,KAAK,CAAC,eAAe,EAAE,CAAC;gBACxB,OAAO;YACT,CAAC;QACH,CAAC;QACD,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QACzC,MAAM,EAAE,IAAI,EAAE,CAAC;QACf,MAAM,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtE,IAAI,EAAE,KAAK,CAAC;YAAE,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,SAAS,uBAAuB,CAAC,GAAa;QAC5C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAChC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,CAAC;QAE1C,kEAAkE;QAClE,2EAA2E;QAC3E,0EAA0E;QAC1E,2EAA2E;QAC3E,0EAA0E;QAC1E,oCAAoC;QACpC,IACE,OAAO,CAAC,IAAI,KAAK,MAAM;YACvB,KAAK,KAAK,QAAQ;YAClB,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO;gBAClC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,EACzC,CAAC;YACD,GAAG,CAAC,cAAc,EAAE,CAAC;YACrB,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;YACvC,IAAI,KAAK,KAAK,IAAI,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;gBACpC,MAAM,IAAI,GAAG,CAAC,WAAW,CAAC,OAAO,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;gBAC/D,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC;gBAC3B,WAAW,CAAC,IAAI,CAAC,CAAC;gBAClB,GAAG,CAAC,cAAc,EAAE,CAAC;gBACrB,OAAO;YACT,CAAC;YACD,IAAI,KAAK,KAAK,MAAM,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;gBACtC,MAAM,IAAI,GAAG,CAAC,WAAW,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC;gBACnD,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC;gBAC3B,WAAW,CAAC,IAAI,CAAC,CAAC;gBAClB,GAAG,CAAC,cAAc,EAAE,CAAC;gBACrB,OAAO;YACT,CAAC;YACD,IAAI,KAAK,KAAK,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC9D,MAAM,EAAE,CAAC;gBACT,GAAG,CAAC,cAAc,EAAE,CAAC;gBACrB,OAAO;YACT,CAAC;YACD,IAAI,KAAK,KAAK,KAAK,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC5D,GAAG,CAAC,cAAc,EAAE,CAAC;gBACrB,OAAO;YACT,CAAC;YACD,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;gBACzC,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;oBAChD,IAAI,IAAI,EAAE,KAAK,EAAE,CAAC;wBAChB,+DAA+D;wBAC/D,gBAAgB,CACd,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAC3D,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,gBAAgB,EAAE,CAAC;oBACrB,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,gBAAgB,EAAE,CAAC;gBACrB,CAAC;gBACD,GAAG,CAAC,cAAc,EAAE,CAAC;gBACrB,OAAO;YACT,CAAC;YACD,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACvB,cAAc,EAAE,CAAC;gBACjB,GAAG,CAAC,cAAc,EAAE,CAAC;gBACrB,OAAO;YACT,CAAC;QACH,CAAC;QAED,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvB,GAAG,CAAC,cAAc,EAAE,CAAC;YACrB,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC5B,OAAO;QACT,CAAC;QACD,0EAA0E;QAC1E,4DAA4D;QAC5D,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvB,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAClC,GAAG,CAAC,cAAc,EAAE,CAAC;gBACrB,oBAAoB,CAAC,WAAW,EAAE,CAAC;gBACnC,MAAM,CAAC,QAAQ,EAAE,iBAAiB,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3E,CAAC;YACD,mEAAmE;YACnE,OAAO;QACT,CAAC;QACD,sEAAsE;QACtE,IAAI,KAAK,KAAK,cAAc,EAAE,CAAC;YAC7B,GAAG,CAAC,cAAc,EAAE,CAAC;YACrB,KAAK,YAAY,CAAC,GAAG,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QACD,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvB,GAAG,CAAC,cAAc,EAAE,CAAC;YACrB,eAAe,CAAC,MAAM,CAAC,CAAC;YACxB,MAAM,CAAC,QAAQ,EAAE,oBAAoB,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3E,OAAO;QACT,CAAC;QACD,qEAAqE;QACrE,uEAAuE;QACvE,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;YAC/C,GAAG,CAAC,cAAc,EAAE,CAAC;YACrB,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;YACzC,MAAM,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,IAAI,GAAG,EAAE,CAAC;YAChB,oBAAoB,CAAC,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACjE,OAAO;QACT,CAAC;QAED,yEAAyE;QACzE,0EAA0E;QAC1E,4DAA4D;QAC5D,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YACvC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,IAAI,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,IAAI,qBAAqB,EAAE,CAAC;gBAC7D,UAAU,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;YAC/B,CAAC;YACD,UAAU,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC;YAEhC,MAAM,MAAM,GAAG,kBAAkB,CAAC;gBAChC,KAAK;gBACL,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,IAAI,EAAE,MAAM,CAAC,aAAa,CAAC,GAAG;gBAC9B,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,QAAQ,EAAE,WAAW,CAAC,OAAO,KAAK,MAAM;gBACxC,iBAAiB,EAAE,aAAa,CAAC,OAAO,CAAC,UAAU,EAAE;gBACrD,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK;aACrC,CAAC,CAAC;YAEH,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;gBAC7B,GAAG,CAAC,cAAc,EAAE,CAAC;gBACrB,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;gBACzC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACd,oBAAoB,CAAC,QAAQ,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvD,OAAO;YACT,CAAC;YAED,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,QAAQ,GACZ,KAAK,KAAK,IAAI;oBACZ,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;oBAC9C,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACnC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC3B,GAAG,CAAC,cAAc,EAAE,CAAC;oBACrB,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;oBACzB,MAAM,CAAC,aAAa,EAAE,CAAC;oBACvB,WAAW,EAAE,CAAC;oBACd,eAAe,EAAE,CAAC;gBACpB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,SAAS,SAAS,CAAC,GAAa;QAC9B,uEAAuE;QACvE,yEAAyE;QACzE,gEAAgE;QAChE,IAAI,CAAC,iBAAiB,IAAI,WAAW,CAAC,OAAO,KAAK,MAAM;YAAE,OAAO;QACjE,uBAAuB,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,sEAAsE;IACtE,SAAS,CAAC,GAAG,EAAE;QACb,eAAe,EAAE,CAAC;QAClB,MAAM,KAAK,GAAG,qBAAqB,CAAC,eAAe,CAAC,CAAC;QACrD,OAAO,GAAG,EAAE,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACzC,4EAA4E;IAC9E,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAElB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,uBAAuB,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACpE,MAAM,SAAS,GAAG,QAAQ,GAAG,CAAC,CAAC;IAC/B,MAAM,SAAS,GAAG,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAC1D,kEAAkE;IAClE,MAAM,QAAQ,GAAG,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;IAErE,SAAS,aAAa;QACpB,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACvC,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;IAC7B,CAAC;IAED,MAAM,cAAc,GAAG,GAAS,EAAE;QAChC,OAAO,CAAC,OAAO,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QACnC,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC;QAC7B,gBAAgB,CAAC,OAAO,GAAG,SAAS,CAAC;QACrC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC1B,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC9B,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,eAAe,CAAC;QACnC,SAAS;QACT,QAAQ;QACR,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;QAC1D,eAAe,EAAE,GAAG,EAAE;YACpB,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC9B,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAChC,CAAC;QACD,cAAc;QACd,cAAc;QACd,eAAe,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC;QACxC,aAAa;QACb,WAAW;QACX,eAAe;QACf,MAAM,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,CAC9B,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;KAC1D,CAAC,CAAC;IACH,MAAM,eAAe,GAAG,YAAY,CAAC,KAAK,CAAC;IAE3C,SAAS,eAAe,CAAC,KAAa;QACpC,WAAW,CAAC,OAAO,GAAG,KAAK,CAAC;QAC5B,WAAW,CAAC,KAAK,CAAC,CAAC;QACnB,aAAa,EAAE,CAAC;IAClB,CAAC;IAED,SAAS,kBAAkB,CAAC,KAAa;QACvC,aAAa,EAAE,CAAC;QAChB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAChC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO;QACpC,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;YAC9D,gBAAgB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5C,OAAO;QACT,CAAC;QACD,gBAAgB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,CACL,eACE,KAAK,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,EAChE,aAAa,EAAE,eAAe,aAE9B,KAAC,kBAAkB,IACjB,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,KAAK,CAAC,cAAc,IAAI,EAAE,EACnC,YAAY,EAAE,eAAe,EAC7B,eAAe,EAAE,kBAAkB,GACnC,EACF,KAAC,YAAY,IACX,OAAO,EAAE,UAAU,EACnB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,eAAe,GACzB,EACF,KAAC,gBAAgB,IACf,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,KAAK,EAAE,UAAU,EACjB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,mBAAmB,EAChC,WAAW,EAAE,aAAa,EAC1B,aAAa,EAAE,eAAe,EAC9B,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,GAAG,EAAE;oBACpB,WAAW,EAAE,CAAC;oBACd,cAAc,CAAC,eAAe,CAAC,CAAC;gBAClC,CAAC,EACD,cAAc,EAAE,GAAG,EAAE;oBACnB,WAAW,EAAE,CAAC;oBACd,eAAe,EAAE,CAAC;gBACpB,CAAC,EACD,SAAS,EAAE,SAAS,GACpB,IACE,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Draft-level composer actions that need more than a keystroke: cut (copy then
3
+ * clear) and "show every slash command". Kept out of the editor component so
4
+ * the clipboard call site stays explicit and reviewable.
5
+ */
6
+ import type { ClipboardPort } from "../../app/ports/clipboard-port.js";
7
+ export interface DraftEditor {
8
+ readonly plainText: string;
9
+ setText(value: string): void;
10
+ gotoBufferEnd(): void;
11
+ }
12
+ export interface CutDraftInput {
13
+ readonly editor: DraftEditor;
14
+ readonly clipboard: ClipboardPort;
15
+ /** Expands paste placeholders so the clipboard gets the real text. */
16
+ readonly expand: (text: string) => string;
17
+ readonly clearDraft: () => void;
18
+ readonly focus: () => void;
19
+ }
20
+ export type CutDraftOutcome = "empty" | "cut" | "cleared-copy-failed";
21
+ /**
22
+ * Ctrl+Shift+X. The draft is cleared whether or not the copy succeeded, so the
23
+ * key never silently does nothing; the caller reports which happened.
24
+ */
25
+ export declare function cutDraft(input: CutDraftInput): Promise<CutDraftOutcome>;
26
+ export declare function cutDraftMessage(outcome: CutDraftOutcome): string;
27
+ /**
28
+ * Put the composer into the state typing "/" produces, so the click target in
29
+ * the status row and the keystroke show the identical command list.
30
+ */
31
+ export declare function primeCommandMenu(editor: DraftEditor): void;
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Draft-level composer actions that need more than a keystroke: cut (copy then
3
+ * clear) and "show every slash command". Kept out of the editor component so
4
+ * the clipboard call site stays explicit and reviewable.
5
+ */
6
+ /**
7
+ * Ctrl+Shift+X. The draft is cleared whether or not the copy succeeded, so the
8
+ * key never silently does nothing; the caller reports which happened.
9
+ */
10
+ export async function cutDraft(input) {
11
+ const draft = input.expand(input.editor.plainText);
12
+ if (!draft.trim())
13
+ return "empty";
14
+ let copied = true;
15
+ try {
16
+ await input.clipboard.writeText(draft);
17
+ }
18
+ catch {
19
+ copied = false;
20
+ }
21
+ input.clearDraft();
22
+ input.focus();
23
+ return copied ? "cut" : "cleared-copy-failed";
24
+ }
25
+ export function cutDraftMessage(outcome) {
26
+ switch (outcome) {
27
+ case "empty":
28
+ return "Nothing to cut · draft is empty";
29
+ case "cut":
30
+ return "Draft cut to clipboard · ⇧^X";
31
+ default:
32
+ return "Draft cleared — clipboard unavailable";
33
+ }
34
+ }
35
+ /**
36
+ * Put the composer into the state typing "/" produces, so the click target in
37
+ * the status row and the keystroke show the identical command list.
38
+ */
39
+ export function primeCommandMenu(editor) {
40
+ if (!editor.plainText.startsWith("/")) {
41
+ editor.setText(`/${editor.plainText}`);
42
+ }
43
+ editor.gotoBufferEnd();
44
+ }
45
+ //# sourceMappingURL=draft-actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"draft-actions.js","sourceRoot":"","sources":["../../../src/tui-v2/composer/draft-actions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAqBH;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,KAAoB;IACjD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACnD,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;QAAE,OAAO,OAAO,CAAC;IAClC,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,GAAG,KAAK,CAAC;IACjB,CAAC;IACD,KAAK,CAAC,UAAU,EAAE,CAAC;IACnB,KAAK,CAAC,KAAK,EAAE,CAAC;IACd,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,qBAAqB,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAwB;IACtD,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,OAAO;YACV,OAAO,iCAAiC,CAAC;QAC3C,KAAK,KAAK;YACR,OAAO,8BAA8B,CAAC;QACxC;YACE,OAAO,uCAAuC,CAAC;IACnD,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAmB;IAClD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACtC,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;IACzC,CAAC;IACD,MAAM,CAAC,aAAa,EAAE,CAAC;AACzB,CAAC"}
@@ -13,7 +13,7 @@
13
13
  * Terminals report modifiers inconsistently: Option is usually `meta`, Cmd
14
14
  * is usually `super` (and sometimes arrives as Ctrl+U for Backspace).
15
15
  */
16
- export type TextareaActionName = "submit" | "newline" | "delete-to-line-start" | "delete-to-line-end" | "delete-line" | "delete-word-backward" | "delete-word-forward";
16
+ export type TextareaActionName = "submit" | "newline" | "delete-to-line-start" | "delete-to-line-end" | "delete-line" | "delete-word-backward" | "delete-word-forward" | "select-all" | "select-word-backward" | "select-word-forward" | "select-line-home" | "select-line-end";
17
17
  export interface TextareaKeyBindingLike {
18
18
  readonly name: string;
19
19
  readonly ctrl?: boolean;
@@ -46,6 +46,39 @@ export function buildComposerTextareaOverrides() {
46
46
  overrides.push({ name: "u", ctrl: true, action: "delete-line" });
47
47
  // Ctrl+K keeps "kill to end of line" (readline) for power users.
48
48
  overrides.push({ name: "k", ctrl: true, action: "delete-to-line-end" });
49
+ // ── Selection
50
+ // OpenTUI's defaults bind shift+arrow and shift+home/end, but never bind
51
+ // `select-all` or the word/line selection actions, so those were unreachable.
52
+ // Cmd+A is the platform-native select-all; Ctrl+Alt+A covers terminals that
53
+ // do not deliver super, without shadowing readline Ctrl+A (line-home).
54
+ overrides.push({ name: "a", super: true, action: "select-all" });
55
+ overrides.push({ name: "a", ctrl: true, meta: true, action: "select-all" });
56
+ // Option/Alt + Shift + arrow → extend by word (macOS/most terminals).
57
+ overrides.push({
58
+ name: "left",
59
+ meta: true,
60
+ shift: true,
61
+ action: "select-word-backward",
62
+ });
63
+ overrides.push({
64
+ name: "right",
65
+ meta: true,
66
+ shift: true,
67
+ action: "select-word-forward",
68
+ });
69
+ // Cmd + Shift + arrow → extend to the visual line edge.
70
+ overrides.push({
71
+ name: "left",
72
+ super: true,
73
+ shift: true,
74
+ action: "select-line-home",
75
+ });
76
+ overrides.push({
77
+ name: "right",
78
+ super: true,
79
+ shift: true,
80
+ action: "select-line-end",
81
+ });
49
82
  return overrides;
50
83
  }
51
84
  //# sourceMappingURL=textarea-keybindings.js.map