tailii-host 0.5.0 → 0.7.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 (123) hide show
  1. package/dist/approval/hook.js +11 -1
  2. package/dist/approval/hook.js.map +1 -1
  3. package/dist/backend/herdr.d.ts +60 -6
  4. package/dist/backend/herdr.js +180 -27
  5. package/dist/backend/herdr.js.map +1 -1
  6. package/dist/backend/sessionBackend.d.ts +22 -3
  7. package/dist/backend/sessionBackend.js +11 -2
  8. package/dist/backend/sessionBackend.js.map +1 -1
  9. package/dist/backend/tmux.d.ts +197 -3
  10. package/dist/backend/tmux.js +565 -16
  11. package/dist/backend/tmux.js.map +1 -1
  12. package/dist/chat/chatTailController.d.ts +4 -2
  13. package/dist/chat/chatTailController.js +19 -33
  14. package/dist/chat/chatTailController.js.map +1 -1
  15. package/dist/chat/imageService.d.ts +9 -1
  16. package/dist/chat/imageService.js +39 -0
  17. package/dist/chat/imageService.js.map +1 -1
  18. package/dist/chat/subagentTailer.d.ts +10 -0
  19. package/dist/chat/subagentTailer.js +234 -51
  20. package/dist/chat/subagentTailer.js.map +1 -1
  21. package/dist/chat/subagentTranscript.js +51 -5
  22. package/dist/chat/subagentTranscript.js.map +1 -1
  23. package/dist/chat/transcriptTailer.d.ts +53 -1
  24. package/dist/chat/transcriptTailer.js +313 -2
  25. package/dist/chat/transcriptTailer.js.map +1 -1
  26. package/dist/codex/codexAppServer.d.ts +54 -9
  27. package/dist/codex/codexAppServer.js +495 -76
  28. package/dist/codex/codexAppServer.js.map +1 -1
  29. package/dist/codex/codexNativeTurnController.d.ts +22 -1
  30. package/dist/codex/codexNativeTurnController.js +76 -11
  31. package/dist/codex/codexNativeTurnController.js.map +1 -1
  32. package/dist/codex/codexRolloutTailer.d.ts +3 -0
  33. package/dist/codex/codexRolloutTailer.js +85 -13
  34. package/dist/codex/codexRolloutTailer.js.map +1 -1
  35. package/dist/codex/codexSessionStore.js +54 -16
  36. package/dist/codex/codexSessionStore.js.map +1 -1
  37. package/dist/codex/codexSubagentTracker.d.ts +13 -0
  38. package/dist/codex/codexSubagentTracker.js +55 -1
  39. package/dist/codex/codexSubagentTracker.js.map +1 -1
  40. package/dist/codex/codexSystemNotice.d.ts +18 -0
  41. package/dist/codex/codexSystemNotice.js +212 -0
  42. package/dist/codex/codexSystemNotice.js.map +1 -0
  43. package/dist/commands/launch.js +50 -13
  44. package/dist/commands/launch.js.map +1 -1
  45. package/dist/engine/context.d.ts +32 -1
  46. package/dist/engine/context.js +39 -3
  47. package/dist/engine/context.js.map +1 -1
  48. package/dist/engine/engine.d.ts +5 -1
  49. package/dist/engine/engine.js +87 -4
  50. package/dist/engine/engine.js.map +1 -1
  51. package/dist/engine/handlers/accountUsage.d.ts +17 -0
  52. package/dist/engine/handlers/accountUsage.js +40 -6
  53. package/dist/engine/handlers/accountUsage.js.map +1 -1
  54. package/dist/engine/handlers/codex.js +37 -0
  55. package/dist/engine/handlers/codex.js.map +1 -1
  56. package/dist/engine/handlers/core.js +14 -1
  57. package/dist/engine/handlers/core.js.map +1 -1
  58. package/dist/engine/handlers/mode.js +105 -1
  59. package/dist/engine/handlers/mode.js.map +1 -1
  60. package/dist/engine/handlers/session.js +17 -33
  61. package/dist/engine/handlers/session.js.map +1 -1
  62. package/dist/engine/handlers/usage.js +4 -1
  63. package/dist/engine/handlers/usage.js.map +1 -1
  64. package/dist/engine/handlers/workspace.js +22 -1
  65. package/dist/engine/handlers/workspace.js.map +1 -1
  66. package/dist/hub/effortDialog.d.ts +15 -0
  67. package/dist/hub/effortDialog.js +60 -16
  68. package/dist/hub/effortDialog.js.map +1 -1
  69. package/dist/hub/engineRelaySocket.d.ts +7 -0
  70. package/dist/hub/engineRelaySocket.js +7 -1
  71. package/dist/hub/engineRelaySocket.js.map +1 -1
  72. package/dist/hub/hubDaemon.js +30 -5
  73. package/dist/hub/hubDaemon.js.map +1 -1
  74. package/dist/hub/hubProtocol.d.ts +10 -0
  75. package/dist/hub/hubProtocol.js +19 -2
  76. package/dist/hub/hubProtocol.js.map +1 -1
  77. package/dist/hub/panePreviewPump.d.ts +27 -0
  78. package/dist/hub/panePreviewPump.js +62 -1
  79. package/dist/hub/panePreviewPump.js.map +1 -1
  80. package/dist/hub/sessionHub.d.ts +125 -4
  81. package/dist/hub/sessionHub.js +413 -48
  82. package/dist/hub/sessionHub.js.map +1 -1
  83. package/dist/protocol/decode.js +84 -15
  84. package/dist/protocol/decode.js.map +1 -1
  85. package/dist/protocol/encode.js +2 -0
  86. package/dist/protocol/encode.js.map +1 -1
  87. package/dist/protocol/messages.d.ts +87 -1
  88. package/dist/services/accountIdentity.js +3 -1
  89. package/dist/services/accountIdentity.js.map +1 -1
  90. package/dist/services/fileService.d.ts +15 -0
  91. package/dist/services/fileService.js +176 -14
  92. package/dist/services/fileService.js.map +1 -1
  93. package/dist/services/officialApps.d.ts +21 -1
  94. package/dist/services/officialApps.js +201 -53
  95. package/dist/services/officialApps.js.map +1 -1
  96. package/dist/services/planUsageFetcher.d.ts +35 -3
  97. package/dist/services/planUsageFetcher.js +34 -6
  98. package/dist/services/planUsageFetcher.js.map +1 -1
  99. package/dist/services/previewServer.js +15 -6
  100. package/dist/services/previewServer.js.map +1 -1
  101. package/dist/sessions/claudeSessionStore.js +30 -0
  102. package/dist/sessions/claudeSessionStore.js.map +1 -1
  103. package/dist/sessions/heartbeat.d.ts +7 -1
  104. package/dist/sessions/heartbeat.js +3 -1
  105. package/dist/sessions/heartbeat.js.map +1 -1
  106. package/dist/sessions/sessionSearch.js +23 -5
  107. package/dist/sessions/sessionSearch.js.map +1 -1
  108. package/dist/sessions/transcriptPath.d.ts +3 -0
  109. package/dist/sessions/transcriptPath.js +15 -0
  110. package/dist/sessions/transcriptPath.js.map +1 -0
  111. package/dist/shared/clientBuild.d.ts +26 -0
  112. package/dist/shared/clientBuild.js +89 -0
  113. package/dist/shared/clientBuild.js.map +1 -0
  114. package/dist/shared/crossSession.d.ts +15 -0
  115. package/dist/shared/crossSession.js +75 -0
  116. package/dist/shared/crossSession.js.map +1 -0
  117. package/dist/shared/harnessReminder.d.ts +32 -0
  118. package/dist/shared/harnessReminder.js +124 -0
  119. package/dist/shared/harnessReminder.js.map +1 -0
  120. package/dist/shared/systemNotice.d.ts +30 -0
  121. package/dist/shared/systemNotice.js +209 -0
  122. package/dist/shared/systemNotice.js.map +1 -0
  123. package/package.json +3 -3
@@ -11,6 +11,7 @@ import * as path from "node:path";
11
11
  import { PROTOCOL_V1, } from "../protocol.js";
