@on-par/factory-cli 0.9.7-next.3 → 0.9.7-next.31
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/dist/cli/doctor-config.d.ts +14 -0
- package/dist/cli/doctor-config.d.ts.map +1 -0
- package/dist/cli/doctor-config.js +126 -0
- package/dist/cli/doctor-config.js.map +1 -0
- package/dist/cli/doctor-harness-view.d.ts +18 -0
- package/dist/cli/doctor-harness-view.d.ts.map +1 -0
- package/dist/cli/doctor-harness-view.js +21 -0
- package/dist/cli/doctor-harness-view.js.map +1 -0
- package/dist/cli/doctor-health.d.ts +73 -0
- package/dist/cli/doctor-health.d.ts.map +1 -0
- package/dist/cli/doctor-health.js +156 -0
- package/dist/cli/doctor-health.js.map +1 -0
- package/dist/cli/doctor-queue-reconcile.d.ts +7 -0
- package/dist/cli/doctor-queue-reconcile.d.ts.map +1 -0
- package/dist/cli/doctor-queue-reconcile.js +55 -0
- package/dist/cli/doctor-queue-reconcile.js.map +1 -0
- package/dist/cli/doctor.d.ts +26 -81
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +201 -267
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/index.d.ts +22 -73
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +91 -828
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/run-lane.d.ts +52 -0
- package/dist/cli/run-lane.d.ts.map +1 -0
- package/dist/cli/run-lane.js +240 -0
- package/dist/cli/run-lane.js.map +1 -0
- package/dist/cli/run.d.ts +52 -0
- package/dist/cli/run.d.ts.map +1 -0
- package/dist/cli/run.js +200 -0
- package/dist/cli/run.js.map +1 -0
- package/dist/cli/ship.d.ts.map +1 -1
- package/dist/cli/ship.js.map +1 -1
- package/dist/cli/status.d.ts +23 -0
- package/dist/cli/status.d.ts.map +1 -0
- package/dist/cli/status.js +179 -0
- package/dist/cli/status.js.map +1 -0
- package/dist/cli/unpark.d.ts +5 -27
- package/dist/cli/unpark.d.ts.map +1 -1
- package/dist/cli/unpark.js +5 -66
- package/dist/cli/unpark.js.map +1 -1
- package/dist/cli/update-state.d.ts.map +1 -1
- package/dist/cli/update-state.js +2 -4
- package/dist/cli/update-state.js.map +1 -1
- package/package.json +3 -3
package/dist/cli/doctor.d.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
1
|
+
import type { Octokit } from '@octokit/rest';
|
|
2
|
+
import type { FactoryConfig, LeaseHealth } from '@on-par/factory-core';
|
|
3
|
+
import type { WorktreeSandbox } from '@on-par/factory-core/internal';
|
|
4
|
+
import { type GreenPrScanResult, type LeaseHealthRow } from './doctor-health.js';
|
|
5
|
+
import type { CliDeps } from './index.js';
|
|
3
6
|
export interface DoctorCheck {
|
|
4
7
|
name: string;
|
|
5
8
|
ok: boolean;
|
|
@@ -168,85 +171,27 @@ export declare function sandboxClaudeAuthChecks(result: ClaudeAuthProbeResult):
|
|
|
168
171
|
* agent is a warning while another one is signed in, and a hard failure when none is. Skipped
|
|
169
172
|
* probes (optional passes, e.g. a `<cli> signed in` row for a CLI not on PATH) never count as signed in. */
|
|
170
173
|
export declare function reconcileAgentAuthChecks(checks: DoctorCheck[]): DoctorCheck[];
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
export interface ReapRow {
|
|
188
|
-
name: string;
|
|
189
|
-
removed: boolean;
|
|
190
|
-
detail: string;
|
|
191
|
-
}
|
|
192
|
-
export declare function orphanContainerChecks(names: readonly string[]): DoctorCheck[];
|
|
193
|
-
export declare function orphanMicroVmChecks(names: readonly string[]): DoctorCheck[];
|
|
194
|
-
export declare function formatContainerReconcileReport(reaped: ReapRow[]): string;
|
|
195
|
-
export declare function formatMicroVmReconcileReport(reaped: ReapRow[]): string;
|
|
196
|
-
export declare function formatReconcileReport(reaped: Array<{
|
|
197
|
-
lease: {
|
|
198
|
-
worktreeId: string;
|
|
199
|
-
port: number;
|
|
174
|
+
/** index.ts's seams and helpers for `factory doctor`, built at call time so main() deps injection reaches the handler. */
|
|
175
|
+
export interface DoctorRuntime {
|
|
176
|
+
shellOps: Required<Pick<CliDeps, 'exec' | 'execSync'>>;
|
|
177
|
+
coreOps: Required<Pick<CliDeps, 'isCommandAvailable' | 'ModelRegistry' | 'probeDeclaredHarnesses' | 'reapOrphanProcesses'>>;
|
|
178
|
+
internalOps: Required<Pick<CliDeps, 'listOrphanContainers' | 'listMicroVms' | 'reapOrphanContainers' | 'reapOrphanMicroVm' | 'sweepWorktrees' | 'releaseStaleClaims' | 'pollBlockedParks'>>;
|
|
179
|
+
configLoaders: Required<Pick<CliDeps, 'loadModelsConfig' | 'loadRepoConfig' | 'loadFactoryConfigForRepo'>>;
|
|
180
|
+
getGitHubRepo: () => Promise<string>;
|
|
181
|
+
getOctokit: () => Octokit;
|
|
182
|
+
hasGitHubToken: () => boolean;
|
|
183
|
+
scanGreenPrs: (ghRepo: string | undefined, octokit: Octokit | undefined) => Promise<GreenPrScanResult>;
|
|
184
|
+
probeClaudeKeychain: () => KeychainProbeStatus;
|
|
185
|
+
toLeaseRow: (health: LeaseHealth) => LeaseHealthRow;
|
|
186
|
+
gcWorktreeSandbox: (sandboxCfg: FactoryConfig['sandbox'] | undefined, repoRoot: string) => WorktreeSandbox | undefined;
|
|
187
|
+
repoConfigFileFor: (repoRoot: string, absPath: string) => {
|
|
188
|
+
absPath: string;
|
|
189
|
+
relPath: string;
|
|
200
190
|
};
|
|
201
|
-
|
|
202
|
-
}>): string;
|
|
203
|
-
/** One worktree the reconcile pass removed. Structurally the subset of core's `GcCandidate`
|
|
204
|
-
* that the report renders — kept local so `doctor.ts` stays dependency-free and unit-testable. */
|
|
205
|
-
export interface ReconciledWorktree {
|
|
206
|
-
path: string;
|
|
207
|
-
branch: string | null;
|
|
208
|
-
reason: string;
|
|
209
|
-
branchDeleted: boolean;
|
|
210
|
-
}
|
|
211
|
-
export declare function formatWorktreeReconcileReport(removed: ReconciledWorktree[]): string;
|
|
212
|
-
/** One claim the reconcile pass put back in the queue. Structurally the subset of core's
|
|
213
|
-
* `StaleClaimRelease` that the report renders — kept local so `doctor.ts` stays
|
|
214
|
-
* dependency-free and unit-testable. */
|
|
215
|
-
export interface ReleasedClaim {
|
|
216
|
-
issue: number;
|
|
217
|
-
expiresAt: number;
|
|
218
|
-
released: boolean;
|
|
219
|
-
detail?: string;
|
|
191
|
+
isCommandAvailableViaShell: (shell: DoctorRuntime['shellOps'], cmd: string) => boolean;
|
|
220
192
|
}
|
|
221
|
-
export declare function
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
number: number;
|
|
226
|
-
branch: string;
|
|
227
|
-
issue: number | null;
|
|
228
|
-
ageHours: number;
|
|
229
|
-
}
|
|
230
|
-
/** Outcome of the green-PR scan: it ran, it was skipped (no repo/token), or it failed. */
|
|
231
|
-
export type GreenPrScanResult = {
|
|
232
|
-
status: 'ok';
|
|
233
|
-
rows: UnmergedGreenPrRow[];
|
|
234
|
-
} | {
|
|
235
|
-
status: 'skipped';
|
|
236
|
-
detail: string;
|
|
237
|
-
} | {
|
|
238
|
-
status: 'failed';
|
|
239
|
-
detail: string;
|
|
240
|
-
};
|
|
241
|
-
export declare function unmergedGreenPrChecks(result: GreenPrScanResult): DoctorCheck[];
|
|
242
|
-
/** One doctor check per user-declared harness, from its `probe` result. */
|
|
243
|
-
export declare function declaredHarnessChecks(probes: DeclaredHarnessProbe[]): DoctorCheck[];
|
|
244
|
-
/** One failed check per models.registry entry whose harness is missing or unknown;
|
|
245
|
-
* a single ok row when every entry is valid; nothing when there is no registry. */
|
|
246
|
-
export declare function modelsRegistryChecks(configPath: string, registry: Readonly<Record<string, {
|
|
247
|
-
harness?: string;
|
|
248
|
-
}>> | undefined, validHarnesses: readonly string[]): DoctorCheck[];
|
|
249
|
-
/** `config` rows from the shared pre-PLAN lint (#2612): one failing row per finding, so doctor fails exactly when
|
|
250
|
-
* the run preflight would escalate or park. A single ok row when clean. Read-only. */
|
|
251
|
-
export declare function configLintChecks(input: ConfigLintInput, loadError?: string): DoctorCheck[];
|
|
193
|
+
export declare function cmdDoctor(opts: {
|
|
194
|
+
reconcile?: boolean;
|
|
195
|
+
probeInference?: boolean;
|
|
196
|
+
}, rt: DoctorRuntime): Promise<void>;
|
|
252
197
|
//# sourceMappingURL=doctor.d.ts.map
|
package/dist/cli/doctor.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAmC,aAAa,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAaxG,OAAO,KAAK,EAAmB,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAmBtF,OAAO,EAOL,KAAK,iBAAiB,EAEtB,KAAK,cAAc,EAIpB,MAAM,oBAAoB,CAAC;AAI5B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAK1C,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kFAAkF;IAClF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gGAAgG;IAChG,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,+DAA+D;IAC/D,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,wEAAwE;IACxE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,mFAAmF;AACnF,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,iDAAiD;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,yFAAyF;IACzF,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IAC3C,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IACrC,qGAAqG;IACrG,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,iBAAiB,KAAK,MAAM,GAAG,IAAI,CAAC;IAClE,UAAU,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;IACnC,mDAAmD;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACzD,iFAAiF;IACjF,iBAAiB,CAAC,EAAE,MAAM,IAAI,GAAG,iBAAiB,GAAG,UAAU,GAAG,SAAS,CAAC;IAC5E,uGAAuG;IACvG,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC;IAC/B,qFAAqF;IACrF,kBAAkB,CAAC,EAAE,MAAM,IAAI,GAAG,iBAAiB,GAAG,UAAU,GAAG,SAAS,CAAC;IAC7E;4DACwD;IACxD,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,KAAK;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACvF,yGAAyG;IACzG,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC;IACjC,0EAA0E;IAC1E,gBAAgB,CAAC,EAAE,MAAM,wBAAwB,EAAE,CAAC;CACrD;AAED,wEAAwE;AACxE,eAAO,MAAM,uBAAuB,oBAAoB,CAAC;AAEzD,oEAAoE;AACpE,eAAO,MAAM,YAAY,SAAS,CAAC;AAEnC,eAAO,MAAM,gBAAgB,qDAAqD,CAAC;AAEnF,4FAA4F;AAC5F,eAAO,MAAM,uBAAuB,2FAA8D,CAAC;AAEnG,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAEhH;AAED;0EAC0E;AAC1E,wBAAgB,qBAAqB,CAAC,IAAI,EAAE;IAC1C,gBAAgB,EAAE,OAAO,CAAC;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;CACjB,GAAG,MAAM,GAAG,IAAI,CAKhB;AAED;oFACoF;AACpF,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAQ1E;AAID;;qDAEqD;AACrD,eAAO,MAAM,kBAAkB,uFAAuF,CAAC;AACvH;;gDAEgD;AAChD,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAK/D,CAAC;AACF,kFAAkF;AAClF,eAAO,MAAM,yBAAyB,QAAS,CAAC;AAEhD,4FAA4F;AAC5F,eAAO,MAAM,YAAY,0FAA0F,CAAC;AAEpH;;mGAEmG;AACnG,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,iBAAiB,KAAK,MAAM,GAAG,IAAI,GAChE,WAAW,CAyBb;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,4FAA4F;IAC5F,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,4FAA4F;IAC5F,KAAK,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5B;AAED,yEAAyE;AACzE,eAAO,MAAM,aAAa,EAAE,SAAS,YAAY,EAyBhD,CAAC;AAEF,gIAAgI;AAChI,wBAAgB,oBAAoB,CAClC,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,EAC1C,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GACtC,WAAW,EAAE,CAsBf;AA2BD;mGACmG;AACnG,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,eAAe,GAAG,WAAW,EAAE,CAiG1E;AAWD;mFACmF;AACnF,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQhE;AAED,uGAAuG;AACvG,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC,GAAG,SAAS,EACtF,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,GAAG,SAAS,GACnE,wBAAwB,EAAE,CAK5B;AAED,sFAAsF;AACtF,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,SAAS,wBAAwB,EAAE,EAC9C,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GACzC,WAAW,EAAE,CAuBf;AAMD;;2GAE2G;AAC3G,wBAAgB,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,WAAW,EAAE,CA8BrE;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,WAAW,EAAE,CAqLtE;AAED,uHAAuH;AACvH,wBAAgB,eAAe,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAI1D;AAED,wGAAwG;AACxG,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,MAAM,CA4CjG;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAE3D;AAKD;0FAC0F;AAC1F,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,6FAA6F;AAC7F,MAAM,MAAM,mBAAmB,GAC3B;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACrC,CAAC;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE,GAAG,oBAAoB,CAAC,GAC/C,CAAC;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GAAG,oBAAoB,CAAC,CAAC;AAMvE,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,mBAAmB,GAAG,WAAW,CAgC3E;AAED;uFACuF;AACvF,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,GAAG,IAAI,CAIhF;AAED,oFAAoF;AACpF,MAAM,MAAM,eAAe,GAAG,IAAI,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE1D,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,eAAe,CAAC;IACtB,SAAS,EAAE,eAAe,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACvB;AAKD;;6EAE6E;AAC7E,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,qBAAqB,GAAG,WAAW,EAAE,CAoCpF;AAID;;6GAE6G;AAC7G,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE,CAS7E;AAED,0HAA0H;AAC1H,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC;IACvD,OAAO,EAAE,QAAQ,CACf,IAAI,CAAC,OAAO,EAAE,oBAAoB,GAAG,eAAe,GAAG,wBAAwB,GAAG,qBAAqB,CAAC,CACzG,CAAC;IACF,WAAW,EAAE,QAAQ,CACnB,IAAI,CACF,OAAO,EACL,sBAAsB,GACtB,cAAc,GACd,sBAAsB,GACtB,mBAAmB,GACnB,gBAAgB,GAChB,oBAAoB,GACpB,kBAAkB,CACrB,CACF,CAAC;IACF,aAAa,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,GAAG,gBAAgB,GAAG,0BAA0B,CAAC,CAAC,CAAC;IAC3G,aAAa,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACrC,UAAU,EAAE,MAAM,OAAO,CAAC;IAC1B,cAAc,EAAE,MAAM,OAAO,CAAC;IAC9B,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,SAAS,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACvG,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;IAC/C,UAAU,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,cAAc,CAAC;IACpD,iBAAiB,EAAE,CACjB,UAAU,EAAE,aAAa,CAAC,SAAS,CAAC,GAAG,SAAS,EAChD,QAAQ,EAAE,MAAM,KACb,eAAe,GAAG,SAAS,CAAC;IACjC,iBAAiB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/F,0BAA0B,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;CACxF;AAED,wBAAsB,SAAS,CAC7B,IAAI,EAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE,EACvD,EAAE,EAAE,aAAa,GAChB,OAAO,CAAC,IAAI,CAAC,CAuOf"}
|