@kernel.chat/kbot 2.9.0 → 2.10.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 (70) hide show
  1. package/dist/agent.d.ts +2 -0
  2. package/dist/agent.d.ts.map +1 -1
  3. package/dist/agent.js +1 -1
  4. package/dist/agent.js.map +1 -1
  5. package/dist/auth.d.ts.map +1 -1
  6. package/dist/auth.js +17 -12
  7. package/dist/auth.js.map +1 -1
  8. package/dist/cli.js +194 -2
  9. package/dist/cli.js.map +1 -1
  10. package/dist/cloud-sync.d.ts.map +1 -1
  11. package/dist/cloud-sync.js +15 -4
  12. package/dist/cloud-sync.js.map +1 -1
  13. package/dist/confidence.d.ts.map +1 -1
  14. package/dist/confidence.js +4 -1
  15. package/dist/confidence.js.map +1 -1
  16. package/dist/context-manager.d.ts.map +1 -1
  17. package/dist/context-manager.js +31 -5
  18. package/dist/context-manager.js.map +1 -1
  19. package/dist/context-manager.test.d.ts +2 -0
  20. package/dist/context-manager.test.d.ts.map +1 -0
  21. package/dist/context-manager.test.js +121 -0
  22. package/dist/context-manager.test.js.map +1 -0
  23. package/dist/export.d.ts +20 -0
  24. package/dist/export.d.ts.map +1 -0
  25. package/dist/export.js +301 -0
  26. package/dist/export.js.map +1 -0
  27. package/dist/ide/acp-server.js +5 -4
  28. package/dist/ide/acp-server.js.map +1 -1
  29. package/dist/ide/lsp-bridge.d.ts.map +1 -1
  30. package/dist/ide/lsp-bridge.js +11 -5
  31. package/dist/ide/lsp-bridge.js.map +1 -1
  32. package/dist/marketplace.d.ts +25 -0
  33. package/dist/marketplace.d.ts.map +1 -0
  34. package/dist/marketplace.js +327 -0
  35. package/dist/marketplace.js.map +1 -0
  36. package/dist/planner.d.ts.map +1 -1
  37. package/dist/planner.js +3 -2
  38. package/dist/planner.js.map +1 -1
  39. package/dist/rate-limiter.d.ts +45 -0
  40. package/dist/rate-limiter.d.ts.map +1 -0
  41. package/dist/rate-limiter.js +200 -0
  42. package/dist/rate-limiter.js.map +1 -0
  43. package/dist/sessions.test.d.ts +2 -0
  44. package/dist/sessions.test.d.ts.map +1 -0
  45. package/dist/sessions.test.js +55 -0
  46. package/dist/sessions.test.js.map +1 -0
  47. package/dist/streaming.d.ts.map +1 -1
  48. package/dist/streaming.js +105 -26
  49. package/dist/streaming.js.map +1 -1
  50. package/dist/streaming.test.d.ts +2 -0
  51. package/dist/streaming.test.d.ts.map +1 -0
  52. package/dist/streaming.test.js +41 -0
  53. package/dist/streaming.test.js.map +1 -0
  54. package/dist/tools/index.d.ts.map +1 -1
  55. package/dist/tools/index.js +22 -10
  56. package/dist/tools/index.js.map +1 -1
  57. package/dist/tools/test-runner.d.ts +2 -0
  58. package/dist/tools/test-runner.d.ts.map +1 -0
  59. package/dist/tools/test-runner.js +550 -0
  60. package/dist/tools/test-runner.js.map +1 -0
  61. package/dist/ui.js +1 -1
  62. package/dist/voice.d.ts +25 -0
  63. package/dist/voice.d.ts.map +1 -0
  64. package/dist/voice.js +336 -0
  65. package/dist/voice.js.map +1 -0
  66. package/dist/watch.d.ts +37 -0
  67. package/dist/watch.d.ts.map +1 -0
  68. package/dist/watch.js +369 -0
  69. package/dist/watch.js.map +1 -0
  70. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-runner.js","sourceRoot":"","sources":["../../src/tools/test-runner.ts"],"names":[],"mappings":"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"}
package/dist/ui.js CHANGED
@@ -252,7 +252,7 @@ export function printHelp() {
252
252
  ` ${chalk.white('/compact')} Compress conversation (saves tokens)`,
253
253
  ` ${chalk.white('/dashboard')} See usage stats and learning data`,
254
254
  '',
255
- ` ${DIM('37 specialist agents. 151 tools. Type anything to get started.')}`,
255
+ ` ${DIM('37 specialist agents. 153 tools. Type anything to get started.')}`,
256
256
  '',
257
257
  ];
