@overkill-dev/engine 0.0.11 → 0.0.12
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/engine/execution.d.ts +4 -1
- package/engine/execution.d.ts.map +1 -1
- package/engine/execution.js +45 -32
- package/engine/execution.js.map +1 -1
- package/engine/reporter-dispatcher.d.ts +16 -0
- package/engine/reporter-dispatcher.d.ts.map +1 -0
- package/engine/reporter-dispatcher.js +244 -0
- package/engine/reporter-dispatcher.js.map +1 -0
- package/engine/reporter-event-queue.js +2 -2
- package/engine/reporter-event-queue.js.map +1 -1
- package/engine/reporter-output.d.ts +24 -0
- package/engine/reporter-output.d.ts.map +1 -0
- package/engine/reporter-output.js +8 -0
- package/engine/reporter-output.js.map +1 -0
- package/engine/reporter.d.ts +86 -21
- package/engine/reporter.d.ts.map +1 -1
- package/engine/reporter.js +51 -145
- package/engine/reporter.js.map +1 -1
- package/engine/run-if-main.d.ts +2 -0
- package/engine/run-if-main.d.ts.map +1 -1
- package/engine/run-if-main.js +2 -0
- package/engine/run-if-main.js.map +1 -1
- package/package.json +1 -1
- package/packages/engine/engine.entry-point.d.ts +4 -1
- package/packages/engine/engine.entry-point.d.ts.map +1 -1
- package/packages/engine/engine.entry-point.js +13 -2
- package/packages/engine/engine.entry-point.js.map +1 -1
- package/readme.md +13 -3
- package/sbom.cdx.json +5 -5
package/engine/execution.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { WallClock } from '@enormora/wall-clock';
|
|
2
|
-
import { type
|
|
2
|
+
import { type OutputRenderer } from './reporter-output.ts';
|
|
3
|
+
import type { ReporterDispatcher } from './reporter-dispatcher.ts';
|
|
4
|
+
import { type Reporter, type RunFacts } from './reporter.ts';
|
|
3
5
|
import { type RunResult } from './run-result.ts';
|
|
4
6
|
import type { TestPlan } from './test-plan.ts';
|
|
5
7
|
export type ExecuteExecution = {
|
|
@@ -7,6 +9,7 @@ export type ExecuteExecution = {
|
|
|
7
9
|
};
|
|
8
10
|
export type ExecuteOptions = {
|
|
9
11
|
readonly execution: ExecuteExecution;
|
|
12
|
+
readonly outputRenderer?: OutputRenderer;
|
|
10
13
|
readonly reporters: readonly Reporter[];
|
|
11
14
|
readonly runFacts: RunFacts;
|
|
12
15
|
readonly startedAt: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../../../source/engine/execution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGtD,OAAO,
|
|
1
|
+
{"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../../../source/engine/execution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGtD,OAAO,EAA6B,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,QAAQ,EAAyB,MAAM,eAAe,CAAC;AAEpF,OAAO,EAA0C,KAAK,SAAS,EAAoB,MAAM,iBAAiB,CAAC;AAC3G,OAAO,KAAK,EAAE,QAAQ,EAAgB,MAAM,gBAAgB,CAAC;AAE7D,MAAM,MAAM,gBAAgB,GAAG;IAC3B,QAAQ,CAAC,IAAI,EAAE,uBAAuB,GAAG,mBAAmB,CAAC;CAChE,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IACzB,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IACrC,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,QAAQ,EAAE,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC9B,CAAC;AAMF,MAAM,MAAM,mBAAmB,GAAG;IAC9B,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAChD,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;CACjC,CAAC;AAmhBF,MAAM,MAAM,OAAO,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,cAAc,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;AAE3F,wBAAgB,aAAa,CAAC,YAAY,EAAE,mBAAmB,GAAG,OAAO,CAWxE"}
|
package/engine/execution.js
CHANGED
|
@@ -1,35 +1,36 @@
|
|
|
1
1
|
import { runTestCase } from "./case-execution.js";
|
|
2
2
|
import { caseIdentityKey } from "./identity.js";
|
|
3
|
+
import { createPlainOutputRenderer } from "./reporter-output.js";
|
|
3
4
|
import { validateReporterSinks } from "./reporter.js";
|
|
4
5
|
import { createReporterEventQueue } from "./reporter-event-queue.js";
|
|
5
6
|
import { verdictFromOutcome } from "./run-result.js";
|
|
6
7
|
const epoch = new Date(0);
|
|
7
|
-
async function reportTestStart(testCase, attempt,
|
|
8
|
-
return await dependencies.reporterDispatcher.reportEvent(reporters, {
|
|
8
|
+
async function reportTestStart(testCase, attempt, context) {
|
|
9
|
+
return await context.dependencies.reporterDispatcher.reportEvent(context.reporters, {
|
|
9
10
|
attempt,
|
|
10
11
|
case: testCase.id,
|
|
11
12
|
kind: 'test-start'
|
|
12
|
-
});
|
|
13
|
+
}, context.outputRenderer);
|
|
13
14
|
}
|
|
14
|
-
async function reportTestEnd(input,
|
|
15
|
-
return await dependencies.reporterDispatcher.reportEvent(reporters, {
|
|
15
|
+
async function reportTestEnd(input, context) {
|
|
16
|
+
return await context.dependencies.reporterDispatcher.reportEvent(context.reporters, {
|
|
16
17
|
attempt: input.attempt,
|
|
17
18
|
case: input.testCase.id,
|
|
18
19
|
kind: 'test-end',
|
|
19
20
|
outcome: input.result.outcome,
|
|
20
21
|
verdict: input.result.verdict,
|
|
21
22
|
wallTimeMs: input.wallTimeMs
|
|
22
|
-
});
|
|
23
|
+
}, context.outputRenderer);
|
|
23
24
|
}
|
|
24
|
-
async function executeCase(testCase, attempt,
|
|
25
|
-
const startErrors = await reportTestStart(testCase, attempt,
|
|
26
|
-
const executedCase = await runTestCase(testCase, dependencies.wallClock);
|
|
25
|
+
async function executeCase(testCase, attempt, context) {
|
|
26
|
+
const startErrors = await reportTestStart(testCase, attempt, context);
|
|
27
|
+
const executedCase = await runTestCase(testCase, context.dependencies.wallClock);
|
|
27
28
|
const endErrors = await reportTestEnd({
|
|
28
29
|
attempt,
|
|
29
30
|
result: executedCase.result,
|
|
30
31
|
testCase,
|
|
31
32
|
wallTimeMs: executedCase.wallTimeMs
|
|
32
|
-
},
|
|
33
|
+
}, context);
|
|
33
34
|
return {
|
|
34
35
|
reporterErrors: [...startErrors, ...endErrors],
|
|
35
36
|
result: executedCase.result
|
|
@@ -106,37 +107,37 @@ function commonSuitePrefixLength(firstSuitePath, secondSuitePath) {
|
|
|
106
107
|
}
|
|
107
108
|
return prefixLength;
|
|
108
109
|
}
|
|
109
|
-
async function reportSuiteTransition(
|
|
110
|
+
async function reportSuiteTransition(context, currentSuitePath, nextSuitePath) {
|
|
110
111
|
let reporterErrors = [];
|
|
111
112
|
const sharedPrefixLength = commonSuitePrefixLength(currentSuitePath, nextSuitePath);
|
|
112
113
|
for (let pathLength = currentSuitePath.length; pathLength > sharedPrefixLength; pathLength -= 1) {
|
|
113
114
|
reporterErrors = [
|
|
114
115
|
...reporterErrors,
|
|
115
|
-
...await dependencies.reporterDispatcher.reportEvent(reporters, {
|
|
116
|
+
...await context.dependencies.reporterDispatcher.reportEvent(context.reporters, {
|
|
116
117
|
kind: 'suite-end',
|
|
117
118
|
suitePath: currentSuitePath.slice(0, pathLength)
|
|
118
|
-
})
|
|
119
|
+
}, context.outputRenderer)
|
|
119
120
|
];
|
|
120
121
|
}
|
|
121
122
|
for (let pathLength = sharedPrefixLength + 1; pathLength <= nextSuitePath.length; pathLength += 1) {
|
|
122
123
|
reporterErrors = [
|
|
123
124
|
...reporterErrors,
|
|
124
|
-
...await dependencies.reporterDispatcher.reportEvent(reporters, {
|
|
125
|
+
...await context.dependencies.reporterDispatcher.reportEvent(context.reporters, {
|
|
125
126
|
kind: 'suite-start',
|
|
126
127
|
suitePath: nextSuitePath.slice(0, pathLength)
|
|
127
|
-
})
|
|
128
|
+
}, context.outputRenderer)
|
|
128
129
|
];
|
|
129
130
|
}
|
|
130
131
|
return reporterErrors;
|
|
131
132
|
}
|
|
132
|
-
async function executeTestPlanCases(testPlan, reporters, dependencies) {
|
|
133
|
+
async function executeTestPlanCases(testPlan, reporters, outputRenderer, dependencies) {
|
|
133
134
|
let perTest = [];
|
|
134
135
|
let reporterErrors = [];
|
|
135
136
|
let currentSuitePath = [];
|
|
136
137
|
for (const testCase of testPlan.cases) {
|
|
137
|
-
const suiteErrors = await reportSuiteTransition(
|
|
138
|
+
const suiteErrors = await reportSuiteTransition({ dependencies, outputRenderer, reporters }, currentSuitePath, testCase.suitePath);
|
|
138
139
|
currentSuitePath = testCase.suitePath;
|
|
139
|
-
const testRun = await executeCase(testCase, 0,
|
|
140
|
+
const testRun = await executeCase(testCase, 0, { dependencies, outputRenderer, reporters });
|
|
140
141
|
reporterErrors = [...reporterErrors, ...suiteErrors, ...testRun.reporterErrors];
|
|
141
142
|
perTest = [...perTest, testRun.result];
|
|
142
143
|
}
|
|
@@ -144,7 +145,7 @@ async function executeTestPlanCases(testPlan, reporters, dependencies) {
|
|
|
144
145
|
perTest,
|
|
145
146
|
reporterErrors: [
|
|
146
147
|
...reporterErrors,
|
|
147
|
-
...await reportSuiteTransition(
|
|
148
|
+
...await reportSuiteTransition({ dependencies, outputRenderer, reporters }, currentSuitePath, [])
|
|
148
149
|
]
|
|
149
150
|
};
|
|
150
151
|
}
|
|
@@ -180,18 +181,23 @@ async function executeConcurrentCaseBody(testCase, dependencies) {
|
|
|
180
181
|
};
|
|
181
182
|
}
|
|
182
183
|
}
|
|
183
|
-
async function reportConcurrentCaseStarts(testPlan, reporters, dependencies) {
|
|
184
|
+
async function reportConcurrentCaseStarts(testPlan, reporters, outputRenderer, dependencies) {
|
|
185
|
+
const reportingContext = {
|
|
186
|
+
dependencies,
|
|
187
|
+
outputRenderer,
|
|
188
|
+
reporters
|
|
189
|
+
};
|
|
184
190
|
let reporterErrors = [];
|
|
185
191
|
let currentSuitePath = [];
|
|
186
192
|
for (const testCase of testPlan.cases) {
|
|
187
|
-
const suiteErrors = await reportSuiteTransition(
|
|
188
|
-
const startErrors = await reportTestStart(testCase, 0,
|
|
193
|
+
const suiteErrors = await reportSuiteTransition(reportingContext, currentSuitePath, testCase.suitePath);
|
|
194
|
+
const startErrors = await reportTestStart(testCase, 0, reportingContext);
|
|
189
195
|
currentSuitePath = testCase.suitePath;
|
|
190
196
|
reporterErrors = [...reporterErrors, ...suiteErrors, ...startErrors];
|
|
191
197
|
}
|
|
192
198
|
return [
|
|
193
199
|
...reporterErrors,
|
|
194
|
-
...await reportSuiteTransition(
|
|
200
|
+
...await reportSuiteTransition(reportingContext, currentSuitePath, [])
|
|
195
201
|
];
|
|
196
202
|
}
|
|
197
203
|
async function reportConcurrentCaseEnd(testCase, executedCase, reportQueue) {
|
|
@@ -219,9 +225,9 @@ async function executeConcurrentCases(testPlan, reportQueue, dependencies) {
|
|
|
219
225
|
})
|
|
220
226
|
};
|
|
221
227
|
}
|
|
222
|
-
async function executeConcurrentTestPlanCases(testPlan, reporters, dependencies) {
|
|
223
|
-
const reporterErrors = await reportConcurrentCaseStarts(testPlan, reporters, dependencies);
|
|
224
|
-
const concurrentCaseExecution = await executeConcurrentCases(testPlan, createReporterEventQueue(reporters, dependencies), dependencies);
|
|
228
|
+
async function executeConcurrentTestPlanCases(testPlan, reporters, outputRenderer, dependencies) {
|
|
229
|
+
const reporterErrors = await reportConcurrentCaseStarts(testPlan, reporters, outputRenderer, dependencies);
|
|
230
|
+
const concurrentCaseExecution = await executeConcurrentCases(testPlan, createReporterEventQueue(reporters, outputRenderer, dependencies), dependencies);
|
|
225
231
|
return {
|
|
226
232
|
perTest: concurrentCaseExecution.perTest,
|
|
227
233
|
reporterErrors: [...reporterErrors, ...concurrentCaseExecution.endReporterErrors]
|
|
@@ -229,9 +235,9 @@ async function executeConcurrentTestPlanCases(testPlan, reporters, dependencies)
|
|
|
229
235
|
}
|
|
230
236
|
async function executeTestPlanCasesWithMode(testPlan, options, dependencies) {
|
|
231
237
|
if (options.execution.mode === 'concurrent-in-process') {
|
|
232
|
-
return await executeConcurrentTestPlanCases(testPlan, options.reporters, dependencies);
|
|
238
|
+
return await executeConcurrentTestPlanCases(testPlan, options.reporters, options.outputRenderer, dependencies);
|
|
233
239
|
}
|
|
234
|
-
return await executeTestPlanCases(testPlan, options.reporters, dependencies);
|
|
240
|
+
return await executeTestPlanCases(testPlan, options.reporters, options.outputRenderer, dependencies);
|
|
235
241
|
}
|
|
236
242
|
function createRunResult(testPlan, perTest, reporterErrors, timing) {
|
|
237
243
|
const result = {
|
|
@@ -255,8 +261,15 @@ function appendRunnerErrors(result, runnerErrors) {
|
|
|
255
261
|
};
|
|
256
262
|
}
|
|
257
263
|
function executeOptionsWithDefaults(options) {
|
|
258
|
-
|
|
264
|
+
if (options !== undefined) {
|
|
265
|
+
return {
|
|
266
|
+
...options,
|
|
267
|
+
outputRenderer: options.outputRenderer ?? createPlainOutputRenderer()
|
|
268
|
+
};
|
|
269
|
+
}
|
|
270
|
+
return {
|
|
259
271
|
execution: { mode: 'serial-in-process' },
|
|
272
|
+
outputRenderer: createPlainOutputRenderer(),
|
|
260
273
|
reporters: [],
|
|
261
274
|
runFacts: {},
|
|
262
275
|
startedAt: epoch.toISOString()
|
|
@@ -281,7 +294,7 @@ async function createRunResultBeforeRunEnd(testPlan, options, dependencies) {
|
|
|
281
294
|
kind: 'run-start',
|
|
282
295
|
root: testPlan.root,
|
|
283
296
|
startedAt: options.startedAt
|
|
284
|
-
});
|
|
297
|
+
}, options.outputRenderer);
|
|
285
298
|
const executedTestPlan = await executeTestPlanCasesWithMode(testPlan, options, dependencies);
|
|
286
299
|
const reporterErrors = [...startErrors, ...executedTestPlan.reporterErrors];
|
|
287
300
|
return createRunResult(testPlan, executedTestPlan.perTest, reporterErrors, {
|
|
@@ -295,9 +308,9 @@ async function executeRun(testPlan, options, dependencies, reporterDisposal) {
|
|
|
295
308
|
const runEndErrors = await dependencies.reporterDispatcher.reportEvent(options.reporters, {
|
|
296
309
|
kind: 'run-end',
|
|
297
310
|
result
|
|
298
|
-
});
|
|
311
|
+
}, options.outputRenderer);
|
|
299
312
|
const resultForFinalReporting = appendRunnerErrors(result, runEndErrors);
|
|
300
|
-
const finalReporterErrors = await dependencies.reporterDispatcher.reportResult(options.reporters, resultForFinalReporting);
|
|
313
|
+
const finalReporterErrors = await dependencies.reporterDispatcher.reportResult(options.reporters, resultForFinalReporting, options.outputRenderer);
|
|
301
314
|
const disposeErrors = await reporterDisposal.disposeOnce();
|
|
302
315
|
return appendRunnerErrors(resultForFinalReporting, [...finalReporterErrors, ...disposeErrors]);
|
|
303
316
|
}
|
package/engine/execution.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution.js","sourceRoot":"","sources":["../../../../source/engine/execution.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAIH,qBAAqB,EACxB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,wBAAwB,EAA2B,MAAM,2BAA2B,CAAC;AAC9F,OAAO,EAAE,kBAAkB,EAAwD,MAAM,iBAAiB,CAAC;AAmB3G,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;AA2C1B,KAAK,UAAU,eAAe,CAC1B,QAAsB,EACtB,OAAe,EACf,SAA8B,EAC9B,YAAmC;IAEnC,OAAO,MAAM,YAAY,CAAC,kBAAkB,CAAC,WAAW,CAAC,SAAS,EAAE;QAChE,OAAO;QACP,IAAI,EAAE,QAAQ,CAAC,EAAE;QACjB,IAAI,EAAE,YAAY;KACrB,CAAC,CAAC;AACP,CAAC;AAED,KAAK,UAAU,aAAa,CACxB,KAAyB,EACzB,SAA8B,EAC9B,YAAmC;IAEnC,OAAO,MAAM,YAAY,CAAC,kBAAkB,CAAC,WAAW,CAAC,SAAS,EAAE;QAChE,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE;QACvB,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO;QAC7B,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO;QAC7B,UAAU,EAAE,KAAK,CAAC,UAAU;KAC/B,CAAC,CAAC;AACP,CAAC;AAED,KAAK,UAAU,WAAW,CACtB,QAAsB,EACtB,OAAe,EACf,SAA8B,EAC9B,YAAmC;IAEnC,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;IACtF,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IACzE,MAAM,SAAS,GAAG,MAAM,aAAa,CACjC;QACI,OAAO;QACP,MAAM,EAAE,YAAY,CAAC,MAAM;QAC3B,QAAQ;QACR,UAAU,EAAE,YAAY,CAAC,UAAU;KACtC,EACD,SAAS,EACT,YAAY,CACf,CAAC;IAEF,OAAO;QACH,cAAc,EAAE,CAAE,GAAG,WAAW,EAAE,GAAG,SAAS,CAAE;QAChD,MAAM,EAAE,YAAY,CAAC,MAAM;KAC9B,CAAC;AACN,CAAC;AAED,SAAS,SAAS,CAAC,UAAyB;IACxC,OAAO,UAAU,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC;AAC9C,CAAC;AAED,SAAS,cAAc,CAAC,UAAyB;IAC7C,OAAO,UAAU,CAAC,OAAO,CAAC,IAAI,KAAK,cAAc,CAAC;AACtD,CAAC;AAED,SAAS,SAAS,CAAC,UAAyB;IACxC,OAAO,UAAU,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC;AAC9C,CAAC;AAED,SAAS,UAAU,CAAC,UAAyB;IACzC,OAAO,UAAU,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC;AAC9C,CAAC;AAED,SAAS,aAAa,CAAC,QAAkB,EAAE,OAAiC;IACxE,OAAO;QACH,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,UAAU,EAAE,QAAQ,CAAC,eAAe,CAAC,MAAM;QAC3C,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM;QACxC,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,MAAM;QACnD,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM;QACxC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM;QAC9B,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM;KAC7C,CAAC;AACN,CAAC;AAED,SAAS,QAAQ,CAAC,SAA4B;IAC1C,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,mBAAmB;IACxB,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;AACtD,CAAC;AAED,SAAS,uBAAuB,CAC5B,MAAoC,EACpC,KAA4C;IAE5C,OAAO;QACH,UAAU,EAAE,MAAM,CAAC,UAAU,GAAG,CAAC,KAAK,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,QAAQ,EAAE,MAAM,CAAC,QAAQ,GAAG,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,OAAO,EAAE,MAAM,CAAC,OAAO,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAC1D,CAAC;AACN,CAAC;AAED,SAAS,cAAc,CACnB,MAA4B,EAC5B,SAA4B,EAC5B,KAA4C;IAE5C,IAAI,aAAa,GAAG,MAAM,CAAC;IAE3B,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,IAAI,SAAS,CAAC,MAAM,EAAE,UAAU,IAAI,CAAC,EAAE,CAAC;QACvE,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;QACrD,aAAa,GAAG;YACZ,GAAG,aAAa;YAChB,CAAC,GAAG,CAAC,EAAE,uBAAuB,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,mBAAmB,EAAE,EAAE,KAAK,CAAC;SACrF,CAAC;IACN,CAAC;IAED,OAAO,aAAa,CAAC;AACzB,CAAC;AAED,SAAS,WAAW,CAAC,QAAkB,EAAE,OAAiC;IACtE,IAAI,MAAM,GAAyB,EAAE,CAAC;IACtC,MAAM,WAAW,GAAG,IAAI,GAAG,CACvB,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,MAAM;QAC5B,OAAO,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC,CAAC,CACL,CAAC;IAEF,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC;QAC9C,MAAM,GAAG,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QACpC,MAAM,GAAG,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAE/D,IAAI,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YAChD,MAAM,GAAG,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACpE,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAS,uBAAuB,CAAC,cAAiC,EAAE,eAAkC;IAClG,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IAC/E,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,OAAO,YAAY,GAAG,cAAc,IAAI,cAAc,CAAC,YAAY,CAAC,KAAK,eAAe,CAAC,YAAY,CAAC,EAAE,CAAC;QACrG,YAAY,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,OAAO,YAAY,CAAC;AACxB,CAAC;AAED,KAAK,UAAU,qBAAqB,CAChC,SAA8B,EAC9B,YAAmC,EACnC,gBAAmC,EACnC,aAAgC;IAEhC,IAAI,cAAc,GAA2B,EAAE,CAAC;IAChD,MAAM,kBAAkB,GAAG,uBAAuB,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;IAEpF,KAAK,IAAI,UAAU,GAAG,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,kBAAkB,EAAE,UAAU,IAAI,CAAC,EAAE,CAAC;QAC9F,cAAc,GAAG;YACb,GAAG,cAAc;YACjB,GAAG,MAAM,YAAY,CAAC,kBAAkB,CAAC,WAAW,CAAC,SAAS,EAAE;gBAC5D,IAAI,EAAE,WAAW;gBACjB,SAAS,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC;aACnD,CAAC;SACL,CAAC;IACN,CAAC;IAED,KAAK,IAAI,UAAU,GAAG,kBAAkB,GAAG,CAAC,EAAE,UAAU,IAAI,aAAa,CAAC,MAAM,EAAE,UAAU,IAAI,CAAC,EAAE,CAAC;QAChG,cAAc,GAAG;YACb,GAAG,cAAc;YACjB,GAAG,MAAM,YAAY,CAAC,kBAAkB,CAAC,WAAW,CAAC,SAAS,EAAE;gBAC5D,IAAI,EAAE,aAAa;gBACnB,SAAS,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC;aAChD,CAAC;SACL,CAAC;IACN,CAAC;IAED,OAAO,cAAc,CAAC;AAC1B,CAAC;AAED,KAAK,UAAU,oBAAoB,CAC/B,QAAkB,EAClB,SAA8B,EAC9B,YAAmC;IAEnC,IAAI,OAAO,GAA6B,EAAE,CAAC;IAC3C,IAAI,cAAc,GAA2B,EAAE,CAAC;IAChD,IAAI,gBAAgB,GAAsB,EAAE,CAAC;IAE7C,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QACpC,MAAM,WAAW,GAAG,MAAM,qBAAqB,CAC3C,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,QAAQ,CAAC,SAAS,CACrB,CAAC;QACF,gBAAgB,GAAG,QAAQ,CAAC,SAAS,CAAC;QAEtC,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;QACxE,cAAc,GAAG,CAAE,GAAG,cAAc,EAAE,GAAG,WAAW,EAAE,GAAG,OAAO,CAAC,cAAc,CAAE,CAAC;QAClF,OAAO,GAAG,CAAE,GAAG,OAAO,EAAE,OAAO,CAAC,MAAM,CAAE,CAAC;IAC7C,CAAC;IAED,OAAO;QACH,OAAO;QACP,cAAc,EAAE;YACZ,GAAG,cAAc;YACjB,GAAG,MAAM,qBAAqB,CAAC,SAAS,EAAE,YAAY,EAAE,gBAAgB,EAAE,EAAE,CAAC;SAChF;KACJ,CAAC;AACN,CAAC;AAED,SAAS,2BAA2B,CAAC,KAAc;IAC/C,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,OAAO,CAAC;IACzB,CAAC;IAED,OAAO,+BAA+B,CAAC;AAC3C,CAAC;AAED,SAAS,4BAA4B,CAAC,QAAsB,EAAE,KAAc;IACxE,MAAM,OAAO,GAAG;QACZ,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,oDAAoD,2BAA2B,CAAC,KAAK,CAAC,EAAE;KAC1F,CAAC;IAEX,OAAO;QACH,EAAE,EAAE,QAAQ,CAAC,EAAE;QACf,OAAO;QACP,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAC;KACvC,CAAC;AACN,CAAC;AAED,KAAK,UAAU,yBAAyB,CACpC,QAAsB,EACtB,YAAmC;IAEnC,IAAI,CAAC;QACD,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;QAEzE,OAAO;YACH,MAAM,EAAE,YAAY,CAAC,MAAM;YAC3B,UAAU,EAAE,YAAY,CAAC,UAAU;SACtC,CAAC;IACN,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACtB,OAAO;YACH,MAAM,EAAE,4BAA4B,CAAC,QAAQ,EAAE,KAAK,CAAC;YACrD,UAAU,EAAE,CAAC;SAChB,CAAC;IACN,CAAC;AACL,CAAC;AAED,KAAK,UAAU,0BAA0B,CACrC,QAAkB,EAClB,SAA8B,EAC9B,YAAmC;IAEnC,IAAI,cAAc,GAA2B,EAAE,CAAC;IAChD,IAAI,gBAAgB,GAAsB,EAAE,CAAC;IAE7C,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QACpC,MAAM,WAAW,GAAG,MAAM,qBAAqB,CAC3C,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,QAAQ,CAAC,SAAS,CACrB,CAAC;QACF,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;QAChF,gBAAgB,GAAG,QAAQ,CAAC,SAAS,CAAC;QACtC,cAAc,GAAG,CAAE,GAAG,cAAc,EAAE,GAAG,WAAW,EAAE,GAAG,WAAW,CAAE,CAAC;IAC3E,CAAC;IAED,OAAO;QACH,GAAG,cAAc;QACjB,GAAG,MAAM,qBAAqB,CAAC,SAAS,EAAE,YAAY,EAAE,gBAAgB,EAAE,EAAE,CAAC;KAChF,CAAC;AACN,CAAC;AAED,KAAK,UAAU,uBAAuB,CAClC,QAAsB,EACtB,YAA4B,EAC5B,WAA+B;IAE/B,OAAO,MAAM,WAAW,CAAC,MAAM,CAAC;QAC5B,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,QAAQ,CAAC,EAAE;QACjB,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,OAAO;QACpC,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,OAAO;QACpC,UAAU,EAAE,YAAY,CAAC,UAAU;KACtC,CAAC,CAAC;AACP,CAAC;AAED,KAAK,UAAU,sBAAsB,CACjC,QAAkB,EAClB,WAA+B,EAC/B,YAAmC;IAEnC,MAAM,iBAAiB,GAAkB,EAAE,CAAC;IAC5C,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,UAAU,uBAAuB,CAAC,QAAQ;QACrF,MAAM,YAAY,GAAG,MAAM,yBAAyB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAC7E,iBAAiB,CAAC,IAAI,CAAC,GAAG,MAAM,uBAAuB,CAAC,QAAQ,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC;QAE9F,OAAO,YAAY,CAAC;IACxB,CAAC,CAAC,CAAC;IACH,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAExD,OAAO;QACH,iBAAiB;QACjB,OAAO,EAAE,aAAa,CAAC,GAAG,CAAC,SAAS,SAAS,CAAC,YAAY;YACtD,OAAO,YAAY,CAAC,MAAM,CAAC;QAC/B,CAAC,CAAC;KACL,CAAC;AACN,CAAC;AAED,KAAK,UAAU,8BAA8B,CACzC,QAAkB,EAClB,SAA8B,EAC9B,YAAmC;IAEnC,MAAM,cAAc,GAAG,MAAM,0BAA0B,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;IAC3F,MAAM,uBAAuB,GAAG,MAAM,sBAAsB,CACxD,QAAQ,EACR,wBAAwB,CAAC,SAAS,EAAE,YAAY,CAAC,EACjD,YAAY,CACf,CAAC;IAEF,OAAO;QACH,OAAO,EAAE,uBAAuB,CAAC,OAAO;QACxC,cAAc,EAAE,CAAE,GAAG,cAAc,EAAE,GAAG,uBAAuB,CAAC,iBAAiB,CAAE;KACtF,CAAC;AACN,CAAC;AAED,KAAK,UAAU,4BAA4B,CACvC,QAAkB,EAClB,OAAuB,EACvB,YAAmC;IAEnC,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;QACrD,OAAO,MAAM,8BAA8B,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAC3F,CAAC;IAED,OAAO,MAAM,oBAAoB,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;AACjF,CAAC;AAED,SAAS,eAAe,CACpB,QAAkB,EAClB,OAAiC,EACjC,cAAsC,EACtC,MAAuB;IAEvB,MAAM,MAAM,GAAc;QACtB,SAAS,EAAE,EAAE;QACb,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC;QACvC,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,OAAO;QACP,YAAY,EAAE,cAAc;QAC5B,OAAO,EAAE,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC;QACzC,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,8BAA8B,GAAG,MAAM,CAAC,WAAW;KACnF,CAAC;IAEF,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAiB,EAAE,YAAoC;IAC/E,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,OAAO;QACH,GAAG,MAAM;QACT,YAAY,EAAE,CAAE,GAAG,MAAM,CAAC,YAAY,EAAE,GAAG,YAAY,CAAE;KAC5D,CAAC;AACN,CAAC;AAED,SAAS,0BAA0B,CAAC,OAAmC;IACnE,OAAO,OAAO,IAAI;QACd,SAAS,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE;QACxC,SAAS,EAAE,EAAE;QACb,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,KAAK,CAAC,WAAW,EAAE;KACjC,CAAC;AACN,CAAC;AAED,SAAS,sBAAsB,CAC3B,SAA8B,EAC9B,YAAiC;IAEjC,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAE9B,OAAO;QACH,KAAK,CAAC,WAAW;YACb,IAAI,iBAAiB,EAAE,CAAC;gBACpB,OAAO,EAAE,CAAC;YACd,CAAC;YAED,iBAAiB,GAAG,IAAI,CAAC;YAEzB,OAAO,MAAM,YAAY,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC7E,CAAC;KACJ,CAAC;AACN,CAAC;AAED,KAAK,UAAU,2BAA2B,CACtC,QAAkB,EAClB,OAAuB,EACvB,YAAiC;IAEjC,MAAM,WAAW,GAAG,YAAY,CAAC,SAAS,CAAC,8BAA8B,CAAC;IAC1E,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,kBAAkB,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE;QACrF,KAAK,EAAE,OAAO,CAAC,QAAQ;QACvB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,SAAS,EAAE,OAAO,CAAC,SAAS;KAC/B,CAAC,CAAC;IACH,MAAM,gBAAgB,GAAG,MAAM,4BAA4B,CAAC,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IAC7F,MAAM,cAAc,GAAG,CAAE,GAAG,WAAW,EAAE,GAAG,gBAAgB,CAAC,cAAc,CAAE,CAAC;IAE9E,OAAO,eAAe,CAAC,QAAQ,EAAE,gBAAgB,CAAC,OAAO,EAAE,cAAc,EAAE;QACvE,WAAW;QACX,SAAS,EAAE,YAAY,CAAC,SAAS;KACpC,CAAC,CAAC;AACP,CAAC;AAED,KAAK,UAAU,UAAU,CACrB,QAAkB,EAClB,OAAuB,EACvB,YAAiC,EACjC,gBAAkC;IAElC,qBAAqB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEzC,MAAM,MAAM,GAAG,MAAM,2BAA2B,CAAC,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IAClF,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,kBAAkB,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE;QACtF,IAAI,EAAE,SAAS;QACf,MAAM;KACT,CAAC,CAAC;IACH,MAAM,uBAAuB,GAAG,kBAAkB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACzE,MAAM,mBAAmB,GAAG,MAAM,YAAY,CAAC,kBAAkB,CAAC,YAAY,CAC1E,OAAO,CAAC,SAAS,EACjB,uBAAuB,CAC1B,CAAC;IACF,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC,WAAW,EAAE,CAAC;IAE3D,OAAO,kBAAkB,CAAC,uBAAuB,EAAE,CAAE,GAAG,mBAAmB,EAAE,GAAG,aAAa,CAAE,CAAC,CAAC;AACrG,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,KAAc,EAAE,gBAAkC;IACpF,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC,WAAW,EAAE,CAAC;IAE3D,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,cAAc,CACpB,CAAE,KAAK,EAAE,GAAG,aAAa,CAAE,EAC3B,+CAA+C,EAC/C,EAAE,KAAK,EAAE,KAAK,EAAE,CACnB,CAAC;IACN,CAAC;IAED,MAAM,KAAK,CAAC;AAChB,CAAC;AAID,MAAM,UAAU,aAAa,CAAC,YAAiC;IAC3D,OAAO,KAAK,UAAU,OAAO,CAAC,QAAQ,EAAE,OAAO;QAC3C,MAAM,cAAc,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;QAC3D,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,cAAc,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAExF,IAAI,CAAC;YACD,OAAO,MAAM,UAAU,CAAC,QAAQ,EAAE,cAAc,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC;QACtF,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACtB,OAAO,MAAM,sBAAsB,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;QACjE,CAAC;IACL,CAAC,CAAC;AACN,CAAC"}
|
|
1
|
+
{"version":3,"file":"execution.js","sourceRoot":"","sources":["../../../../source/engine/execution.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,yBAAyB,EAAuB,MAAM,sBAAsB,CAAC;AAEtF,OAAO,EAAgC,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACpF,OAAO,EAAE,wBAAwB,EAA2B,MAAM,2BAA2B,CAAC;AAC9F,OAAO,EAAE,kBAAkB,EAAwD,MAAM,iBAAiB,CAAC;AAwB3G,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;AAiD1B,KAAK,UAAU,eAAe,CAC1B,QAAsB,EACtB,OAAe,EACf,OAAkC;IAElC,OAAO,MAAM,OAAO,CAAC,YAAY,CAAC,kBAAkB,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE;QAChF,OAAO;QACP,IAAI,EAAE,QAAQ,CAAC,EAAE;QACjB,IAAI,EAAE,YAAY;KACrB,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;AAC/B,CAAC;AAED,KAAK,UAAU,aAAa,CACxB,KAAyB,EACzB,OAAkC;IAElC,OAAO,MAAM,OAAO,CAAC,YAAY,CAAC,kBAAkB,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE;QAChF,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE;QACvB,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO;QAC7B,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO;QAC7B,UAAU,EAAE,KAAK,CAAC,UAAU;KAC/B,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;AAC/B,CAAC;AAED,KAAK,UAAU,WAAW,CACtB,QAAsB,EACtB,OAAe,EACf,OAAkC;IAElC,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACtE,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IACjF,MAAM,SAAS,GAAG,MAAM,aAAa,CACjC;QACI,OAAO;QACP,MAAM,EAAE,YAAY,CAAC,MAAM;QAC3B,QAAQ;QACR,UAAU,EAAE,YAAY,CAAC,UAAU;KACtC,EACD,OAAO,CACV,CAAC;IAEF,OAAO;QACH,cAAc,EAAE,CAAE,GAAG,WAAW,EAAE,GAAG,SAAS,CAAE;QAChD,MAAM,EAAE,YAAY,CAAC,MAAM;KAC9B,CAAC;AACN,CAAC;AAED,SAAS,SAAS,CAAC,UAAyB;IACxC,OAAO,UAAU,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC;AAC9C,CAAC;AAED,SAAS,cAAc,CAAC,UAAyB;IAC7C,OAAO,UAAU,CAAC,OAAO,CAAC,IAAI,KAAK,cAAc,CAAC;AACtD,CAAC;AAED,SAAS,SAAS,CAAC,UAAyB;IACxC,OAAO,UAAU,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC;AAC9C,CAAC;AAED,SAAS,UAAU,CAAC,UAAyB;IACzC,OAAO,UAAU,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC;AAC9C,CAAC;AAED,SAAS,aAAa,CAAC,QAAkB,EAAE,OAAiC;IACxE,OAAO;QACH,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,UAAU,EAAE,QAAQ,CAAC,eAAe,CAAC,MAAM;QAC3C,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM;QACxC,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,MAAM;QACnD,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM;QACxC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM;QAC9B,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM;KAC7C,CAAC;AACN,CAAC;AAED,SAAS,QAAQ,CAAC,SAA4B;IAC1C,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,mBAAmB;IACxB,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;AACtD,CAAC;AAED,SAAS,uBAAuB,CAC5B,MAAoC,EACpC,KAA4C;IAE5C,OAAO;QACH,UAAU,EAAE,MAAM,CAAC,UAAU,GAAG,CAAC,KAAK,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,QAAQ,EAAE,MAAM,CAAC,QAAQ,GAAG,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,OAAO,EAAE,MAAM,CAAC,OAAO,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAC1D,CAAC;AACN,CAAC;AAED,SAAS,cAAc,CACnB,MAA4B,EAC5B,SAA4B,EAC5B,KAA4C;IAE5C,IAAI,aAAa,GAAG,MAAM,CAAC;IAE3B,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,IAAI,SAAS,CAAC,MAAM,EAAE,UAAU,IAAI,CAAC,EAAE,CAAC;QACvE,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;QACrD,aAAa,GAAG;YACZ,GAAG,aAAa;YAChB,CAAC,GAAG,CAAC,EAAE,uBAAuB,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,mBAAmB,EAAE,EAAE,KAAK,CAAC;SACrF,CAAC;IACN,CAAC;IAED,OAAO,aAAa,CAAC;AACzB,CAAC;AAED,SAAS,WAAW,CAAC,QAAkB,EAAE,OAAiC;IACtE,IAAI,MAAM,GAAyB,EAAE,CAAC;IACtC,MAAM,WAAW,GAAG,IAAI,GAAG,CACvB,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,MAAM;QAC5B,OAAO,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC,CAAC,CACL,CAAC;IAEF,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC;QAC9C,MAAM,GAAG,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QACpC,MAAM,GAAG,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAE/D,IAAI,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YAChD,MAAM,GAAG,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACpE,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAS,uBAAuB,CAAC,cAAiC,EAAE,eAAkC;IAClG,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IAC/E,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,OAAO,YAAY,GAAG,cAAc,IAAI,cAAc,CAAC,YAAY,CAAC,KAAK,eAAe,CAAC,YAAY,CAAC,EAAE,CAAC;QACrG,YAAY,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,OAAO,YAAY,CAAC;AACxB,CAAC;AAED,KAAK,UAAU,qBAAqB,CAChC,OAAkC,EAClC,gBAAmC,EACnC,aAAgC;IAEhC,IAAI,cAAc,GAA2B,EAAE,CAAC;IAChD,MAAM,kBAAkB,GAAG,uBAAuB,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;IAEpF,KAAK,IAAI,UAAU,GAAG,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,kBAAkB,EAAE,UAAU,IAAI,CAAC,EAAE,CAAC;QAC9F,cAAc,GAAG;YACb,GAAG,cAAc;YACjB,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,kBAAkB,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE;gBAC5E,IAAI,EAAE,WAAW;gBACjB,SAAS,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC;aACnD,EAAE,OAAO,CAAC,cAAc,CAAC;SAC7B,CAAC;IACN,CAAC;IAED,KAAK,IAAI,UAAU,GAAG,kBAAkB,GAAG,CAAC,EAAE,UAAU,IAAI,aAAa,CAAC,MAAM,EAAE,UAAU,IAAI,CAAC,EAAE,CAAC;QAChG,cAAc,GAAG;YACb,GAAG,cAAc;YACjB,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,kBAAkB,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE;gBAC5E,IAAI,EAAE,aAAa;gBACnB,SAAS,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC;aAChD,EAAE,OAAO,CAAC,cAAc,CAAC;SAC7B,CAAC;IACN,CAAC;IAED,OAAO,cAAc,CAAC;AAC1B,CAAC;AAED,KAAK,UAAU,oBAAoB,CAC/B,QAAkB,EAClB,SAA8B,EAC9B,cAA8B,EAC9B,YAAmC;IAEnC,IAAI,OAAO,GAA6B,EAAE,CAAC;IAC3C,IAAI,cAAc,GAA2B,EAAE,CAAC;IAChD,IAAI,gBAAgB,GAAsB,EAAE,CAAC;IAE7C,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QACpC,MAAM,WAAW,GAAG,MAAM,qBAAqB,CAC3C,EAAE,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,EAC3C,gBAAgB,EAChB,QAAQ,CAAC,SAAS,CACrB,CAAC;QACF,gBAAgB,GAAG,QAAQ,CAAC,SAAS,CAAC;QAEtC,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,CAAC;QAC5F,cAAc,GAAG,CAAE,GAAG,cAAc,EAAE,GAAG,WAAW,EAAE,GAAG,OAAO,CAAC,cAAc,CAAE,CAAC;QAClF,OAAO,GAAG,CAAE,GAAG,OAAO,EAAE,OAAO,CAAC,MAAM,CAAE,CAAC;IAC7C,CAAC;IAED,OAAO;QACH,OAAO;QACP,cAAc,EAAE;YACZ,GAAG,cAAc;YACjB,GAAG,MAAM,qBAAqB,CAAC,EAAE,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,EAAE,gBAAgB,EAAE,EAAE,CAAC;SACpG;KACJ,CAAC;AACN,CAAC;AAED,SAAS,2BAA2B,CAAC,KAAc;IAC/C,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,OAAO,CAAC;IACzB,CAAC;IAED,OAAO,+BAA+B,CAAC;AAC3C,CAAC;AAED,SAAS,4BAA4B,CAAC,QAAsB,EAAE,KAAc;IACxE,MAAM,OAAO,GAAG;QACZ,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,oDAAoD,2BAA2B,CAAC,KAAK,CAAC,EAAE;KAC1F,CAAC;IAEX,OAAO;QACH,EAAE,EAAE,QAAQ,CAAC,EAAE;QACf,OAAO;QACP,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAC;KACvC,CAAC;AACN,CAAC;AAED,KAAK,UAAU,yBAAyB,CACpC,QAAsB,EACtB,YAAmC;IAEnC,IAAI,CAAC;QACD,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;QAEzE,OAAO;YACH,MAAM,EAAE,YAAY,CAAC,MAAM;YAC3B,UAAU,EAAE,YAAY,CAAC,UAAU;SACtC,CAAC;IACN,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACtB,OAAO;YACH,MAAM,EAAE,4BAA4B,CAAC,QAAQ,EAAE,KAAK,CAAC;YACrD,UAAU,EAAE,CAAC;SAChB,CAAC;IACN,CAAC;AACL,CAAC;AAED,KAAK,UAAU,0BAA0B,CACrC,QAAkB,EAClB,SAA8B,EAC9B,cAA8B,EAC9B,YAAmC;IAEnC,MAAM,gBAAgB,GAA8B;QAChD,YAAY;QACZ,cAAc;QACd,SAAS;KACZ,CAAC;IACF,IAAI,cAAc,GAA2B,EAAE,CAAC;IAChD,IAAI,gBAAgB,GAAsB,EAAE,CAAC;IAE7C,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QACpC,MAAM,WAAW,GAAG,MAAM,qBAAqB,CAC3C,gBAAgB,EAChB,gBAAgB,EAChB,QAAQ,CAAC,SAAS,CACrB,CAAC;QACF,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAC;QACzE,gBAAgB,GAAG,QAAQ,CAAC,SAAS,CAAC;QACtC,cAAc,GAAG,CAAE,GAAG,cAAc,EAAE,GAAG,WAAW,EAAE,GAAG,WAAW,CAAE,CAAC;IAC3E,CAAC;IAED,OAAO;QACH,GAAG,cAAc;QACjB,GAAG,MAAM,qBAAqB,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,EAAE,CAAC;KACzE,CAAC;AACN,CAAC;AAED,KAAK,UAAU,uBAAuB,CAClC,QAAsB,EACtB,YAA4B,EAC5B,WAA+B;IAE/B,OAAO,MAAM,WAAW,CAAC,MAAM,CAAC;QAC5B,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,QAAQ,CAAC,EAAE;QACjB,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,OAAO;QACpC,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,OAAO;QACpC,UAAU,EAAE,YAAY,CAAC,UAAU;KACtC,CAAC,CAAC;AACP,CAAC;AAED,KAAK,UAAU,sBAAsB,CACjC,QAAkB,EAClB,WAA+B,EAC/B,YAAmC;IAEnC,MAAM,iBAAiB,GAAkB,EAAE,CAAC;IAC5C,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,UAAU,uBAAuB,CAAC,QAAQ;QACrF,MAAM,YAAY,GAAG,MAAM,yBAAyB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAC7E,iBAAiB,CAAC,IAAI,CAAC,GAAG,MAAM,uBAAuB,CAAC,QAAQ,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC;QAE9F,OAAO,YAAY,CAAC;IACxB,CAAC,CAAC,CAAC;IACH,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAExD,OAAO;QACH,iBAAiB;QACjB,OAAO,EAAE,aAAa,CAAC,GAAG,CAAC,SAAS,SAAS,CAAC,YAAY;YACtD,OAAO,YAAY,CAAC,MAAM,CAAC;QAC/B,CAAC,CAAC;KACL,CAAC;AACN,CAAC;AAED,KAAK,UAAU,8BAA8B,CACzC,QAAkB,EAClB,SAA8B,EAC9B,cAA8B,EAC9B,YAAmC;IAEnC,MAAM,cAAc,GAAG,MAAM,0BAA0B,CAAC,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;IAC3G,MAAM,uBAAuB,GAAG,MAAM,sBAAsB,CACxD,QAAQ,EACR,wBAAwB,CAAC,SAAS,EAAE,cAAc,EAAE,YAAY,CAAC,EACjE,YAAY,CACf,CAAC;IAEF,OAAO;QACH,OAAO,EAAE,uBAAuB,CAAC,OAAO;QACxC,cAAc,EAAE,CAAE,GAAG,cAAc,EAAE,GAAG,uBAAuB,CAAC,iBAAiB,CAAE;KACtF,CAAC;AACN,CAAC;AAED,KAAK,UAAU,4BAA4B,CACvC,QAAkB,EAClB,OAAiC,EACjC,YAAmC;IAEnC,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;QACrD,OAAO,MAAM,8BAA8B,CACvC,QAAQ,EACR,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,cAAc,EACtB,YAAY,CACf,CAAC;IACN,CAAC;IAED,OAAO,MAAM,oBAAoB,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;AACzG,CAAC;AAED,SAAS,eAAe,CACpB,QAAkB,EAClB,OAAiC,EACjC,cAAsC,EACtC,MAAuB;IAEvB,MAAM,MAAM,GAAc;QACtB,SAAS,EAAE,EAAE;QACb,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC;QACvC,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,OAAO;QACP,YAAY,EAAE,cAAc;QAC5B,OAAO,EAAE,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC;QACzC,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,8BAA8B,GAAG,MAAM,CAAC,WAAW;KACnF,CAAC;IAEF,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAiB,EAAE,YAAoC;IAC/E,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,OAAO;QACH,GAAG,MAAM;QACT,YAAY,EAAE,CAAE,GAAG,MAAM,CAAC,YAAY,EAAE,GAAG,YAAY,CAAE;KAC5D,CAAC;AACN,CAAC;AAED,SAAS,0BAA0B,CAAC,OAAmC;IACnE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO;YACH,GAAG,OAAO;YACV,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,yBAAyB,EAAE;SACxE,CAAC;IACN,CAAC;IAED,OAAO;QACH,SAAS,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE;QACxC,cAAc,EAAE,yBAAyB,EAAE;QAC3C,SAAS,EAAE,EAAE;QACb,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,KAAK,CAAC,WAAW,EAAE;KACjC,CAAC;AACN,CAAC;AAED,SAAS,sBAAsB,CAC3B,SAA8B,EAC9B,YAAiC;IAEjC,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAE9B,OAAO;QACH,KAAK,CAAC,WAAW;YACb,IAAI,iBAAiB,EAAE,CAAC;gBACpB,OAAO,EAAE,CAAC;YACd,CAAC;YAED,iBAAiB,GAAG,IAAI,CAAC;YAEzB,OAAO,MAAM,YAAY,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC7E,CAAC;KACJ,CAAC;AACN,CAAC;AAED,KAAK,UAAU,2BAA2B,CACtC,QAAkB,EAClB,OAAiC,EACjC,YAAiC;IAEjC,MAAM,WAAW,GAAG,YAAY,CAAC,SAAS,CAAC,8BAA8B,CAAC;IAC1E,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,kBAAkB,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE;QACrF,KAAK,EAAE,OAAO,CAAC,QAAQ;QACvB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,SAAS,EAAE,OAAO,CAAC,SAAS;KAC/B,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAC3B,MAAM,gBAAgB,GAAG,MAAM,4BAA4B,CAAC,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IAC7F,MAAM,cAAc,GAAG,CAAE,GAAG,WAAW,EAAE,GAAG,gBAAgB,CAAC,cAAc,CAAE,CAAC;IAE9E,OAAO,eAAe,CAAC,QAAQ,EAAE,gBAAgB,CAAC,OAAO,EAAE,cAAc,EAAE;QACvE,WAAW;QACX,SAAS,EAAE,YAAY,CAAC,SAAS;KACpC,CAAC,CAAC;AACP,CAAC;AAED,KAAK,UAAU,UAAU,CACrB,QAAkB,EAClB,OAAiC,EACjC,YAAiC,EACjC,gBAAkC;IAElC,qBAAqB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEzC,MAAM,MAAM,GAAG,MAAM,2BAA2B,CAAC,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IAClF,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,kBAAkB,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE;QACtF,IAAI,EAAE,SAAS;QACf,MAAM;KACT,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAC3B,MAAM,uBAAuB,GAAG,kBAAkB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACzE,MAAM,mBAAmB,GAAG,MAAM,YAAY,CAAC,kBAAkB,CAAC,YAAY,CAC1E,OAAO,CAAC,SAAS,EACjB,uBAAuB,EACvB,OAAO,CAAC,cAAc,CACzB,CAAC;IACF,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC,WAAW,EAAE,CAAC;IAE3D,OAAO,kBAAkB,CAAC,uBAAuB,EAAE,CAAE,GAAG,mBAAmB,EAAE,GAAG,aAAa,CAAE,CAAC,CAAC;AACrG,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,KAAc,EAAE,gBAAkC;IACpF,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC,WAAW,EAAE,CAAC;IAE3D,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,cAAc,CACpB,CAAE,KAAK,EAAE,GAAG,aAAa,CAAE,EAC3B,+CAA+C,EAC/C,EAAE,KAAK,EAAE,KAAK,EAAE,CACnB,CAAC;IACN,CAAC;IAED,MAAM,KAAK,CAAC;AAChB,CAAC;AAID,MAAM,UAAU,aAAa,CAAC,YAAiC;IAC3D,OAAO,KAAK,UAAU,OAAO,CAAC,QAAQ,EAAE,OAAO;QAC3C,MAAM,cAAc,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;QAC3D,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,cAAc,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAExF,IAAI,CAAC;YACD,OAAO,MAAM,UAAU,CAAC,QAAQ,EAAE,cAAc,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC;QACtF,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACtB,OAAO,MAAM,sBAAsB,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;QACjE,CAAC;IACL,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { WallClock } from '@enormora/wall-clock';
|
|
2
|
+
import type { OutputLineWriter, OutputRenderer } from './reporter-output.ts';
|
|
3
|
+
import type { Reporter, ReporterEvent } from './reporter.ts';
|
|
4
|
+
import type { RunResult, RunnerError } from './run-result.ts';
|
|
5
|
+
export type ReporterDispatcher = {
|
|
6
|
+
readonly disposeReporters: (reporters: readonly Reporter[]) => Promise<readonly RunnerError[]>;
|
|
7
|
+
readonly reportEvent: (reporters: readonly Reporter[], event: ReporterEvent, outputRenderer: OutputRenderer) => Promise<readonly RunnerError[]>;
|
|
8
|
+
readonly reportResult: (reporters: readonly Reporter[], result: RunResult, outputRenderer: OutputRenderer) => Promise<readonly RunnerError[]>;
|
|
9
|
+
};
|
|
10
|
+
export type ReporterDispatcherDependencies = {
|
|
11
|
+
readonly stderr: OutputLineWriter;
|
|
12
|
+
readonly stdout: OutputLineWriter;
|
|
13
|
+
readonly wallClock: WallClock;
|
|
14
|
+
};
|
|
15
|
+
export declare function createReporterDispatcher(dependencies: ReporterDispatcherDependencies): ReporterDispatcher;
|
|
16
|
+
//# sourceMappingURL=reporter-dispatcher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reporter-dispatcher.d.ts","sourceRoot":"","sources":["../../../../source/engine/reporter-dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAER,gBAAgB,EAChB,cAAc,EAEjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAI9D,MAAM,MAAM,kBAAkB,GAAG;IAC7B,QAAQ,CAAC,gBAAgB,EAAE,CACvB,SAAS,EAAE,SAAS,QAAQ,EAAE,KAC7B,OAAO,CAAC,SAAS,WAAW,EAAE,CAAC,CAAC;IACrC,QAAQ,CAAC,WAAW,EAAE,CAClB,SAAS,EAAE,SAAS,QAAQ,EAAE,EAC9B,KAAK,EAAE,aAAa,EACpB,cAAc,EAAE,cAAc,KAC7B,OAAO,CAAC,SAAS,WAAW,EAAE,CAAC,CAAC;IACrC,QAAQ,CAAC,YAAY,EAAE,CACnB,SAAS,EAAE,SAAS,QAAQ,EAAE,EAC9B,MAAM,EAAE,SAAS,EACjB,cAAc,EAAE,cAAc,KAC7B,OAAO,CAAC,SAAS,WAAW,EAAE,CAAC,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IACzC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;CACjC,CAAC;AAoYF,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,8BAA8B,GAAG,kBAAkB,CAYzG"}
|
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
const callbackTimeoutMs = 100;
|
|
2
|
+
function formatReporterError(reporter, cause) {
|
|
3
|
+
const reason = cause instanceof Error ? cause.message : String(cause);
|
|
4
|
+
return {
|
|
5
|
+
attributedTo: null,
|
|
6
|
+
cause,
|
|
7
|
+
message: `${reporter.name}: ${reason}`,
|
|
8
|
+
subtype: 'reporter'
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
function timeoutError(reporter) {
|
|
12
|
+
return new Error(`${reporter.name} reporter callback timed out after ${callbackTimeoutMs} ms.`);
|
|
13
|
+
}
|
|
14
|
+
function createReporterTimeout(dependencies, reporter) {
|
|
15
|
+
const { promise, reject } = Promise.withResolvers();
|
|
16
|
+
const timeout = dependencies.wallClock.setTimeout(function rejectTimedOutCallback() {
|
|
17
|
+
reject(timeoutError(reporter));
|
|
18
|
+
}, callbackTimeoutMs);
|
|
19
|
+
return {
|
|
20
|
+
cancel() {
|
|
21
|
+
dependencies.wallClock.clearTimeout(timeout);
|
|
22
|
+
},
|
|
23
|
+
promise
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
function isObject(value) {
|
|
27
|
+
return typeof value === 'object' && value !== null;
|
|
28
|
+
}
|
|
29
|
+
function isOutputLineKind(value) {
|
|
30
|
+
return value === 'stdout-line' || value === 'stderr-line';
|
|
31
|
+
}
|
|
32
|
+
function isOutputLineRole(value) {
|
|
33
|
+
return value === 'primary' || value === 'supplemental';
|
|
34
|
+
}
|
|
35
|
+
function isOutputLineIntent(value) {
|
|
36
|
+
return isObject(value) &&
|
|
37
|
+
isOutputLineKind(value.kind) &&
|
|
38
|
+
isOutputLineRole(value.role) &&
|
|
39
|
+
typeof value.text === 'string' &&
|
|
40
|
+
Object.hasOwn(value, 'annotation');
|
|
41
|
+
}
|
|
42
|
+
function normalizeReporterOutput(output) {
|
|
43
|
+
if (output === undefined) {
|
|
44
|
+
return [];
|
|
45
|
+
}
|
|
46
|
+
if (Array.isArray(output) && output.every(isOutputLineIntent)) {
|
|
47
|
+
return output;
|
|
48
|
+
}
|
|
49
|
+
throw new Error('Reporter returned invalid managed output.');
|
|
50
|
+
}
|
|
51
|
+
async function awaitReporterCallback(dependencies, reporter, callback) {
|
|
52
|
+
const reporterTimeout = createReporterTimeout(dependencies, reporter);
|
|
53
|
+
try {
|
|
54
|
+
const output = await Promise.race([callback(), reporterTimeout.promise]);
|
|
55
|
+
return { kind: 'success', output: normalizeReporterOutput(output), reporter };
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
return { error: formatReporterError(reporter, error), kind: 'failure', reporter };
|
|
59
|
+
}
|
|
60
|
+
finally {
|
|
61
|
+
reporterTimeout.cancel();
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
async function awaitReporterDispose(dependencies, reporter, dispose) {
|
|
65
|
+
const reporterTimeout = createReporterTimeout(dependencies, reporter);
|
|
66
|
+
try {
|
|
67
|
+
await Promise.race([dispose(), reporterTimeout.promise]);
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
71
|
+
return { error: formatReporterError(reporter, error), kind: 'failure', reporter };
|
|
72
|
+
}
|
|
73
|
+
finally {
|
|
74
|
+
reporterTimeout.cancel();
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
function outputIntentStream(intent) {
|
|
78
|
+
return intent.kind === 'stderr-line' ? 'stderr' : 'stdout';
|
|
79
|
+
}
|
|
80
|
+
function expectedSinkKind(intent) {
|
|
81
|
+
return `${outputIntentStream(intent)}-managed-${intent.role}`;
|
|
82
|
+
}
|
|
83
|
+
function reporterDeclaresOutputIntent(reporter, intent) {
|
|
84
|
+
return reporter.sinks.some(function sinkMatchesIntent(sink) {
|
|
85
|
+
return sink.kind === expectedSinkKind(intent);
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
function validateRenderedLine(line) {
|
|
89
|
+
if (line.includes('\n') || line.includes('\r')) {
|
|
90
|
+
throw new Error('Managed output renderer returned a line containing a newline.');
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
function outputWriterForIntent(dependencies, intent) {
|
|
94
|
+
return outputIntentStream(intent) === 'stdout' ? dependencies.stdout : dependencies.stderr;
|
|
95
|
+
}
|
|
96
|
+
function reporterFailures(results) {
|
|
97
|
+
return results.flatMap(function collectFailure(result) {
|
|
98
|
+
return result.kind === 'failure' ? [result] : [];
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
function reporterSuccesses(results) {
|
|
102
|
+
return results.flatMap(function collectSuccess(result) {
|
|
103
|
+
return result.kind === 'success' ? [result] : [];
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
function assertReporterDeclaresOutputIntent(reporter, intent) {
|
|
107
|
+
if (!reporterDeclaresOutputIntent(reporter, intent)) {
|
|
108
|
+
throw new Error(`Reporter returned undeclared managed ${outputIntentStream(intent)} output.`);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
function writeReporterOutput(dependencies, reporter, intent, outputRenderer) {
|
|
112
|
+
try {
|
|
113
|
+
assertReporterDeclaresOutputIntent(reporter, intent);
|
|
114
|
+
const line = outputRenderer.render(intent);
|
|
115
|
+
validateRenderedLine(line);
|
|
116
|
+
outputWriterForIntent(dependencies, intent).writeLine(line);
|
|
117
|
+
return null;
|
|
118
|
+
}
|
|
119
|
+
catch (error) {
|
|
120
|
+
return { error: formatReporterError(reporter, error), kind: 'failure', reporter };
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
function writeReporterOutputs(dependencies, outputs, outputRenderer) {
|
|
124
|
+
const failures = [];
|
|
125
|
+
for (const output of outputs) {
|
|
126
|
+
for (const intent of output.output) {
|
|
127
|
+
const failure = writeReporterOutput(dependencies, output.reporter, intent, outputRenderer);
|
|
128
|
+
if (failure !== null) {
|
|
129
|
+
failures.push(failure);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
return failures;
|
|
134
|
+
}
|
|
135
|
+
async function reportEventToReporter(dependencies, reporter, event) {
|
|
136
|
+
return await awaitReporterCallback(dependencies, reporter, function sendReporterEvent() {
|
|
137
|
+
return reporter.onEvent(event);
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
async function reportRunnerErrorToOtherReporters(context, failedReporter, error) {
|
|
141
|
+
const event = { error, kind: 'runner-error' };
|
|
142
|
+
const failures = await Promise.all(context.reporters.map(async function reportRunnerError(reporter) {
|
|
143
|
+
if (reporter.kind !== 'real-time' || reporter === failedReporter) {
|
|
144
|
+
return null;
|
|
145
|
+
}
|
|
146
|
+
return reportEventToReporter(context.dependencies, reporter, event);
|
|
147
|
+
}));
|
|
148
|
+
const results = failures.flatMap(function collectResult(result) {
|
|
149
|
+
return result === null ? [] : [result];
|
|
150
|
+
});
|
|
151
|
+
const outputFailures = writeReporterOutputs(context.dependencies, reporterSuccesses(results), context.outputRenderer);
|
|
152
|
+
return [
|
|
153
|
+
...reporterFailures(results).map(function toError(failure) {
|
|
154
|
+
return failure.error;
|
|
155
|
+
}),
|
|
156
|
+
...outputFailures.map(function toError(failure) {
|
|
157
|
+
return failure.error;
|
|
158
|
+
})
|
|
159
|
+
];
|
|
160
|
+
}
|
|
161
|
+
async function collectReporterErrorsWithNotifications(context, reporterErrors) {
|
|
162
|
+
const notificationErrors = await Promise.all(reporterErrors.map(async function reportError(failure) {
|
|
163
|
+
return reportRunnerErrorToOtherReporters(context, failure.reporter, failure.error);
|
|
164
|
+
}));
|
|
165
|
+
return [
|
|
166
|
+
...reporterErrors.map(function toError(failure) {
|
|
167
|
+
return failure.error;
|
|
168
|
+
}),
|
|
169
|
+
...notificationErrors.flat()
|
|
170
|
+
];
|
|
171
|
+
}
|
|
172
|
+
async function reportEvent(context, event) {
|
|
173
|
+
const results = await Promise.all(context.reporters.map(async function reportRealTimeEvent(reporter) {
|
|
174
|
+
if (reporter.kind !== 'real-time') {
|
|
175
|
+
return null;
|
|
176
|
+
}
|
|
177
|
+
return reportEventToReporter(context.dependencies, reporter, event);
|
|
178
|
+
}));
|
|
179
|
+
const callbackResults = results.flatMap(function collectResult(result) {
|
|
180
|
+
return result === null ? [] : [result];
|
|
181
|
+
});
|
|
182
|
+
const outputErrors = writeReporterOutputs(context.dependencies, reporterSuccesses(callbackResults), context.outputRenderer);
|
|
183
|
+
const reporterErrors = [...reporterFailures(callbackResults), ...outputErrors];
|
|
184
|
+
if (event.kind === 'runner-error') {
|
|
185
|
+
return reporterErrors.map(function toError(failure) {
|
|
186
|
+
return failure.error;
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
return collectReporterErrorsWithNotifications(context, reporterErrors);
|
|
190
|
+
}
|
|
191
|
+
async function reportResult(context, result) {
|
|
192
|
+
const results = await Promise.all(context.reporters.map(async function reportFinalResult(reporter) {
|
|
193
|
+
if (reporter.kind === 'final-result') {
|
|
194
|
+
return await awaitReporterCallback(context.dependencies, reporter, function reportResultToFinalReporter() {
|
|
195
|
+
return reporter.onResult(result);
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
if (reporter.onFinish === null) {
|
|
199
|
+
return null;
|
|
200
|
+
}
|
|
201
|
+
const { onFinish } = reporter;
|
|
202
|
+
return await awaitReporterCallback(context.dependencies, reporter, function reportResultToRealTimeReporter() {
|
|
203
|
+
return onFinish(result);
|
|
204
|
+
});
|
|
205
|
+
}));
|
|
206
|
+
const callbackResults = results.flatMap(function collectResult(callbackResult) {
|
|
207
|
+
return callbackResult === null ? [] : [callbackResult];
|
|
208
|
+
});
|
|
209
|
+
const outputErrors = writeReporterOutputs(context.dependencies, reporterSuccesses(callbackResults), context.outputRenderer);
|
|
210
|
+
const reporterErrors = [...reporterFailures(callbackResults), ...outputErrors];
|
|
211
|
+
return collectReporterErrorsWithNotifications(context, reporterErrors);
|
|
212
|
+
}
|
|
213
|
+
async function disposeReporters(dependencies, reporters) {
|
|
214
|
+
const failures = await Promise.all(reporters.map(async function disposeReporter(reporter) {
|
|
215
|
+
if (reporter.dispose === null) {
|
|
216
|
+
return null;
|
|
217
|
+
}
|
|
218
|
+
return await awaitReporterDispose(dependencies, reporter, reporter.dispose);
|
|
219
|
+
}));
|
|
220
|
+
return failures.flatMap(function collectFailure(failure) {
|
|
221
|
+
return failure === null ? [] : [failure.error];
|
|
222
|
+
});
|
|
223
|
+
}
|
|
224
|
+
function createReporterDispatchContext(dependencies, reporters, outputRenderer) {
|
|
225
|
+
return {
|
|
226
|
+
dependencies,
|
|
227
|
+
outputRenderer,
|
|
228
|
+
reporters
|
|
229
|
+
};
|
|
230
|
+
}
|
|
231
|
+
export function createReporterDispatcher(dependencies) {
|
|
232
|
+
return {
|
|
233
|
+
async disposeReporters(reporters) {
|
|
234
|
+
return await disposeReporters(dependencies, reporters);
|
|
235
|
+
},
|
|
236
|
+
async reportEvent(reporters, event, outputRenderer) {
|
|
237
|
+
return await reportEvent(createReporterDispatchContext(dependencies, reporters, outputRenderer), event);
|
|
238
|
+
},
|
|
239
|
+
async reportResult(reporters, result, outputRenderer) {
|
|
240
|
+
return await reportResult(createReporterDispatchContext(dependencies, reporters, outputRenderer), result);
|
|
241
|
+
}
|
|
242
|
+
};
|
|
243
|
+
}
|
|
244
|
+
//# sourceMappingURL=reporter-dispatcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reporter-dispatcher.js","sourceRoot":"","sources":["../../../../source/engine/reporter-dispatcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,13 +7,13 @@ async function waitForPreviousReport(previousReport) {
|
|
|
7
7
|
}
|
|
8
8
|
return undefined;
|
|
9
9
|
}
|
|
10
|
-
export function createReporterEventQueue(reporters, dependencies) {
|
|
10
|
+
export function createReporterEventQueue(reporters, outputRenderer, dependencies) {
|
|
11
11
|
let previousReport = Promise.resolve([]);
|
|
12
12
|
return {
|
|
13
13
|
async report(event) {
|
|
14
14
|
const report = (async function reportEventAfterPreviousReport() {
|
|
15
15
|
await waitForPreviousReport(previousReport);
|
|
16
|
-
return await dependencies.reporterDispatcher.reportEvent(reporters, event);
|
|
16
|
+
return await dependencies.reporterDispatcher.reportEvent(reporters, event, outputRenderer);
|
|
17
17
|
})();
|
|
18
18
|
previousReport = report;
|
|
19
19
|
return await report;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reporter-event-queue.js","sourceRoot":"","sources":["../../../../source/engine/reporter-event-queue.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"reporter-event-queue.js","sourceRoot":"","sources":["../../../../source/engine/reporter-event-queue.ts"],"names":[],"mappings":"AAaA,KAAK,UAAU,qBAAqB,CAAC,cAA+C;IAChF,IAAI,CAAC;QACD,MAAM,cAAc,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,wBAAwB,CACpC,SAA8B,EAC9B,cAA8B,EAC9B,YAA4C;IAE5C,IAAI,cAAc,GAAG,OAAO,CAAC,OAAO,CAAyB,EAAE,CAAC,CAAC;IAEjE,OAAO;QACH,KAAK,CAAC,MAAM,CAAC,KAAK;YACd,MAAM,MAAM,GAAG,CAAC,KAAK,UAAU,8BAA8B;gBACzD,MAAM,qBAAqB,CAAC,cAAc,CAAC,CAAC;gBAE5C,OAAO,MAAM,YAAY,CAAC,kBAAkB,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;YAC/F,CAAC,CAAC,EAAE,CAAC;YACL,cAAc,GAAG,MAAM,CAAC;YAExB,OAAO,MAAM,MAAM,CAAC;QACxB,CAAC;KACJ,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { SourceLocation } from '../assertion-protocol/assertion-node-shape.ts';
|
|
2
|
+
export type OutputIntentRole = 'primary' | 'supplemental';
|
|
3
|
+
export type OutputIntentSeverity = 'error' | 'notice' | 'warning';
|
|
4
|
+
export type OutputIntentAnnotation = {
|
|
5
|
+
readonly location: SourceLocation | null;
|
|
6
|
+
readonly severity: OutputIntentSeverity;
|
|
7
|
+
readonly title: string | null;
|
|
8
|
+
};
|
|
9
|
+
export type OutputLineIntent = {
|
|
10
|
+
readonly annotation: OutputIntentAnnotation | null;
|
|
11
|
+
readonly kind: 'stderr-line' | 'stdout-line';
|
|
12
|
+
readonly role: OutputIntentRole;
|
|
13
|
+
readonly text: string;
|
|
14
|
+
};
|
|
15
|
+
export type ReporterOutput = readonly OutputLineIntent[];
|
|
16
|
+
export type OptionalReporterOutput = ReporterOutput | undefined;
|
|
17
|
+
export type OutputRenderer = {
|
|
18
|
+
readonly render: (intent: OutputLineIntent) => string;
|
|
19
|
+
};
|
|
20
|
+
export type OutputLineWriter = {
|
|
21
|
+
readonly writeLine: (line: string) => void;
|
|
22
|
+
};
|
|
23
|
+
export declare function createPlainOutputRenderer(): OutputRenderer;
|
|
24
|
+
//# sourceMappingURL=reporter-output.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reporter-output.d.ts","sourceRoot":"","sources":["../../../../source/engine/reporter-output.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AAEpF,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,cAAc,CAAC;AAC1D,MAAM,MAAM,oBAAoB,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;AAElE,MAAM,MAAM,sBAAsB,GAAG;IACjC,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC3B,QAAQ,CAAC,UAAU,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACnD,QAAQ,CAAC,IAAI,EAAE,aAAa,GAAG,aAAa,CAAC;IAC7C,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,SAAS,gBAAgB,EAAE,CAAC;AACzD,MAAM,MAAM,sBAAsB,GAAG,cAAc,GAAG,SAAS,CAAC;AAEhE,MAAM,MAAM,cAAc,GAAG;IACzB,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,MAAM,CAAC;CACzD,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC3B,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C,CAAC;AAEF,wBAAgB,yBAAyB,IAAI,cAAc,CAM1D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reporter-output.js","sourceRoot":"","sources":["../../../../source/engine/reporter-output.ts"],"names":[],"mappings":"AA6BA,MAAM,UAAU,yBAAyB;IACrC,OAAO;QACH,MAAM,CAAC,MAAM;YACT,OAAO,MAAM,CAAC,IAAI,CAAC;QACvB,CAAC;KACJ,CAAC;AACN,CAAC"}
|