@springbrand/cli 0.1.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 +167 -0
- package/dist/commands/auth.d.ts +4 -0
- package/dist/commands/auth.d.ts.map +1 -0
- package/dist/commands/auth.js +241 -0
- package/dist/commands/auth.js.map +1 -0
- package/dist/commands/check-version.d.ts +3 -0
- package/dist/commands/check-version.d.ts.map +1 -0
- package/dist/commands/check-version.js +112 -0
- package/dist/commands/check-version.js.map +1 -0
- package/dist/commands/config-claude.d.ts +4 -0
- package/dist/commands/config-claude.d.ts.map +1 -0
- package/dist/commands/config-claude.js +78 -0
- package/dist/commands/config-claude.js.map +1 -0
- package/dist/commands/connect.d.ts +41 -0
- package/dist/commands/connect.d.ts.map +1 -0
- package/dist/commands/connect.js +901 -0
- package/dist/commands/connect.js.map +1 -0
- package/dist/commands/doctor.d.ts +6 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +124 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/upgrade.d.ts +9 -0
- package/dist/commands/upgrade.d.ts.map +1 -0
- package/dist/commands/upgrade.js +133 -0
- package/dist/commands/upgrade.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/agent-detect.d.ts +33 -0
- package/dist/lib/agent-detect.d.ts.map +1 -0
- package/dist/lib/agent-detect.js +81 -0
- package/dist/lib/agent-detect.js.map +1 -0
- package/dist/lib/agent-launcher.d.ts +22 -0
- package/dist/lib/agent-launcher.d.ts.map +1 -0
- package/dist/lib/agent-launcher.js +67 -0
- package/dist/lib/agent-launcher.js.map +1 -0
- package/dist/lib/auth.d.ts +90 -0
- package/dist/lib/auth.d.ts.map +1 -0
- package/dist/lib/auth.js +327 -0
- package/dist/lib/auth.js.map +1 -0
- package/dist/lib/bundled-skill.d.ts +5 -0
- package/dist/lib/bundled-skill.d.ts.map +1 -0
- package/dist/lib/bundled-skill.js +13 -0
- package/dist/lib/bundled-skill.js.map +1 -0
- package/dist/lib/claude-config.d.ts +19 -0
- package/dist/lib/claude-config.d.ts.map +1 -0
- package/dist/lib/claude-config.js +202 -0
- package/dist/lib/claude-config.js.map +1 -0
- package/dist/lib/cli-install.d.ts +40 -0
- package/dist/lib/cli-install.d.ts.map +1 -0
- package/dist/lib/cli-install.js +42 -0
- package/dist/lib/cli-install.js.map +1 -0
- package/dist/lib/command-code-config.d.ts +5 -0
- package/dist/lib/command-code-config.d.ts.map +1 -0
- package/dist/lib/command-code-config.js +16 -0
- package/dist/lib/command-code-config.js.map +1 -0
- package/dist/lib/connect-all-auth.d.ts +21 -0
- package/dist/lib/connect-all-auth.d.ts.map +1 -0
- package/dist/lib/connect-all-auth.js +113 -0
- package/dist/lib/connect-all-auth.js.map +1 -0
- package/dist/lib/connect-all-summary.d.ts +10 -0
- package/dist/lib/connect-all-summary.d.ts.map +1 -0
- package/dist/lib/connect-all-summary.js +153 -0
- package/dist/lib/connect-all-summary.js.map +1 -0
- package/dist/lib/connect-all-uninstall.d.ts +7 -0
- package/dist/lib/connect-all-uninstall.d.ts.map +1 -0
- package/dist/lib/connect-all-uninstall.js +249 -0
- package/dist/lib/connect-all-uninstall.js.map +1 -0
- package/dist/lib/connect-all.d.ts +42 -0
- package/dist/lib/connect-all.d.ts.map +1 -0
- package/dist/lib/connect-all.js +438 -0
- package/dist/lib/connect-all.js.map +1 -0
- package/dist/lib/connect-auth.d.ts +7 -0
- package/dist/lib/connect-auth.d.ts.map +1 -0
- package/dist/lib/connect-auth.js +50 -0
- package/dist/lib/connect-auth.js.map +1 -0
- package/dist/lib/connect-clients.d.ts +108 -0
- package/dist/lib/connect-clients.d.ts.map +1 -0
- package/dist/lib/connect-clients.js +358 -0
- package/dist/lib/connect-clients.js.map +1 -0
- package/dist/lib/connect-fallback.d.ts +27 -0
- package/dist/lib/connect-fallback.d.ts.map +1 -0
- package/dist/lib/connect-fallback.js +166 -0
- package/dist/lib/connect-fallback.js.map +1 -0
- package/dist/lib/connect-picker.d.ts +19 -0
- package/dist/lib/connect-picker.d.ts.map +1 -0
- package/dist/lib/connect-picker.js +155 -0
- package/dist/lib/connect-picker.js.map +1 -0
- package/dist/lib/connect-preflight.d.ts +17 -0
- package/dist/lib/connect-preflight.d.ts.map +1 -0
- package/dist/lib/connect-preflight.js +81 -0
- package/dist/lib/connect-preflight.js.map +1 -0
- package/dist/lib/connect-runtime.d.ts +109 -0
- package/dist/lib/connect-runtime.d.ts.map +1 -0
- package/dist/lib/connect-runtime.js +360 -0
- package/dist/lib/connect-runtime.js.map +1 -0
- package/dist/lib/constants.d.ts +23 -0
- package/dist/lib/constants.d.ts.map +1 -0
- package/dist/lib/constants.js +87 -0
- package/dist/lib/constants.js.map +1 -0
- package/dist/lib/cursor-config.d.ts +16 -0
- package/dist/lib/cursor-config.d.ts.map +1 -0
- package/dist/lib/cursor-config.js +34 -0
- package/dist/lib/cursor-config.js.map +1 -0
- package/dist/lib/doctor-checks.d.ts +21 -0
- package/dist/lib/doctor-checks.d.ts.map +1 -0
- package/dist/lib/doctor-checks.js +312 -0
- package/dist/lib/doctor-checks.js.map +1 -0
- package/dist/lib/doctor-repairs.d.ts +11 -0
- package/dist/lib/doctor-repairs.d.ts.map +1 -0
- package/dist/lib/doctor-repairs.js +130 -0
- package/dist/lib/doctor-repairs.js.map +1 -0
- package/dist/lib/doctor-report.d.ts +195 -0
- package/dist/lib/doctor-report.d.ts.map +1 -0
- package/dist/lib/doctor-report.js +102 -0
- package/dist/lib/doctor-report.js.map +1 -0
- package/dist/lib/doctor-telemetry.d.ts +9 -0
- package/dist/lib/doctor-telemetry.d.ts.map +1 -0
- package/dist/lib/doctor-telemetry.js +63 -0
- package/dist/lib/doctor-telemetry.js.map +1 -0
- package/dist/lib/harness-detect.d.ts +33 -0
- package/dist/lib/harness-detect.d.ts.map +1 -0
- package/dist/lib/harness-detect.js +70 -0
- package/dist/lib/harness-detect.js.map +1 -0
- package/dist/lib/harness-spec.d.ts +285 -0
- package/dist/lib/harness-spec.d.ts.map +1 -0
- package/dist/lib/harness-spec.js +268 -0
- package/dist/lib/harness-spec.js.map +1 -0
- package/dist/lib/harness.d.ts +27 -0
- package/dist/lib/harness.d.ts.map +1 -0
- package/dist/lib/harness.js +125 -0
- package/dist/lib/harness.js.map +1 -0
- package/dist/lib/hermes-config.d.ts +22 -0
- package/dist/lib/hermes-config.d.ts.map +1 -0
- package/dist/lib/hermes-config.js +76 -0
- package/dist/lib/hermes-config.js.map +1 -0
- package/dist/lib/hermes-env.d.ts +19 -0
- package/dist/lib/hermes-env.d.ts.map +1 -0
- package/dist/lib/hermes-env.js +169 -0
- package/dist/lib/hermes-env.js.map +1 -0
- package/dist/lib/hermes-plugin.d.ts +40 -0
- package/dist/lib/hermes-plugin.d.ts.map +1 -0
- package/dist/lib/hermes-plugin.js +168 -0
- package/dist/lib/hermes-plugin.js.map +1 -0
- package/dist/lib/install-root.d.ts +18 -0
- package/dist/lib/install-root.d.ts.map +1 -0
- package/dist/lib/install-root.js +55 -0
- package/dist/lib/install-root.js.map +1 -0
- package/dist/lib/mcp-config.d.ts +36 -0
- package/dist/lib/mcp-config.d.ts.map +1 -0
- package/dist/lib/mcp-config.js +90 -0
- package/dist/lib/mcp-config.js.map +1 -0
- package/dist/lib/mcp-endpoint.d.ts +16 -0
- package/dist/lib/mcp-endpoint.d.ts.map +1 -0
- package/dist/lib/mcp-endpoint.js +41 -0
- package/dist/lib/mcp-endpoint.js.map +1 -0
- package/dist/lib/mcp-json-config.d.ts +43 -0
- package/dist/lib/mcp-json-config.d.ts.map +1 -0
- package/dist/lib/mcp-json-config.js +164 -0
- package/dist/lib/mcp-json-config.js.map +1 -0
- package/dist/lib/notice.d.ts +13 -0
- package/dist/lib/notice.d.ts.map +1 -0
- package/dist/lib/notice.js +73 -0
- package/dist/lib/notice.js.map +1 -0
- package/dist/lib/omp-config.d.ts +18 -0
- package/dist/lib/omp-config.d.ts.map +1 -0
- package/dist/lib/omp-config.js +73 -0
- package/dist/lib/omp-config.js.map +1 -0
- package/dist/lib/output.d.ts +22 -0
- package/dist/lib/output.d.ts.map +1 -0
- package/dist/lib/output.js +92 -0
- package/dist/lib/output.js.map +1 -0
- package/dist/lib/pi-config.d.ts +27 -0
- package/dist/lib/pi-config.d.ts.map +1 -0
- package/dist/lib/pi-config.js +113 -0
- package/dist/lib/pi-config.js.map +1 -0
- package/dist/lib/registration-detect.d.ts +28 -0
- package/dist/lib/registration-detect.d.ts.map +1 -0
- package/dist/lib/registration-detect.js +563 -0
- package/dist/lib/registration-detect.js.map +1 -0
- package/dist/lib/setup-telemetry.d.ts +273 -0
- package/dist/lib/setup-telemetry.d.ts.map +1 -0
- package/dist/lib/setup-telemetry.js +309 -0
- package/dist/lib/setup-telemetry.js.map +1 -0
- package/dist/lib/signals.d.ts +14 -0
- package/dist/lib/signals.d.ts.map +1 -0
- package/dist/lib/signals.js +29 -0
- package/dist/lib/signals.js.map +1 -0
- package/dist/lib/skill-install.d.ts +10 -0
- package/dist/lib/skill-install.d.ts.map +1 -0
- package/dist/lib/skill-install.js +94 -0
- package/dist/lib/skill-install.js.map +1 -0
- package/dist/lib/skill-paths.d.ts +7 -0
- package/dist/lib/skill-paths.d.ts.map +1 -0
- package/dist/lib/skill-paths.js +37 -0
- package/dist/lib/skill-paths.js.map +1 -0
- package/dist/lib/skill-vendor.d.ts +20 -0
- package/dist/lib/skill-vendor.d.ts.map +1 -0
- package/dist/lib/skill-vendor.js +215 -0
- package/dist/lib/skill-vendor.js.map +1 -0
- package/dist/lib/skill.d.ts +14 -0
- package/dist/lib/skill.d.ts.map +1 -0
- package/dist/lib/skill.js +87 -0
- package/dist/lib/skill.js.map +1 -0
- package/dist/lib/verify.d.ts +35 -0
- package/dist/lib/verify.d.ts.map +1 -0
- package/dist/lib/verify.js +169 -0
- package/dist/lib/verify.js.map +1 -0
- package/dist/program.d.ts +8 -0
- package/dist/program.d.ts.map +1 -0
- package/dist/program.js +54 -0
- package/dist/program.js.map +1 -0
- package/package.json +55 -0
- package/skill/springbrand-action-api/SKILL.md +49 -0
- package/skill/springbrand-action-api/references/action-aliases.md +156 -0
- package/skill/springbrand-action-api/references/action-discovery.md +95 -0
- package/skill/springbrand-connector/SKILL.md +49 -0
- package/skill/springbrand-gtm/SKILL.md +34 -0
- package/skill/springbrand-platform/SKILL.md +55 -0
- package/skill/springbrand-platform/references/plugin-discovery.md +94 -0
- package/skill/use-springbrand/SKILL.md +70 -0
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/** 复刻自 tiny-fish CLI 编译产物:pi-config.d.ts + pi-config.impl.js */
|
|
2
|
+
import * as fs from 'fs';
|
|
3
|
+
import * as os from 'os';
|
|
4
|
+
import * as path from 'path';
|
|
5
|
+
import spawn from 'cross-spawn';
|
|
6
|
+
import { z } from 'zod';
|
|
7
|
+
import { HARNESS_PROBE_TIMEOUT_MS } from './constants.js';
|
|
8
|
+
import { planWrite, readSpringbrandEntry, removeServer, writeMcpConfig, } from './mcp-json-config.js';
|
|
9
|
+
// pi expands `~` and `~/`; writing one literally would mkdir '~'.
|
|
10
|
+
function expandTilde(dir) {
|
|
11
|
+
if (dir === '~')
|
|
12
|
+
return os.homedir();
|
|
13
|
+
// nosemgrep: path-join-resolve-traversal -- $PI_CODING_AGENT_DIR names the caller's own dir, resolved as pi does
|
|
14
|
+
return dir.startsWith('~/') ? path.join(os.homedir(), dir.slice(2)) : dir;
|
|
15
|
+
}
|
|
16
|
+
/** Mirrors pi's own getAgentDir: the override wins, else `~/.pi/agent`. */
|
|
17
|
+
export function piAgentDir() {
|
|
18
|
+
const override = process.env['PI_CODING_AGENT_DIR'];
|
|
19
|
+
return override ? path.resolve(expandTilde(override)) : path.join(os.homedir(), '.pi', 'agent');
|
|
20
|
+
}
|
|
21
|
+
// Resolved per call, not cached: nothing here spawns, so drift is impossible.
|
|
22
|
+
const PI_MCP_TARGET = {
|
|
23
|
+
serverKey: 'springbrand',
|
|
24
|
+
dir: piAgentDir,
|
|
25
|
+
file: () => path.join(piAgentDir(), 'mcp.json'),
|
|
26
|
+
};
|
|
27
|
+
export function piMcpPath() {
|
|
28
|
+
return PI_MCP_TARGET.file();
|
|
29
|
+
}
|
|
30
|
+
/** Reports the header's shape, never its value. */
|
|
31
|
+
export function readPiSpringbrandEntry() {
|
|
32
|
+
return readSpringbrandEntry(PI_MCP_TARGET);
|
|
33
|
+
}
|
|
34
|
+
/** Merges only the `springbrand` key. */
|
|
35
|
+
export function writePiMcpConfig(mcpUrl, apiKey) {
|
|
36
|
+
return writeMcpConfig(PI_MCP_TARGET, mcpUrl, apiKey);
|
|
37
|
+
}
|
|
38
|
+
/** Dry-run description of the pending write; touches nothing. */
|
|
39
|
+
export function planPiWrite(mcpUrl, apiKey) {
|
|
40
|
+
return planWrite(PI_MCP_TARGET, mcpUrl, apiKey);
|
|
41
|
+
}
|
|
42
|
+
/** Removes only the `springbrand` key. */
|
|
43
|
+
export function removePiMcpServer() {
|
|
44
|
+
return removeServer(PI_MCP_TARGET);
|
|
45
|
+
}
|
|
46
|
+
export const PI_ADAPTER_INSTALL_COMMAND = 'pi install npm:pi-mcp-adapter';
|
|
47
|
+
// Matches `npm:pi-mcp-adapter`, a pinned version, and git or path installs ending in the name.
|
|
48
|
+
const ADAPTER_SOURCE = /(?:^|[/:])pi-mcp-adapter(?:@|$)/;
|
|
49
|
+
// pi's PackageSource is a bare source or an object carrying it; `pi install` writes both.
|
|
50
|
+
const packageSourceSchema = z.union([z.string(), z.object({ source: z.string() })]);
|
|
51
|
+
const settingsSchema = z.object({ packages: z.array(packageSourceSchema).optional() });
|
|
52
|
+
function adapterInSettings(file) {
|
|
53
|
+
let raw;
|
|
54
|
+
try {
|
|
55
|
+
raw = fs.readFileSync(file, 'utf8');
|
|
56
|
+
}
|
|
57
|
+
catch (e) {
|
|
58
|
+
// No settings file means nothing is installed; any other read failure tells us nothing.
|
|
59
|
+
return e.code === 'ENOENT' ? 'absent' : 'unknown';
|
|
60
|
+
}
|
|
61
|
+
let parsed;
|
|
62
|
+
try {
|
|
63
|
+
parsed = JSON.parse(raw);
|
|
64
|
+
}
|
|
65
|
+
catch {
|
|
66
|
+
return 'unknown';
|
|
67
|
+
}
|
|
68
|
+
const settings = settingsSchema.safeParse(parsed);
|
|
69
|
+
if (!settings.success)
|
|
70
|
+
return 'unknown';
|
|
71
|
+
const sources = (settings.data.packages ?? []).map((p) => (typeof p === 'string' ? p : p.source));
|
|
72
|
+
return sources.some((source) => ADAPTER_SOURCE.test(source)) ? 'installed' : 'absent';
|
|
73
|
+
}
|
|
74
|
+
/** Core pi has no MCP, so without this package the entry we write is never read. */
|
|
75
|
+
export function piMcpAdapterState(cwd) {
|
|
76
|
+
// `pi install -l` records the adapter project-locally, where pi reads it just the same.
|
|
77
|
+
const scopes = [
|
|
78
|
+
path.join(piAgentDir(), 'settings.json'),
|
|
79
|
+
...(cwd ? [path.join(cwd, '.pi', 'settings.json')] : []), // nosemgrep: path-join-resolve-traversal -- fixed names under the caller's cwd
|
|
80
|
+
].map(adapterInSettings);
|
|
81
|
+
if (scopes.includes('installed'))
|
|
82
|
+
return 'installed';
|
|
83
|
+
return scopes.includes('unknown') ? 'unknown' : 'absent';
|
|
84
|
+
}
|
|
85
|
+
// Cached: detection runs more than once per command and the answer cannot change mid-run.
|
|
86
|
+
let cachedBinaryIsPi;
|
|
87
|
+
/** Tests share one process; the probe result must not. */
|
|
88
|
+
export function resetPiBinaryCache() {
|
|
89
|
+
cachedBinaryIsPi = undefined;
|
|
90
|
+
}
|
|
91
|
+
/** npm ships an unrelated `pi` that prints `3`; only a semver answer is the harness. */
|
|
92
|
+
export function piBinaryIsPi() {
|
|
93
|
+
cachedBinaryIsPi ??= { value: probeVersion() };
|
|
94
|
+
return cachedBinaryIsPi.value;
|
|
95
|
+
}
|
|
96
|
+
function probeVersion() {
|
|
97
|
+
const result = spawn.sync('pi', ['--version'], {
|
|
98
|
+
encoding: 'utf8',
|
|
99
|
+
timeout: HARNESS_PROBE_TIMEOUT_MS,
|
|
100
|
+
});
|
|
101
|
+
if (result.error || result.status !== 0)
|
|
102
|
+
return false;
|
|
103
|
+
return /^\d+\.\d+\.\d+/.test((result.stdout ?? '').trim());
|
|
104
|
+
}
|
|
105
|
+
/** `skills` hardcodes the default dir, so an override leaves the skill where pi will not look. */
|
|
106
|
+
export function piSkillDirMismatch() {
|
|
107
|
+
const agentDir = piAgentDir();
|
|
108
|
+
const fallback = path.join(os.homedir(), '.pi', 'agent');
|
|
109
|
+
if (agentDir === fallback)
|
|
110
|
+
return undefined;
|
|
111
|
+
return { installedTo: path.join(fallback, 'skills'), readFrom: path.join(agentDir, 'skills') };
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=pi-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pi-config.js","sourceRoot":"","sources":["../../src/lib/pi-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/** 复刻自 tiny-fish CLI 编译产物:registration-detect.d.ts + registration-detect.impl.js */
|
|
2
|
+
import type { RecordedAuthMode } from './auth.js';
|
|
3
|
+
import type { Harness } from './harness-detect.js';
|
|
4
|
+
import { AuthMode, Registered } from './harness-detect.js';
|
|
5
|
+
/** Per-harness sign-in probes; connect composes these rather than the descriptor carrying them. */
|
|
6
|
+
export declare const SIGN_IN_PROBES: Partial<Record<Harness, () => boolean | undefined>>;
|
|
7
|
+
/** Never throws; a failed probe is `unknown` with a reason, so no caller can read it as healthy. */
|
|
8
|
+
export declare function detectRegistrations(harnesses?: Harness[]): RegistrationStatus[];
|
|
9
|
+
export interface RegistrationStatus {
|
|
10
|
+
harness: Harness;
|
|
11
|
+
detected: boolean;
|
|
12
|
+
registered: Registered;
|
|
13
|
+
authMode: AuthMode;
|
|
14
|
+
connectedBefore: boolean;
|
|
15
|
+
/** The endpoint the harness is actually pointed at, when the probe exposes it. */
|
|
16
|
+
registeredUrl?: string;
|
|
17
|
+
/** Its key is a copy of the CLI's, so the CLI's own verification covers it. */
|
|
18
|
+
keyMatchesCliKey?: boolean;
|
|
19
|
+
/** Holds no key; reads the CLI's at runtime. */
|
|
20
|
+
usesCliKey?: boolean;
|
|
21
|
+
connected?: boolean;
|
|
22
|
+
/** Why a keyed registration's key could not be read; not `reason`. */
|
|
23
|
+
keyReason?: string;
|
|
24
|
+
/** What connect wrote, for harnesses whose CLI never echoes it back. Recorded, not verified. */
|
|
25
|
+
recordedAuthMode?: RecordedAuthMode;
|
|
26
|
+
reason?: string;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=registration-detect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registration-detect.d.ts","sourceRoot":"","sources":["../../src/lib/registration-detect.ts"],"names":[],"mappings":"AAAA,oFAAoF;AAEpF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAElD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAgBnD,OAAO,EAAmE,QAAQ,EAAE,UAAU,EAAG,MAAM,qBAAqB,CAAC;AA2O7H,mGAAmG;AACnG,eAAO,MAAM,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,OAAO,GAAG,SAAS,CAAC,CAE9E,CAAC;AAoSF,oGAAoG;AACpG,wBAAgB,mBAAmB,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,GAAG,kBAAkB,EAAE,CA4B/E;AAGD,MAAM,WAAW,kBAAkB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,QAAQ,CAAC;IACnB,eAAe,EAAE,OAAO,CAAC;IACzB,kFAAkF;IAClF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,+EAA+E;IAC/E,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gDAAgD;IAChD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gGAAgG;IAChG,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB"}
|