@pedrocivita/tocket 2.3.0 → 2.5.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.
- package/README.md +36 -13
- package/dist/commands/config.cmd.js +33 -6
- package/dist/commands/config.cmd.js.map +1 -1
- package/dist/commands/dashboard.js +2 -0
- package/dist/commands/dashboard.js.map +1 -1
- package/dist/commands/diff.cmd.d.ts +15 -0
- package/dist/commands/diff.cmd.js +106 -0
- package/dist/commands/diff.cmd.js.map +1 -0
- package/dist/commands/doctor.cmd.js +24 -0
- package/dist/commands/doctor.cmd.js.map +1 -1
- package/dist/commands/generate.cmd.js +7 -1
- package/dist/commands/generate.cmd.js.map +1 -1
- package/dist/commands/handoff.cmd.d.ts +14 -0
- package/dist/commands/handoff.cmd.js +131 -0
- package/dist/commands/handoff.cmd.js.map +1 -0
- package/dist/commands/init.cmd.js +19 -7
- package/dist/commands/init.cmd.js.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/templates/memory-bank.d.ts +9 -5
- package/dist/templates/memory-bank.js +22 -18
- package/dist/templates/memory-bank.js.map +1 -1
- package/dist/tests/agents.test.d.ts +1 -0
- package/dist/tests/agents.test.js +102 -0
- package/dist/tests/agents.test.js.map +1 -0
- package/dist/tests/config.test.js +39 -0
- package/dist/tests/config.test.js.map +1 -1
- package/dist/tests/diff.test.d.ts +1 -0
- package/dist/tests/diff.test.js +119 -0
- package/dist/tests/diff.test.js.map +1 -0
- package/dist/tests/git.test.js +15 -1
- package/dist/tests/git.test.js.map +1 -1
- package/dist/tests/handoff.test.d.ts +1 -0
- package/dist/tests/handoff.test.js +97 -0
- package/dist/tests/handoff.test.js.map +1 -0
- package/dist/tests/init-templates.test.js +25 -0
- package/dist/tests/init-templates.test.js.map +1 -1
- package/dist/tests/init.test.js +3 -2
- package/dist/tests/init.test.js.map +1 -1
- package/dist/tests/memory-bank.test.js +58 -13
- package/dist/tests/memory-bank.test.js.map +1 -1
- package/dist/tests/xml.test.d.ts +1 -0
- package/dist/tests/xml.test.js +139 -0
- package/dist/tests/xml.test.js.map +1 -0
- package/dist/utils/agents.d.ts +8 -0
- package/dist/utils/agents.js +29 -0
- package/dist/utils/agents.js.map +1 -0
- package/dist/utils/config.d.ts +4 -0
- package/dist/utils/config.js +1 -0
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/git.d.ts +2 -0
- package/dist/utils/git.js +27 -0
- package/dist/utils/git.js.map +1 -1
- package/dist/utils/templates.d.ts +4 -0
- package/dist/utils/templates.js +5 -1
- package/dist/utils/templates.js.map +1 -1
- package/dist/utils/xml.d.ts +22 -0
- package/dist/utils/xml.js +54 -0
- package/dist/utils/xml.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export const DEFAULT_EXECUTOR = "Claude Code";
|
|
2
|
+
export const DEFAULT_ARCHITECT = "Gemini";
|
|
3
|
+
export const EXECUTOR_FILE_MAP = {
|
|
4
|
+
"claude code": "CLAUDE.md",
|
|
5
|
+
"claude": "CLAUDE.md",
|
|
6
|
+
"cursor": ".cursorrules",
|
|
7
|
+
"windsurf": ".windsurfrules",
|
|
8
|
+
"copilot": ".github/copilot-instructions.md",
|
|
9
|
+
};
|
|
10
|
+
export const ARCHITECT_FILE_MAP = {
|
|
11
|
+
"gemini": "GEMINI.md",
|
|
12
|
+
};
|
|
13
|
+
export function getExecutorFileName(agentName) {
|
|
14
|
+
if (!agentName)
|
|
15
|
+
return EXECUTOR_FILE_MAP["claude code"];
|
|
16
|
+
return EXECUTOR_FILE_MAP[agentName.toLowerCase()] ?? "EXECUTOR.md";
|
|
17
|
+
}
|
|
18
|
+
export function getArchitectFileName(agentName) {
|
|
19
|
+
if (!agentName)
|
|
20
|
+
return ARCHITECT_FILE_MAP["gemini"];
|
|
21
|
+
return ARCHITECT_FILE_MAP[agentName.toLowerCase()] ?? "ARCHITECT.md";
|
|
22
|
+
}
|
|
23
|
+
export function getExecutorDisplayName(agentName) {
|
|
24
|
+
return agentName || DEFAULT_EXECUTOR;
|
|
25
|
+
}
|
|
26
|
+
export function getArchitectDisplayName(agentName) {
|
|
27
|
+
return agentName || DEFAULT_ARCHITECT;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=agents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/utils/agents.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAC9C,MAAM,CAAC,MAAM,iBAAiB,GAAG,QAAQ,CAAC;AAE1C,MAAM,CAAC,MAAM,iBAAiB,GAA2B;IACvD,aAAa,EAAE,WAAW;IAC1B,QAAQ,EAAE,WAAW;IACrB,QAAQ,EAAE,cAAc;IACxB,UAAU,EAAE,gBAAgB;IAC5B,SAAS,EAAE,iCAAiC;CAC7C,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAA2B;IACxD,QAAQ,EAAE,WAAW;CACtB,CAAC;AAEF,MAAM,UAAU,mBAAmB,CAAC,SAAkB;IACpD,IAAI,CAAC,SAAS;QAAE,OAAO,iBAAiB,CAAC,aAAa,CAAE,CAAC;IACzD,OAAO,iBAAiB,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,IAAI,aAAa,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,SAAkB;IACrD,IAAI,CAAC,SAAS;QAAE,OAAO,kBAAkB,CAAC,QAAQ,CAAE,CAAC;IACrD,OAAO,kBAAkB,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,IAAI,cAAc,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,SAAkB;IACvD,OAAO,SAAS,IAAI,gBAAgB,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,SAAkB;IACxD,OAAO,SAAS,IAAI,iBAAiB,CAAC;AACxC,CAAC"}
|
package/dist/utils/config.d.ts
CHANGED
package/dist/utils/config.js
CHANGED
|
@@ -23,6 +23,7 @@ export async function updateConfig(partial, configPath) {
|
|
|
23
23
|
const merged = {
|
|
24
24
|
...current,
|
|
25
25
|
...partial,
|
|
26
|
+
agents: { ...current.agents, ...partial.agents },
|
|
26
27
|
defaults: { ...current.defaults, ...partial.defaults },
|
|
27
28
|
theme: { ...current.theme, ...partial.theme },
|
|
28
29
|
};
|
package/dist/utils/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAkBvD,MAAM,UAAU,aAAa;IAC3B,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,gBAAgB,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,UAAmB;IAEnB,MAAM,IAAI,GAAG,UAAU,IAAI,aAAa,EAAE,CAAC;IAC3C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAiB,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAoB,EACpB,UAAmB;IAEnB,MAAM,IAAI,GAAG,UAAU,IAAI,aAAa,EAAE,CAAC;IAC3C,MAAM,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAA8B,EAC9B,UAAmB;IAEnB,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,UAAU,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAiB;QAC3B,GAAG,OAAO;QACV,GAAG,OAAO;QACV,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE;QAChD,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE;QACtD,KAAK,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE;KAC9C,CAAC;IACF,MAAM,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,UAAmB;IACnD,MAAM,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;AACnC,CAAC"}
|
package/dist/utils/git.d.ts
CHANGED
|
@@ -11,3 +11,5 @@ export declare function getRecentCommits(n?: number, cwd?: string): string[];
|
|
|
11
11
|
export declare function getRecentCommitsRaw(n?: number, cwd?: string): string;
|
|
12
12
|
export declare function getLastCommitMessage(cwd?: string): string;
|
|
13
13
|
export declare function getCurrentBranch(cwd?: string): string;
|
|
14
|
+
export declare function getDiffFiles(ref?: string, cwd?: string): string[];
|
|
15
|
+
export declare function getRecentlyModifiedFiles(sinceMinutes?: number, cwd?: string): string[];
|
package/dist/utils/git.js
CHANGED
|
@@ -110,4 +110,31 @@ export function getCurrentBranch(cwd = process.cwd()) {
|
|
|
110
110
|
return "";
|
|
111
111
|
}
|
|
112
112
|
}
|
|
113
|
+
export function getDiffFiles(ref, cwd = process.cwd()) {
|
|
114
|
+
if (!isGitRepo(cwd))
|
|
115
|
+
return [];
|
|
116
|
+
try {
|
|
117
|
+
const cmd = ref
|
|
118
|
+
? `git diff --name-only ${ref}`
|
|
119
|
+
: "git diff --name-only HEAD";
|
|
120
|
+
const output = execSync(cmd, { cwd, encoding: "utf-8" }).trim();
|
|
121
|
+
return output ? output.split("\n") : [];
|
|
122
|
+
}
|
|
123
|
+
catch {
|
|
124
|
+
return [];
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
export function getRecentlyModifiedFiles(sinceMinutes = 120, cwd = process.cwd()) {
|
|
128
|
+
if (!isGitRepo(cwd))
|
|
129
|
+
return [];
|
|
130
|
+
try {
|
|
131
|
+
const output = execSync(`git log --diff-filter=ACMR --name-only --pretty=format: --since="${sinceMinutes} minutes ago"`, { cwd, encoding: "utf-8" }).trim();
|
|
132
|
+
if (!output)
|
|
133
|
+
return [];
|
|
134
|
+
return [...new Set(output.split("\n").filter((l) => l.length > 0))];
|
|
135
|
+
}
|
|
136
|
+
catch {
|
|
137
|
+
return [];
|
|
138
|
+
}
|
|
139
|
+
}
|
|
113
140
|
//# sourceMappingURL=git.js.map
|
package/dist/utils/git.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/utils/git.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/utils/git.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,10 @@ export interface TemplateVars {
|
|
|
2
2
|
projectName: string;
|
|
3
3
|
description: string;
|
|
4
4
|
date: string;
|
|
5
|
+
architectName: string;
|
|
6
|
+
executorName: string;
|
|
7
|
+
architectFile: string;
|
|
8
|
+
executorFile: string;
|
|
5
9
|
}
|
|
6
10
|
export declare function getGlobalTemplatesPath(baseDir?: string): string;
|
|
7
11
|
export declare function interpolateTemplate(content: string, vars: TemplateVars): string;
|
package/dist/utils/templates.js
CHANGED
|
@@ -8,7 +8,11 @@ export function interpolateTemplate(content, vars) {
|
|
|
8
8
|
return content
|
|
9
9
|
.replaceAll("{{projectName}}", vars.projectName)
|
|
10
10
|
.replaceAll("{{description}}", vars.description)
|
|
11
|
-
.replaceAll("{{date}}", vars.date)
|
|
11
|
+
.replaceAll("{{date}}", vars.date)
|
|
12
|
+
.replaceAll("{{architectName}}", vars.architectName)
|
|
13
|
+
.replaceAll("{{executorName}}", vars.executorName)
|
|
14
|
+
.replaceAll("{{architectFile}}", vars.architectFile)
|
|
15
|
+
.replaceAll("{{executorFile}}", vars.executorFile);
|
|
12
16
|
}
|
|
13
17
|
export async function readGlobalTemplate(filePath, vars, templatesDir) {
|
|
14
18
|
const dir = templatesDir ?? getGlobalTemplatesPath();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/utils/templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/utils/templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAY5C,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACrD,OAAO,IAAI,CAAC,OAAO,IAAI,OAAO,EAAE,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,OAAe,EACf,IAAkB;IAElB,OAAO,OAAO;SACX,UAAU,CAAC,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC;SAC/C,UAAU,CAAC,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC;SAC/C,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC;SACjC,UAAU,CAAC,mBAAmB,EAAE,IAAI,CAAC,aAAa,CAAC;SACnD,UAAU,CAAC,kBAAkB,EAAE,IAAI,CAAC,YAAY,CAAC;SACjD,UAAU,CAAC,mBAAmB,EAAE,IAAI,CAAC,aAAa,CAAC;SACnD,UAAU,CAAC,kBAAkB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,QAAgB,EAChB,IAAkB,EAClB,YAAqB;IAErB,MAAM,GAAG,GAAG,YAAY,IAAI,sBAAsB,EAAE,CAAC;IACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACrC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC9C,OAAO,mBAAmB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/** Lightweight parser for Tocket payload XML (self-generated, deterministic structure). */
|
|
2
|
+
export interface ParsedTask {
|
|
3
|
+
id: string;
|
|
4
|
+
type: string;
|
|
5
|
+
target: string;
|
|
6
|
+
action: string;
|
|
7
|
+
spec: string;
|
|
8
|
+
done: string;
|
|
9
|
+
}
|
|
10
|
+
export interface ParsedPayload {
|
|
11
|
+
version: string;
|
|
12
|
+
meta: {
|
|
13
|
+
intent: string;
|
|
14
|
+
scope: string;
|
|
15
|
+
skills: string;
|
|
16
|
+
priority: string;
|
|
17
|
+
};
|
|
18
|
+
tasks: ParsedTask[];
|
|
19
|
+
checks: string[];
|
|
20
|
+
}
|
|
21
|
+
/** Parse a Tocket payload XML string into structured data. */
|
|
22
|
+
export declare function parsePayloadXml(xml: string): ParsedPayload;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/** Lightweight parser for Tocket payload XML (self-generated, deterministic structure). */
|
|
2
|
+
/** Strip XML comment placeholders like <!-- ... --> and trim. */
|
|
3
|
+
function clean(value) {
|
|
4
|
+
if (!value)
|
|
5
|
+
return "";
|
|
6
|
+
return value.replace(/<!--[\s\S]*?-->/g, "").trim();
|
|
7
|
+
}
|
|
8
|
+
/** Extract text content of a single XML tag from a block. */
|
|
9
|
+
function extractTag(block, tag) {
|
|
10
|
+
const re = new RegExp(`<${tag}>([\\s\\S]*?)</${tag}>`);
|
|
11
|
+
const match = block.match(re);
|
|
12
|
+
return clean(match?.[1]);
|
|
13
|
+
}
|
|
14
|
+
/** Parse a Tocket payload XML string into structured data. */
|
|
15
|
+
export function parsePayloadXml(xml) {
|
|
16
|
+
// Version
|
|
17
|
+
const versionMatch = xml.match(/<payload\s+version="([^"]+)">/);
|
|
18
|
+
const version = versionMatch?.[1] ?? "";
|
|
19
|
+
// Meta
|
|
20
|
+
const metaMatch = xml.match(/<meta>([\s\S]*?)<\/meta>/);
|
|
21
|
+
const metaBlock = metaMatch?.[1] ?? "";
|
|
22
|
+
const meta = {
|
|
23
|
+
intent: extractTag(metaBlock, "intent"),
|
|
24
|
+
scope: extractTag(metaBlock, "scope"),
|
|
25
|
+
skills: extractTag(metaBlock, "skills"),
|
|
26
|
+
priority: extractTag(metaBlock, "priority"),
|
|
27
|
+
};
|
|
28
|
+
// Tasks
|
|
29
|
+
const tasks = [];
|
|
30
|
+
const taskRegex = /<task\s+id="([^"]*)"(?:\s+type="([^"]*)")?(?:\s+skill="[^"]*")?>([\s\S]*?)<\/task>/g;
|
|
31
|
+
let taskMatch;
|
|
32
|
+
while ((taskMatch = taskRegex.exec(xml)) !== null) {
|
|
33
|
+
const [, id, type, body] = taskMatch;
|
|
34
|
+
tasks.push({
|
|
35
|
+
id: id ?? "",
|
|
36
|
+
type: clean(type),
|
|
37
|
+
target: extractTag(body, "target"),
|
|
38
|
+
action: extractTag(body, "action"),
|
|
39
|
+
spec: extractTag(body, "spec"),
|
|
40
|
+
done: extractTag(body, "done"),
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
// Validation checks
|
|
44
|
+
const checks = [];
|
|
45
|
+
const checkRegex = /<check>([\s\S]*?)<\/check>/g;
|
|
46
|
+
let checkMatch;
|
|
47
|
+
while ((checkMatch = checkRegex.exec(xml)) !== null) {
|
|
48
|
+
const value = clean(checkMatch[1]);
|
|
49
|
+
if (value)
|
|
50
|
+
checks.push(value);
|
|
51
|
+
}
|
|
52
|
+
return { version, meta, tasks, checks };
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=xml.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xml.js","sourceRoot":"","sources":["../../src/utils/xml.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAuB3F,iEAAiE;AACjE,SAAS,KAAK,CAAC,KAAyB;IACtC,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,OAAO,KAAK,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AACtD,CAAC;AAED,6DAA6D;AAC7D,SAAS,UAAU,CAAC,KAAa,EAAE,GAAW;IAC5C,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,IAAI,GAAG,kBAAkB,GAAG,GAAG,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC9B,OAAO,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,UAAU;IACV,MAAM,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAExC,OAAO;IACP,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAEvC,MAAM,IAAI,GAAG;QACX,MAAM,EAAE,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC;QACvC,KAAK,EAAE,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC;QACrC,MAAM,EAAE,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC;QACvC,QAAQ,EAAE,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC;KAC5C,CAAC;IAEF,QAAQ;IACR,MAAM,KAAK,GAAiB,EAAE,CAAC;IAC/B,MAAM,SAAS,GAAG,qFAAqF,CAAC;IACxG,IAAI,SAAiC,CAAC;IACtC,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAClD,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,EAAE,IAAI,EAAE;YACZ,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;YACjB,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC;YAClC,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC;YAClC,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC;YAC9B,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC;SAC/B,CAAC,CAAC;IACL,CAAC;IAED,oBAAoB;IACpB,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,UAAU,GAAG,6BAA6B,CAAC;IACjD,IAAI,UAAkC,CAAC;IACvC,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,IAAI,KAAK;YAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAC1C,CAAC"}
|