supercov 0.0.4 → 0.0.5

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.
Files changed (71) hide show
  1. package/README.md +80 -58
  2. package/dist/analyze.d.ts.map +1 -1
  3. package/dist/analyze.js +1 -0
  4. package/dist/analyze.js.map +1 -1
  5. package/dist/cli.js +88 -5
  6. package/dist/cli.js.map +1 -1
  7. package/dist/directInstrumenter.d.ts +2 -2
  8. package/dist/directInstrumenter.d.ts.map +1 -1
  9. package/dist/directInstrumenter.js +18 -20
  10. package/dist/directInstrumenter.js.map +1 -1
  11. package/dist/esmInterceptor.d.ts +6 -0
  12. package/dist/esmInterceptor.d.ts.map +1 -0
  13. package/dist/esmInterceptor.js +63 -0
  14. package/dist/esmInterceptor.js.map +1 -0
  15. package/dist/evidenceArchive.d.ts +3 -1
  16. package/dist/evidenceArchive.d.ts.map +1 -1
  17. package/dist/evidenceArchive.js +31 -22
  18. package/dist/evidenceArchive.js.map +1 -1
  19. package/dist/instrumenter.d.ts.map +1 -1
  20. package/dist/instrumenter.js +10 -6
  21. package/dist/instrumenter.js.map +1 -1
  22. package/dist/integrity.d.ts.map +1 -1
  23. package/dist/integrity.js +3 -3
  24. package/dist/integrity.js.map +1 -1
  25. package/dist/launchSupervisor.d.ts +6 -0
  26. package/dist/launchSupervisor.d.ts.map +1 -1
  27. package/dist/launchSupervisor.js +78 -4
  28. package/dist/launchSupervisor.js.map +1 -1
  29. package/dist/merge.d.ts +2 -0
  30. package/dist/merge.d.ts.map +1 -0
  31. package/dist/merge.js +116 -0
  32. package/dist/merge.js.map +1 -0
  33. package/dist/nodeTest.d.ts +15 -0
  34. package/dist/nodeTest.d.ts.map +1 -0
  35. package/dist/nodeTest.js +121 -0
  36. package/dist/nodeTest.js.map +1 -0
  37. package/dist/project.d.ts +6 -1
  38. package/dist/project.d.ts.map +1 -1
  39. package/dist/project.js +26 -8
  40. package/dist/project.js.map +1 -1
  41. package/dist/query.d.ts +25 -0
  42. package/dist/query.d.ts.map +1 -1
  43. package/dist/query.js +252 -0
  44. package/dist/query.js.map +1 -1
  45. package/dist/register.mjs +40 -0
  46. package/dist/register.mjs.map +1 -1
  47. package/dist/resolve-loader.d.mts +1 -0
  48. package/dist/resolve-loader.d.mts.map +1 -1
  49. package/dist/resolve-loader.mjs +43 -0
  50. package/dist/resolve-loader.mjs.map +1 -1
  51. package/dist/runAnalysis.d.ts.map +1 -1
  52. package/dist/runAnalysis.js +18 -0
  53. package/dist/runAnalysis.js.map +1 -1
  54. package/dist/runnerEvidence.d.ts +19 -0
  55. package/dist/runnerEvidence.d.ts.map +1 -0
  56. package/dist/runnerEvidence.js +93 -0
  57. package/dist/runnerEvidence.js.map +1 -0
  58. package/dist/runtime.d.ts.map +1 -1
  59. package/dist/runtime.js +3 -1
  60. package/dist/runtime.js.map +1 -1
  61. package/dist/sourceDiscovery.d.ts +9 -0
  62. package/dist/sourceDiscovery.d.ts.map +1 -0
  63. package/dist/sourceDiscovery.js +227 -0
  64. package/dist/sourceDiscovery.js.map +1 -0
  65. package/dist/types.d.ts +15 -1
  66. package/dist/types.d.ts.map +1 -1
  67. package/dist/vitePlugin.d.ts +4 -0
  68. package/dist/vitePlugin.d.ts.map +1 -1
  69. package/dist/vitePlugin.js +13 -3
  70. package/dist/vitePlugin.js.map +1 -1
  71. package/package.json +10 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge.js","sourceRoot":"","sources":["../src/merge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import * as native from "node:test";