258
258
  status(lines.join('\n'));
@@ -0,0 +1,25 @@
1
+ import { type ChildProcess } from 'node:child_process';
2
+ export interface VoiceOptions {
3
+ /** TTS voice name (macOS: Alex, Samantha, etc.) */
4
+ voice?: string;
5
+ /** TTS speech rate (words per minute, default: 200) */
6
+ rate?: number;
7
+ /** Enable TTS output (default: true) */
8
+ tts?: boolean;
9
+ /** Enable STT input (default: false — requires whisper) */
10
+ stt?: boolean;
11
+ }
12
+ export interface VoiceState {
13
+ enabled: boolean;
14
+ ttsProcess?: ChildProcess;
15
+ sttAvailable: boolean;
16
+ voice: string;
17
+ rate: number;
18
+ }
19
+ export declare function initVoice(options?: VoiceOptions): VoiceState;
20
+ export declare function speak(text: string, state: VoiceState): Promise<void>;
21
+ export declare function stopSpeaking(state: VoiceState): void;
22
+ export declare function listen(state: VoiceState): Promise<string>;
23
+ export declare function listVoices(): string[];
24
+ export declare function formatVoiceStatus(state: VoiceState): string;
25
+ //# sourceMappingURL=voice.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voice.d.ts","sourceRoot":"","sources":["../src/voice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAWvE,MAAM,WAAW,YAAY;IAC3B,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,uDAAuD;IACvD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,wCAAwC;IACxC,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,2DAA2D;IAC3D,GAAG,CAAC,EAAE,OAAO,CAAA;CACd;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,CAAC,EAAE,YAAY,CAAA;IACzB,YAAY,EAAE,OAAO,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb;AAgGD,wBAAgB,SAAS,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,UAAU,CA8B5D;AAMD,wBAAsB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CA0D1E;AAMD,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAKpD;AAMD,wBAAsB,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAkF/D;AAoBD,wBAAgB,UAAU,IAAI,MAAM,EAAE,CAuDrC;AAMD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CA8B3D"}
package/dist/voice.js ADDED
@@ -0,0 +1,336 @@
1
+ import { execSync, spawn } from 'node:child_process';
2
+ import { createInterface } from 'node:readline';
3
+ import { tmpdir } from 'node:os';
4
+ import { join } from 'node:path';
5
+ import { existsSync, unlinkSync } from 'node:fs';
6
+ import chalk from 'chalk';
7
+ // ---------------------------------------------------------------------------
8
+ // Platform detection helpers
9
+ // ---------------------------------------------------------------------------
10
+ const platform = process.platform;
11
+ function commandExists(cmd) {
12
+ try {
13
+ execSync(`which ${cmd}`, { stdio: 'ignore' });
14
+ return true;
15
+ }
16
+ catch {
17
+ return false;
18
+ }
19
+ }
20
+ function detectTTSEngine() {
21
+ if (platform === 'darwin')
22
+ return 'say';
23
+ if (commandExists('espeak'))
24
+ return 'espeak';
25
+ if (commandExists('festival'))
26
+ return 'festival';
27
+ return null;
28
+ }
29
+ function detectSTT() {
30
+ return commandExists('whisper') || commandExists('whisper.cpp');
31
+ }
32
+ function detectRecorder() {
33
+ if (commandExists('rec'))
34
+ return 'rec';
35
+ if (commandExists('arecord'))
36
+ return 'arecord';
37
+ return null;
38
+ }
39
+ // ---------------------------------------------------------------------------
40
+ // Text sanitization
41
+ // ---------------------------------------------------------------------------
42
+ /** Strip markdown formatting so TTS reads clean prose. */
43
+ function stripMarkdown(text) {
44
+ let cleaned = text;
45
+ // Replace code blocks with a spoken description of the language
46
+ cleaned = cleaned.replace(/```(\w+)?\n[\s\S]*?```/g, (_match, lang) => {
47
+ return lang
48
+ ? `Here's a ${lang} snippet.`
49
+ : 'Here\'s a code snippet.';
50
+ });
51
+ // Remove inline code
52
+ cleaned = cleaned.replace(/`([^`]+)`/g, '$1');
53
+ // Remove headings markers
54
+ cleaned = cleaned.replace(/^#{1,6}\s+/gm, '');
55
+ // Remove bold / italic markers
56
+ cleaned = cleaned.replace(/\*{1,3}([^*]+)\*{1,3}/g, '$1');
57
+ cleaned = cleaned.replace(/_{1,3}([^_]+)_{1,3}/g, '$1');
58
+ // Remove strikethrough
59
+ cleaned = cleaned.replace(/~~([^~]+)~~/g, '$1');
60
+ // Remove links — keep the label
61
+ cleaned = cleaned.replace(/\[([^\]]+)\]\([^)]+\)/g, '$1');
62
+ // Remove images
63
+ cleaned = cleaned.replace(/!\[([^\]]*)\]\([^)]+\)/g, '$1');
64
+ // Remove blockquote markers
65
+ cleaned = cleaned.replace(/^>\s+/gm, '');
66
+ // Remove horizontal rules
67
+ cleaned = cleaned.replace(/^[-*_]{3,}\s*$/gm, '');
68
+ // Remove list markers (unordered)
69
+ cleaned = cleaned.replace(/^[\s]*[-*+]\s+/gm, '');
70
+ // Remove list markers (ordered)
71
+ cleaned = cleaned.replace(/^[\s]*\d+\.\s+/gm, '');
72
+ // Collapse multiple newlines
73
+ cleaned = cleaned.replace(/\n{3,}/g, '\n\n');
74
+ return cleaned.trim();
75
+ }
76
+ /** Sanitize text for safe shell usage — strip characters that could be interpreted. */
77
+ function sanitizeForShell(text) {
78
+ // Remove characters that are dangerous in shell context
79
+ return text.replace(/[;&|`$(){}[\]!#\\]/g, '');
80
+ }
81
+ // ---------------------------------------------------------------------------
82
+ // 1. initVoice
83
+ // ---------------------------------------------------------------------------
84
+ export function initVoice(options) {
85
+ const ttsEngine = detectTTSEngine();
86
+ const sttAvailable = options?.stt ? detectSTT() : false;
87
+ const enabled = options?.tts !== false && ttsEngine !== null;
88
+ if (!ttsEngine) {
89
+ console.warn(chalk.yellow('⚠ No TTS engine found. ') +
90
+ (platform === 'darwin'
91
+ ? 'Expected "say" — this should be available on macOS.'
92
+ : 'Install espeak or festival for TTS support.'));
93
+ }
94
+ if (options?.stt && !sttAvailable) {
95
+ console.warn(chalk.yellow('⚠ STT requested but whisper not found. ') +
96
+ 'Install whisper.cpp or openai-whisper for speech-to-text.');
97
+ }
98
+ const defaultVoice = platform === 'darwin' ? 'Alex' : 'default';
99
+ return {
100
+ enabled,
101
+ sttAvailable,
102
+ voice: options?.voice ?? defaultVoice,
103
+ rate: options?.rate ?? 200,
104
+ };
105
+ }
106
+ // ---------------------------------------------------------------------------
107
+ // 2. speak
108
+ // ---------------------------------------------------------------------------
109
+ export async function speak(text, state) {
110
+ if (!state.enabled)
111
+ return;
112
+ // Kill any in-progress speech first
113
+ stopSpeaking(state);
114
+ const cleaned = sanitizeForShell(stripMarkdown(text));
115
+ if (!cleaned)
116
+ return;
117
+ const ttsEngine = detectTTSEngine();
118
+ if (!ttsEngine)
119
+ return;
120
+ return new Promise((resolve) => {
121
+ let proc;
122
+ switch (ttsEngine) {
123
+ case 'say':
124
+ proc = spawn('say', ['-v', state.voice, '-r', String(state.rate), cleaned], {
125
+ stdio: 'ignore',
126
+ });
127
+ break;
128
+ case 'espeak':
129
+ proc = spawn('espeak', [cleaned], {
130
+ stdio: 'ignore',
131
+ });
132
+ break;
133
+ case 'festival': {
134
+ proc = spawn('festival', ['--tts'], {
135
+ stdio: ['pipe', 'ignore', 'ignore'],
136
+ });
137
+ proc.stdin?.write(cleaned);
138
+ proc.stdin?.end();
139
+ break;
140
+ }
141
+ default:
142
+ resolve();
143
+ return;
144
+ }
145
+ state.ttsProcess = proc;
146
+ proc.on('close', () => {
147
+ if (state.ttsProcess === proc) {
148
+ state.ttsProcess = undefined;
149
+ }
150
+ resolve();
151
+ });
152
+ proc.on('error', () => {
153
+ if (state.ttsProcess === proc) {
154
+ state.ttsProcess = undefined;
155
+ }
156
+ resolve();
157
+ });
158
+ });
159
+ }
160
+ // ---------------------------------------------------------------------------
161
+ // 3. stopSpeaking
162
+ // ---------------------------------------------------------------------------
163
+ export function stopSpeaking(state) {
164
+ if (state.ttsProcess) {
165
+ state.ttsProcess.kill('SIGTERM');
166
+ state.ttsProcess = undefined;
167
+ }
168
+ }
169
+ // ---------------------------------------------------------------------------
170
+ // 4. listen
171
+ // ---------------------------------------------------------------------------
172
+ export async function listen(state) {
173
+ if (!state.sttAvailable) {
174
+ // Fall back to readline text input
175
+ return readlineInput();
176
+ }
177
+ const recorder = detectRecorder();
178
+ if (!recorder) {
179
+ console.warn(chalk.yellow('⚠ No audio recorder found (rec or arecord). Falling back to text input.'));
180
+ return readlineInput();
181
+ }
182
+ const tempFile = join(tmpdir(), `kbot-voice-${Date.now()}.wav`);
183
+ try {
184
+ // Record audio (up to 10 seconds)
185
+ console.log(chalk.cyan('🎙 Listening... (up to 10s, press Ctrl+C to stop)'));
186
+ await new Promise((resolve, reject) => {
187
+ let proc;
188
+ if (recorder === 'rec') {
189
+ // sox rec: record 16kHz mono WAV, max 10 seconds
190
+ proc = spawn('rec', [
191
+ tempFile,
192
+ 'rate', '16k',
193
+ 'channels', '1',
194
+ 'trim', '0', '10',
195
+ ], {
196
+ stdio: ['ignore', 'ignore', 'ignore'],
197
+ });
198
+ }
199
+ else {
200
+ // arecord: record 16kHz mono WAV, max 10 seconds
201
+ proc = spawn('arecord', [
202
+ '-f', 'S16_LE',
203
+ '-r', '16000',
204
+ '-c', '1',
205
+ '-d', '10',
206
+ tempFile,
207
+ ], {
208
+ stdio: ['ignore', 'ignore', 'ignore'],
209
+ });
210
+ }
211
+ proc.on('close', (code) => {
212
+ if (code === 0 || code === null) {
213
+ resolve();
214
+ }
215
+ else {
216
+ reject(new Error(`Recording failed with exit code ${code}`));
217
+ }
218
+ });
219
+ proc.on('error', (err) => reject(err));
220
+ });
221
+ if (!existsSync(tempFile)) {
222
+ console.warn(chalk.yellow('⚠ Recording failed — no audio file produced.'));
223
+ return readlineInput();
224
+ }
225
+ // Transcribe with whisper
226
+ console.log(chalk.dim('Transcribing...'));
227
+ const whisperCmd = commandExists('whisper') ? 'whisper' : 'whisper.cpp';
228
+ const transcription = execSync(`${whisperCmd} "${tempFile}" --model base --output_format txt --language en 2>/dev/null`, { encoding: 'utf-8', timeout: 30_000 }).trim();
229
+ return transcription || await readlineInput();
230
+ }
231
+ catch (err) {
232
+ const message = err instanceof Error ? err.message : String(err);
233
+ console.warn(chalk.yellow(`⚠ STT failed: ${message}. Falling back to text input.`));
234
+ return readlineInput();
235
+ }
236
+ finally {
237
+ // Clean up temp file
238
+ try {
239
+ if (existsSync(tempFile))
240
+ unlinkSync(tempFile);
241
+ }
242
+ catch {
243
+ // ignore cleanup errors
244
+ }
245
+ }
246
+ }
247
+ /** Readline fallback for text input when STT is unavailable. */
248
+ function readlineInput() {
249
+ return new Promise((resolve) => {
250
+ const rl = createInterface({
251
+ input: process.stdin,
252
+ output: process.stdout,
253
+ });
254
+ rl.question(chalk.cyan('You: '), (answer) => {
255
+ rl.close();
256
+ resolve(answer.trim());
257
+ });
258
+ });
259
+ }
260
+ // ---------------------------------------------------------------------------
261
+ // 5. listVoices
262
+ // ---------------------------------------------------------------------------
263
+ export function listVoices() {
264
+ const ttsEngine = detectTTSEngine();
265
+ if (!ttsEngine)
266
+ return [];
267
+ try {
268
+ switch (ttsEngine) {
269
+ case 'say': {
270
+ // macOS: `say -v ?` outputs lines like "Alex en_US # Most people recognize me by my voice."
271
+ const output = execSync('say -v ?', { encoding: 'utf-8' });
272
+ return output
273
+ .split('\n')
274
+ .filter(Boolean)
275
+ .map((line) => {
276
+ const match = line.match(/^(\S+)/);
277
+ return match ? match[1] : '';
278
+ })
279
+ .filter(Boolean);
280
+ }
281
+ case 'espeak': {
282
+ const output = execSync('espeak --voices', { encoding: 'utf-8' });
283
+ return output
284
+ .split('\n')
285
+ .slice(1) // skip header
286
+ .filter(Boolean)
287
+ .map((line) => {
288
+ const parts = line.trim().split(/\s+/);
289
+ // voice name is typically the 4th column
290
+ return parts[3] ?? '';
291
+ })
292
+ .filter(Boolean);
293
+ }
294
+ case 'festival': {
295
+ try {
296
+ const output = execSync('echo "(voice.list)" | festival --pipe 2>/dev/null', { encoding: 'utf-8' });
297
+ const match = output.match(/\(([^)]+)\)/);
298
+ if (match) {
299
+ return match[1].split(/\s+/).filter(Boolean);
300
+ }
301
+ }
302
+ catch {
303
+ // festival voice listing can be finicky
304
+ }
305
+ return [];
306
+ }
307
+ default:
308
+ return [];
309
+ }
310
+ }
311
+ catch {
312
+ return [];
313
+ }
314
+ }
315
+ // ---------------------------------------------------------------------------
316
+ // 6. formatVoiceStatus
317
+ // ---------------------------------------------------------------------------
318
+ export function formatVoiceStatus(state) {
319
+ const lines = [];
320
+ lines.push(chalk.bold('Voice Mode'));
321
+ lines.push('');
322
+ const ttsEngine = detectTTSEngine();
323
+ lines.push(` TTS: ${state.enabled
324
+ ? chalk.green('enabled') + chalk.dim(` (${ttsEngine ?? 'unknown'})`)
325
+ : chalk.red('disabled')}`);
326
+ lines.push(` Voice: ${chalk.cyan(state.voice)}`);
327
+ lines.push(` Rate: ${state.rate} wpm`);
328
+ lines.push(` STT: ${state.sttAvailable
329
+ ? chalk.green('available') + chalk.dim(' (whisper)')
330
+ : chalk.dim('not available')}`);
331
+ lines.push(` Speaking: ${state.ttsProcess
332
+ ? chalk.yellow('in progress')
333
+ : chalk.dim('idle')}`);
334
+ return lines.join('\n');
335
+ }
336
+ //# sourceMappingURL=voice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voice.js","sourceRoot":"","sources":["../src/voice.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ export interface WatchOptions {
2
+ /** Directory to watch (default: cwd) */
3
+ path?: string;
4
+ /** File extensions to watch (default: common source extensions) */
5
+ extensions?: string[];
6
+ /** Whether to run analysis on changes (default: true) */
7
+ analyze?: boolean;
8
+ /** Callback for change events */
9
+ onChange?: (event: WatchEvent) => void;
10
+ }
11
+ export interface WatchEvent {
12
+ file: string;
13
+ type: 'change' | 'rename';
14
+ timestamp: Date;
15
+ analysis?: FileAnalysis;
16
+ }
17
+ export interface FileAnalysis {
18
+ todos: number;
19
+ debugStatements: number;
20
+ syntaxIssues: string[];
21
+ lineCount: number;
22
+ }
23
+ export declare function startWatch(path?: string, options?: WatchOptions): Promise<void>;
24
+ export declare function stopWatch(): void;
25
+ /**
26
+ * Get the recent change log (last 20 file changes).
27
+ */
28
+ export declare function getChangeLog(): WatchEvent[];
29
+ /**
30
+ * Clear the change log.
31
+ */
32
+ export declare function clearChangeLog(): void;
33
+ /**
34
+ * Check whether the watcher is currently active.
35
+ */
36
+ export declare function isWatching(): boolean;
37
+ //# sourceMappingURL=watch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../src/watch.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,YAAY;IAC3B,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,mEAAmE;IACnE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,yDAAyD;IACzD,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;CACvC;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAA;IACzB,SAAS,EAAE,IAAI,CAAA;IACf,QAAQ,CAAC,EAAE,YAAY,CAAA;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,eAAe,EAAE,MAAM,CAAA;IACvB,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;CAClB;AAySD,wBAAsB,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAgGrF;AAED,wBAAgB,SAAS,IAAI,IAAI,CAahC;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,UAAU,EAAE,CAE3C;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAErC;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,OAAO,CAEpC"}