@quenty/nevermore-cli 4.43.4 → 4.44.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/CHANGELOG.md +4 -0
- package/build-scripts/{combine-test-places.luau → combine-test-places.lua} +3 -3
- package/build-scripts/{transform-inject-deploy-metadata.luau → transform-inject-deploy-metadata.lua} +3 -3
- package/dist/commands/batch-command/batch-deploy-command.js +4 -4
- package/dist/commands/batch-command/batch-deploy-command.js.map +1 -1
- package/dist/commands/batch-command/batch-test-command.d.ts.map +1 -1
- package/dist/commands/batch-command/batch-test-command.js +76 -19
- package/dist/commands/batch-command/batch-test-command.js.map +1 -1
- package/dist/commands/deploy-command/deploy-init-utils.d.ts.map +1 -1
- package/dist/commands/deploy-command/deploy-init-utils.js +7 -1
- package/dist/commands/deploy-command/deploy-init-utils.js.map +1 -1
- package/dist/commands/deploy-command/index.js +1 -1
- package/dist/commands/deploy-command/index.js.map +1 -1
- package/dist/utils/deploy/deploy-github-columns.d.ts +12 -2
- package/dist/utils/deploy/deploy-github-columns.d.ts.map +1 -1
- package/dist/utils/deploy/deploy-github-columns.js +11 -4
- package/dist/utils/deploy/deploy-github-columns.js.map +1 -1
- package/dist/utils/deploy/deploy-metadata.js +1 -1
- package/dist/utils/deploy/deploy-metadata.js.map +1 -1
- package/dist/utils/job-context/base-job-context.d.ts +2 -2
- package/dist/utils/job-context/base-job-context.d.ts.map +1 -1
- package/dist/utils/job-context/base-job-context.js +1 -1
- package/dist/utils/job-context/base-job-context.js.map +1 -1
- package/dist/utils/job-context/batch-script-job-context.d.ts +37 -2
- package/dist/utils/job-context/batch-script-job-context.d.ts.map +1 -1
- package/dist/utils/job-context/batch-script-job-context.js +59 -22
- package/dist/utils/job-context/batch-script-job-context.js.map +1 -1
- package/dist/utils/job-context/cloud-job-context.d.ts +2 -2
- package/dist/utils/job-context/cloud-job-context.d.ts.map +1 -1
- package/dist/utils/job-context/cloud-job-context.js +10 -5
- package/dist/utils/job-context/cloud-job-context.js.map +1 -1
- package/dist/utils/job-context/cloud-job-context.test.d.ts +7 -0
- package/dist/utils/job-context/cloud-job-context.test.d.ts.map +1 -0
- package/dist/utils/job-context/cloud-job-context.test.js +91 -0
- package/dist/utils/job-context/cloud-job-context.test.js.map +1 -0
- package/dist/utils/job-context/job-context.d.ts +70 -2
- package/dist/utils/job-context/job-context.d.ts.map +1 -1
- package/dist/utils/job-context/local-job-context.d.ts +2 -2
- package/dist/utils/job-context/local-job-context.d.ts.map +1 -1
- package/dist/utils/job-context/local-job-context.js +4 -2
- package/dist/utils/job-context/local-job-context.js.map +1 -1
- package/dist/utils/job-context/local-job-context.test.d.ts +7 -0
- package/dist/utils/job-context/local-job-context.test.d.ts.map +1 -0
- package/dist/utils/job-context/local-job-context.test.js +68 -0
- package/dist/utils/job-context/local-job-context.test.js.map +1 -0
- package/dist/utils/open-cloud/open-cloud-client.d.ts +50 -7
- package/dist/utils/open-cloud/open-cloud-client.d.ts.map +1 -1
- package/dist/utils/open-cloud/open-cloud-client.js +49 -13
- package/dist/utils/open-cloud/open-cloud-client.js.map +1 -1
- package/dist/utils/open-cloud/open-cloud-client.test.js +125 -1
- package/dist/utils/open-cloud/open-cloud-client.test.js.map +1 -1
- package/dist/utils/open-cloud/open-cloud-logs.characterization.test.d.ts +22 -0
- package/dist/utils/open-cloud/open-cloud-logs.characterization.test.d.ts.map +1 -0
- package/dist/utils/open-cloud/open-cloud-logs.characterization.test.js +202 -0
- package/dist/utils/open-cloud/open-cloud-logs.characterization.test.js.map +1 -0
- package/dist/utils/package-manager-utils.d.ts.map +1 -1
- package/dist/utils/package-manager-utils.js +32 -1
- package/dist/utils/package-manager-utils.js.map +1 -1
- package/dist/utils/package-manager-utils.test.js +25 -0
- package/dist/utils/package-manager-utils.test.js.map +1 -1
- package/dist/utils/testing/batch-run.e2e.test.d.ts +17 -0
- package/dist/utils/testing/batch-run.e2e.test.d.ts.map +1 -0
- package/dist/utils/testing/batch-run.e2e.test.js +343 -0
- package/dist/utils/testing/batch-run.e2e.test.js.map +1 -0
- package/dist/utils/testing/batch-test-runner-template.test.d.ts +11 -0
- package/dist/utils/testing/batch-test-runner-template.test.d.ts.map +1 -0
- package/dist/utils/testing/batch-test-runner-template.test.js +38 -0
- package/dist/utils/testing/batch-test-runner-template.test.js.map +1 -0
- package/dist/utils/testing/log-fetch-stats.d.ts +40 -0
- package/dist/utils/testing/log-fetch-stats.d.ts.map +1 -0
- package/dist/utils/testing/log-fetch-stats.js +18 -0
- package/dist/utils/testing/log-fetch-stats.js.map +1 -0
- package/dist/utils/testing/log-fetch-stats.test.d.ts +2 -0
- package/dist/utils/testing/log-fetch-stats.test.d.ts.map +1 -0
- package/dist/utils/testing/log-fetch-stats.test.js +41 -0
- package/dist/utils/testing/log-fetch-stats.test.js.map +1 -0
- package/dist/utils/testing/parsers/batch-log-parser.d.ts +126 -1
- package/dist/utils/testing/parsers/batch-log-parser.d.ts.map +1 -1
- package/dist/utils/testing/parsers/batch-log-parser.js +440 -103
- package/dist/utils/testing/parsers/batch-log-parser.js.map +1 -1
- package/dist/utils/testing/parsers/batch-log-parser.test.js +494 -1
- package/dist/utils/testing/parsers/batch-log-parser.test.js.map +1 -1
- package/dist/utils/testing/parsers/batch-log-renderer.d.ts +79 -0
- package/dist/utils/testing/parsers/batch-log-renderer.d.ts.map +1 -0
- package/dist/utils/testing/parsers/batch-log-renderer.js +241 -0
- package/dist/utils/testing/parsers/batch-log-renderer.js.map +1 -0
- package/dist/utils/testing/parsers/batch-log-renderer.test.d.ts +2 -0
- package/dist/utils/testing/parsers/batch-log-renderer.test.d.ts.map +1 -0
- package/dist/utils/testing/parsers/batch-log-renderer.test.js +202 -0
- package/dist/utils/testing/parsers/batch-log-renderer.test.js.map +1 -0
- package/dist/utils/testing/runner/combined-project-generator.js +1 -1
- package/dist/utils/testing/runner/combined-project-generator.js.map +1 -1
- package/dist/utils/testing/runner/test-runner.d.ts +24 -0
- package/dist/utils/testing/runner/test-runner.d.ts.map +1 -1
- package/dist/utils/testing/runner/test-runner.js +166 -6
- package/dist/utils/testing/runner/test-runner.js.map +1 -1
- package/dist/utils/testing/runner/test-runner.test.js +228 -2
- package/dist/utils/testing/runner/test-runner.test.js.map +1 -1
- package/dist/utils/testing/structured-test-results.d.ts +77 -0
- package/dist/utils/testing/structured-test-results.d.ts.map +1 -0
- package/dist/utils/testing/structured-test-results.js +140 -0
- package/dist/utils/testing/structured-test-results.js.map +1 -0
- package/dist/utils/testing/structured-test-results.test.d.ts +7 -0
- package/dist/utils/testing/structured-test-results.test.d.ts.map +1 -0
- package/dist/utils/testing/structured-test-results.test.js +179 -0
- package/dist/utils/testing/structured-test-results.test.js.map +1 -0
- package/package.json +6 -6
- package/src/commands/batch-command/batch-deploy-command.ts +4 -4
- package/src/commands/batch-command/batch-test-command.ts +94 -19
- package/src/commands/deploy-command/deploy-init-utils.ts +7 -1
- package/src/commands/deploy-command/index.ts +1 -1
- package/src/utils/deploy/deploy-github-columns.ts +14 -4
- package/src/utils/deploy/deploy-metadata.ts +1 -1
- package/src/utils/job-context/base-job-context.ts +3 -2
- package/src/utils/job-context/batch-script-job-context.ts +98 -17
- package/src/utils/job-context/cloud-job-context.test.ts +112 -0
- package/src/utils/job-context/cloud-job-context.ts +12 -6
- package/src/utils/job-context/job-context.ts +71 -2
- package/src/utils/job-context/local-job-context.test.ts +89 -0
- package/src/utils/job-context/local-job-context.ts +7 -3
- package/src/utils/open-cloud/open-cloud-client.test.ts +155 -1
- package/src/utils/open-cloud/open-cloud-client.ts +94 -18
- package/src/utils/open-cloud/open-cloud-logs.characterization.test.ts +277 -0
- package/src/utils/package-manager-utils.test.ts +27 -0
- package/src/utils/package-manager-utils.ts +34 -1
- package/src/utils/testing/batch-run.e2e.test.ts +425 -0
- package/src/utils/testing/batch-test-runner-template.test.ts +62 -0
- package/src/utils/testing/log-fetch-stats.test.ts +48 -0
- package/src/utils/testing/log-fetch-stats.ts +55 -0
- package/src/utils/testing/parsers/batch-log-parser.test.ts +660 -1
- package/src/utils/testing/parsers/batch-log-parser.ts +721 -116
- package/src/utils/testing/parsers/batch-log-renderer.test.ts +330 -0
- package/src/utils/testing/parsers/batch-log-renderer.ts +329 -0
- package/src/utils/testing/runner/combined-project-generator.ts +1 -1
- package/src/utils/testing/runner/test-runner.test.ts +332 -2
- package/src/utils/testing/runner/test-runner.ts +231 -9
- package/src/utils/testing/structured-test-results.test.ts +267 -0
- package/src/utils/testing/structured-test-results.ts +199 -0
- package/templates/batch-test-runner.lua +242 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/templates/batch-test-runner.luau +0 -137
- /package/build-scripts/{smoke-test-server.luau → smoke-test-server.lua} +0 -0
- /package/build-scripts/{transform-rojo-merge-place.luau → transform-rojo-merge-place.lua} +0 -0
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { type ParsedTestCounts } from '../test-log-parser.js';
|
|
2
|
+
import { type StructuredTestResults } from '../structured-test-results.js';
|
|
3
|
+
import { type LogFetchStats } from '../log-fetch-stats.js';
|
|
2
4
|
export interface BatchPackageResult {
|
|
3
5
|
slug: string;
|
|
4
6
|
success: boolean;
|
|
@@ -14,13 +16,124 @@ export interface BatchPackageResult {
|
|
|
14
16
|
* test — often after the test that scheduled it already passed.
|
|
15
17
|
*/
|
|
16
18
|
tracebackCount: number;
|
|
19
|
+
/**
|
|
20
|
+
* Where `testCounts` came from. `returned` means the run handed them over as a
|
|
21
|
+
* value; `scraped` means they were read out of log text, which is the channel
|
|
22
|
+
* truncation destroys. Absent when there are no counts at all.
|
|
23
|
+
*
|
|
24
|
+
* Recorded because the two are otherwise indistinguishable in the output, and
|
|
25
|
+
* a structured channel that quietly stopped flowing looks exactly like one
|
|
26
|
+
* that never existed.
|
|
27
|
+
*/
|
|
28
|
+
countsSource?: 'returned' | 'scraped';
|
|
29
|
+
/**
|
|
30
|
+
* True when this package's counts arrived but its log section did not.
|
|
31
|
+
*
|
|
32
|
+
* A narrower verdict than a package with a section gets: the counts say what
|
|
33
|
+
* happened, but with no text there is nothing to check for tracebacks, and
|
|
34
|
+
* nothing to read when something did go wrong. Reported so a pass that came
|
|
35
|
+
* back half-blind cannot be mistaken for an ordinary one.
|
|
36
|
+
*/
|
|
37
|
+
logsLost?: boolean;
|
|
38
|
+
/**
|
|
39
|
+
* What this package's own run returned, recovered from the batch summary.
|
|
40
|
+
*
|
|
41
|
+
* One execution covers every package, so its return value belongs to none of
|
|
42
|
+
* them — the batch runner splits the per-package results into the summary
|
|
43
|
+
* instead, and this puts them back in the shape a single run's results have.
|
|
44
|
+
* Lossy by design: the summary carries counts, not failure text, which is
|
|
45
|
+
* per-package and already in that package's log section.
|
|
46
|
+
*/
|
|
47
|
+
testResults?: StructuredTestResults;
|
|
48
|
+
}
|
|
49
|
+
export interface ParseBatchTestLogsOptions {
|
|
50
|
+
/**
|
|
51
|
+
* What the fetch that produced `rawLogs` had to do to collect them, when the
|
|
52
|
+
* caller knows. Not used to judge a package — it only tells a failure that
|
|
53
|
+
* has already happened how much of the run's output ever arrived.
|
|
54
|
+
*/
|
|
55
|
+
logFetchStats?: LogFetchStats;
|
|
56
|
+
/**
|
|
57
|
+
* Where diagnostics go. When set, the parser reports through this instead of
|
|
58
|
+
* printing, so a caller that renders the run's output can hold them until
|
|
59
|
+
* after it: a remark about a log window reads as nonsense above the log it
|
|
60
|
+
* is describing.
|
|
61
|
+
*/
|
|
62
|
+
onDiagnostic?: (level: BatchDiagnosticLevel, message: string) => void;
|
|
63
|
+
/**
|
|
64
|
+
* What the batch script returned, when the transport carries return values.
|
|
65
|
+
*
|
|
66
|
+
* The same summary the script also prints, taken from the one channel the
|
|
67
|
+
* engine's log buffer cannot truncate — an oversize return value fails the
|
|
68
|
+
* task outright rather than arriving short, so a summary that arrives here is
|
|
69
|
+
* whole. Preferred over the printed copy, which is only reached when this is
|
|
70
|
+
* absent (a local bridge run, or a task that ended without an output).
|
|
71
|
+
*/
|
|
72
|
+
returnValues?: unknown[];
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* `group` and `endgroup` bracket a run of diagnostics that belong together, so
|
|
76
|
+
* a finding repeated across many packages can be collapsed into one block
|
|
77
|
+
* instead of one line each.
|
|
78
|
+
*/
|
|
79
|
+
export type BatchDiagnosticLevel = 'info' | 'warn' | 'verbose' | 'group' | 'endgroup';
|
|
80
|
+
/**
|
|
81
|
+
* Print one diagnostic, honoring the grouping levels.
|
|
82
|
+
*
|
|
83
|
+
* `useGroups` is passed in rather than looked up, so the whole run agrees about
|
|
84
|
+
* whether it is emitting workflow commands. Asking `isCI()` separately here, in
|
|
85
|
+
* the renderer and in the reporter is three answers to one question.
|
|
86
|
+
*/
|
|
87
|
+
export declare function emitDiagnostic(level: BatchDiagnosticLevel, message: string, useGroups: boolean): void;
|
|
88
|
+
/**
|
|
89
|
+
* Counts the batch runner folds in from what a package's test script returned.
|
|
90
|
+
*
|
|
91
|
+
* Present only for a package whose script returns its results. Carried in the
|
|
92
|
+
* summary rather than left to the logs because the summary prints last and
|
|
93
|
+
* survives a truncated log window, which is where scraped counts are lost.
|
|
94
|
+
*/
|
|
95
|
+
interface SummaryCounts {
|
|
96
|
+
passed: number;
|
|
97
|
+
failed: number;
|
|
98
|
+
skipped: number;
|
|
99
|
+
total: number;
|
|
100
|
+
suitesPassed: number;
|
|
101
|
+
suitesFailed: number;
|
|
102
|
+
suitesTotal: number;
|
|
17
103
|
}
|
|
18
104
|
interface SummaryEntry {
|
|
19
105
|
slug: string;
|
|
20
106
|
success: boolean;
|
|
21
107
|
durationMs?: number;
|
|
22
108
|
error?: string;
|
|
109
|
+
counts?: SummaryCounts;
|
|
110
|
+
/** False for a smoke test, so zero counts are not read as "no tests found". */
|
|
111
|
+
ranJest?: boolean;
|
|
112
|
+
}
|
|
113
|
+
interface BeginToken {
|
|
114
|
+
kind: 'begin';
|
|
115
|
+
slug: string;
|
|
116
|
+
}
|
|
117
|
+
interface EndToken {
|
|
118
|
+
kind: 'end';
|
|
119
|
+
slug: string;
|
|
120
|
+
durationMs?: number;
|
|
23
121
|
}
|
|
122
|
+
interface SummaryToken {
|
|
123
|
+
kind: 'summary';
|
|
124
|
+
/** Where the marker sat, so the JSON payload can be looked up around it. */
|
|
125
|
+
lineIndex: number;
|
|
126
|
+
}
|
|
127
|
+
interface SummaryPayloadToken {
|
|
128
|
+
kind: 'summaryPayload';
|
|
129
|
+
}
|
|
130
|
+
interface ContentToken {
|
|
131
|
+
kind: 'content';
|
|
132
|
+
/** The untrimmed line, since section logs are shown to a human verbatim. */
|
|
133
|
+
line: string;
|
|
134
|
+
}
|
|
135
|
+
/** One log line, classified. Every line becomes exactly one token. */
|
|
136
|
+
export type BatchLogToken = BeginToken | EndToken | SummaryToken | SummaryPayloadToken | ContentToken;
|
|
24
137
|
/**
|
|
25
138
|
* Parse the single batch execution's logs into per-package results.
|
|
26
139
|
*
|
|
@@ -35,7 +148,19 @@ interface SummaryEntry {
|
|
|
35
148
|
* immune to log reordering. The BEGIN/END markers are used only for splitting logs
|
|
36
149
|
* into per-package sections. Jest failure detection provides a secondary override.
|
|
37
150
|
*/
|
|
38
|
-
export declare function parseBatchTestLogs(rawLogs: string, slugMap: Map<string, string
|
|
151
|
+
export declare function parseBatchTestLogs(rawLogs: string, slugMap: Map<string, string>, options?: ParseBatchTestLogsOptions): Map<string, BatchPackageResult>;
|
|
152
|
+
/**
|
|
153
|
+
* Classify every log line, so section splitting reads tokens instead of text.
|
|
154
|
+
*/
|
|
155
|
+
export declare function tokenizeBatchLog(lines: string[]): BatchLogToken[];
|
|
156
|
+
/**
|
|
157
|
+
* Find the summary array among a task's return values.
|
|
158
|
+
*
|
|
159
|
+
* The batch script returns the same array it prints. Recognized by shape rather
|
|
160
|
+
* than by position: a run is free to return other things, and an array of
|
|
161
|
+
* objects that all carry a string `slug` is the summary and nothing else.
|
|
162
|
+
*/
|
|
163
|
+
export declare function findReturnedSummaryEntries(returnValues: unknown[] | undefined): SummaryEntry[] | undefined;
|
|
39
164
|
/**
|
|
40
165
|
* Find the summary array in the lines following the summary marker.
|
|
41
166
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch-log-parser.d.ts","sourceRoot":"","sources":["../../../../src/utils/testing/parsers/batch-log-parser.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"batch-log-parser.d.ts","sourceRoot":"","sources":["../../../../src/utils/testing/parsers/batch-log-parser.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,gBAAgB,EAGtB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAqB,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE9E,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB;;;;;;;;OAQG;IACH,YAAY,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACtC;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,qBAAqB,CAAC;CACrC;AAED,MAAM,WAAW,yBAAyB;IACxC;;;;OAIG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACtE;;;;;;;;OAQG;IACH,YAAY,CAAC,EAAE,OAAO,EAAE,CAAC;CAC1B;AAED;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAC5B,MAAM,GACN,MAAM,GACN,SAAS,GACT,OAAO,GACP,UAAU,CAAC;AA+Bf;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,oBAAoB,EAC3B,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,OAAO,GACjB,IAAI,CAYN;AAqBD;;;;;;GAMG;AACH,UAAU,aAAa;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AA0BD,UAAU,UAAU;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,QAAQ;IAChB,IAAI,EAAE,KAAK,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,YAAY;IACpB,IAAI,EAAE,SAAS,CAAC;IAChB,4EAA4E;IAC5E,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,mBAAmB;IAC3B,IAAI,EAAE,gBAAgB,CAAC;CACxB;AAED,UAAU,YAAY;IACpB,IAAI,EAAE,SAAS,CAAC;IAChB,4EAA4E;IAC5E,IAAI,EAAE,MAAM,CAAC;CACd;AAED,sEAAsE;AACtE,MAAM,MAAM,aAAa,GACrB,UAAU,GACV,QAAQ,GACR,YAAY,GACZ,mBAAmB,GACnB,YAAY,CAAC;AAejB;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5B,OAAO,GAAE,yBAA8B,GACtC,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAsWjC;AAyFD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,aAAa,EAAE,CA0CjE;AA8HD;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,YAAY,EAAE,OAAO,EAAE,GAAG,SAAS,GAClC,YAAY,EAAE,GAAG,SAAS,CAkB5B;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EAAE,EACf,UAAU,EAAE,MAAM,GACjB,YAAY,EAAE,GAAG,SAAS,CA4B5B;AAED,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC"}
|