2
+ export declare const test: typeof native.test;
3
+ export declare const it: typeof native.it;
4
+ export declare const suite: typeof native.suite;
5
+ export declare const describe: typeof native.suite;
6
+ export declare const before: typeof native.before;
7
+ export declare const after: typeof native.after;
8
+ export declare const beforeEach: typeof native.beforeEach;
9
+ export declare const afterEach: typeof native.afterEach;
10
+ export declare const mock: native.MockTracker;
11
+ export declare const snapshot: typeof native.snapshot;
12
+ export declare const run: typeof native.run;
13
+ export declare const assert: typeof native.assert;
14
+ export default test;
15
+ //# sourceMappingURL=nodeTest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nodeTest.d.ts","sourceRoot":"","sources":["../src/nodeTest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,WAAW,CAAC;AAwIpC,eAAO,MAAM,IAAI,EAAsE,OAAO,MAAM,CAAC,IAAI,CAAC;AAC1G,eAAO,MAAM,EAAE,EAAoE,OAAO,MAAM,CAAC,EAAE,CAAC;AACpG,eAAO,MAAM,KAAK,qBAAe,CAAC;AAClC,eAAO,MAAM,QAAQ,qBAAkB,CAAC;AACxC,eAAO,MAAM,MAAM,sBAAgB,CAAC;AACpC,eAAO,MAAM,KAAK,qBAAe,CAAC;AAClC,eAAO,MAAM,UAAU,0BAAoB,CAAC;AAC5C,eAAO,MAAM,SAAS,yBAAmB,CAAC;AAC1C,eAAO,MAAM,IAAI,oBAAc,CAAC;AAChC,eAAO,MAAM,QAAQ,wBAAkB,CAAC;AACxC,eAAO,MAAM,GAAG,mBAAa,CAAC;AAC9B,eAAO,MAAM,MAAM,sBAAgB,CAAC;eACrB,IAAI"}
@@ -0,0 +1,121 @@
1
+ import * as native from "node:test";
2
+ import { withCoverageCarrier } from "./runtime.js";
3
+ import { callerLocation, runnerExecutionScope, writeRunnerEvidence, } from "./runnerEvidence.js";
4
+ function callbackIndex(args) {
5
+ for (let index = args.length - 1; index >= 0; index -= 1)
6
+ if (typeof args[index] === "function")
7
+ return index;
8
+ return -1;
9
+ }
10
+ function testName(args, callback) {
11
+ return typeof args[0] === "string" ? args[0] : callback.name || "anonymous test";
12
+ }
13
+ function testOptions(args, index) {
14
+ const candidate = args.slice(0, index).find((value) => value && typeof value === "object" && !Array.isArray(value));
15
+ return candidate;
16
+ }
17
+ function wrappedRegistration(original) {
18
+ const wrapped = function supercovNodeTest(...args) {
19
+ const index = callbackIndex(args);
20
+ if (index < 0)
21
+ return Reflect.apply(original, this, args);
22
+ const callback = args[index];
23
+ const location = callerLocation(/(?:nodeTest|runnerEvidence)\.[cm]?[jt]s/);
24
+ const identity = {
25
+ runner: "node:test",
26
+ name: testName(args, callback),
27
+ ...location,
28
+ };
29
+ const scope = runnerExecutionScope(identity);
30
+ const options = testOptions(args, index);
31
+ const next = [...args];
32
+ const execute = (callbackThis, context, done) => {
33
+ let status = options?.skip || options?.todo
34
+ ? "skipped"
35
+ : "passed";
36
+ const contextProxy = new Proxy(context, {
37
+ get(target, property, receiver) {
38
+ const value = Reflect.get(target, property, receiver);
39
+ if ((property === "skip" || property === "todo") && typeof value === "function") {
40
+ return (...callArgs) => {
41
+ status = "skipped";
42
+ return Reflect.apply(value, target, callArgs);
43
+ };
44
+ }
45
+ if (property === "test" && typeof value === "function")
46
+ return wrappedRegistration(value.bind(target));
47
+ return typeof value === "function" ? value.bind(target) : value;
48
+ },
49
+ });
50
+ let emitted = false;
51
+ const emit = (nextStatus = status) => {
52
+ if (emitted)
53
+ return;
54
+ emitted = true;
55
+ writeRunnerEvidence(identity, nextStatus, scope);
56
+ };
57
+ try {
58
+ if (callback.length >= 2) {
59
+ const callbackDone = (error) => {
60
+ if (error)
61
+ status = "failed";
62
+ emit();
63
+ done?.(error);
64
+ };
65
+ return withCoverageCarrier({ version: 1, scope }, () => Reflect.apply(callback, callbackThis, [contextProxy, callbackDone]));
66
+ }
67
+ const result = withCoverageCarrier({ version: 1, scope }, () => Reflect.apply(callback, callbackThis, [contextProxy]));
68
+ if (result && typeof result.then === "function")
69
+ return Promise.resolve(result).then((value) => {
70
+ emit();
71
+ return value;
72
+ }, (error) => {
73
+ status = "failed";
74
+ emit();
75
+ throw error;
76
+ });
77
+ emit();
78
+ return result;
79
+ }
80
+ catch (error) {
81
+ status = "failed";
82
+ emit();
83
+ throw error;
84
+ }
85
+ };
86
+ // node:test uses callback arity to distinguish promise/synchronous tests
87
+ // from the legacy done-callback form. Preserve it exactly.
88
+ next[index] = callback.length >= 2
89
+ ? function supercovNodeTestDoneCallback(context, done) {
90
+ return execute(this, context, done);
91
+ }
92
+ : function supercovNodeTestCallback(context) {
93
+ return execute(this, context);
94
+ };
95
+ return Reflect.apply(original, this, next);
96
+ };
97
+ for (const property of ["skip", "todo", "only"]) {
98
+ const member = original[property];
99
+ if (typeof member === "function")
100
+ Object.defineProperty(wrapped, property, {
101
+ configurable: true,
102
+ enumerable: true,
103
+ value: wrappedRegistration(member),
104
+ });
105
+ }
106
+ return wrapped;
107
+ }
108
+ export const test = wrappedRegistration(native.test);
109
+ export const it = wrappedRegistration(native.it);
110
+ export const suite = native.suite;
111
+ export const describe = native.describe;
112
+ export const before = native.before;
113
+ export const after = native.after;
114
+ export const beforeEach = native.beforeEach;
115
+ export const afterEach = native.afterEach;
116
+ export const mock = native.mock;
117
+ export const snapshot = native.snapshot;
118
+ export const run = native.run;
119
+ export const assert = native.assert;
120
+ export default test;
121
+ //# sourceMappingURL=nodeTest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nodeTest.js","sourceRoot":"","sources":["../src/nodeTest.ts"],"names":[],"mappings":"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"}
package/dist/project.d.ts CHANGED
@@ -1,12 +1,17 @@
1
+ import type { CoverageLimitation, CoverageSourceScope } from "./types.ts";
1
2
  export interface CoverageProject {
2
3
  root: string;
3
4
  sourceRoots: string[];
5
+ sourceFiles: string[];
6
+ sourceScope: CoverageSourceScope;
7
+ sourceLimitations: CoverageLimitation[];
4
8
  playwrightConfig?: string;
5
9
  vitestConfig?: string;
10
+ jestConfig?: string;
6
11
  playwrightModule: string;
7
12
  playwrightTestExport: string;
8
13
  playwrightExports: string[];
9
- buildAdapter: "vite" | "direct";
14
+ buildAdapter: "vite" | "generic" | "direct";
10
15
  buildCommand: string[];
11
16
  buildEnvironment: Record<string, string>;
12
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../src/project.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,YAAY,EAAE,MAAM,GAAG,QAAQ,CAAC;IAChC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1C;AA6PD,wBAAgB,uBAAuB,CACrC,IAAI,SAAgB,EACpB,WAAW,GAAE,MAAM,CAAC,UAAwB,EAC5C,OAAO,GAAE,MAAM,EAAO,GACrB,eAAe,CA4EjB"}
1
+ {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../src/project.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW,EAAE,mBAAmB,CAAC;IACjC,iBAAiB,EAAE,kBAAkB,EAAE,CAAC;IACxC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,YAAY,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;IAC5C,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1C;AAsQD,wBAAgB,uBAAuB,CACrC,IAAI,SAAgB,EACpB,WAAW,GAAE,MAAM,CAAC,UAAwB,EAC5C,OAAO,GAAE,MAAM,EAAO,GACrB,eAAe,CAkFjB"}
package/dist/project.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { existsSync, readFileSync, readdirSync } from "node:fs";
2
2
  import { basename, resolve } from "node:path";
3
+ import { discoverSourceScope } from "./sourceDiscovery.js";
3
4
  const PLAYWRIGHT_CONFIG_CANDIDATES = [
4
5
  "playwright.config.ts",
5
6
  "playwright.config.mts",
@@ -20,6 +21,14 @@ const VITEST_CONFIG_CANDIDATES = [
20
21
  "vite.config.js",
21
22
  "vite.config.mjs",
22
23
  ];
24
+ const JEST_CONFIG_CANDIDATES = [
25
+ "jest.config.ts",
26
+ "jest.config.mts",
27
+ "jest.config.js",
28
+ "jest.config.mjs",
29
+ "jest.config.cts",
30
+ "jest.config.cjs",
31
+ ];
23
32
  function packageJson(root) {
24
33
  try {
25
34
  return JSON.parse(readFileSync(resolve(root, "package.json"), "utf8"));
@@ -220,9 +229,9 @@ export function discoverCoverageProject(root = process.cwd(), environment = proc
220
229
  ?.split(",")
221
230
  .map((value) => value.trim())
222
231
  .filter(Boolean);
223
- const sourceRoots = (configuredSourceRoots?.length ? configuredSourceRoots : ["app", "src"]).filter((directory) => existsSync(resolve(root, directory)));
224
- if (sourceRoots.length === 0) {
225
- throw new Error("No application source root found. Set SUPERCOV_SOURCE_ROOTS=src,app.");
232
+ const discoveredSource = discoverSourceScope(root, configuredSourceRoots);
233
+ if (discoveredSource.sourceFiles.length === 0) {
234
+ throw new Error("No application source files were discovered. Set SUPERCOV_SOURCE_ROOTS=src,app.");
226
235
  }
227
236
  const configuredPlaywright = environment["SUPERCOV_PLAYWRIGHT_CONFIG"];
228
237
  const playwrightConfig = configuredPlaywright
@@ -235,6 +244,10 @@ export function discoverCoverageProject(root = process.cwd(), environment = proc
235
244
  const vitestConfig = configuredVitest
236
245
  ? resolve(root, configuredVitest)
237
246
  : VITEST_CONFIG_CANDIDATES.map((candidate) => resolve(root, candidate)).find((candidate) => existsSync(candidate));
247
+ const configuredJest = environment["SUPERCOV_JEST_CONFIG"];
248
+ const jestConfig = configuredJest
249
+ ? resolve(root, configuredJest)
250
+ : JEST_CONFIG_CANDIDATES.map((candidate) => resolve(root, candidate)).find((candidate) => existsSync(candidate));
238
251
  const discoveredPlaywright = discoverPlaywrightAdapter(root);
239
252
  const playwrightModule = environment["SUPERCOV_PLAYWRIGHT_MODULE"] ?? discoveredPlaywright.module;
240
253
  const playwrightTestExport = environment["SUPERCOV_PLAYWRIGHT_TEST_EXPORT"] ??
@@ -256,20 +269,25 @@ export function discoverCoverageProject(root = process.cwd(), environment = proc
256
269
  const buildCommand = manifest.scripts?.["build"]
257
270
  ? ["npm", "run", "build"]
258
271
  : [];
259
- if (buildCommand.length > 0 && !hasVite) {
260
- throw new Error("The project is not a detected Vite build. A framework build adapter is required.");
261
- }
262
272
  return {
263
273
  root,
264
- sourceRoots,
274
+ sourceRoots: discoveredSource.sourceRoots,
275
+ sourceFiles: discoveredSource.sourceFiles,
276
+ sourceScope: discoveredSource.scope,
277
+ sourceLimitations: discoveredSource.limitations,
265
278
  ...(playwrightConfig ? { playwrightConfig } : {}),
266
279
  ...(vitestConfig ? { vitestConfig } : {}),
280
+ ...(jestConfig ? { jestConfig } : {}),
267
281
  playwrightModule,
268
282
  playwrightTestExport,
269
283
  playwrightExports: playwrightModule === discoveredPlaywright.module
270
284
  ? discoveredPlaywright.exports
271
285
  : [playwrightTestExport, "expect"],
272
- buildAdapter: buildCommand.length > 0 ? "vite" : "direct",
286
+ buildAdapter: buildCommand.length > 0
287
+ ? hasVite
288
+ ? "vite"
289
+ : "generic"
290
+ : "direct",
273
291
  buildCommand,
274
292
  buildEnvironment: inferBuildEnvironment(root, command, environment),
275
293
  };
@@ -1 +1 @@
1
- {"version":3,"file":"project.js","sourceRoot":"","sources":["../src/project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../src/project.ts"],"names":[],"mappings":"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"}
package/dist/query.d.ts CHANGED
@@ -1,3 +1,27 @@
1
+ import type { McdcReport } from "./types.ts";
2
+ interface QueryOptions {
3
+ run?: string;
4
+ kind?: string;
5
+ runner?: string;
6
+ filter: "all" | "passed" | "failed";
7
+ limit: number;
8
+ offset: number;
9
+ json: boolean;
10
+ target: number;
11
+ metric: "all" | "lines" | "statements" | "functions" | "branches" | "mcdc";
12
+ positional: string[];
13
+ }
14
+ export interface MinimumTestSetResult {
15
+ optimal: true;
16
+ target: number;
17
+ metric: QueryOptions["metric"];
18
+ selected: string[];
19
+ expanded: string[];
20
+ summary: McdcReport["summary"];
21
+ exploredStates: number;
22
+ }
23
+ /** Exact branch-and-bound solver; MC/DC obligations retain their witness-pair structure. */
24
+ export declare function minimumTestSet(report: McdcReport, target?: number, metric?: QueryOptions["metric"]): MinimumTestSetResult;
1
25
  export interface CoverageQueryInvocation {
2
26
  command: string;
3
27
  args: string[];
@@ -6,4 +30,5 @@ export interface CoverageQueryInvocation {
6
30
  export declare function resolveCoverageQueryInvocation(command: string, args: string[]): CoverageQueryInvocation;
7
31
  export declare function runQueryCommand(command: string, args: string[], root?: string): Promise<void>;
8
32
  export declare const coverageQueryCommands: Set<string>;
33
+ export {};
9
34
  //# sourceMappingURL=query.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"AAiiBA,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,2DAA2D;AAC3D,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,GACb,uBAAuB,CAiCzB;AAED,wBAAsB,eAAe,CACnC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,SAAgB,GACnB,OAAO,CAAC,IAAI,CAAC,CAsxBf;AAED,eAAO,MAAM,qBAAqB,aAAoC,CAAC"}
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAGV,UAAU,EAEX,MAAM,YAAY,CAAC;AAiCpB,UAAU,YAAY;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,KAAK,GAAG,OAAO,GAAG,YAAY,GAAG,WAAW,GAAG,UAAU,GAAG,MAAM,CAAC;IAC3E,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAoLD,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,IAAI,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC/B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC;CACxB;AA4FD,4FAA4F;AAC5F,wBAAgB,cAAc,CAC5B,MAAM,EAAE,UAAU,EAClB,MAAM,SAAM,EACZ,MAAM,GAAE,YAAY,CAAC,QAAQ,CAAS,GACrC,oBAAoB,CA+FtB;AAoVD,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,2DAA2D;AAC3D,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,GACb,uBAAuB,CAmCzB;AAED,wBAAsB,eAAe,CACnC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,SAAgB,GACnB,OAAO,CAAC,IAAI,CAAC,CAg2Bf;AAED,eAAO,MAAM,qBAAqB,aAAoC,CAAC"}