12
12
  import { isInjectedSkillContent } from "../shared/skillInjection.js";
13
13
  import { abortableSleep } from "../shared/sleep.js";
14
+ import { createSystemNoticeContext, fallbackBlockNotice, systemNoticeText, } from "../shared/systemNotice.js";
14
15
  /** 履歴再生完了マーカーの streamId(iOS 側 `ChatLogModel` と対で解釈する)。 */
15
16
  export const HISTORY_DONE_STREAM_ID = "pc:history-done";
16
17
  /** 利用中モデル通知マーカーの streamId(iOS 側 `ChatLogModel` と対で解釈する)。 */
@@ -26,6 +27,170 @@ export const CONTEXT_STREAM_ID = "pc:context";
26
27
  export const EFFORT_STREAM_ID = "pc:effort";
27
28
  /** claude の effort 既知値(未知値は通知しない)。 */
28
29
  const EFFORT_LEVELS = new Set(["low", "medium", "high", "xhigh", "max"]);
30
+ /**
31
+ * 利用者の中断確定マーカー(claude が transcript に user 行として記録する
32
+ * "[Request interrupted by user]" / "[Request interrupted by user for tool use]")。
33
+ * iOS 側 `ChatLogModel` は同じ文字列を `contains` で「停止中」解除に使うが、host は処理中状態
34
+ * (権威)を落とす側なので行頭一致に絞り、ピア封筒などの本文引用では反応しない。
35
+ */
36
+ const INTERRUPT_MARKER_PREFIX = "[Request interrupted by user";
37
+ /** user ターン本文が中断確定マーカーか(行頭一致。本文中の引用は除外する)。 */
38
+ function isClaudeInterruptMarker(text) {
39
+ return text.trimStart().startsWith(INTERRUPT_MARKER_PREFIX);
40
+ }
41
+ /**
42
+ * API エラー終端行か(claude が transcript に記録する合成 assistant 行。`isApiErrorMessage: true`、
43
+ * model は `<synthetic>`。実測 2026-09-07: 使用量上限 `error: "rate_limit"` 429「You've hit your
44
+ * session limit · resets 2am」/ `server_error` 529 Overloaded / `authentication_failed` 403
45
+ * 「Please run /login」)。この行が書かれた時点でターンは終わっており TUI は入力待ちに戻るが、
46
+ * Stop hook はこの終わり方では発火しない(利用者の中断と同じ)。
47
+ * キー名の部分一致で前置フィルタしてから JSON で確認する(毎行の parse 二重化を避ける。値や
48
+ * 空白の書式には依存させない — 書式変更で判定が無言で失効しないように)。
49
+ */
50
+ function isApiErrorAssistantLine(text) {
51
+ // 引用符込みでキー名を探す(本文中に同名文字列を含む巨大 tool_result 行で parse を走らせない)。
52
+ if (!text.includes('"isApiErrorMessage"'))
53
+ return false;
54
+ try {
55
+ const parsed = JSON.parse(text);
56
+ if (typeof parsed !== "object" || parsed === null)
57
+ return false;
58
+ const record = parsed;
59
+ return record["type"] === "assistant" && record["isApiErrorMessage"] === true;
60
+ }
61
+ catch {
62
+ return false;
63
+ }
64
+ }
65
+ /**
66
+ * transcript 末尾を読み、最後のターン記録が「ターン終端マーカー」ならその行の timestamp(ms) を
67
+ * 返す。終端マーカー = 利用者の中断確定(user 行)/ API エラー終端(`isApiErrorMessage` の
68
+ * assistant 行)。マーカーの後に新しい発話(本文のある user ターン)があれば null(=ターン進行中
69
+ * の可能性)。Hub 再起動時の復元で「再起動前に中断済み / 使用量上限で止まったまま放置された会話」
70
+ * を処理中に戻さないために使う(engine の再接続購読は newerThanMs 付きで履歴マーカーを流さない
71
+ * ため、tail 経由では観測できない)。本文の無い user 行(tool_result / 画像のみ / スキル注入)と
72
+ * ローカルコマンド記録(`/effort` `/rename` `/model` 等。type=system の旧形も、現行の type=user
73
+ * `<command-name>` 形も。ターンを始めない)、isMeta の注記(`[Image: …]` 等)、AskUserQuestion の回答
74
+ * (tool_result 由来)は発話とみなさない(`userLineKind`)。画像のみの発話で始まった進行中ターンは稀に idle 判定になり得るが、次の hook
75
+ * (PreToolUse 等)の active で数秒後に自己修復する。末尾 tailBytes だけを読むので、それより
76
+ * 長い最終行は解釈できず null(=処理中のまま)に倒れる。
77
+ */
78
+ export function findTrailingTurnEndMarkerMs(transcriptPath, tailBytes = 256 * 1024) {
79
+ let fd;
80
+ try {
81
+ fd = fs.openSync(transcriptPath, "r");
82
+ }
83
+ catch {
84
+ return null;
85
+ }
86
+ try {
87
+ const size = fs.fstatSync(fd).size;
88
+ const start = Math.max(0, size - tailBytes);
89
+ // 1 バイト手前から読み、窓の先頭が行境界なら先頭要素は空文字になる(完全な行を捨てない)。
90
+ const readStart = start > 0 ? start - 1 : 0;
91
+ const buffer = Buffer.alloc(size - readStart);
92
+ const read = fs.readSync(fd, buffer, 0, buffer.length, readStart);
93
+ const lines = buffer.subarray(0, read).toString("utf8").split("\n");
94
+ if (start > 0)
95
+ lines.shift(); // 途中から読んだ先頭の欠け行(または境界の空要素)を捨てる。
96
+ let last = null;
97
+ for (const raw of lines) {
98
+ const line = raw.replaceAll("\r", "");
99
+ if (!line)
100
+ continue;
101
+ if (isSystemRecordLine(line))
102
+ continue;
103
+ if (isApiErrorAssistantLine(line)) {
104
+ // timestamp 不明の終端行は判定材料にしない(直前の有効な中断マーカーを null で潰さない)。
105
+ const atMs = lineTimestampMs(Buffer.from(line, "utf8"));
106
+ if (Number.isFinite(atMs))
107
+ last = { turnEnd: true, atMs };
108
+ continue;
109
+ }
110
+ const turn = extractTurn(line);
111
+ if (turn === null || turn.role !== "user" || turn.text.length === 0)
112
+ continue;
113
+ // 発話でない user 形の記録(isMeta 注記・ローカルコマンド記録・tool_result 由来の本文)はターンを
114
+ // 始めないので、直前の終端マーカーを隠さない。attachment(吸収された queued 発話)は従来どおり
115
+ // 進行中の証拠として数える。
116
+ const kind = userLineKind(line);
117
+ if (kind === "meta" || kind === "local-command" || kind === "tool-result")
118
+ continue;
119
+ last = { turnEnd: isClaudeInterruptMarker(turn.text), atMs: lineTimestampMs(Buffer.from(line, "utf8")) };
120
+ }
121
+ if (last === null || !last.turnEnd || !Number.isFinite(last.atMs))
122
+ return null;
123
+ return last.atMs;
124
+ }
125
+ catch {
126
+ return null;
127
+ }
128
+ finally {
129
+ try {
130
+ fs.closeSync(fd);
131
+ }
132
+ catch {
133
+ // 二重 close 等は無視。
134
+ }
135
+ }
136
+ }
137
+ /** 旧名(中断マーカーのみ)の互換エイリアス。判定は終端マーカー全般(中断 + API エラー)へ広がっている。 */
138
+ export const findTrailingInterruptMarkerMs = findTrailingTurnEndMarkerMs;
139
+ /**
140
+ * transcript 末尾を読み、最後に記録された「本物の発話」(`userLineKind` = utterance)の本文を返す
141
+ * (claude 会話のみ。中断確定マーカー・ローカルコマンド記録・tool_result・isMeta 注記・attachment は
142
+ * 発話に数えない。不明 / 読めない / 末尾が中断マーカーは null)。
143
+ *
144
+ * 用途は chat 注入前の「入力欄の残存テキスト」の身元判定(restored-prompt-discard)。Claude Code
145
+ * 2.1.263 は、出力が始まる前に中断(C-c / Esc)されると **その発話の本文を入力欄へ書き戻す**
146
+ * (transcript には user 行が残ったまま、次の発話の parentUuid はその前へ戻る)。queued 発話が
147
+ * ある中断は書き戻さず自動送信する(実測 2026-09-08 sandbox)。したがって注入時に入力欄へ残って
148
+ * いる本文が「transcript の直近の発話と同文」なら、それは既に配送・表示済みで利用者が取り消した
149
+ * ものなので、Enter で送り直すと同じ発話が二重に届く(実機 2026-09-08: 中断→別文を送信で
150
+ * 中断前の発話が重複投稿)。呼び出し側はこの本文と照合して flush(Enter)ではなく破棄(C-u)を選ぶ。
151
+ */
152
+ export function findTrailingUserPromptText(transcriptPath, tailBytes = 256 * 1024) {
153
+ let fd;
154
+ try {
155
+ fd = fs.openSync(transcriptPath, "r");
156
+ }
157
+ catch {
158
+ return null;
159
+ }
160
+ try {
161
+ const size = fs.fstatSync(fd).size;
162
+ const start = Math.max(0, size - tailBytes);
163
+ const readStart = start > 0 ? start - 1 : 0;
164
+ const buffer = Buffer.alloc(size - readStart);
165
+ const read = fs.readSync(fd, buffer, 0, buffer.length, readStart);
166
+ const lines = buffer.subarray(0, read).toString("utf8").split("\n");
167
+ if (start > 0)
168
+ lines.shift();
169
+ for (let index = lines.length - 1; index >= 0; index -= 1) {
170
+ const line = (lines[index] ?? "").replaceAll("\r", "");
171
+ if (!line)
172
+ continue;
173
+ if (userLineKind(line) !== "utterance")
174
+ continue;
175
+ const body = userLineBodyText(line);
176
+ if (body === null || body.trim().length === 0)
177
+ return null;
178
+ return isClaudeInterruptMarker(body) ? null : body;
179
+ }
180
+ return null;
181
+ }
182
+ catch {
183
+ return null;
184
+ }
185
+ finally {
186
+ try {
187
+ fs.closeSync(fd);
188
+ }
189
+ catch {
190
+ // 二重 close 等は無視。
191
+ }
192
+ }
193
+ }
29
194
  const MAX_COMMAND_CHARACTERS = 8_000;
