assertledger 1.0.0 → 1.1.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.fr.md +3 -3
- package/README.md +3 -3
- package/SECURITY.md +11 -6
- package/conformance/schema-extensions.json +36 -0
- package/dist/build-info.d.ts +16 -0
- package/dist/build-info.d.ts.map +1 -0
- package/dist/build-info.js +18 -0
- package/dist/build-info.js.map +1 -0
- package/dist/build-info.json +7 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +117 -19
- package/dist/cli.js.map +1 -1
- package/dist/contracts/index.d.ts +943 -0
- package/dist/contracts/index.d.ts.map +1 -1
- package/dist/contracts/index.js +561 -21
- package/dist/contracts/index.js.map +1 -1
- package/dist/core/index.d.ts +10 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +484 -8
- package/dist/core/index.js.map +1 -1
- package/dist/diagnostics.d.ts.map +1 -1
- package/dist/diagnostics.js +42 -2
- package/dist/diagnostics.js.map +1 -1
- package/dist/engine/adapters/node-test-runtime.d.ts +17 -0
- package/dist/engine/adapters/node-test-runtime.d.ts.map +1 -1
- package/dist/engine/adapters/node-test-runtime.js +45 -23
- package/dist/engine/adapters/node-test-runtime.js.map +1 -1
- package/dist/engine/container.d.ts +54 -0
- package/dist/engine/container.d.ts.map +1 -0
- package/dist/engine/container.js +464 -0
- package/dist/engine/container.js.map +1 -0
- package/dist/engine/git-regression.d.ts +12 -2
- package/dist/engine/git-regression.d.ts.map +1 -1
- package/dist/engine/git-regression.js +63 -16
- package/dist/engine/git-regression.js.map +1 -1
- package/dist/engine/index.d.ts +7 -1
- package/dist/engine/index.d.ts.map +1 -1
- package/dist/engine/index.js +300 -74
- package/dist/engine/index.js.map +1 -1
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +53 -1
- package/dist/mcp/index.js.map +1 -1
- package/dist/proof-planner/carry-over.d.ts +21 -0
- package/dist/proof-planner/carry-over.d.ts.map +1 -0
- package/dist/proof-planner/carry-over.js +212 -0
- package/dist/proof-planner/carry-over.js.map +1 -0
- package/dist/proof-planner/index.d.ts +11 -0
- package/dist/proof-planner/index.d.ts.map +1 -0
- package/dist/proof-planner/index.js +11 -0
- package/dist/proof-planner/index.js.map +1 -0
- package/dist/proof-planner/model.d.ts +272 -0
- package/dist/proof-planner/model.d.ts.map +1 -0
- package/dist/proof-planner/model.js +215 -0
- package/dist/proof-planner/model.js.map +1 -0
- package/dist/proof-planner/plan.d.ts +140 -0
- package/dist/proof-planner/plan.d.ts.map +1 -0
- package/dist/proof-planner/plan.js +1124 -0
- package/dist/proof-planner/plan.js.map +1 -0
- package/dist/proof-planner/policy.d.ts +100 -0
- package/dist/proof-planner/policy.d.ts.map +1 -0
- package/dist/proof-planner/policy.js +407 -0
- package/dist/proof-planner/policy.js.map +1 -0
- package/dist/proof-planner/render.d.ts +4 -0
- package/dist/proof-planner/render.d.ts.map +1 -0
- package/dist/proof-planner/render.js +73 -0
- package/dist/proof-planner/render.js.map +1 -0
- package/dist/sdk/index.d.ts +16 -6
- package/dist/sdk/index.d.ts.map +1 -1
- package/dist/sdk/index.js +63 -5
- package/dist/sdk/index.js.map +1 -1
- package/docs/agentic-test-profile.md +5 -0
- package/docs/architecture.md +15 -3
- package/docs/ci.md +7 -1
- package/docs/conformance-v1.md +11 -2
- package/docs/container-isolation.md +156 -0
- package/docs/evidence-export.md +146 -0
- package/docs/git-regression.md +7 -3
- package/docs/migration-timeout-discovery-inconclusive.md +126 -0
- package/docs/migration-verification-v2.md +55 -0
- package/docs/project-intent.md +3 -2
- package/docs/proof-model.md +28 -6
- package/docs/proof-planner.md +368 -0
- package/docs/reference.md +59 -12
- package/docs/roadmap.md +12 -4
- package/examples/agentic-profile/profile-manifest.mjs +5 -1
- package/examples/evidence-export/consumer.mjs +35 -0
- package/package.json +5 -5
- package/schemas/evidence-export-replay-result.v1.json +49 -0
- package/schemas/evidence-export-request.v1.json +681 -0
- package/schemas/evidence-export.v1.json +1479 -0
- package/schemas/evidence-manifest.v2.json +886 -0
- package/schemas/evidence-provider-manifest.v1.json +269 -0
- package/schemas/verification-request.v2.json +457 -0
package/dist/diagnostics.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,24 @@ interface PreflightInput {
|
|
|
5
5
|
timeoutMs: number;
|
|
6
6
|
maximumOutputBytes: number;
|
|
7
7
|
processRunner: (input: NodeTestPreflightProcessInput) => Promise<NodeTestPreflightProcessResult>;
|
|
8
|
+
/** Replaces the host-workspace probe execution, for example to run each probe in a container. */
|
|
9
|
+
probeExecutor?: NodeTestPreflightProbeExecutor;
|
|
8
10
|
}
|
|
11
|
+
export interface NodeTestPreflightProbe {
|
|
12
|
+
name: "assertion" | "generic-throw";
|
|
13
|
+
reporterSource: string;
|
|
14
|
+
controlSource: string;
|
|
15
|
+
candidateSource: string;
|
|
16
|
+
timeoutMs: number;
|
|
17
|
+
maximumOutputBytes: number;
|
|
18
|
+
reportMaximumBytes: number;
|
|
19
|
+
}
|
|
20
|
+
export interface NodeTestPreflightProbeOutcome {
|
|
21
|
+
processResult: NodeTestPreflightProcessResult;
|
|
22
|
+
/** The parsed reporter document, or undefined when it is absent, oversize or not JSON. */
|
|
23
|
+
report: unknown;
|
|
24
|
+
}
|
|
25
|
+
export type NodeTestPreflightProbeExecutor = (probe: NodeTestPreflightProbe) => Promise<NodeTestPreflightProbeOutcome>;
|
|
9
26
|
interface NodeTestPreflightProcessInput {
|
|
10
27
|
executable: string;
|
|
11
28
|
args: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-test-runtime.d.ts","sourceRoot":"","sources":["../../../src/engine/adapters/node-test-runtime.ts"],"names":[],"mappings":"AASA,UAAU,cAAc;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,CAAC,KAAK,EAAE,6BAA6B,KAAK,OAAO,CAAC,8BAA8B,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"node-test-runtime.d.ts","sourceRoot":"","sources":["../../../src/engine/adapters/node-test-runtime.ts"],"names":[],"mappings":"AASA,UAAU,cAAc;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,CAAC,KAAK,EAAE,6BAA6B,KAAK,OAAO,CAAC,8BAA8B,CAAC,CAAC;IACjG,iGAAiG;IACjG,aAAa,CAAC,EAAE,8BAA8B,CAAC;CAChD;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,WAAW,GAAG,eAAe,CAAC;IACpC,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,6BAA6B;IAC5C,aAAa,EAAE,8BAA8B,CAAC;IAC9C,0FAA0F;IAC1F,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,MAAM,8BAA8B,GAAG,CAC3C,KAAK,EAAE,sBAAsB,KAC1B,OAAO,CAAC,6BAA6B,CAAC,CAAC;AAE5C,UAAU,6BAA6B;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,UAAU,8BAA8B;IACtC,OAAO,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,GAAG,aAAa,CAAC;IAC9D,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,UAAU,aAAa;IACrB,OAAO,EAAE,mBAAmB,GAAG,eAAe,CAAC;IAC/C,UAAU,EAAE,OAAO,CAAC;IACpB,wBAAwB,EAAE,CAAC,CAAC;IAC5B,eAAe,EAAE,CAAC,CAAC;IACnB,qBAAqB,EAAE,CAAC,CAAC;IACzB,wBAAwB,EAAE,CAAC,CAAC;IAC5B,2BAA2B,EAAE,CAAC,CAAC;IAC/B,8BAA8B,EAAE,OAAO,CAAC;IACxC,oBAAoB,EAAE,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,wBAAwB;IACvC,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,EAAE,aAAa,CAAC;IAC9B,iBAAiB,EAAE,aAAa,CAAC;CAClC;AAyKD,wBAAsB,2BAA2B,CAC/C,KAAK,EAAE,cAAc,GACpB,OAAO,CAAC,wBAAwB,CAAC,CAkEnC"}
|
|
@@ -55,34 +55,54 @@ async function readBoundedReporterDocument(reportPath) {
|
|
|
55
55
|
await handle.close();
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
58
|
+
function hostProbeExecutor(input, root, reporterPath, controlPath) {
|
|
59
|
+
return async (probe) => {
|
|
60
|
+
const candidatePath = path.join(root, `${probe.name}.test.mjs`);
|
|
61
|
+
const reportPath = path.join(root, `${probe.name}.json`);
|
|
62
|
+
await writeFile(candidatePath, probe.candidateSource, { flag: "wx" });
|
|
63
|
+
const processResult = await input.processRunner({
|
|
64
|
+
executable: input.executable,
|
|
65
|
+
args: [
|
|
66
|
+
"--test",
|
|
67
|
+
`--test-reporter=${pathToFileURL(reporterPath).href}`,
|
|
68
|
+
`--test-reporter-destination=${reportPath}`,
|
|
69
|
+
"--",
|
|
70
|
+
controlPath,
|
|
71
|
+
candidatePath,
|
|
72
|
+
],
|
|
73
|
+
cwd: root,
|
|
74
|
+
environment: {
|
|
75
|
+
...input.environment,
|
|
76
|
+
TESTFORGE_NODE_CANDIDATE_FILES: JSON.stringify([candidatePath]),
|
|
77
|
+
},
|
|
78
|
+
timeoutMs: probe.timeoutMs,
|
|
79
|
+
maximumOutputBytes: probe.maximumOutputBytes,
|
|
80
|
+
});
|
|
81
|
+
const crashed = processResult.outcome === "PROCESS_CRASH" &&
|
|
82
|
+
processResult.exitCode !== null &&
|
|
83
|
+
processResult.exitCode !== 0;
|
|
84
|
+
return {
|
|
85
|
+
processResult,
|
|
86
|
+
report: crashed ? await readBoundedReporterDocument(reportPath) : undefined,
|
|
87
|
+
};
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
async function executeProbe(input, executor, controlSource, name, body) {
|
|
91
|
+
const { processResult, report } = await executor({
|
|
92
|
+
name,
|
|
93
|
+
reporterSource: input.reporterSource,
|
|
94
|
+
controlSource,
|
|
95
|
+
candidateSource: body,
|
|
77
96
|
timeoutMs: Math.min(input.timeoutMs, 5_000),
|
|
78
97
|
maximumOutputBytes: Math.min(input.maximumOutputBytes, PREFLIGHT_REPORT_LIMIT_BYTES),
|
|
98
|
+
reportMaximumBytes: PREFLIGHT_REPORT_LIMIT_BYTES,
|
|
79
99
|
});
|
|
80
100
|
if (processResult.outcome !== "PROCESS_CRASH" ||
|
|
81
101
|
processResult.exitCode === null ||
|
|
82
102
|
processResult.exitCode === 0) {
|
|
83
103
|
throw new Error(PREFLIGHT_ERROR);
|
|
84
104
|
}
|
|
85
|
-
const document = parseReporterDocument(
|
|
105
|
+
const document = parseReporterDocument(report);
|
|
86
106
|
if (document === undefined)
|
|
87
107
|
throw new Error(PREFLIGHT_ERROR);
|
|
88
108
|
const expectedAssertionFacts = name === "assertion";
|
|
@@ -130,15 +150,17 @@ export async function runNodeTestRuntimePreflight(input) {
|
|
|
130
150
|
root = await realpath(await mkdtemp(path.join(os.tmpdir(), "assertledger-node-test-preflight-")));
|
|
131
151
|
const reporterPath = path.join(root, "reporter.mjs");
|
|
132
152
|
const controlPath = path.join(root, "control.test.mjs");
|
|
153
|
+
const controlSource = ['import test from "node:test";', 'test("control", () => {});', ""].join("\n");
|
|
133
154
|
await writeFile(reporterPath, input.reporterSource, { flag: "wx" });
|
|
134
|
-
await writeFile(controlPath,
|
|
135
|
-
const
|
|
155
|
+
await writeFile(controlPath, controlSource, { flag: "wx" });
|
|
156
|
+
const executor = input.probeExecutor ?? hostProbeExecutor(input, root, reporterPath, controlPath);
|
|
157
|
+
const assertionProbe = await executeProbe(input, executor, controlSource, "assertion", [
|
|
136
158
|
'import test from "node:test";',
|
|
137
159
|
'import assert from "node:assert/strict";',
|
|
138
160
|
'test("assertion", () => assert.equal(false, true));',
|
|
139
161
|
"",
|
|
140
162
|
].join("\n"));
|
|
141
|
-
const genericThrowProbe = await executeProbe(input,
|
|
163
|
+
const genericThrowProbe = await executeProbe(input, executor, controlSource, "generic-throw", [
|
|
142
164
|
'import test from "node:test";',
|
|
143
165
|
'import assert from "node:assert/strict";',
|
|
144
166
|
'test("generic throw", () => {',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-test-runtime.js","sourceRoot":"","sources":["../../../src/engine/adapters/node-test-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAElF,MAAM,eAAe,GAAG,oCAAoC,CAAC;AAC7D,MAAM,4BAA4B,GAAG,EAAE,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"node-test-runtime.js","sourceRoot":"","sources":["../../../src/engine/adapters/node-test-runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import type { ContainerIsolation, ExecutionBackendRecord } from "../contracts/index.js";
|
|
2
|
+
import type { ProcessInput, ProcessResult } from "./index.js";
|
|
3
|
+
export declare const DEFAULT_CONTAINER_RUNTIME_COMMAND: readonly string[];
|
|
4
|
+
export declare const DEFAULT_CONTAINER_LIMITS: {
|
|
5
|
+
readonly memoryBytes: 1073741824;
|
|
6
|
+
readonly cpuMillicores: 2000;
|
|
7
|
+
readonly pids: 256;
|
|
8
|
+
readonly temporaryDirectoryBytes: 67108864;
|
|
9
|
+
};
|
|
10
|
+
export declare const CONTAINER_ROOT = "/assertledger";
|
|
11
|
+
export declare const CONTAINER_WORKSPACE = "/assertledger/repository";
|
|
12
|
+
export declare const CONTAINER_RESULT_FILE = "/assertledger/out/result.json";
|
|
13
|
+
export declare const CONTAINER_REPORTER_FILE = "/assertledger/reporter/node-test-reporter.mjs";
|
|
14
|
+
export declare const CONTAINER_LIMITATIONS: string[];
|
|
15
|
+
type ContainerBackendRecord = Extract<ExecutionBackendRecord, {
|
|
16
|
+
kind: "container";
|
|
17
|
+
}>;
|
|
18
|
+
export interface BoundedProcessResult extends ProcessResult {
|
|
19
|
+
stdoutBytes: Buffer;
|
|
20
|
+
}
|
|
21
|
+
export type ContainerProcessRunner = (input: ProcessInput, standardInput?: AsyncIterable<Uint8Array>) => Promise<BoundedProcessResult>;
|
|
22
|
+
export interface ContainerBackend {
|
|
23
|
+
runtimeCommand: string[];
|
|
24
|
+
isolation: ContainerIsolation;
|
|
25
|
+
record: ContainerBackendRecord;
|
|
26
|
+
}
|
|
27
|
+
export interface ContainerExecution {
|
|
28
|
+
workspace: string;
|
|
29
|
+
reporterSource?: string;
|
|
30
|
+
executable: string;
|
|
31
|
+
args: string[];
|
|
32
|
+
environment: Record<string, string>;
|
|
33
|
+
timeoutMs: number;
|
|
34
|
+
maximumOutputBytes: number;
|
|
35
|
+
resultMaximumBytes?: number;
|
|
36
|
+
}
|
|
37
|
+
export interface ContainerExecutionResult {
|
|
38
|
+
process: ProcessResult;
|
|
39
|
+
result: Buffer | undefined;
|
|
40
|
+
}
|
|
41
|
+
/** Validates an operator runtime command: a non-empty argv array, never a shell string. */
|
|
42
|
+
export declare function parseContainerRuntimeCommand(value: unknown): string[];
|
|
43
|
+
/** Probes the runtime and the pinned image without pulling, creating or starting anything. */
|
|
44
|
+
export declare function prepareContainerBackend(command: readonly string[], isolation: ContainerIsolation, runner: ContainerProcessRunner, workingDirectory: string): Promise<ContainerBackend>;
|
|
45
|
+
/**
|
|
46
|
+
* Extracts the single regular `result.json` entry that `cp CONTAINER:FILE -` streams. Links, extra
|
|
47
|
+
* entries, other names, corrupt headers, truncation and oversize content are all rejected.
|
|
48
|
+
*/
|
|
49
|
+
declare function readContainerResultArchive(archive: Buffer, maximumBytes: number): Buffer | undefined;
|
|
50
|
+
export declare const readContainerResultArchiveForTesting: typeof readContainerResultArchive;
|
|
51
|
+
/** Executes one adapter process in a fresh container and always removes that container. */
|
|
52
|
+
export declare function runContainerExecution(backend: ContainerBackend, execution: ContainerExecution, runner: ContainerProcessRunner, workingDirectory: string): Promise<ContainerExecutionResult>;
|
|
53
|
+
export {};
|
|
54
|
+
//# sourceMappingURL=container.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../src/engine/container.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACxF,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAM9D,eAAO,MAAM,iCAAiC,EAAE,SAAS,MAAM,EAAe,CAAC;AAC/E,eAAO,MAAM,wBAAwB;aACnC,WAAW,EAAE,UAAa;aAC1B,aAAa,EAAE,IAAK;aACpB,IAAI,EAAE,GAAG;aACT,uBAAuB,EAAE,QAAU;CAC3B,CAAC;AACX,eAAO,MAAM,cAAc,kBAAkB,CAAC;AAC9C,eAAO,MAAM,mBAAmB,6BAAiC,CAAC;AAClE,eAAO,MAAM,qBAAqB,kCAAsC,CAAC;AACzE,eAAO,MAAM,uBAAuB,kDAAsD,CAAC;AAC3F,eAAO,MAAM,qBAAqB,UAKjC,CAAC;AAaF,KAAK,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,EAAE;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,CAAC,CAAC;AAErF,MAAM,WAAW,oBAAqB,SAAQ,aAAa;IACzD,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,sBAAsB,GAAG,CACnC,KAAK,EAAE,YAAY,EACnB,aAAa,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,KACtC,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAEnC,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,SAAS,EAAE,kBAAkB,CAAC;IAC9B,MAAM,EAAE,sBAAsB,CAAC;CAChC;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAiCD,2FAA2F;AAC3F,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAkBrE;AAiCD,8FAA8F;AAC9F,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,SAAS,EAAE,kBAAkB,EAC7B,MAAM,EAAE,sBAAsB,EAC9B,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,gBAAgB,CAAC,CAmH3B;AA4HD;;;GAGG;AACH,iBAAS,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAgD7F;AAED,eAAO,MAAM,oCAAoC,mCAA6B,CAAC;AA2D/E,2FAA2F;AAC3F,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,gBAAgB,EACzB,SAAS,EAAE,kBAAkB,EAC7B,MAAM,EAAE,sBAAsB,EAC9B,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,wBAAwB,CAAC,CAsEnC"}
|