@mrc2204/agent-smart-memo 5.0.0 → 5.0.2
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 +266 -144
- package/dist/commands/telegram-addproject-command.d.ts +33 -0
- package/dist/commands/telegram-addproject-command.d.ts.map +1 -0
- package/dist/commands/telegram-addproject-command.js +208 -0
- package/dist/commands/telegram-addproject-command.js.map +1 -0
- package/dist/core/contracts/adapter-contracts.d.ts +1 -1
- package/dist/core/contracts/adapter-contracts.d.ts.map +1 -1
- package/dist/core/usecases/default-memory-usecase-port.d.ts +33 -0
- package/dist/core/usecases/default-memory-usecase-port.d.ts.map +1 -1
- package/dist/core/usecases/default-memory-usecase-port.js +873 -0
- package/dist/core/usecases/default-memory-usecase-port.js.map +1 -1
- package/dist/db/slot-db.d.ts +293 -0
- package/dist/db/slot-db.d.ts.map +1 -1
- package/dist/db/slot-db.js +1247 -0
- package/dist/db/slot-db.js.map +1 -1
- package/dist/index.d.ts +537 -64
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +212 -90
- package/dist/index.js.map +1 -1
- package/dist/services/qdrant.d.ts.map +1 -1
- package/dist/services/qdrant.js +17 -0
- package/dist/services/qdrant.js.map +1 -1
- package/dist/tools/project-tools.d.ts +8 -0
- package/dist/tools/project-tools.d.ts.map +1 -0
- package/dist/tools/project-tools.js +649 -0
- package/dist/tools/project-tools.js.map +1 -0
- package/openclaw.plugin.json +22 -2
- package/package.json +1 -1
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
import { getMemoryUseCasePortForContext } from "../adapters/openclaw/tool-runtime.js";
|
|
2
|
+
const DEFAULT_AGENT_ID = "main";
|
|
3
|
+
const TELEGRAM_PROJECT_COMMAND = "/project";
|
|
4
|
+
function parseBooleanLike(raw) {
|
|
5
|
+
const text = String(raw || "").trim().toLowerCase();
|
|
6
|
+
if (!text)
|
|
7
|
+
return undefined;
|
|
8
|
+
if (["1", "true", "yes", "y", "on"].includes(text))
|
|
9
|
+
return true;
|
|
10
|
+
if (["0", "false", "no", "n", "off"].includes(text))
|
|
11
|
+
return false;
|
|
12
|
+
return undefined;
|
|
13
|
+
}
|
|
14
|
+
function normalizeTokenValue(value) {
|
|
15
|
+
return String(value || "").trim();
|
|
16
|
+
}
|
|
17
|
+
function extractKeyValue(token) {
|
|
18
|
+
const idx = token.indexOf("=");
|
|
19
|
+
if (idx <= 0)
|
|
20
|
+
return null;
|
|
21
|
+
return {
|
|
22
|
+
key: token.slice(0, idx).trim().toLowerCase(),
|
|
23
|
+
value: token.slice(idx + 1).trim(),
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
function looksLikeRepoUrl(value) {
|
|
27
|
+
const txt = String(value || "").trim();
|
|
28
|
+
if (!txt)
|
|
29
|
+
return false;
|
|
30
|
+
return txt.startsWith("http://") || txt.startsWith("https://") || txt.startsWith("git@") || txt.includes("github.com") || txt.includes("gitlab.com");
|
|
31
|
+
}
|
|
32
|
+
export function parseAddProjectCommandArgs(args) {
|
|
33
|
+
const raw = String(args || "").trim();
|
|
34
|
+
if (!raw)
|
|
35
|
+
return { help: true };
|
|
36
|
+
const tokens = raw.split(/\s+/).filter(Boolean);
|
|
37
|
+
const payload = {
|
|
38
|
+
mode: "preview",
|
|
39
|
+
};
|
|
40
|
+
for (const token of tokens) {
|
|
41
|
+
const lowered = token.toLowerCase();
|
|
42
|
+
if (lowered === "help" || lowered === "-h" || lowered === "--help") {
|
|
43
|
+
return { help: true };
|
|
44
|
+
}
|
|
45
|
+
if (lowered === "preview" || lowered === "confirm") {
|
|
46
|
+
payload.mode = lowered;
|
|
47
|
+
continue;
|
|
48
|
+
}
|
|
49
|
+
const kv = extractKeyValue(token);
|
|
50
|
+
if (kv) {
|
|
51
|
+
const value = normalizeTokenValue(kv.value);
|
|
52
|
+
switch (kv.key) {
|
|
53
|
+
case "repo":
|
|
54
|
+
case "repo_url":
|
|
55
|
+
case "url":
|
|
56
|
+
payload.repo_url = value || undefined;
|
|
57
|
+
break;
|
|
58
|
+
case "alias":
|
|
59
|
+
case "project_alias":
|
|
60
|
+
payload.project_alias = value || undefined;
|
|
61
|
+
break;
|
|
62
|
+
case "jira":
|
|
63
|
+
case "jira_space":
|
|
64
|
+
case "jira_space_key":
|
|
65
|
+
payload.jira_space_key = value ? value.toUpperCase() : undefined;
|
|
66
|
+
break;
|
|
67
|
+
case "epic":
|
|
68
|
+
case "default_epic":
|
|
69
|
+
case "default_epic_key":
|
|
70
|
+
payload.default_epic_key = value ? value.toUpperCase() : undefined;
|
|
71
|
+
break;
|
|
72
|
+
case "index":
|
|
73
|
+
case "index_now": {
|
|
74
|
+
const bool = parseBooleanLike(value);
|
|
75
|
+
if (typeof bool === "boolean")
|
|
76
|
+
payload.index_now = bool;
|
|
77
|
+
break;
|
|
78
|
+
}
|
|
79
|
+
case "name":
|
|
80
|
+
case "project_name":
|
|
81
|
+
payload.project_name = value || undefined;
|
|
82
|
+
break;
|
|
83
|
+
case "root":
|
|
84
|
+
case "repo_root":
|
|
85
|
+
payload.repo_root = value || undefined;
|
|
86
|
+
break;
|
|
87
|
+
case "version":
|
|
88
|
+
case "active_version":
|
|
89
|
+
payload.active_version = value || undefined;
|
|
90
|
+
break;
|
|
91
|
+
case "mode":
|
|
92
|
+
if (value === "preview" || value === "confirm")
|
|
93
|
+
payload.mode = value;
|
|
94
|
+
break;
|
|
95
|
+
default:
|
|
96
|
+
break;
|
|
97
|
+
}
|
|
98
|
+
continue;
|
|
99
|
+
}
|
|
100
|
+
if (typeof payload.repo_url === "undefined" && looksLikeRepoUrl(token)) {
|
|
101
|
+
payload.repo_url = normalizeTokenValue(token);
|
|
102
|
+
continue;
|
|
103
|
+
}
|
|
104
|
+
if (typeof payload.project_alias === "undefined") {
|
|
105
|
+
payload.project_alias = normalizeTokenValue(token);
|
|
106
|
+
continue;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return payload;
|
|
110
|
+
}
|
|
111
|
+
export function composeAddProjectScopeUserId(ctx) {
|
|
112
|
+
const channel = String(ctx.channel || "telegram").toLowerCase();
|
|
113
|
+
const account = String(ctx.accountId || "default").trim() || "default";
|
|
114
|
+
const sender = String(ctx.senderId || ctx.from || "unknown").trim() || "unknown";
|
|
115
|
+
const thread = typeof ctx.messageThreadId === "number" ? `:thread:${ctx.messageThreadId}` : "";
|
|
116
|
+
return `${channel}:account:${account}:sender:${sender}${thread}`;
|
|
117
|
+
}
|
|
118
|
+
export function formatAddProjectUsage() {
|
|
119
|
+
return [
|
|
120
|
+
"Usage:",
|
|
121
|
+
"/project <repo_url> [alias=<project_alias>] [jira=<SPACE>] [epic=<SPACE-123>] [index=true|false]",
|
|
122
|
+
"/project confirm <repo_url> alias=<project_alias> jira=<SPACE> [epic=<SPACE-123>] [index=true|false]",
|
|
123
|
+
"",
|
|
124
|
+
"Examples:",
|
|
125
|
+
"/project git@github.com:org/repo.git alias=my-repo jira=ASM epic=ASM-82",
|
|
126
|
+
"/project confirm git@github.com:org/repo.git alias=my-repo jira=ASM index=true",
|
|
127
|
+
].join("\n");
|
|
128
|
+
}
|
|
129
|
+
export function formatAddProjectResult(result) {
|
|
130
|
+
const status = String(result?.status || "unknown");
|
|
131
|
+
if (status === "committed") {
|
|
132
|
+
return [
|
|
133
|
+
"✅ /project committed",
|
|
134
|
+
`- project_id: ${result?.project_id || "n/a"}`,
|
|
135
|
+
`- project_alias: ${result?.project_alias || "n/a"}`,
|
|
136
|
+
`- tracker: ${result?.tracker_mapping?.tracker_type || "none"}`,
|
|
137
|
+
`- index_requested: ${result?.index_trigger?.requested === true ? "yes" : "no"}`,
|
|
138
|
+
].join("\n");
|
|
139
|
+
}
|
|
140
|
+
const errors = Array.isArray(result?.errors) ? result.errors : [];
|
|
141
|
+
const warnings = Array.isArray(result?.warnings) ? result.warnings : [];
|
|
142
|
+
const fields = result?.summary_card?.fields || {};
|
|
143
|
+
const lines = [
|
|
144
|
+
status === "preview_ready" ? "🧭 /project preview" : "⚠️ /project validation",
|
|
145
|
+
`- mode: ${status}`,
|
|
146
|
+
`- command: ${fields.command || TELEGRAM_PROJECT_COMMAND}`,
|
|
147
|
+
`- repo_url: ${fields.repo_url || "(missing)"}`,
|
|
148
|
+
`- project_alias: ${fields.project_alias || "(missing)"}`,
|
|
149
|
+
`- jira_space_key: ${fields.jira_space_key || "(none)"}`,
|
|
150
|
+
`- default_epic_key: ${fields.default_epic_key || "(none)"}`,
|
|
151
|
+
`- index_now: ${fields.index_now === true ? "true" : "false"}`,
|
|
152
|
+
];
|
|
153
|
+
if (errors.length > 0) {
|
|
154
|
+
lines.push("- errors:");
|
|
155
|
+
for (const item of errors)
|
|
156
|
+
lines.push(` - ${String(item)}`);
|
|
157
|
+
}
|
|
158
|
+
if (warnings.length > 0) {
|
|
159
|
+
lines.push("- warnings:");
|
|
160
|
+
for (const item of warnings)
|
|
161
|
+
lines.push(` - ${String(item)}`);
|
|
162
|
+
}
|
|
163
|
+
if (status !== "committed") {
|
|
164
|
+
lines.push("- next: run /project confirm ... after fields are valid");
|
|
165
|
+
}
|
|
166
|
+
return lines.join("\n");
|
|
167
|
+
}
|
|
168
|
+
export function registerTelegramAddProjectCommand(api, deps) {
|
|
169
|
+
const getPort = deps?.getUseCasePortForContext || getMemoryUseCasePortForContext;
|
|
170
|
+
const now = deps?.now || (() => Date.now());
|
|
171
|
+
api.registerCommand({
|
|
172
|
+
name: "project",
|
|
173
|
+
description: "Project onboarding (preview/confirm) routed to project.telegram_onboarding",
|
|
174
|
+
acceptsArgs: true,
|
|
175
|
+
requireAuth: true,
|
|
176
|
+
handler: async (ctx) => {
|
|
177
|
+
if (String(ctx.channel || "").toLowerCase() !== "telegram") {
|
|
178
|
+
return { text: "This command is intended for Telegram channel usage." };
|
|
179
|
+
}
|
|
180
|
+
const parsed = parseAddProjectCommandArgs(ctx.args);
|
|
181
|
+
if (parsed.help) {
|
|
182
|
+
return { text: formatAddProjectUsage() };
|
|
183
|
+
}
|
|
184
|
+
const payload = parsed;
|
|
185
|
+
const userId = composeAddProjectScopeUserId(ctx);
|
|
186
|
+
const sessionKey = `agent:${DEFAULT_AGENT_ID}:${userId}`;
|
|
187
|
+
const useCasePort = getPort({
|
|
188
|
+
sessionKey,
|
|
189
|
+
pluginConfig: api.pluginConfig,
|
|
190
|
+
config: api.config,
|
|
191
|
+
});
|
|
192
|
+
const response = await useCasePort.run("project.telegram_onboarding", {
|
|
193
|
+
context: { userId, agentId: DEFAULT_AGENT_ID },
|
|
194
|
+
payload: {
|
|
195
|
+
command: TELEGRAM_PROJECT_COMMAND,
|
|
196
|
+
...payload,
|
|
197
|
+
},
|
|
198
|
+
meta: {
|
|
199
|
+
source: "openclaw",
|
|
200
|
+
toolName: "command.project",
|
|
201
|
+
requestId: `project:${now()}`,
|
|
202
|
+
},
|
|
203
|
+
});
|
|
204
|
+
return { text: formatAddProjectResult(response) };
|
|
205
|
+
},
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
//# sourceMappingURL=telegram-addproject-command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telegram-addproject-command.js","sourceRoot":"","sources":["../../src/commands/telegram-addproject-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@ export interface CoreRequestEnvelope<TPayload> {
|
|
|
17
17
|
requestId?: string;
|
|
18
18
|
};
|
|
19
19
|
}
|
|
20
|
-
export type MemoryUseCaseName = "slot.get" | "slot.set" | "slot.list" | "slot.delete" | "memory.capture" | "memory.search" | "graph.entity.get" | "graph.entity.set" | "graph.rel.add" | "graph.rel.remove" | "graph.search";
|
|
20
|
+
export type MemoryUseCaseName = "slot.get" | "slot.set" | "slot.list" | "slot.delete" | "project.register" | "project.get" | "project.list" | "project.set_registration_state" | "project.set_tracker_mapping" | "project.register_command" | "project.link_tracker" | "project.trigger_index" | "project.reindex_diff" | "project.index_watch_get" | "project.task_registry_upsert" | "project.task_lineage_context" | "project.hybrid_search" | "project.legacy_backfill" | "project.telegram_onboarding" | "memory.capture" | "memory.search" | "graph.entity.get" | "graph.entity.set" | "graph.rel.add" | "graph.rel.remove" | "graph.search";
|
|
21
21
|
export interface MemoryUseCasePort {
|
|
22
22
|
run<TReq, TRes>(useCase: MemoryUseCaseName, req: CoreRequestEnvelope<TReq>): Promise<TRes>;
|
|
23
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-contracts.d.ts","sourceRoot":"","sources":["../../../src/core/contracts/adapter-contracts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAErE,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,mBAAmB,CAAC,QAAQ;IAC3C,OAAO,EAAE,aAAa,CAAC;IACvB,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,OAAO,EAAE,QAAQ,CAAC;IAClB,IAAI,CAAC,EAAE;QACL,MAAM,EAAE,UAAU,GAAG,WAAW,GAAG,KAAK,GAAG,MAAM,CAAC;QAClD,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED,MAAM,MAAM,iBAAiB,GACzB,UAAU,GACV,UAAU,GACV,WAAW,GACX,aAAa,GACb,gBAAgB,GAChB,eAAe,GACf,kBAAkB,GAClB,kBAAkB,GAClB,eAAe,GACf,kBAAkB,GAClB,cAAc,CAAC;AAEnB,MAAM,WAAW,iBAAiB;IAChC,GAAG,CAAC,IAAI,EAAE,IAAI,EACZ,OAAO,EAAE,iBAAiB,EAC1B,GAAG,EAAE,mBAAmB,CAAC,IAAI,CAAC,GAC7B,OAAO,CAAC,IAAI,CAAC,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB,CAAC,WAAW;IAC/C,eAAe,CAAC,UAAU,EAAE,WAAW,GAAG,aAAa,CAAC;IACxD,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,GAAG,SAAS,CAAC;CAC1D;AAED,MAAM,WAAW,qBAAqB,CAAC,WAAW;IAChD,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CAAC;CAC9C"}
|
|
1
|
+
{"version":3,"file":"adapter-contracts.d.ts","sourceRoot":"","sources":["../../../src/core/contracts/adapter-contracts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAErE,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,mBAAmB,CAAC,QAAQ;IAC3C,OAAO,EAAE,aAAa,CAAC;IACvB,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,OAAO,EAAE,QAAQ,CAAC;IAClB,IAAI,CAAC,EAAE;QACL,MAAM,EAAE,UAAU,GAAG,WAAW,GAAG,KAAK,GAAG,MAAM,CAAC;QAClD,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED,MAAM,MAAM,iBAAiB,GACzB,UAAU,GACV,UAAU,GACV,WAAW,GACX,aAAa,GACb,kBAAkB,GAClB,aAAa,GACb,cAAc,GACd,gCAAgC,GAChC,6BAA6B,GAC7B,0BAA0B,GAC1B,sBAAsB,GACtB,uBAAuB,GACvB,sBAAsB,GACtB,yBAAyB,GACzB,8BAA8B,GAC9B,8BAA8B,GAC9B,uBAAuB,GACvB,yBAAyB,GACzB,6BAA6B,GAC7B,gBAAgB,GAChB,eAAe,GACf,kBAAkB,GAClB,kBAAkB,GAClB,eAAe,GACf,kBAAkB,GAClB,cAAc,CAAC;AAEnB,MAAM,WAAW,iBAAiB;IAChC,GAAG,CAAC,IAAI,EAAE,IAAI,EACZ,OAAO,EAAE,iBAAiB,EAC1B,GAAG,EAAE,mBAAmB,CAAC,IAAI,CAAC,GAC7B,OAAO,CAAC,IAAI,CAAC,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB,CAAC,WAAW;IAC/C,eAAe,CAAC,UAAU,EAAE,WAAW,GAAG,aAAa,CAAC;IACxD,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,GAAG,SAAS,CAAC;CAC1D;AAED,MAAM,WAAW,qBAAqB,CAAC,WAAW;IAChD,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CAAC;CAC9C"}
|
|
@@ -10,6 +10,39 @@ export declare class DefaultMemoryUseCasePort implements MemoryUseCasePort {
|
|
|
10
10
|
private handleSlotSet;
|
|
11
11
|
private handleSlotList;
|
|
12
12
|
private handleSlotDelete;
|
|
13
|
+
private handleProjectRegister;
|
|
14
|
+
private handleProjectGet;
|
|
15
|
+
private handleProjectList;
|
|
16
|
+
private handleProjectSetRegistrationState;
|
|
17
|
+
private handleProjectSetTrackerMapping;
|
|
18
|
+
private handleProjectRegisterCommand;
|
|
19
|
+
private handleProjectLinkTracker;
|
|
20
|
+
private handleProjectTriggerIndex;
|
|
21
|
+
private scheduleProjectReindexJob;
|
|
22
|
+
private resolveProjectRef;
|
|
23
|
+
private validateJiraTrackerFields;
|
|
24
|
+
private tryResolveRepoRootFromCwd;
|
|
25
|
+
private resolveWorkspaceRoot;
|
|
26
|
+
private resolveRepoForRegistration;
|
|
27
|
+
private normalizeRepoRootInput;
|
|
28
|
+
private normalizeRepoUrl;
|
|
29
|
+
private canonicalizeRemote;
|
|
30
|
+
private findRegisteredProjectByRemote;
|
|
31
|
+
private deriveRepoFolderName;
|
|
32
|
+
private tryResolveLocalPathImport;
|
|
33
|
+
private cloneOrReuseRepo;
|
|
34
|
+
private computeConflictCloneTarget;
|
|
35
|
+
private isMatchingExistingClone;
|
|
36
|
+
private gitClone;
|
|
37
|
+
private tryReadGitRemote;
|
|
38
|
+
private collectGitTrackedPaths;
|
|
39
|
+
private handleProjectReindexDiff;
|
|
40
|
+
private handleProjectIndexWatchGet;
|
|
41
|
+
private handleProjectTaskRegistryUpsert;
|
|
42
|
+
private handleProjectTaskLineageContext;
|
|
43
|
+
private handleProjectHybridSearch;
|
|
44
|
+
private handleProjectLegacyBackfill;
|
|
45
|
+
private handleProjectTelegramOnboarding;
|
|
13
46
|
private handleGraphEntityGet;
|
|
14
47
|
private handleGraphEntitySet;
|
|
15
48
|
private handleGraphRelAdd;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-memory-usecase-port.d.ts","sourceRoot":"","sources":["../../../src/core/usecases/default-memory-usecase-port.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"default-memory-usecase-port.d.ts","sourceRoot":"","sources":["../../../src/core/usecases/default-memory-usecase-port.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,mCAAmC,CAAC;AAK3C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AA4T1E,qBAAa,wBAAyB,YAAW,iBAAiB;IAE9D,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;gBADhB,MAAM,EAAE,MAAM,EACd,eAAe,CAAC,EAAE,qBAAqB,YAAA;IAGpD,GAAG,CAAC,IAAI,EAAE,IAAI,EAClB,OAAO,EAAE,iBAAiB,EAC1B,GAAG,EAAE,mBAAmB,CAAC,IAAI,CAAC,GAC7B,OAAO,CAAC,IAAI,CAAC;IA6DhB,OAAO,CAAC,aAAa;IAqDrB,OAAO,CAAC,aAAa;IAsBrB,OAAO,CAAC,cAAc;IA6BtB,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,qBAAqB;IAkB7B,OAAO,CAAC,gBAAgB;IA0BxB,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,iCAAiC;IAkBzC,OAAO,CAAC,8BAA8B;IAuBtC,OAAO,CAAC,4BAA4B;IA8GpC,OAAO,CAAC,wBAAwB;IAyChC,OAAO,CAAC,yBAAyB;IAoCjC,OAAO,CAAC,yBAAyB;IAwCjC,OAAO,CAAC,iBAAiB;IAoBzB,OAAO,CAAC,yBAAyB;IAmBjC,OAAO,CAAC,yBAAyB;IAajC,OAAO,CAAC,oBAAoB;IA8B5B,OAAO,CAAC,0BAA0B;IAgGlC,OAAO,CAAC,sBAAsB;IAa9B,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,6BAA6B;IAuBrC,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,yBAAyB;IAmBjC,OAAO,CAAC,gBAAgB;IAmDxB,OAAO,CAAC,0BAA0B;IAkBlC,OAAO,CAAC,uBAAuB;IAgB/B,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,sBAAsB;IA4D9B,OAAO,CAAC,wBAAwB;IAgBhC,OAAO,CAAC,0BAA0B;IAUlC,OAAO,CAAC,+BAA+B;IAwBvC,OAAO,CAAC,+BAA+B;IAqBvC,OAAO,CAAC,yBAAyB;IAoBjC,OAAO,CAAC,2BAA2B;IAYnC,OAAO,CAAC,+BAA+B;IAmIvC,OAAO,CAAC,oBAAoB;IAa5B,OAAO,CAAC,oBAAoB;IA0B5B,OAAO,CAAC,iBAAiB;IAsBzB,OAAO,CAAC,oBAAoB;YAuBd,mBAAmB;YAOnB,kBAAkB;IAOhC,OAAO,CAAC,iBAAiB;CAmB1B"}
|