@codeatlasdev/ao-plugin-agent-kiro 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +36 -30
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAYL,KAAK,KAAK,EAUX,MAAM,mBAAmB,CAAC;AAa3B,eAAO,MAAM,QAAQ;;;;;;CAMpB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAYL,KAAK,KAAK,EAUX,MAAM,mBAAmB,CAAC;AAa3B,eAAO,MAAM,QAAQ;;;;;;CAMpB,CAAC;AA4RF,wBAAgB,MAAM,IAAI,KAAK,CAE9B;AAED,wBAAgB,MAAM,IAAI,OAAO,CAOhC;;;;;;;;;;;;AAED,wBAA0E"}
|
package/dist/index.js
CHANGED
|
@@ -12,7 +12,7 @@ export const manifest = {
|
|
|
12
12
|
name: "kiro",
|
|
13
13
|
slot: "agent",
|
|
14
14
|
description: "Agent plugin: Kiro CLI (AWS)",
|
|
15
|
-
version: "0.1.
|
|
15
|
+
version: "0.1.1",
|
|
16
16
|
displayName: "Kiro CLI",
|
|
17
17
|
};
|
|
18
18
|
// =============================================================================
|
|
@@ -58,34 +58,29 @@ function appendPermissionFlags(parts, permissions) {
|
|
|
58
58
|
}
|
|
59
59
|
// "default" and "suggest" → no flag (kiro's default interactive approval)
|
|
60
60
|
}
|
|
61
|
+
/**
|
|
62
|
+
* Regex to detect kiro-cli processes in ps output.
|
|
63
|
+
* The binary can appear as "kiro-cli", "kiro-cli-chat", or a full path ending
|
|
64
|
+
* in either. The Rust binary dispatches to "kiro-cli-chat" for the chat
|
|
65
|
+
* subcommand, so we need to match both.
|
|
66
|
+
*/
|
|
67
|
+
const KIRO_PROCESS_RE = /(?:^|\/)kiro-cli(?:-chat)?(?:\s|$)/;
|
|
61
68
|
function createKiroAgent() {
|
|
62
69
|
let resolvedBinary = null;
|
|
63
70
|
let resolvingBinary = null;
|
|
64
71
|
return {
|
|
65
72
|
name: "kiro",
|
|
66
73
|
processName: "kiro-cli",
|
|
67
|
-
promptDelivery: "
|
|
74
|
+
promptDelivery: "post-launch",
|
|
68
75
|
getLaunchCommand(config) {
|
|
69
76
|
const binary = resolvedBinary ?? "kiro-cli";
|
|
70
77
|
const parts = [shellEscape(binary), "chat"];
|
|
71
78
|
appendPermissionFlags(parts, config.permissions);
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
parts.push(shellEscape(combined));
|
|
78
|
-
}
|
|
79
|
-
else if (config.systemPromptFile) {
|
|
80
|
-
// Read system prompt file and combine with user prompt via shell
|
|
81
|
-
const fileRead = `$(cat ${shellEscape(config.systemPromptFile)})`;
|
|
82
|
-
const combined = config.prompt
|
|
83
|
-
? `${fileRead}\n\n---\n\n${shellEscape(config.prompt)}`
|
|
84
|
-
: fileRead;
|
|
85
|
-
parts.push(combined);
|
|
86
|
-
}
|
|
87
|
-
else if (config.prompt) {
|
|
88
|
-
parts.push(shellEscape(config.prompt));
|
|
79
|
+
// For orchestrator sessions: systemPromptFile is passed but NOT prompt.
|
|
80
|
+
// Post-launch delivery only sends `prompt`, so we must inline the system
|
|
81
|
+
// prompt file here. Double quotes around $(cat ...) prevent word splitting.
|
|
82
|
+
if (config.systemPromptFile) {
|
|
83
|
+
parts.push(`"$(cat ${shellEscape(config.systemPromptFile)})"`);
|
|
89
84
|
}
|
|
90
85
|
return parts.join(" ");
|
|
91
86
|
},
|
|
@@ -97,6 +92,8 @@ function createKiroAgent() {
|
|
|
97
92
|
}
|
|
98
93
|
env["PATH"] = buildAgentPath(process.env["PATH"]);
|
|
99
94
|
env["GH_PATH"] = PREFERRED_GH_PATH;
|
|
95
|
+
// Suppress kiro greeting in AO-managed sessions
|
|
96
|
+
env["KIRO_LOG_LEVEL"] = "warn";
|
|
100
97
|
return env;
|
|
101
98
|
},
|
|
102
99
|
detectActivity(terminalOutput) {
|
|
@@ -104,11 +101,11 @@ function createKiroAgent() {
|
|
|
104
101
|
return "idle";
|
|
105
102
|
const lines = terminalOutput.trim().split("\n");
|
|
106
103
|
const lastLine = lines[lines.length - 1]?.trim() ?? "";
|
|
107
|
-
const tail = lines.slice(-
|
|
108
|
-
// Kiro prompt waiting for input
|
|
109
|
-
if (/^[
|
|
104
|
+
const tail = lines.slice(-10).join("\n");
|
|
105
|
+
// Kiro prompt waiting for input — the ">" prompt or the [agent] > prompt
|
|
106
|
+
if (/^(\[[\w-]+\]\s*)?[>❯]\s*$/.test(lastLine))
|
|
110
107
|
return "ready";
|
|
111
|
-
//
|
|
108
|
+
// Tool trust / permission prompts
|
|
112
109
|
if (/\b(allow|deny|approve|confirm)\b/i.test(tail)) {
|
|
113
110
|
return "waiting_input";
|
|
114
111
|
}
|
|
@@ -116,10 +113,18 @@ function createKiroAgent() {
|
|
|
116
113
|
return "waiting_input";
|
|
117
114
|
if (/\[y\/n\]/i.test(tail))
|
|
118
115
|
return "waiting_input";
|
|
116
|
+
// Kiro's granular trust picker (v1.27+)
|
|
117
|
+
if (/trust.*(?:exact|command|directory|tool)/i.test(tail)) {
|
|
118
|
+
return "waiting_input";
|
|
119
|
+
}
|
|
119
120
|
// Error patterns
|
|
120
121
|
if (/\b(error|fatal|panic|exception)\b/i.test(lastLine)) {
|
|
121
122
|
return "blocked";
|
|
122
123
|
}
|
|
124
|
+
// Kiro auth errors
|
|
125
|
+
if (/logged?\s*in|auth|unauthorized/i.test(lastLine)) {
|
|
126
|
+
return "blocked";
|
|
127
|
+
}
|
|
123
128
|
return "active";
|
|
124
129
|
},
|
|
125
130
|
async getActivityState(session, readyThresholdMs) {
|
|
@@ -132,12 +137,13 @@ function createKiroAgent() {
|
|
|
132
137
|
return { state: "exited", timestamp: new Date() };
|
|
133
138
|
if (!session.workspacePath)
|
|
134
139
|
return null;
|
|
135
|
-
//
|
|
140
|
+
// Kiro chat sessions are stored in SQLite (not JSONL files), so we
|
|
141
|
+
// can't do native session file parsing like the Codex plugin.
|
|
142
|
+
// Rely on AO's terminal-derived activity JSONL instead.
|
|
136
143
|
const activityResult = await readLastActivityEntry(session.workspacePath);
|
|
137
144
|
const activityState = checkActivityLogState(activityResult);
|
|
138
145
|
if (activityState)
|
|
139
146
|
return activityState;
|
|
140
|
-
// Fallback: age-based decay
|
|
141
147
|
const activeWindowMs = Math.min(DEFAULT_ACTIVE_WINDOW_MS, threshold);
|
|
142
148
|
const fallback = getActivityFallbackState(activityResult, activeWindowMs, threshold);
|
|
143
149
|
if (fallback)
|
|
@@ -162,12 +168,11 @@ function createKiroAgent() {
|
|
|
162
168
|
return false;
|
|
163
169
|
const { stdout: psOut } = await execFileAsync("ps", ["-eo", "pid,tty,args"], { timeout: 30_000 });
|
|
164
170
|
const ttySet = new Set(ttys.map((t) => t.replace(/^\/dev\//, "")));
|
|
165
|
-
const processRe = /(?:^|\/)kiro-cli(?:\s|$)/;
|
|
166
171
|
for (const line of psOut.split("\n")) {
|
|
167
172
|
const cols = line.trimStart().split(/\s+/);
|
|
168
173
|
if (cols.length < 3 || !ttySet.has(cols[1] ?? ""))
|
|
169
174
|
continue;
|
|
170
|
-
if (
|
|
175
|
+
if (KIRO_PROCESS_RE.test(cols.slice(2).join(" ")))
|
|
171
176
|
return true;
|
|
172
177
|
}
|
|
173
178
|
return false;
|
|
@@ -195,8 +200,8 @@ function createKiroAgent() {
|
|
|
195
200
|
}
|
|
196
201
|
},
|
|
197
202
|
async getSessionInfo(_session) {
|
|
198
|
-
// Kiro CLI
|
|
199
|
-
//
|
|
203
|
+
// Kiro CLI stores sessions in SQLite, not in parseable files.
|
|
204
|
+
// Future: query SQLite or use ACP protocol for richer session info.
|
|
200
205
|
return {
|
|
201
206
|
summary: null,
|
|
202
207
|
agentSessionId: null,
|
|
@@ -204,7 +209,8 @@ function createKiroAgent() {
|
|
|
204
209
|
},
|
|
205
210
|
async getRestoreCommand(_session, _project) {
|
|
206
211
|
// kiro-cli chat --resume resumes the last session for the cwd.
|
|
207
|
-
//
|
|
212
|
+
// Each AO session has its own worktree dir, so --resume picks up
|
|
213
|
+
// the correct session automatically.
|
|
208
214
|
const binary = resolvedBinary ?? "kiro-cli";
|
|
209
215
|
const parts = [shellEscape(binary), "chat", "--resume"];
|
|
210
216
|
appendPermissionFlags(parts, _project.agentConfig?.permissions);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,WAAW,EACX,4BAA4B,EAC5B,cAAc,EACd,yBAAyB,EACzB,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACxB,sBAAsB,EACtB,iBAAiB,GAWlB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAE1C,gFAAgF;AAChF,kBAAkB;AAClB,gFAAgF;AAEhF,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,OAAgB;IACtB,WAAW,EAAE,8BAA8B;IAC3C,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,UAAU;CACxB,CAAC;AAEF,gFAAgF;AAChF,oBAAoB;AACpB,gFAAgF;AAEhF,KAAK,UAAU,iBAAiB;IAC9B,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE;YAC5D,OAAO,EAAE,MAAM;SAChB,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QAC/B,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,sBAAsB;IACxB,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,UAAU,GAAG;QACjB,yBAAyB;QACzB,4BAA4B;QAC5B,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC;QACvC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC;KACvC,CAAC;IAEF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,OAAO,SAAS,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC;YACP,YAAY;QACd,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,gFAAgF;AAChF,uBAAuB;AACvB,gFAAgF;AAEhF,SAAS,qBAAqB,CAC5B,KAAe,EACf,WAA+B;IAE/B,MAAM,IAAI,GAAG,4BAA4B,CAAC,WAAW,CAAC,CAAC;IACvD,IAAI,IAAI,KAAK,gBAAgB,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAClC,CAAC;IACD,0EAA0E;AAC5E,CAAC;AAED,SAAS,eAAe;IACtB,IAAI,cAAc,GAAkB,IAAI,CAAC;IACzC,IAAI,eAAe,GAA2B,IAAI,CAAC;IAEnD,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,UAAU;QACvB,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,WAAW,EACX,4BAA4B,EAC5B,cAAc,EACd,yBAAyB,EACzB,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACxB,sBAAsB,EACtB,iBAAiB,GAWlB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAE1C,gFAAgF;AAChF,kBAAkB;AAClB,gFAAgF;AAEhF,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,OAAgB;IACtB,WAAW,EAAE,8BAA8B;IAC3C,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,UAAU;CACxB,CAAC;AAEF,gFAAgF;AAChF,oBAAoB;AACpB,gFAAgF;AAEhF,KAAK,UAAU,iBAAiB;IAC9B,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE;YAC5D,OAAO,EAAE,MAAM;SAChB,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QAC/B,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,sBAAsB;IACxB,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,UAAU,GAAG;QACjB,yBAAyB;QACzB,4BAA4B;QAC5B,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC;QACvC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC;KACvC,CAAC;IAEF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,OAAO,SAAS,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC;YACP,YAAY;QACd,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,gFAAgF;AAChF,uBAAuB;AACvB,gFAAgF;AAEhF,SAAS,qBAAqB,CAC5B,KAAe,EACf,WAA+B;IAE/B,MAAM,IAAI,GAAG,4BAA4B,CAAC,WAAW,CAAC,CAAC;IACvD,IAAI,IAAI,KAAK,gBAAgB,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAClC,CAAC;IACD,0EAA0E;AAC5E,CAAC;AAED;;;;;GAKG;AACH,MAAM,eAAe,GAAG,oCAAoC,CAAC;AAE7D,SAAS,eAAe;IACtB,IAAI,cAAc,GAAkB,IAAI,CAAC;IACzC,IAAI,eAAe,GAA2B,IAAI,CAAC;IAEnD,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,UAAU;QACvB,cAAc,EAAE,aAAa;QAE7B,gBAAgB,CAAC,MAAyB;YACxC,MAAM,MAAM,GAAG,cAAc,IAAI,UAAU,CAAC;YAC5C,MAAM,KAAK,GAAa,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;YAEtD,qBAAqB,CAAC,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;YAEjD,wEAAwE;YACxE,yEAAyE;YACzE,4EAA4E;YAC5E,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBAC5B,KAAK,CAAC,IAAI,CAAC,UAAU,WAAW,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACjE,CAAC;YAED,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;QAED,cAAc,CAAC,MAAyB;YACtC,MAAM,GAAG,GAA2B,EAAE,CAAC;YACvC,GAAG,CAAC,eAAe,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC;YACxC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,GAAG,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC;YACtC,CAAC;YACD,GAAG,CAAC,MAAM,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;YAClD,GAAG,CAAC,SAAS,CAAC,GAAG,iBAAiB,CAAC;YACnC,gDAAgD;YAChD,GAAG,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC;YAC/B,OAAO,GAAG,CAAC;QACb,CAAC;QAED,cAAc,CAAC,cAAsB;YACnC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE;gBAAE,OAAO,MAAM,CAAC;YAE1C,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAChD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACvD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEzC,yEAAyE;YACzE,IAAI,2BAA2B,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAAE,OAAO,OAAO,CAAC;YAE/D,kCAAkC;YAClC,IAAI,mCAAmC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnD,OAAO,eAAe,CAAC;YACzB,CAAC;YACD,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,OAAO,eAAe,CAAC;YAC1D,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,OAAO,eAAe,CAAC;YACnD,wCAAwC;YACxC,IAAI,0CAA0C,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1D,OAAO,eAAe,CAAC;YACzB,CAAC;YAED,iBAAiB;YACjB,IAAI,oCAAoC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACxD,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,mBAAmB;YACnB,IAAI,iCAAiC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACrD,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,KAAK,CAAC,gBAAgB,CACpB,OAAgB,EAChB,gBAAyB;YAEzB,MAAM,SAAS,GAAG,gBAAgB,IAAI,0BAA0B,CAAC;YAEjE,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC3B,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC;YACpD,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YACnE,IAAI,CAAC,OAAO;gBAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC;YAEhE,IAAI,CAAC,OAAO,CAAC,aAAa;gBAAE,OAAO,IAAI,CAAC;YAExC,mEAAmE;YACnE,8DAA8D;YAC9D,wDAAwD;YACxD,MAAM,cAAc,GAAG,MAAM,qBAAqB,CAChD,OAAO,CAAC,aAAa,CACtB,CAAC;YACF,MAAM,aAAa,GAAG,qBAAqB,CAAC,cAAc,CAAC,CAAC;YAC5D,IAAI,aAAa;gBAAE,OAAO,aAAa,CAAC;YAExC,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,wBAAwB,EAAE,SAAS,CAAC,CAAC;YACrE,MAAM,QAAQ,GAAG,wBAAwB,CACvC,cAAc,EACd,cAAc,EACd,SAAS,CACV,CAAC;YACF,IAAI,QAAQ;gBAAE,OAAO,QAAQ,CAAC;YAE9B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,KAAK,CAAC,cAAc,CAClB,OAAgB,EAChB,cAAsB;YAEtB,IAAI,CAAC,OAAO,CAAC,aAAa;gBAAE,OAAO;YACnC,MAAM,sBAAsB,CAC1B,OAAO,CAAC,aAAa,EACrB,cAAc,EACd,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CACxC,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,gBAAgB,CAAC,MAAqB;YAC1C,IAAI,CAAC;gBACH,IAAI,MAAM,CAAC,WAAW,KAAK,MAAM,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;oBAC/C,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAC5C,MAAM,EACN,CAAC,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,aAAa,CAAC,EACpD,EAAE,OAAO,EAAE,MAAM,EAAE,CACpB,CAAC;oBACF,MAAM,IAAI,GAAG,MAAM;yBAChB,IAAI,EAAE;yBACN,KAAK,CAAC,IAAI,CAAC;yBACX,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;yBAC5B,MAAM,CAAC,OAAO,CAAC,CAAC;oBACnB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;wBAAE,OAAO,KAAK,CAAC;oBAEpC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,aAAa,CAC3C,IAAI,EACJ,CAAC,KAAK,EAAE,cAAc,CAAC,EACvB,EAAE,OAAO,EAAE,MAAM,EAAE,CACpB,CAAC;oBACF,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;oBAE3E,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;wBACrC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBAC3C,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;4BAAE,SAAS;wBAC5D,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;4BAAE,OAAO,IAAI,CAAC;oBACjE,CAAC;oBACD,OAAO,KAAK,CAAC;gBACf,CAAC;gBAED,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAClC,MAAM,GAAG,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACjE,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;oBACpC,IAAI,CAAC;wBACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;wBACrB,OAAO,IAAI,CAAC;oBACd,CAAC;oBAAC,OAAO,GAAY,EAAE,CAAC;wBACtB,IACE,GAAG,YAAY,KAAK;4BACpB,MAAM,IAAI,GAAG;4BACb,GAAG,CAAC,IAAI,KAAK,OAAO,EACpB,CAAC;4BACD,OAAO,IAAI,CAAC;wBACd,CAAC;wBACD,OAAO,KAAK,CAAC;oBACf,CAAC;gBACH,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,KAAK,CAAC,cAAc,CAClB,QAAiB;YAEjB,8DAA8D;YAC9D,oEAAoE;YACpE,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,cAAc,EAAE,IAAI;aACrB,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,iBAAiB,CACrB,QAAiB,EACjB,QAAuB;YAEvB,+DAA+D;YAC/D,iEAAiE;YACjE,qCAAqC;YACrC,MAAM,MAAM,GAAG,cAAc,IAAI,UAAU,CAAC;YAC5C,MAAM,KAAK,GAAa,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;YAClE,qBAAqB,CAAC,KAAK,EAAE,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YAChE,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;QAED,KAAK,CAAC,mBAAmB,CACvB,aAAqB,EACrB,OAA6B;YAE7B,MAAM,yBAAyB,CAAC,aAAa,CAAC,CAAC;QACjD,CAAC;QAED,KAAK,CAAC,eAAe,CAAC,OAAgB;YACpC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,IAAI,CAAC,eAAe,EAAE,CAAC;oBACrB,eAAe,GAAG,iBAAiB,EAAE,CAAC;gBACxC,CAAC;gBACD,IAAI,CAAC;oBACH,cAAc,GAAG,MAAM,eAAe,CAAC;gBACzC,CAAC;wBAAS,CAAC;oBACT,eAAe,GAAG,IAAI,CAAC;gBACzB,CAAC;YACH,CAAC;YACD,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC1B,MAAM,yBAAyB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,gBAAgB;AAChB,gFAAgF;AAEhF,MAAM,UAAU,MAAM;IACpB,OAAO,eAAe,EAAE,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,MAAM;IACpB,IAAI,CAAC;QACH,YAAY,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,eAAe,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAgC,CAAC"}
|