opencode-swarm-plugin 0.44.2 → 0.45.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 +277 -54
- package/bin/swarm.ts +156 -29
- package/dist/bin/swarm.js +125212 -0
- package/dist/decision-trace-integration.d.ts +204 -0
- package/dist/decision-trace-integration.d.ts.map +1 -0
- package/dist/hive.d.ts.map +1 -1
- package/dist/hive.js +9 -9
- package/dist/index.d.ts +32 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +535 -27
- package/dist/plugin.js +295 -27
- package/dist/query-tools.d.ts +20 -12
- package/dist/query-tools.d.ts.map +1 -1
- package/dist/swarm-decompose.d.ts +4 -4
- package/dist/swarm-decompose.d.ts.map +1 -1
- package/dist/swarm-prompts.d.ts.map +1 -1
- package/dist/swarm-prompts.js +220 -22
- package/dist/swarm-review.d.ts.map +1 -1
- package/dist/swarm-signature.d.ts +106 -0
- package/dist/swarm-signature.d.ts.map +1 -0
- package/dist/swarm-strategies.d.ts +16 -3
- package/dist/swarm-strategies.d.ts.map +1 -1
- package/dist/swarm.d.ts +4 -2
- package/dist/swarm.d.ts.map +1 -1
- package/examples/commands/swarm.md +745 -0
- package/examples/plugin-wrapper-template.ts +2892 -0
- package/examples/skills/hive-workflow/SKILL.md +212 -0
- package/examples/skills/skill-creator/SKILL.md +223 -0
- package/examples/skills/swarm-coordination/SKILL.md +292 -0
- package/global-skills/cli-builder/SKILL.md +344 -0
- package/global-skills/cli-builder/references/advanced-patterns.md +244 -0
- package/global-skills/learning-systems/SKILL.md +644 -0
- package/global-skills/skill-creator/LICENSE.txt +202 -0
- package/global-skills/skill-creator/SKILL.md +352 -0
- package/global-skills/skill-creator/references/output-patterns.md +82 -0
- package/global-skills/skill-creator/references/workflows.md +28 -0
- package/global-skills/swarm-coordination/SKILL.md +995 -0
- package/global-skills/swarm-coordination/references/coordinator-patterns.md +235 -0
- package/global-skills/swarm-coordination/references/strategies.md +138 -0
- package/global-skills/system-design/SKILL.md +213 -0
- package/global-skills/testing-patterns/SKILL.md +430 -0
- package/global-skills/testing-patterns/references/dependency-breaking-catalog.md +586 -0
- package/package.json +6 -3
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Decision Trace Integration
|
|
3
|
+
*
|
|
4
|
+
* Wires decision trace capture into swarm coordination tools.
|
|
5
|
+
* Provides helper functions that tools can call to record decisions.
|
|
6
|
+
*
|
|
7
|
+
* ## Decision Types Captured
|
|
8
|
+
*
|
|
9
|
+
* - **strategy_selection** - Coordinator choosing decomposition strategy
|
|
10
|
+
* - **worker_spawn** - Coordinator spawning a worker agent
|
|
11
|
+
* - **review_decision** - Coordinator approving/rejecting worker output
|
|
12
|
+
* - **file_selection** - Worker choosing which files to modify
|
|
13
|
+
* - **scope_change** - Worker expanding/contracting task scope
|
|
14
|
+
*
|
|
15
|
+
* ## Usage
|
|
16
|
+
*
|
|
17
|
+
* ```typescript
|
|
18
|
+
* import { traceStrategySelection, traceWorkerSpawn } from "./decision-trace-integration.js";
|
|
19
|
+
*
|
|
20
|
+
* // In swarm_delegate_planning:
|
|
21
|
+
* await traceStrategySelection({
|
|
22
|
+
* projectKey: "/path/to/project",
|
|
23
|
+
* agentName: "coordinator",
|
|
24
|
+
* epicId: "epic-123",
|
|
25
|
+
* strategy: "file-based",
|
|
26
|
+
* reasoning: "File-based chosen due to clear file boundaries",
|
|
27
|
+
* alternatives: [{ strategy: "feature-based", reason: "rejected" }],
|
|
28
|
+
* });
|
|
29
|
+
* ```
|
|
30
|
+
*
|
|
31
|
+
* @module decision-trace-integration
|
|
32
|
+
*/
|
|
33
|
+
/**
|
|
34
|
+
* Extract memory IDs from precedent_cited object
|
|
35
|
+
*
|
|
36
|
+
* Handles both single memoryId and array memoryIds fields.
|
|
37
|
+
*
|
|
38
|
+
* @param precedentCited - Precedent object from decision trace
|
|
39
|
+
* @returns Array of memory IDs (empty if none found)
|
|
40
|
+
*/
|
|
41
|
+
export declare function extractMemoryIds(precedentCited?: {
|
|
42
|
+
memoryId?: string;
|
|
43
|
+
memoryIds?: string[];
|
|
44
|
+
similarity?: number;
|
|
45
|
+
} | null): string[];
|
|
46
|
+
/**
|
|
47
|
+
* Input for tracing strategy selection decisions
|
|
48
|
+
*/
|
|
49
|
+
export interface StrategySelectionInput {
|
|
50
|
+
projectKey: string;
|
|
51
|
+
agentName: string;
|
|
52
|
+
epicId?: string;
|
|
53
|
+
beadId?: string;
|
|
54
|
+
strategy: string;
|
|
55
|
+
reasoning: string;
|
|
56
|
+
confidence?: number;
|
|
57
|
+
taskPreview?: string;
|
|
58
|
+
inputsGathered?: Array<{
|
|
59
|
+
source: string;
|
|
60
|
+
query?: string;
|
|
61
|
+
results?: number;
|
|
62
|
+
}>;
|
|
63
|
+
alternatives?: Array<{
|
|
64
|
+
strategy: string;
|
|
65
|
+
score?: number;
|
|
66
|
+
reason?: string;
|
|
67
|
+
}>;
|
|
68
|
+
precedentCited?: {
|
|
69
|
+
memoryId?: string;
|
|
70
|
+
memoryIds?: string[];
|
|
71
|
+
similarity?: number;
|
|
72
|
+
cassResults?: number;
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Trace a strategy selection decision
|
|
77
|
+
*
|
|
78
|
+
* Call this when the coordinator selects a decomposition strategy.
|
|
79
|
+
* Automatically creates entity links to any memory patterns cited as precedent.
|
|
80
|
+
*
|
|
81
|
+
* @param input - Strategy selection details
|
|
82
|
+
* @returns Created decision trace ID
|
|
83
|
+
*/
|
|
84
|
+
export declare function traceStrategySelection(input: StrategySelectionInput): Promise<string>;
|
|
85
|
+
/**
|
|
86
|
+
* Input for tracing worker spawn decisions
|
|
87
|
+
*/
|
|
88
|
+
export interface WorkerSpawnInput {
|
|
89
|
+
projectKey: string;
|
|
90
|
+
agentName: string;
|
|
91
|
+
epicId: string;
|
|
92
|
+
beadId: string;
|
|
93
|
+
workerName?: string;
|
|
94
|
+
subtaskTitle: string;
|
|
95
|
+
files: string[];
|
|
96
|
+
model?: string;
|
|
97
|
+
spawnOrder?: number;
|
|
98
|
+
isParallel?: boolean;
|
|
99
|
+
rationale?: string;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Trace a worker spawn decision
|
|
103
|
+
*
|
|
104
|
+
* Call this when the coordinator spawns a worker agent.
|
|
105
|
+
* Automatically creates entity links to assigned files.
|
|
106
|
+
*
|
|
107
|
+
* @param input - Worker spawn details
|
|
108
|
+
* @returns Created decision trace ID
|
|
109
|
+
*/
|
|
110
|
+
export declare function traceWorkerSpawn(input: WorkerSpawnInput): Promise<string>;
|
|
111
|
+
/**
|
|
112
|
+
* Input for tracing review decisions
|
|
113
|
+
*/
|
|
114
|
+
export interface ReviewDecisionInput {
|
|
115
|
+
projectKey: string;
|
|
116
|
+
agentName: string;
|
|
117
|
+
epicId: string;
|
|
118
|
+
beadId: string;
|
|
119
|
+
workerId: string;
|
|
120
|
+
status: "approved" | "needs_changes";
|
|
121
|
+
summary?: string;
|
|
122
|
+
issues?: Array<{
|
|
123
|
+
file: string;
|
|
124
|
+
line?: number;
|
|
125
|
+
issue: string;
|
|
126
|
+
suggestion?: string;
|
|
127
|
+
}>;
|
|
128
|
+
attemptNumber?: number;
|
|
129
|
+
remainingAttempts?: number;
|
|
130
|
+
rationale?: string;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Trace a review decision
|
|
134
|
+
*
|
|
135
|
+
* Call this when the coordinator approves or rejects worker output.
|
|
136
|
+
* Automatically creates entity link to the worker agent being reviewed.
|
|
137
|
+
*
|
|
138
|
+
* @param input - Review decision details
|
|
139
|
+
* @returns Created decision trace ID
|
|
140
|
+
*/
|
|
141
|
+
export declare function traceReviewDecision(input: ReviewDecisionInput): Promise<string>;
|
|
142
|
+
/**
|
|
143
|
+
* Input for tracing file selection decisions
|
|
144
|
+
*/
|
|
145
|
+
export interface FileSelectionInput {
|
|
146
|
+
projectKey: string;
|
|
147
|
+
agentName: string;
|
|
148
|
+
epicId?: string;
|
|
149
|
+
beadId: string;
|
|
150
|
+
filesSelected: string[];
|
|
151
|
+
filesOwned: string[];
|
|
152
|
+
rationale?: string;
|
|
153
|
+
scopeExpanded?: boolean;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Trace a file selection decision
|
|
157
|
+
*
|
|
158
|
+
* Call this when a worker selects which files to modify.
|
|
159
|
+
*
|
|
160
|
+
* @param input - File selection details
|
|
161
|
+
* @returns Created decision trace ID
|
|
162
|
+
*/
|
|
163
|
+
export declare function traceFileSelection(input: FileSelectionInput): Promise<string>;
|
|
164
|
+
/**
|
|
165
|
+
* Input for tracing scope change decisions
|
|
166
|
+
*/
|
|
167
|
+
export interface ScopeChangeInput {
|
|
168
|
+
projectKey: string;
|
|
169
|
+
agentName: string;
|
|
170
|
+
epicId?: string;
|
|
171
|
+
beadId: string;
|
|
172
|
+
filesAdded?: string[];
|
|
173
|
+
filesRemoved?: string[];
|
|
174
|
+
reason: string;
|
|
175
|
+
coordinatorApproved?: boolean;
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Trace a scope change decision
|
|
179
|
+
*
|
|
180
|
+
* Call this when a worker expands or contracts their task scope.
|
|
181
|
+
*
|
|
182
|
+
* @param input - Scope change details
|
|
183
|
+
* @returns Created decision trace ID
|
|
184
|
+
*/
|
|
185
|
+
export declare function traceScopeChange(input: ScopeChangeInput): Promise<string>;
|
|
186
|
+
/**
|
|
187
|
+
* Get all decision traces for an epic
|
|
188
|
+
*
|
|
189
|
+
* Useful for post-hoc analysis of how an epic was coordinated.
|
|
190
|
+
*
|
|
191
|
+
* @param projectKey - Project path
|
|
192
|
+
* @param epicId - Epic ID to query
|
|
193
|
+
* @returns Array of decision traces
|
|
194
|
+
*/
|
|
195
|
+
export declare function getEpicDecisionTraces(projectKey: string, epicId: string): Promise<import("swarm-mail").DecisionTrace[]>;
|
|
196
|
+
/**
|
|
197
|
+
* Get decision traces by type for analysis
|
|
198
|
+
*
|
|
199
|
+
* @param projectKey - Project path
|
|
200
|
+
* @param decisionType - Type of decision to query
|
|
201
|
+
* @returns Array of decision traces
|
|
202
|
+
*/
|
|
203
|
+
export declare function getDecisionTracesByType(projectKey: string, decisionType: string): Promise<import("swarm-mail").DecisionTrace[]>;
|
|
204
|
+
//# sourceMappingURL=decision-trace-integration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decision-trace-integration.d.ts","sourceRoot":"","sources":["../src/decision-trace-integration.ts"],"names":[],"mappings":"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"}
|
package/dist/hive.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hive.d.ts","sourceRoot":"","sources":["../src/hive.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAKL,KAAK,WAAW,
|
|
1
|
+
{"version":3,"file":"hive.d.ts","sourceRoot":"","sources":["../src/hive.ts"],"names":[],"mappings":"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"}
|
package/dist/hive.js
CHANGED
|
@@ -13243,7 +13243,8 @@ import {
|
|
|
13243
13243
|
importFromJSONL,
|
|
13244
13244
|
syncMemories,
|
|
13245
13245
|
getSwarmMailLibSQL,
|
|
13246
|
-
resolvePartialId
|
|
13246
|
+
resolvePartialId,
|
|
13247
|
+
findCellsByPartialId
|
|
13247
13248
|
} from "swarm-mail";
|
|
13248
13249
|
import { existsSync as existsSync2, readFileSync as readFileSync2 } from "node:fs";
|
|
13249
13250
|
import { join as join2 } from "node:path";
|
|
@@ -14531,13 +14532,12 @@ PREFER THIS OVER hive_query when you need to:
|
|
|
14531
14532
|
const adapter = await getHiveAdapter(projectKey);
|
|
14532
14533
|
try {
|
|
14533
14534
|
if (args.id) {
|
|
14534
|
-
const
|
|
14535
|
-
|
|
14536
|
-
if (!cell) {
|
|
14535
|
+
const matchingCells = await findCellsByPartialId(adapter, projectKey, args.id);
|
|
14536
|
+
if (matchingCells.length === 0) {
|
|
14537
14537
|
throw new HiveError(`No cell found matching ID '${args.id}'`, "hive_cells");
|
|
14538
14538
|
}
|
|
14539
|
-
const formatted2 = formatCellForOutput(
|
|
14540
|
-
return JSON.stringify(
|
|
14539
|
+
const formatted2 = matchingCells.map((c) => formatCellForOutput(c));
|
|
14540
|
+
return JSON.stringify(formatted2, null, 2);
|
|
14541
14541
|
}
|
|
14542
14542
|
if (args.ready) {
|
|
14543
14543
|
const ready = await adapter.getNextReadyCell(projectKey);
|
|
@@ -14556,10 +14556,10 @@ PREFER THIS OVER hive_query when you need to:
|
|
|
14556
14556
|
const formatted = cells.map((c) => formatCellForOutput(c));
|
|
14557
14557
|
return JSON.stringify(formatted, null, 2);
|
|
14558
14558
|
} catch (error45) {
|
|
14559
|
-
|
|
14560
|
-
|
|
14561
|
-
throw new HiveError(`Ambiguous ID '${args.id}': multiple cells match. Please provide more characters.`, "hive_cells");
|
|
14559
|
+
if (error45 instanceof HiveError) {
|
|
14560
|
+
throw error45;
|
|
14562
14561
|
}
|
|
14562
|
+
const message = error45 instanceof Error ? error45.message : String(error45);
|
|
14563
14563
|
if (message.includes("Bead not found") || message.includes("Cell not found")) {
|
|
14564
14564
|
throw new HiveError(`No cell found matching ID '${args.id || "unknown"}'`, "hive_cells");
|
|
14565
14565
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -1250,8 +1250,8 @@ export declare const allTools: {
|
|
|
1250
1250
|
user_response: import("zod").ZodOptional<import("zod").ZodString>;
|
|
1251
1251
|
phase: import("zod").ZodOptional<import("zod").ZodEnum<{
|
|
1252
1252
|
ready: "ready";
|
|
1253
|
-
questioning: "questioning";
|
|
1254
1253
|
alternatives: "alternatives";
|
|
1254
|
+
questioning: "questioning";
|
|
1255
1255
|
recommendation: "recommendation";
|
|
1256
1256
|
}>>;
|
|
1257
1257
|
};
|
|
@@ -1260,7 +1260,7 @@ export declare const allTools: {
|
|
|
1260
1260
|
mode: "auto" | "socratic" | "fast" | "confirm-only";
|
|
1261
1261
|
context?: string | undefined;
|
|
1262
1262
|
user_response?: string | undefined;
|
|
1263
|
-
phase?: "ready" | "
|
|
1263
|
+
phase?: "ready" | "alternatives" | "questioning" | "recommendation" | undefined;
|
|
1264
1264
|
}, context: import("@opencode-ai/plugin").ToolContext): Promise<string>;
|
|
1265
1265
|
};
|
|
1266
1266
|
readonly swarm_select_strategy: {
|
|
@@ -1268,10 +1268,12 @@ export declare const allTools: {
|
|
|
1268
1268
|
args: {
|
|
1269
1269
|
task: import("zod").ZodString;
|
|
1270
1270
|
codebase_context: import("zod").ZodOptional<import("zod").ZodString>;
|
|
1271
|
+
projectKey: import("zod").ZodOptional<import("zod").ZodString>;
|
|
1271
1272
|
};
|
|
1272
1273
|
execute(args: {
|
|
1273
1274
|
task: string;
|
|
1274
1275
|
codebase_context?: string | undefined;
|
|
1276
|
+
projectKey?: string | undefined;
|
|
1275
1277
|
}, context: import("@opencode-ai/plugin").ToolContext): Promise<string>;
|
|
1276
1278
|
};
|
|
1277
1279
|
readonly structured_extract_json: {
|
|
@@ -1910,4 +1912,32 @@ export { discoverDocTools, getInstalledVersions, researchTools, type DiscoveredT
|
|
|
1910
1912
|
* - ValidationContext - Context for validation execution
|
|
1911
1913
|
*/
|
|
1912
1914
|
export { ValidationIssueSeverity, ValidationIssueCategory, ValidationIssueSchema, runPostSwarmValidation, reportIssue, type ValidationIssue, type ValidationContext, } from "./swarm-validation";
|
|
1915
|
+
/**
|
|
1916
|
+
* Swarm Signature Detection
|
|
1917
|
+
*
|
|
1918
|
+
* Deterministic, algorithmic detection of swarm coordination from session events.
|
|
1919
|
+
* No heuristics, no confidence levels - a swarm either exists or it doesn't.
|
|
1920
|
+
*
|
|
1921
|
+
* A SWARM is defined by this event sequence:
|
|
1922
|
+
* 1. hive_create_epic(epic_title, subtasks[]) → epic_id
|
|
1923
|
+
* 2. swarm_spawn_subtask(bead_id, epic_id, ...) → prompt (at least one)
|
|
1924
|
+
*
|
|
1925
|
+
* The projection folds over events to produce ground truth state:
|
|
1926
|
+
* - Which epic is being coordinated
|
|
1927
|
+
* - Which subtasks exist and their lifecycle status
|
|
1928
|
+
* - What files are assigned to each subtask
|
|
1929
|
+
*
|
|
1930
|
+
* Functions:
|
|
1931
|
+
* - projectSwarmState - Fold over events to produce swarm state
|
|
1932
|
+
* - hasSwarmSignature - Quick check for swarm signature
|
|
1933
|
+
* - isSwarmActive - Check if swarm has pending work
|
|
1934
|
+
* - getSwarmSummary - Human-readable status summary
|
|
1935
|
+
*
|
|
1936
|
+
* Types:
|
|
1937
|
+
* - SwarmProjection - Complete swarm state from event projection
|
|
1938
|
+
* - ToolCallEvent - Tool call event from session messages
|
|
1939
|
+
* - SubtaskState - Subtask lifecycle state
|
|
1940
|
+
* - EpicState - Epic state
|
|
1941
|
+
*/
|
|
1942
|
+
export { projectSwarmState, hasSwarmSignature, isSwarmActive, getSwarmSummary, type SwarmProjection, type ToolCallEvent, type SubtaskState, type SubtaskStatus, type EpicState, } from "./swarm-signature";
|
|
1913
1943
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,KAAK,EAAE,MAAM,EAAsB,MAAM,qBAAqB,CAAC;AA+CtE;;;;;;;;;;;;;;;;;;GAkBG;AACH,QAAA,MAAM,WAAW,EAAE,MA6QlB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAe,WAAW,CAAC;AAM3B;;GAEG;AACH,cAAc,WAAW,CAAC;AAE1B;;;;;;;;;;;GAWG;AACH,cAAc,QAAQ,CAAC;AAEvB;;;;;;;;;;;;GAYG;AACH,OAAO,EACL,cAAc,EACd,cAAc,EACd,4BAA4B,EAC5B,4BAA4B,EAC5B,oBAAoB,EACpB,4BAA4B,EAC5B,4BAA4B,EAC5B,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,EACpB,KAAK,cAAc,GACpB,MAAM,cAAc,CAAC;AAEtB;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EACL,cAAc,EACd,4BAA4B,EAC5B,4BAA4B,EAC5B,iBAAiB,EACjB,KAAK,cAAc,GACpB,MAAM,cAAc,CAAC;AAEtB;;;;;GAKG;AACH,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD;;;;;;GAMG;AACH,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,eAAe,GAChB,MAAM,cAAc,CAAC;AAEtB;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EACL,UAAU,EACV,UAAU,EACV,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,EAEjB,UAAU,EACV,cAAc,EACd,wBAAwB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,GACxB,MAAM,SAAS,CAAC;AAMjB;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,KAAK,EAAE,MAAM,EAAsB,MAAM,qBAAqB,CAAC;AA+CtE;;;;;;;;;;;;;;;;;;GAkBG;AACH,QAAA,MAAM,WAAW,EAAE,MA6QlB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAe,WAAW,CAAC;AAM3B;;GAEG;AACH,cAAc,WAAW,CAAC;AAE1B;;;;;;;;;;;GAWG;AACH,cAAc,QAAQ,CAAC;AAEvB;;;;;;;;;;;;GAYG;AACH,OAAO,EACL,cAAc,EACd,cAAc,EACd,4BAA4B,EAC5B,4BAA4B,EAC5B,oBAAoB,EACpB,4BAA4B,EAC5B,4BAA4B,EAC5B,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,EACpB,KAAK,cAAc,GACpB,MAAM,cAAc,CAAC;AAEtB;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EACL,cAAc,EACd,4BAA4B,EAC5B,4BAA4B,EAC5B,iBAAiB,EACjB,KAAK,cAAc,GACpB,MAAM,cAAc,CAAC;AAEtB;;;;;GAKG;AACH,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD;;;;;;GAMG;AACH,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,eAAe,GAChB,MAAM,cAAc,CAAC;AAEtB;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EACL,UAAU,EACV,UAAU,EACV,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,EAEjB,UAAU,EACV,cAAc,EACd,wBAAwB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,GACxB,MAAM,SAAS,CAAC;AAMjB;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
|