30
195
  const MAX_DESCRIPTION_CHARACTERS = 2_000;
31
196
  const MAX_DIFF_FIELD_CHARACTERS = 24_000;
@@ -41,12 +206,17 @@ export class TranscriptTailer {
41
206
  tailDeadlineMs;
42
207
  tailIndefinitely;
43
208
  emitReplayDoneMarker;
209
+ lifecycleObserver = null;
44
210
  constructor(options = {}) {
45
211
  this.pollIntervalMs = options.pollIntervalMs ?? 50;
46
212
  this.tailDeadlineMs = options.tailDeadlineMs ?? null;
47
213
  this.tailIndefinitely = options.tailIndefinitely ?? false;
48
214
  this.emitReplayDoneMarker = options.emitReplayDoneMarker ?? false;
49
215
  }
216
+ /** ターン権威ライフサイクル(中断マーカー等)の観測者を登録する。以後に開始した tail から有効。 */
217
+ setTurnLifecycleObserver(observer) {
218
+ this.lifecycleObserver = observer;
219
+ }
50
220
  /** `path` の JSONL を頭から読み、assistant/user ターンを chat_output として流す。 */
51
221
  async *streamTranscript(transcriptPath, signal) {
52
222
  yield* this.runTail(transcriptPath, null, signal);
@@ -130,8 +300,10 @@ export class TranscriptTailer {
130
300
  lastModel: null,
131
301
  lastContextTokens: null,
132
302
  lastEffort: null,
303
+ noticeCtx: createSystemNoticeContext(),
133
304
  activeQuestionIds: new Set(),
134
305
  pendingSkillActivities: new Map(),
306
+ onLifecycle: this.lifecycleObserver,
135
307
  };
136
308
  const start = Date.now();
137
309
  let announcedReplayDone = false;
@@ -213,14 +385,134 @@ function lineTimestampMs(line) {
213
385
  catch { /* emitLine と同様に不正行は破棄する。 */ }
214
386
  return Number.NEGATIVE_INFINITY;
215
387
  }
388
+ /** type=system の記録行か(ローカルコマンド記録など。extractTurn は表示用に user 扱いへ写す)。 */
389
+ function isSystemRecordLine(line) {
390
+ return rawRecordType(line) === "system";
391
+ }
392
+ /**
393
+ * ローカルコマンド記録の本文先頭。`<command-name>` 先頭の形が `/model` `/effort` 等のローカル
394
+ * コマンド(ターンを始めない)。`<command-message>` 先頭の形はプロンプト展開系のスラッシュコマンド
395
+ * (`/hq:brief` 等 = 本物のターン開始)で、実 transcript 169 本の観測ではタグ順がこの区別に対応
396
+ * している(2026-09-07)。順序の仮定が崩れた版が出たら `<command-name>` の中身で判定に変える。
397
+ */
398
+ const LOCAL_COMMAND_BODY_PREFIXES = ["<command-name>", "<local-command-stdout>", "<local-command-caveat>"];
399
+ /**
400
+ * `isMeta: true` の user 行のうち「注記」(ターンを始めない)の本文先頭。isMeta は一律に注記では
401
+ * なく、cross-session の起こし(`Another Claude session sent a message:`)や監視系の自動再開
402
+ * プロンプトも isMeta で書かれ、これらはターンを始める本物の発話(実 transcript で確認)。
403
+ */
404
+ const META_ANNOTATION_BODY_PREFIXES = [
405
+ "[Image:", "<local-command-caveat>", "Base directory for this skill:", "Your tool call was malformed",
406
+ ];
407
+ /**
408
+ * user 行の本文(content が文字列ならそのまま、ブロック配列なら text ブロックの連結。tool_result
409
+ * のみ等は "")。user 行でない / 解釈不能は null。`userLineKind` の種別判定と、注入前の残存テキスト
410
+ * 照合(`findTrailingUserPromptText`)が同じ本文を見る。
411
+ */
412
+ function userLineBodyText(line) {
413
+ try {
414
+ const parsed = JSON.parse(line);
415
+ if (typeof parsed !== "object" || parsed === null)
416
+ return null;
417
+ const record = parsed;
418
+ if (record["type"] !== "user")
419
+ return null;
420
+ const message = record["message"];
421
+ if (typeof message !== "object" || message === null)
422
+ return null;
423
+ const content = message["content"];
424
+ if (typeof content === "string")
425
+ return content;
426
+ if (!Array.isArray(content))
427
+ return "";
428
+ return content
429
+ .map((block) => (typeof block === "object" && block !== null &&
430
+ block["type"] === "text" &&
431
+ typeof block["text"] === "string"
432
+ ? block["text"] : ""))
433
+ .join("");
434
+ }
435
+ catch {
436
+ return null;
437
+ }
438
+ }
439
+ function userLineKind(line) {
440
+ try {
441
+ const parsed = JSON.parse(line);
442
+ if (typeof parsed !== "object" || parsed === null)
443
+ return "other";
444
+ const record = parsed;
445
+ if (record["type"] === "attachment")
446
+ return "attachment";
447
+ if (record["type"] !== "user")
448
+ return "other";
449
+ const body = userLineBodyText(line);
450
+ if (body === null)
451
+ return "other";
452
+ const trimmed = body.trim();
453
+ if (trimmed.length === 0)
454
+ return "tool-result";
455
+ if (record["isMeta"] === true) {
456
+ // スキル本文の注入(sourceToolUseID 付き)と既知の注記だけを「注記」にする。それ以外の isMeta
457
+ // (cross-session の起こし・自動再開プロンプト)はターンを始める発話として扱う。
458
+ if (typeof record["sourceToolUseID"] === "string")
459
+ return "meta";
460
+ if (META_ANNOTATION_BODY_PREFIXES.some((prefix) => trimmed.startsWith(prefix)))
461
+ return "meta";
462
+ }
463
+ if (LOCAL_COMMAND_BODY_PREFIXES.some((prefix) => trimmed.startsWith(prefix)))
464
+ return "local-command";
465
+ return "utterance";
466
+ }
467
+ catch {
468
+ return "other";
469
+ }
470
+ }
471
+ /** JSONL 記録の生の `type`(user / assistant / attachment / system …)。解釈不能は null。 */
472
+ function rawRecordType(line) {
473
+ try {
474
+ const parsed = JSON.parse(line);
475
+ return typeof parsed.type === "string" ? parsed.type : null;
476
+ }
477
+ catch {
478
+ return null;
479
+ }
480
+ }
216
481
  /** 1 行(JSONL)をパースし、生成メッセージを列挙する。解釈できない行はスキップ。 */
217
482
  function* emitLine(line, state) {
218
483
  const text = line.toString("utf8").replaceAll("\r", "");
219
484
  if (!text)
220
485
  return;
221
- const turn = extractTurn(text);
486
+ // API エラー終端(使用量上限 429 / 529 / 認証失敗): 中断と同じくターン終了の権威。表示用の
487
+ // 行解釈(extractTurn)とは独立に判定する(表示側で落とされてもターン終了は見逃さない)。
488
+ // 実機 2026-09-07: 「You've hit your session limit」で止まった会話が hub では処理中のまま残り、
489
+ // 停止ボタン点灯・背景購読の継続(開き直しても履歴再生が走らず host 経路が配線されない)・
490
+ // reaper の計時停止を招いていた。
491
+ if (state.onLifecycle !== null && isApiErrorAssistantLine(text)) {
492
+ const atMs = lineTimestampMs(line);
493
+ if (Number.isFinite(atMs))
494
+ state.onLifecycle({ kind: "api_error", atMs });
495
+ }
496
+ const turn = extractTurn(text, state.noticeCtx);
222
497
  if (turn === null)
223
498
  return;
499
+ // 中断確定マーカー: ターン終了の権威(Stop hook は中断で発火しない)。表示用の chat_output
500
+ // とは別に、行の timestamp 付きで観測者へ通知する。timestamp 不明行は履歴/ライブを区別
501
+ // できないため通知しない(誤って進行中ターンを終了扱いにしない側へ倒す)。
502
+ if (state.onLifecycle !== null && turn.role === "user" && turn.text.length > 0) {
503
+ const atMs = lineTimestampMs(line);
504
+ if (Number.isFinite(atMs)) {
505
+ if (isClaudeInterruptMarker(turn.text)) {
506
+ state.onLifecycle({ kind: "interrupted", atMs });
507
+ }
508
+ else if (userLineKind(text) === "utterance") {
509
+ // 新しい発話の観測(本物の発話だけ。queued_command attachment はターン途中の吸収、isMeta 注記・
510
+ // ローカルコマンド記録・tool_result はターンを始めない)。hub は「終端マーカーより後に発話が
511
+ // 現れた」証拠として、遅着した UserPromptSubmit を捨てるかの判断に使う。
512
+ state.onLifecycle({ kind: "turn_start", atMs });
513
+ }
514
+ }
515
+ }
224
516
  for (const prompt of turn.questionPrompts) {
225
517
  if (state.activeQuestionIds.has(prompt.id))
226
518
  continue;
@@ -312,7 +604,7 @@ function* emitLine(line, state) {
312
604
  }
313
605
  }
314
606
  /** JSONL の 1 行から assistant/user ターンを寛容に抽出する(形式依存を 1 関数に集約)。 */
315
- export function extractTurn(line) {
607
+ export function extractTurn(line, ctx) {
316
608
  let obj;
317
609
  try {
318
610
  obj = JSON.parse(line);
@@ -369,6 +661,12 @@ export function extractTurn(line) {
369
661
  if (rec["subtype"] === "local_command" && content.includes("<")) {
370
662
  return { ...emptyTurn, role: "user", text: content };
371
663
  }
664
+ // 利用者に意味のある通知(モデル自動切替 / API エラー / 会話圧縮 / warning・error 級)を
665
+ // 日本語の system 注記へ(system-notice)。握り潰すと「理由なくモデルが変わった」ように
666
+ // 見える(2026-09-04 実障害: model_refusal_fallback)。転写規則は shared/systemNotice.ts。
667
+ const notice = systemNoticeText(rec, ctx);
668
+ if (notice !== null)
669
+ return { ...emptyTurn, role: "system", text: notice };
372
670
  return null;
373
671
  }
374
672
  const message = typeof rec["message"] === "object" && rec["message"] !== null
@@ -403,6 +701,19 @@ export function extractTurn(line) {
403
701
  const contextTokens = role === "assistant" ? extractContextTokens(message?.["usage"]) : null;
404
702
  const rawEffort = rec["effort"];
405
703
  const effort = role === "assistant" && typeof rawEffort === "string" && EFFORT_LEVELS.has(rawEffort) ? rawEffort : null;
704
+ // モデル自動切替の実時刻告知: assistant 行の `fallback` ブロック(from/to)は切替の瞬間に
705
+ // 書かれ、フォールバック先の最初のツール実行より前に位置する。本文もツールも無いこの行を
706
+ // system 注記へ転写する(model は残して pc:model マーカーも同じ行で切り替える)。後から
707
+ // 来る system/model_refusal_fallback は ctx で重複告知を抑える(system-notice)。
708
+ if (role === "assistant" && text.length === 0 && toolActivities.length === 0) {
709
+ const fallbackNotice = fallbackBlockNotice(rawContent, ctx);
710
+ if (fallbackNotice !== null) {
711
+ return {
712
+ id, role: "system", text: fallbackNotice,
713
+ toolActivities: [], questionPrompts: [], toolResultIds: [], model, contextTokens, effort,
714
+ };
715
+ }
716
+ }
406
717
  const turn = { id, role, text, toolActivities, questionPrompts, toolResultIds, model, contextTokens, effort };
407
718
  if (injectedSkill && typeof rec["sourceToolUseID"] === "string" && plainText.length > 0) {
408
719
  turn.skillInjection = { toolUseId: rec["sourceToolUseID"], text: plainText };
@@ -1 +1 @@
1
- {"version":3,"file":"transcriptTailer.js","sourceRoot":"","sources":["../../src/chat/transcriptTailer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transcriptTailer.js","sourceRoot":"","sources":["../../src/chat/transcriptTailer.ts"],"names":[],"mappings":"AAAA,sBAAsB;AACtB,0DAA0D;AAC1D,sCAAsC;AACtC,gEAAgE;AAChE,6DAA6D;AAC7D,oFAAoF;AACpF,8CAA8C;AAC9C,8CAA8C;AAE9C,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EACL,WAAW,GAQZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EACnB,gBAAgB,GAEjB,MAAM,2BAA2B,CAAC;AAEnC,0DAA0D;AAC1D,MAAM,CAAC,MAAM,sBAAsB,GAAG,iBAAiB,CAAC;AACxD,4DAA4D;AAC5D,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAAC;AAC1C,mEAAmE;AACnE,MAAM,CAAC,MAAM,iBAAiB,GAAG,YAAY,CAAC;AAC9C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAW,CAAC;AAC5C,sCAAsC;AACtC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;AAEzE;;;;;GAKG;AACH,MAAM,uBAAuB,GAAG,8BAA8B,CAAC;AAE/D,8CAA8C;AAC9C,SAAS,uBAAuB,CAAC,IAAY;IAC3C,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;AAC9D,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,uBAAuB,CAAC,IAAY;IAC3C,4DAA4D;IAC5D,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC;QAAE,OAAO,KAAK,CAAC;IACxD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;QAC3C,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC;QAChE,MAAM,MAAM,GAAG,MAAiC,CAAC;QACjD,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,WAAW,IAAI,MAAM,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAC;IAChF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,2BAA2B,CAAC,cAAsB,EAAE,SAAS,GAAG,GAAG,GAAG,IAAI;IACxF,IAAI,EAAU,CAAC;IACf,IAAI,CAAC;QACH,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC,CAAC;QAC5C,gDAAgD;QAChD,MAAM,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;QAC9C,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAClE,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACpE,IAAI,KAAK,GAAG,CAAC;YAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,gCAAgC;QAC9D,IAAI,IAAI,GAA8C,IAAI,CAAC;QAC3D,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACtC,IAAI,CAAC,IAAI;gBAAE,SAAS;YACpB,IAAI,kBAAkB,CAAC,IAAI,CAAC;gBAAE,SAAS;YACvC,IAAI,uBAAuB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,uDAAuD;gBACvD,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;gBACxD,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAAE,IAAI,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;gBAC1D,SAAS;YACX,CAAC;YACD,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAC9E,+DAA+D;YAC/D,0DAA0D;YAC1D,gBAAgB;YAChB,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,eAAe,IAAI,IAAI,KAAK,aAAa;gBAAE,SAAS;YACpF,IAAI,GAAG,EAAE,OAAO,EAAE,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;QAC3G,CAAC;QACD,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAC/E,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;YAAS,CAAC;QACT,IAAI,CAAC;YACH,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC;YACP,iBAAiB;QACnB,CAAC;IACH,CAAC;AACH,CAAC;AAED,6DAA6D;AAC7D,MAAM,CAAC,MAAM,6BAA6B,GAAG,2BAA2B,CAAC;AAEzE;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,0BAA0B,CAAC,cAAsB,EAAE,SAAS,GAAG,GAAG,GAAG,IAAI;IACvF,IAAI,EAAU,CAAC;IACf,IAAI,CAAC;QACH,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;QAC9C,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAClE,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACpE,IAAI,KAAK,GAAG,CAAC;YAAE,KAAK,CAAC,KAAK,EAAE,CAAC;QAC7B,KAAK,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YAC1D,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACvD,IAAI,CAAC,IAAI;gBAAE,SAAS;YACpB,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,WAAW;gBAAE,SAAS;YACjD,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC3D,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QACrD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;YAAS,CAAC;QACT,IAAI,CAAC;YACH,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC;YACP,iBAAiB;QACnB,CAAC;IACH,CAAC;AACH,CAAC;AAqBD,MAAM,sBAAsB,GAAG,KAAK,CAAC;AACrC,MAAM,0BAA0B,GAAG,KAAK,CAAC;AACzC,MAAM,yBAAyB,GAAG,MAAM,CAAC;AACzC,+BAA+B;AAC/B,MAAM,cAAc,GAAG,EAAE,CAAC;AAC1B,4BAA4B;AAC5B,MAAM,2BAA2B,GAAG,GAAG,CAAC;AACxC,oCAAoC;AACpC,MAAM,4BAA4B,GAAG,EAAE,CAAC;AA4CxC,4CAA4C;AAC5C,MAAM,OAAO,gBAAgB;IACV,cAAc,CAAS;IACvB,cAAc,CAAgB;IAC9B,gBAAgB,CAAU;IAC1B,oBAAoB,CAAU;IACvC,iBAAiB,GAAuD,IAAI,CAAC;IAErF,YAAY,OAAO,GAA4B,EAAE;QAC/C,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC;QACnD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC;QACrD,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,KAAK,CAAC;QAC1D,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,IAAI,KAAK,CAAC;IACpE,CAAC;IAED,wDAAwD;IACxD,wBAAwB,CAAC,QAA4D;QACnF,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC;IACpC,CAAC;IAED,mEAAmE;IACnE,KAAK,CAAC,CAAC,gBAAgB,CACrB,cAAsB,EACtB,MAAoB;QAEpB,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,CAAC,gBAAgB,CACrB,GAAW,EACX,kBAAiC,EACjC,WAAW,GAAkB,IAAI,EACjC,MAAoB;QAEpB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,IAAI,QAAQ,GAAkB,IAAI,CAAC;QACnC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;YACxB,QAAQ,GAAG,gBAAgB,CAAC,YAAY,CAAC,GAAG,EAAE,kBAAkB,EAAE,WAAW,CAAC,CAAC;YAC/E,IAAI,QAAQ,KAAK,IAAI;gBAAE,MAAM;YAC7B,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC3B,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,IAAI,CAAC,cAAc;oBAAE,OAAO;YACxF,CAAC;YACD,MAAM,cAAc,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,QAAQ,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;YAC1C,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,YAAY,CACjB,GAAW,EACX,kBAAiC,EACjC,WAAW,GAAkB,IAAI;QAEjC,4DAA4D;QAC5D,+DAA+D;QAC/D,+CAA+C;QAC/C,IAAI,kBAAkB,EAAE,CAAC;YACvB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,kBAAkB,QAAQ,CAAC,CAAC;YAChE,OAAO,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;QACrD,CAAC;QACD,IAAI,KAAe,CAAC;QACpB,IAAI,CAAC;YACH,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,IAAI,GAA6C,IAAI,CAAC;QAC1D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAAE,SAAS;YACvC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC/B,IAAI,OAAe,CAAC;YACpB,IAAI,CAAC;gBACH,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACnC,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,GAAG,CAAC,CAAC;YACd,CAAC;YACD,IAAI,WAAW,KAAK,IAAI,IAAI,OAAO,IAAI,WAAW;gBAAE,SAAS;YAC7D,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO;gBAAE,IAAI,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC;QAC3E,CAAC;QACD,OAAO,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC;IAC5B,CAAC;IAED,wCAAwC;IAChC,KAAK,CAAC,CAAC,OAAO,CACpB,cAAsB,EACtB,WAA0B,EAC1B,MAAoB;QAEpB,IAAI,EAAU,CAAC;QACf,IAAI,CAAC;YACH,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;QACxC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,IAAI,QAAQ,GAAG,CAAC,CAAC;YACjB,IAAI,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,KAAK,GAAc;gBACvB,GAAG,EAAE,CAAC;gBACN,SAAS,EAAE,IAAI;gBACf,iBAAiB,EAAE,IAAI;gBACvB,UAAU,EAAE,IAAI;gBAChB,SAAS,EAAE,yBAAyB,EAAE;gBACtC,iBAAiB,EAAE,IAAI,GAAG,EAAE;gBAC5B,sBAAsB,EAAE,IAAI,GAAG,EAAE;gBACjC,WAAW,EAAE,IAAI,CAAC,iBAAiB;aACpC,CAAC;YACF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACzB,IAAI,mBAAmB,GAAG,KAAK,CAAC;YAChC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAEjC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;gBACxB,IAAI,SAAS,GAAG,CAAC,CAAC;gBAClB,IAAI,CAAC;oBACH,SAAS,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBAChE,CAAC;gBAAC,MAAM,CAAC;oBACP,SAAS,GAAG,CAAC,CAAC;gBAChB,CAAC;gBAED,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;oBACpB,4CAA4C;oBAC5C,IAAI,IAAI,CAAC,oBAAoB,IAAI,CAAC,mBAAmB,EAAE,CAAC;wBACtD,mBAAmB,GAAG,IAAI,CAAC;wBAC3B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACvB,KAAK,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;4BAClD,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBAC5B,CAAC;wBACD,MAAM;4BACJ,IAAI,EAAE,aAAa;4BACnB,CAAC,EAAE,WAAW;4BACd,QAAQ,EAAE,sBAAsB;4BAChC,IAAI,EAAE,QAAQ;4BACd,IAAI,EAAE,EAAE;4BACR,GAAG,EAAE,IAAI;yBACV,CAAC;oBACJ,CAAC;oBACD,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;wBAC3B,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;4BAC9E,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;gCAAE,KAAK,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;4BAC1E,OAAO;wBACT,CAAC;oBACH,CAAC;oBACD,MAAM,cAAc,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;oBAClD,SAAS;gBACX,CAAC;gBAED,QAAQ,IAAI,SAAS,CAAC;gBACtB,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;gBACjE,uBAAuB;gBACvB,IAAI,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC/B,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;oBACf,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACrC,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;oBACnC,KAAK,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;oBAC/C,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC;gBACH,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YACnB,CAAC;YAAC,MAAM,CAAC;gBACP,iBAAiB;YACnB,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAED,kEAAkE;AAClE,QAAQ,CAAC,CAAC,aAAa,CACrB,IAAY,EACZ,KAAgB,EAChB,WAA0B;IAE1B,IAAI,WAAW,KAAK,IAAI,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,WAAW;QAAE,OAAO;IACzE,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACnC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAA4B,CAAC;QAC5E,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YACzC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC/C,OAAO,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC;QAC3E,CAAC;QACD,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9E,OAAO,MAAM,CAAC,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;QACzF,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAC,4BAA4B,CAAC,CAAC;IACxC,OAAO,MAAM,CAAC,iBAAiB,CAAC;AAClC,CAAC;AAED,oEAAoE;AACpE,SAAS,kBAAkB,CAAC,IAAY;IACtC,OAAO,aAAa,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC;AAC1C,CAAC;AAaD;;;;;GAKG;AACH,MAAM,2BAA2B,GAAG,CAAC,gBAAgB,EAAE,wBAAwB,EAAE,wBAAwB,CAAC,CAAC;AAC3G;;;;GAIG;AACH,MAAM,6BAA6B,GAAG;IACpC,SAAS,EAAE,wBAAwB,EAAE,gCAAgC,EAAE,8BAA8B;CACtG,CAAC;AAEF;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,IAAY;IACpC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;QAC3C,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAC/D,MAAM,MAAM,GAAG,MAAiC,CAAC;QACjD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC;QAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QAClC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACjE,MAAM,OAAO,GAAI,OAAmC,CAAC,SAAS,CAAC,CAAC;QAChE,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,OAAO,OAAO,CAAC;QAChD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,OAAO,EAAE,CAAC;QACvC,OAAO,OAAO;aACX,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;YACzD,KAAiC,CAAC,MAAM,CAAC,KAAK,MAAM;YACrD,OAAQ,KAAiC,CAAC,MAAM,CAAC,KAAK,QAAQ;YAC9D,CAAC,CAAG,KAAiC,CAAC,MAAM,CAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aAChE,IAAI,CAAC,EAAE,CAAC,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;QAC3C,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,OAAO,CAAC;QAClE,MAAM,MAAM,GAAG,MAAiC,CAAC;QACjD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,YAAY;YAAE,OAAO,YAAY,CAAC;QACzD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,MAAM;YAAE,OAAO,OAAO,CAAC;QAC9C,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,OAAO,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,aAAa,CAAC;QAC/C,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;YAC9B,4DAA4D;YAC5D,iDAAiD;YACjD,IAAI,OAAO,MAAM,CAAC,iBAAiB,CAAC,KAAK,QAAQ;gBAAE,OAAO,MAAM,CAAC;YACjE,IAAI,6BAA6B,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAAE,OAAO,MAAM,CAAC;QAChG,CAAC;QACD,IAAI,2BAA2B,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAAE,OAAO,eAAe,CAAC;QACrG,OAAO,WAAW,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,SAAS,aAAa,CAAC,IAAY;IACjC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAuB,CAAC;QACtD,OAAO,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,iDAAiD;AACjD,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAY,EAAE,KAAgB;IAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACxD,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,yDAAyD;IACzD,oDAAoD;IACpD,yEAAyE;IACzE,kDAAkD;IAClD,sBAAsB;IACtB,IAAI,KAAK,CAAC,WAAW,KAAK,IAAI,IAAI,uBAAuB,CAAC,IAAI,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,KAAK,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAChD,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO;IAE1B,2DAA2D;IAC3D,wDAAwD;IACxD,uCAAuC;IACvC,IAAI,KAAK,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/E,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,IAAI,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvC,KAAK,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YACnD,CAAC;iBAAM,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,WAAW,EAAE,CAAC;gBAC9C,kEAAkE;gBAClE,wDAAwD;gBACxD,+CAA+C;gBAC/C,KAAK,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QAC1C,IAAI,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAAE,SAAS;QACrD,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACvC,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;IAChG,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;QAC3C,iDAAiD;QACjD,oCAAoC;QACpC,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC9B,KAAK,CAAC,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YACxD,IAAI,KAAK,CAAC,sBAAsB,CAAC,IAAI,GAAG,4BAA4B,EAAE,CAAC;gBACrE,MAAM,MAAM,GAAG,KAAK,CAAC,sBAAsB,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;gBAChE,IAAI,MAAM,KAAK,SAAS;oBAAE,KAAK,CAAC,sBAAsB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;IAC5D,CAAC;IAED,yCAAyC;IACzC,+CAA+C;IAC/C,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,KAAK,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAChF,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,KAAK,CAAC,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YACnE,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;YACtE,MAAM,QAAQ,GAAiB,EAAE,GAAG,OAAO,EAAE,gBAAgB,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;YACnF,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI;gBAAE,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC;YAC7D,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;QACtE,CAAC;IACH,CAAC;IAED,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QACpC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,SAAS;QAC/C,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACnC,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;IACzD,CAAC;IAED,+DAA+D;IAC/D,yEAAyE;IACzE,4CAA4C;IAC5C,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,SAAS,EAAE,CAAC;QACzF,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;QAC7B,MAAM;YACJ,IAAI,EAAE,aAAa;YACnB,CAAC,EAAE,WAAW;YACd,QAAQ,EAAE,eAAe;YACzB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,GAAG,EAAE,IAAI;SACV,CAAC;IACJ,CAAC;IAED,mEAAmE;IACnE,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,UAAU,EAAE,CAAC;QAC7D,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC;QAC/B,MAAM;YACJ,IAAI,EAAE,aAAa;YACnB,CAAC,EAAE,WAAW;YACd,QAAQ,EAAE,gBAAgB;YAC1B,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,IAAI,CAAC,MAAM;YACjB,GAAG,EAAE,IAAI;SACV,CAAC;IACJ,CAAC;IAED,wEAAwE;IACxE,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,IAAI,IAAI,CAAC,aAAa,KAAK,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAClF,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC;QAC7C,MAAM;YACJ,IAAI,EAAE,aAAa;YACnB,CAAC,EAAE,WAAW;YACd,QAAQ,EAAE,iBAAiB;YAC3B,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;YAChC,GAAG,EAAE,IAAI;SACV,CAAC;IACJ,CAAC;IAED,gDAAgD;IAChD,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QACf,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,IAAI,QAAQ,KAAK,CAAC,GAAG,EAAE,CAAC;QAChD,MAAM;YACJ,IAAI,EAAE,aAAa;YACnB,CAAC,EAAE,WAAW;YACd,QAAQ;YACR,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,GAAG,EAAE,IAAI;SACV,CAAC;IACJ,CAAC;AACH,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,GAAyB;IACjE,IAAI,GAAY,CAAC;IACjB,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACzD,MAAM,GAAG,GAAG,GAA8B,CAAC;IAE3C,qDAAqD;IACrD,qEAAqE;IACrE,+CAA+C;IAC/C,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,YAAY,EAAE,CAAC;QACjC,MAAM,UAAU,GACd,OAAO,GAAG,CAAC,YAAY,CAAC,KAAK,QAAQ,IAAI,GAAG,CAAC,YAAY,CAAC,KAAK,IAAI;YACjE,CAAC,CAAE,GAAG,CAAC,YAAY,CAA6B;YAChD,CAAC,CAAC,IAAI,CAAC;QACX,IAAI,UAAU,EAAE,CAAC,MAAM,CAAC,KAAK,gBAAgB;YAAE,OAAO,IAAI,CAAC;QAC3D,MAAM,MAAM,GAAG,OAAO,UAAU,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACrC,OAAO;YACL,EAAE,EAAE,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI;YACxD,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,MAAM;YACZ,cAAc,EAAE,EAAE;YAClB,eAAe,EAAE,EAAE;YACnB,aAAa,EAAE,EAAE;YACjB,KAAK,EAAE,IAAI;YACX,aAAa,EAAE,IAAI;YACnB,MAAM,EAAE,IAAI;SACb,CAAC;IACJ,CAAC;IAED,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,OAAO,GAAG,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,MAAM,SAAS,GAAG;YAChB,EAAE,EAAE,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI;YACxD,cAAc,EAAE,EAAE;YAClB,eAAe,EAAE,EAAE;YACnB,aAAa,EAAE,EAAE;YACjB,KAAK,EAAE,IAAI;YACX,aAAa,EAAE,IAAI;YACnB,MAAM,EAAE,IAAI;SACb,CAAC;QACF,wEAAwE;QACxE,0CAA0C;QAC1C,IAAI,GAAG,CAAC,SAAS,CAAC,KAAK,eAAe,IAAI,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EAAE,CAAC;YACxF,OAAO,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,OAAO,EAAE,EAAE,CAAC;QACjE,CAAC;QACD,gEAAgE;QAChE,wDAAwD;QACxD,8CAA8C;QAC9C,IAAI,GAAG,CAAC,SAAS,CAAC,KAAK,eAAe,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAChE,OAAO,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QACvD,CAAC;QACD,2DAA2D;QAC3D,wDAAwD;QACxD,4EAA4E;QAC5E,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1C,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAC3E,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GACX,OAAO,GAAG,CAAC,SAAS,CAAC,KAAK,QAAQ,IAAI,GAAG,CAAC,SAAS,CAAC,KAAK,IAAI;QAC3D,CAAC,CAAE,GAAG,CAAC,SAAS,CAA6B;QAC7C,CAAC,CAAC,IAAI,CAAC;IACX,MAAM,OAAO,GAAI,OAAO,EAAE,CAAC,MAAM,CAAwB,IAAK,GAAG,CAAC,MAAM,CAAwB,CAAC;IACjG,IAAI,IAAc,CAAC;IACnB,IAAI,OAAO,KAAK,WAAW;QAAE,IAAI,GAAG,WAAW,CAAC;SAC3C,IAAI,OAAO,KAAK,MAAM;QAAE,IAAI,GAAG,MAAM,CAAC;;QACtC,OAAO,IAAI,CAAC,CAAC,yCAAyC;IAE3D,MAAM,EAAE,GACN,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACtD,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAErD,MAAM,UAAU,GAAG,OAAO,EAAE,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IAC1C,oDAAoD;IACpD,gEAAgE;IAChE,wCAAwC;IACxC,4DAA4D;IAC5D,+CAA+C;IAC/C,qDAAqD;IACrD,wBAAwB;IACxB,MAAM,aAAa,GAAG,IAAI,KAAK,MAAM,IAAI,sBAAsB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAChF,MAAM,gBAAgB,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACxD,MAAM,IAAI,GAAG,gBAAgB,IAAI,yBAAyB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;IACjF,MAAM,cAAc,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;IACzD,MAAM,eAAe,GAAG,sBAAsB,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAC/D,MAAM,aAAa,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,OAAO,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,OAAO,CAAC,OAAO,CAAY,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3F,MAAM,aAAa,GAAG,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,oBAAoB,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7F,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC;IAChC,MAAM,MAAM,GACV,IAAI,KAAK,WAAW,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3G,8DAA8D;IAC9D,8CAA8C;IAC9C,yDAAyD;IACzD,mEAAmE;IACnE,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7E,MAAM,cAAc,GAAG,mBAAmB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAC5D,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;YAC5B,OAAO;gBACL,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc;gBACxC,cAAc,EAAE,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM;aACzF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,IAAI,GAAS,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;IACpH,IAAI,aAAa,IAAI,OAAO,GAAG,CAAC,iBAAiB,CAAC,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxF,IAAI,CAAC,cAAc,GAAG,EAAE,SAAS,EAAE,GAAG,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC/E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,oDAAoD;AACpD,SAAS,oBAAoB,CAAC,KAAc;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACrF,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,OAAO,CACL,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACjC,YAAY,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QAC5C,YAAY,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC,CACjD,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,oEAAoE;AACpE,SAAS,WAAW,CAAC,OAAgB;IACnC,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAChD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IACvC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;YAAE,SAAS;QAC1D,MAAM,GAAG,GAAG,KAAgC,CAAC;QAC7C,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,MAAM;YAAE,SAAS;QACrC,IAAI,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,QAAQ;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACxB,CAAC;AAED,+DAA+D;AAC/D,SAAS,yBAAyB,CAAC,KAAc;IAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACnF,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;IACzC,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IACrC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC;QAAE,OAAO,EAAE,CAAC;IAC5C,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;QAAE,OAAO,EAAE,CAAC;IAClG,MAAM,OAAO,GAAG,UAAqC,CAAC;IACtD,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;YAAE,SAAS;QACpG,MAAM,QAAQ,GAAI,WAAuC,CAAC,UAAU,CAAC,CAAC;QACtE,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAC3E,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpC,MAAM,MAAM,GACV,OAAO,SAAS,KAAK,QAAQ;YAC3B,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE;YAClB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;gBACxB,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;gBACvF,CAAC,CAAC,EAAE,CAAC;QACX,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAClC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,MAAM,MAAM,EAAE,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1D,CAAC;AAED,8CAA8C;AAC9C,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IACvC,MAAM,UAAU,GAAmB,EAAE,CAAC;IACtC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC/B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO;QACxD,MAAM,GAAG,GAAG,KAAgC,CAAC;QAC7C,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,UAAU;YAAE,OAAO;QACvC,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;QACzB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI;YAAE,OAAO;QAC9C,MAAM,EAAE,GAAG,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,GAAG,CAAC,EAAE,CAAC;QAC3E,MAAM,KAAK,GACT,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACvF,CAAC,CAAE,GAAG,CAAC,OAAO,CAA6B;YAC3C,CAAC,CAAC,EAAE,CAAC;QACT,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IACH,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,gBAAgB,CAAC,EAAU,EAAE,IAAY,EAAE,KAA8B;IAChF,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,MAAM,EAAE,CAAC;YACZ,MAAM,UAAU,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC;YACtE,MAAM,cAAc,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,0BAA0B,CAAC,CAAC;YAClF,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC;YAC5F,MAAM,QAAQ,GAAiB;gBAC7B,EAAE;gBACF,IAAI;gBACJ,KAAK,EAAE,QAAQ,OAAO,EAAE;gBACxB,gBAAgB,EAAE,UAAU,CAAC,SAAS;gBACtC,oBAAoB,EAAE,cAAc,CAAC,SAAS;aAC/C,CAAC;YACF,IAAI,UAAU,CAAC,KAAK,KAAK,IAAI;gBAAE,QAAQ,CAAC,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC;YACnE,IAAI,cAAc,CAAC,KAAK,KAAK,IAAI;gBAAE,QAAQ,CAAC,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC;YAC/E,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,KAAK,MAAM,CAAC;QACZ,KAAK,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC7B,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC;YACxE,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC;YACxE,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC7E,MAAM,IAAI,GAAqB;gBAC7B,kBAAkB,EAAE,MAAM,CAAC,SAAS;gBACpC,kBAAkB,EAAE,MAAM,CAAC,SAAS;aACrC,CAAC;YACF,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI;gBAAE,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;YACzD,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI;gBAAE,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;YACzD,MAAM,QAAQ,GAAiB;gBAC7B,EAAE;gBACF,IAAI;gBACJ,KAAK,EAAE,QAAQ,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;gBACxC,UAAU,EAAE,MAAM,CAAC,KAAK;gBACxB,YAAY,EAAE,MAAM,CAAC,OAAO;gBAC5B,IAAI;gBACJ,gBAAgB,EAAE,KAAK;gBACvB,oBAAoB,EAAE,KAAK;aAC5B,CAAC;YACF,IAAI,IAAI,KAAK,IAAI;gBAAE,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;YACxC,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,KAAK,OAAO,CAAC;QACb,KAAK,cAAc,EAAE,CAAC;YACpB,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC7B,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;YAClE,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;YACvD,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACxC,MAAM,IAAI,GAAqB,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;YACnG,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI;gBAAE,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;YACzD,MAAM,QAAQ,GAAiB;gBAC7B,EAAE;gBACF,IAAI;gBACJ,KAAK,EAAE,QAAQ,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;gBACxC,UAAU,EAAE,MAAM,CAAC,KAAK;gBACxB,YAAY,EAAE,MAAM,CAAC,OAAO;gBAC5B,IAAI;gBACJ,gBAAgB,EAAE,KAAK;gBACvB,oBAAoB,EAAE,KAAK;aAC5B,CAAC;YACF,IAAI,IAAI,KAAK,IAAI;gBAAE,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;YACxC,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,KAAK,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC7B,MAAM,QAAQ,GAAiB;gBAC7B,EAAE;gBACF,IAAI;gBACJ,KAAK,EAAE,MAAM,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;gBACtC,gBAAgB,EAAE,KAAK;gBACvB,oBAAoB,EAAE,KAAK;aAC5B,CAAC;YACF,IAAI,IAAI,KAAK,IAAI;gBAAE,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;YACxC,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM,CAAC;QACZ,KAAK,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC7B,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YAC5D,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC7D,MAAM,QAAQ,GAAiB;gBAC7B,EAAE;gBACF,IAAI;gBACJ,KAAK,EAAE,QAAQ,OAAO,EAAE;gBACxB,gBAAgB,EAAE,KAAK;gBACvB,oBAAoB,EAAE,KAAK;aAC5B,CAAC;YACF,IAAI,IAAI,KAAK,IAAI;gBAAE,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;YACxC,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,KAAK,OAAO,EAAE,CAAC;YACb,8DAA8D;YAC9D,8CAA8C;YAC9C,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC5C,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,0BAA0B,CAAC,CAAC;YACpE,MAAM,QAAQ,GAAiB;gBAC7B,EAAE;gBACF,IAAI;gBACJ,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,KAAK,EAAE;gBAC1D,gBAAgB,EAAE,KAAK;gBACvB,oBAAoB,EAAE,OAAO,CAAC,SAAS;aACxC,CAAC;YACF,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI;gBAAE,QAAQ,CAAC,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC;YACjE,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,KAAK,cAAc,EAAE,CAAC;YACpB,kFAAkF;YAClF,yCAAyC;YACzC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACzC,CAAC,CAAE,KAAK,CAAC,OAAO,CAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;gBACjG,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,UAAU,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,0BAA0B,CAAC,CAAC;YAC1E,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;YAC/B,MAAM,OAAO,GAAG,KAAK,KAAK,IAAI;gBAC5B,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;oBAChB,CAAC,CAAC,GAAG,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG;oBACtD,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC/B,MAAM,QAAQ,GAAiB;gBAC7B,EAAE;gBACF,IAAI;gBACJ,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,OAAO,EAAE;gBAC1D,gBAAgB,EAAE,KAAK;gBACvB,oBAAoB,EAAE,UAAU,CAAC,SAAS;aAC3C,CAAC;YACF,IAAI,KAAK,KAAK,IAAI;gBAAE,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC;YAC1C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;YAC7C,IAAI,UAAU,CAAC,KAAK,KAAK,IAAI;gBAAE,QAAQ,CAAC,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC;YACvE,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,KAAK,WAAW,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAC3C,MAAM,QAAQ,GAAiB;gBAC7B,EAAE;gBACF,IAAI;gBACJ,KAAK,EAAE,aAAa;gBACpB,gBAAgB,EAAE,KAAK;gBACvB,oBAAoB,EAAE,KAAK;aAC5B,CAAC;YACF,IAAI,KAAK,KAAK,IAAI;gBAAE,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;YAC3C,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,SAAS,CAAC;YACR,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC7B,MAAM,QAAQ,GAAiB;gBAC7B,EAAE;gBACF,IAAI;gBACJ,KAAK,EAAE,QAAQ,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;gBACxC,gBAAgB,EAAE,KAAK;gBACvB,oBAAoB,EAAE,KAAK;aAC5B,CAAC;YACF,IAAI,IAAI,KAAK,IAAI;gBAAE,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;YACxC,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,KAA8B;IAC9C,KAAK,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,CAAC;QACzD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;IAClE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,2EAA2E;AAC3E,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7D,MAAM,MAAM,GAAuB,EAAE,CAAC;IACtC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,EAAE,CAAC;QAClD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;YAAE,SAAS;QACxD,MAAM,GAAG,GAAG,IAA+B,CAAC;QAC5C,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;QAC/B,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,OAAO;YAAE,SAAS;QACtD,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7E,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,2BAA2B,CAAC,CAAC,KAAK,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/F,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;AAC7C,CAAC;AAED,SAAS,WAAW,CAAC,CAAgB,EAAE,QAAgB;IACrD,IAAI,CAAC,CAAC;QAAE,OAAO,QAAQ,CAAC;IACxB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC9B,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACtC,CAAC;AAED,SAAS,QAAQ,CAAC,IAAmB;IACnC,MAAM,OAAO,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACpC,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;AAC/C,CAAC;AAED,SAAS,aAAa,CAAC,OAAsB;IAC3C,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClC,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAClC,OAAO,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;AACtE,CAAC;AAED,SAAS,GAAG,CAAC,IAAmB,EAAE,KAAa;IAC7C,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAC5D,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK;QAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IACnE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAC1D,CAAC;AAED,SAAS,SAAS,CAAC,OAAsB,EAAE,OAAsB;IAC/D,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC5C,KAAK,MAAM,IAAI,IAAI,QAAQ;QAAE,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACjF,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACrC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAC/B,SAAS,IAAI,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IACD,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC;QAC/C,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC;KAClD,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,IAAmB;IACrC,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,GAAG,CAAC,KAAc;IACzB,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAClD,CAAC;AAED,6EAA6E;AAC7E,SAAS,sBAAsB,CAC7B,OAAgB,EAChB,UAAyB;IAEzB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IACvC,MAAM,OAAO,GAA0D,EAAE,CAAC;IAC1E,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;YAAE,SAAS;QAC1D,MAAM,GAAG,GAAG,KAAgC,CAAC;QAC7C,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,UAAU,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,iBAAiB;YAAE,SAAS;QAC9E,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;QAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;YAAE,SAAS;QAC1D,MAAM,YAAY,GAAI,KAAiC,CAAC,WAAW,CAAC,CAAC;QACrE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC;YAAE,SAAS;QAC3C,MAAM,SAAS,GAA6B,EAAE,CAAC;QAC/C,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;YAC/B,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;gBAAE,SAAS;YACtD,MAAM,CAAC,GAAG,4BAA4B,CAAC,GAA8B,CAAC,CAAC;YACvE,IAAI,CAAC,KAAK,IAAI;gBAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpC,CAAC;QACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACrC,MAAM,EAAE,GACN,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAClD,UAAU;YACV,qBAAqB,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,SAAkC;IACvE,MAAM,YAAY,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;IAC5C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC;QAAE,OAAO,EAAE,CAAC;IAC5C,MAAM,SAAS,GAA6B,EAAE,CAAC;IAC/C,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAC/B,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;YAAE,SAAS;QACtD,MAAM,CAAC,GAAG,4BAA4B,CAAC,GAA8B,CAAC,CAAC;QACvE,IAAI,CAAC,KAAK,IAAI;YAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,4BAA4B,CAAC,GAA4B;IAChE,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC;IACjC,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC9C,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,MAAM,WAAW,GAAG,GAAG,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IAChD,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QAClC,KAAK,MAAM,SAAS,IAAI,GAAG,CAAC,SAAS,CAAc,EAAE,CAAC;YACpD,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI;gBAAE,SAAS;YAClE,MAAM,GAAG,GAAG,SAAoC,CAAC;YACjD,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;YAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,SAAS;YACxC,OAAO,CAAC,IAAI,CAAC;gBACX,KAAK;gBACL,WAAW,EAAE,OAAO,GAAG,CAAC,aAAa,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE;aAC9E,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC;AACpD,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAgB;IAC5C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IACvC,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;YAAE,SAAS;QAC1D,MAAM,GAAG,GAAG,KAAgC,CAAC;QAC7C,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,aAAa;YAAE,SAAS;QAC5C,IAAI,OAAO,GAAG,CAAC,aAAa,CAAC,KAAK,QAAQ;YAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}