@post-print/agent-test 2.0.1 → 2.0.2

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.
@@ -0,0 +1,3 @@
1
+ /** Returns direct expect(...) assertions in declaration order for viewer discovery. */
2
+ export declare function derivedExpectCriteria(source: string): string[];
3
+ //# sourceMappingURL=criteria.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"criteria.d.ts","sourceRoot":"","sources":["../../src/sdk/criteria.ts"],"names":[],"mappings":"AAIA,uFAAuF;AACvF,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAc9D"}
@@ -0,0 +1,162 @@
1
+ const IDENTIFIER = /[\w$]/;
2
+ const WHITESPACE = /\s/;
3
+ const REGULAR_EXPRESSION_FLAG = /[a-z]/i;
4
+ /** Returns direct expect(...) assertions in declaration order for viewer discovery. */
5
+ export function derivedExpectCriteria(source) {
6
+ const criteria = [];
7
+ for (let index = 0; index < source.length; index++) {
8
+ const ignoredEnd = ignoredTokenEnd(source, index);
9
+ if (ignoredEnd > index) {
10
+ index = ignoredEnd - 1;
11
+ continue;
12
+ }
13
+ if (!isExpectCall(source, index))
14
+ continue;
15
+ const end = assertionEnd(source, index);
16
+ criteria.push(normalizeAssertion(source.slice(index, end)));
17
+ index = end - 1;
18
+ }
19
+ return criteria;
20
+ }
21
+ function isExpectCall(source, index) {
22
+ if (!source.startsWith("expect", index))
23
+ return false;
24
+ const previous = source[index - 1];
25
+ if (previous && (IDENTIFIER.test(previous) || previous === "."))
26
+ return false;
27
+ const next = source[index + "expect".length];
28
+ if (next && IDENTIFIER.test(next))
29
+ return false;
30
+ return source
31
+ .slice(index + "expect".length)
32
+ .trimStart()
33
+ .startsWith("(");
34
+ }
35
+ function assertionEnd(source, start) {
36
+ const depths = { parentheses: 0, brackets: 0, braces: 0 };
37
+ for (let index = start; index < source.length; index++) {
38
+ const ignoredEnd = ignoredTokenEnd(source, index);
39
+ if (ignoredEnd > index) {
40
+ index = ignoredEnd - 1;
41
+ continue;
42
+ }
43
+ const character = source[index];
44
+ if ((character === ";" || character === "}") && isTopLevel(depths))
45
+ return index;
46
+ updateDepths(depths, character);
47
+ }
48
+ return source.length;
49
+ }
50
+ function isTopLevel(depths) {
51
+ return depths.parentheses === 0 && depths.brackets === 0 && depths.braces === 0;
52
+ }
53
+ function updateDepths(depths, character) {
54
+ if (character === "(")
55
+ depths.parentheses++;
56
+ if (character === ")")
57
+ depths.parentheses--;
58
+ if (character === "[")
59
+ depths.brackets++;
60
+ if (character === "]")
61
+ depths.brackets--;
62
+ if (character === "{")
63
+ depths.braces++;
64
+ if (character === "}")
65
+ depths.braces--;
66
+ }
67
+ function ignoredTokenEnd(source, index) {
68
+ const character = source[index];
69
+ if (character === '"' || character === "'" || character === "`")
70
+ return quotedTokenEnd(source, index, character);
71
+ if (source.startsWith("//", index))
72
+ return lineCommentEnd(source, index);
73
+ if (source.startsWith("/*", index))
74
+ return blockCommentEnd(source, index);
75
+ if (character === "/" && startsRegularExpression(source, index))
76
+ return regularExpressionEnd(source, index);
77
+ return index;
78
+ }
79
+ function quotedTokenEnd(source, start, quote) {
80
+ for (let index = start + 1; index < source.length; index++) {
81
+ if (source[index] === "\\")
82
+ index++;
83
+ else if (source[index] === quote)
84
+ return index + 1;
85
+ }
86
+ return source.length;
87
+ }
88
+ function lineCommentEnd(source, start) {
89
+ const end = source.indexOf("\n", start + 2);
90
+ return end < 0 ? source.length : end;
91
+ }
92
+ function blockCommentEnd(source, start) {
93
+ const end = source.indexOf("*/", start + 2);
94
+ return end < 0 ? source.length : end + 2;
95
+ }
96
+ function startsRegularExpression(source, index) {
97
+ let previous = index - 1;
98
+ while (previous >= 0 && WHITESPACE.test(source[previous] ?? ""))
99
+ previous--;
100
+ return previous < 0 || "([{:;,=!?&|".includes(source[previous] ?? "");
101
+ }
102
+ function regularExpressionEnd(source, start) {
103
+ let inCharacterClass = false;
104
+ for (let index = start + 1; index < source.length; index++) {
105
+ const character = source[index];
106
+ if (character === "\\") {
107
+ index++;
108
+ continue;
109
+ }
110
+ inCharacterClass = nextCharacterClassState(inCharacterClass, character);
111
+ if (!closesRegularExpression(character, inCharacterClass))
112
+ continue;
113
+ while (REGULAR_EXPRESSION_FLAG.test(source[index + 1] ?? ""))
114
+ index++;
115
+ return index + 1;
116
+ }
117
+ return source.length;
118
+ }
119
+ function nextCharacterClassState(current, character) {
120
+ if (character === "[")
121
+ return true;
122
+ if (character === "]")
123
+ return false;
124
+ return current;
125
+ }
126
+ function closesRegularExpression(character, inCharacterClass) {
127
+ return character === "/" && !inCharacterClass;
128
+ }
129
+ function normalizeAssertion(source) {
130
+ let normalized = "";
131
+ let pendingSpace = false;
132
+ for (let index = 0; index < source.length; index++) {
133
+ const ignoredEnd = ignoredTokenEnd(source, index);
134
+ if (ignoredEnd > index)
135
+ ({ normalized, pendingSpace, index } = appendIgnoredToken({
136
+ source,
137
+ index,
138
+ end: ignoredEnd,
139
+ normalized,
140
+ pendingSpace,
141
+ }));
142
+ else if (WHITESPACE.test(source[index] ?? ""))
143
+ pendingSpace = true;
144
+ else
145
+ ({ normalized, pendingSpace } = appendText(normalized, source[index] ?? "", pendingSpace));
146
+ }
147
+ return normalized.trim();
148
+ }
149
+ function appendIgnoredToken(input) {
150
+ const { source, index, end, normalized, pendingSpace } = input;
151
+ if (source.startsWith("//", index) || source.startsWith("/*", index))
152
+ return { normalized, pendingSpace: true, index: end - 1 };
153
+ const appended = appendText(normalized, source.slice(index, end), pendingSpace);
154
+ return { ...appended, index: end - 1 };
155
+ }
156
+ function appendText(normalized, text, pendingSpace) {
157
+ return {
158
+ normalized: `${normalized}${pendingSpace && normalized ? " " : ""}${text}`,
159
+ pendingSpace: false,
160
+ };
161
+ }
162
+ //# sourceMappingURL=criteria.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"criteria.js","sourceRoot":"","sources":["../../src/sdk/criteria.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../src/sdk/test.ts"],"names":[],"mappings":"AAEA,OAAO,EAEN,KAAK,oBAAoB,EAEzB,KAAK,QAAQ,EACb,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,KAAK,aAAa,EAAE,SAAS,EAAE,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEpG,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE7D,UAAU,QAAQ;IACjB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,eAAe,EAAE,MAAM,CAAC;CACxB;AA6CD,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AACjD,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,SAAS,IAAI;KAC1C,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,aAAa,CAAC,MAAM,CAAC,CAAC,GAChD,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GACzB,CAAC,CAAC,CAAC,CAAC,SAAS,aAAa,GACzB,YAAY,GACZ,KAAK;CACT,CAAC;AACF,KAAK,QAAQ,CAAC,CAAC,SAAS,SAAS,IAAI,CACpC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EACrB,IAAI,EAAE,QAAQ,KACV,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAC1B,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,IAAI;IAC1D,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,SAAS,CAAC,EAAE,SAAS,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC;CAChD,CAAC;AACF,MAAM,WAAW,SAAS,CAAC,CAAC,SAAS,SAAS;IAC7C,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACzC,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;CAClE;AAWD,wBAAgB,QAAQ,CAAC,CAAC,SAAS,SAAS,EAC3C,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,CAAC,QAAQ,EAAE,OAAO,SAAS,KAAK,CAAC,GACvC,SAAS,CAAC,CAAC,CAAC,CAoBd;AAcD,UAAU,aAAa;IACtB,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AACD,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC,GACrF,aAAa,GAAG;IACf,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GACvF,aAAa,CAAC,EAAE,CAAC;CAClB,CAAC;AAWH,wBAAgB,YAAY,CAAC,MAAM,EAAE,eAAe,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAUpF"}
1
+ {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../src/sdk/test.ts"],"names":[],"mappings":"AAEA,OAAO,EAEN,KAAK,oBAAoB,EAEzB,KAAK,QAAQ,EACb,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,KAAK,aAAa,EAAE,SAAS,EAAE,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEpG,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE7D,UAAU,QAAQ;IACjB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,eAAe,EAAE,MAAM,CAAC;CACxB;AA6CD,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AACjD,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,SAAS,IAAI;KAC1C,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,aAAa,CAAC,MAAM,CAAC,CAAC,GAChD,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GACzB,CAAC,CAAC,CAAC,CAAC,SAAS,aAAa,GACzB,YAAY,GACZ,KAAK;CACT,CAAC;AACF,KAAK,QAAQ,CAAC,CAAC,SAAS,SAAS,IAAI,CACpC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EACrB,IAAI,EAAE,QAAQ,KACV,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAC1B,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,IAAI;IAC1D,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,SAAS,CAAC,EAAE,SAAS,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC;CAChD,CAAC;AACF,MAAM,WAAW,SAAS,CAAC,CAAC,SAAS,SAAS;IAC7C,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACzC,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;CAClE;AAWD,wBAAgB,QAAQ,CAAC,CAAC,SAAS,SAAS,EAC3C,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,CAAC,QAAQ,EAAE,OAAO,SAAS,KAAK,CAAC,GACvC,SAAS,CAAC,CAAC,CAAC,CAoBd;AAqBD,UAAU,aAAa;IACtB,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AACD,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC,GACrF,aAAa,GAAG;IACf,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GACvF,aAAa,CAAC,EAAE,CAAC;CAClB,CAAC;AAWH,wBAAgB,YAAY,CAAC,MAAM,EAAE,eAAe,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAUpF"}
package/dist/sdk/test.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { appendFile, mkdir } from "node:fs/promises";
2
2
  import { dirname, join } from "node:path";
3
3
  import { test as base, defineConfig as playwrightConfig, } from "@playwright/test";
4
+ import { derivedExpectCriteria } from "./criteria.js";
4
5
  import { factories } from "./definitions.js";
5
6
  import { TestRuntime } from "./runtime.js";
6
7
  const runner = base.extend({
@@ -66,7 +67,7 @@ export function describe(name, define) {
66
67
  if (!callback)
67
68
  throw new Error("Test body is required");
68
69
  const details = typeof detailsOrBody === "function" ? undefined : detailsOrBody;
69
- const annotation = testAnnotations(resources, details);
70
+ const annotation = testAnnotations(resources, callback, details);
70
71
  runner.describe(name, () => {
71
72
  runner(title, { annotation }, async ({ runtime }, info) => {
72
73
  await callback(bind(resources, runtime), info);
@@ -74,15 +75,18 @@ export function describe(name, define) {
74
75
  });
75
76
  };
76
77
  }
77
- function testAnnotations(resources, details) {
78
+ function testAnnotations(resources, body, details) {
79
+ const criteria = details?.criteria?.length
80
+ ? [...details.criteria]
81
+ : derivedExpectCriteria(body.toString());
78
82
  return [
79
83
  {
80
84
  type: "agent-test.resources",
81
85
  description: JSON.stringify(resourceMetadata(resources, details?.resources)),
82
86
  },
83
87
  ...(details?.description ? [{ type: "description", description: details.description }] : []),
84
- ...(details?.criteria?.length
85
- ? [{ type: "agent-test.criteria", description: JSON.stringify(details.criteria) }]
88
+ ...(criteria.length
89
+ ? [{ type: "agent-test.criteria", description: JSON.stringify(criteria) }]
86
90
  : []),
87
91
  ];
88
92
  }
@@ -1 +1 @@
1
- {"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/sdk/test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/sdk/test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EACN,IAAI,IAAI,IAAI,EAEZ,YAAY,IAAI,gBAAgB,GAEhC,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAsB,SAAS,EAAqC,MAAM,kBAAkB,CAAC;AACpG,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAQ3C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAsC;IAC/D,eAAe,EAAE,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC9C,eAAe,EAAE,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC9C,eAAe,EAAE,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACxC,OAAO,EAAE,KAAK,EAAE,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACnF,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,EAAE,IAAI,CAAC,CAAC;QAC9F,IAAI,CAAC;YACJ,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC;gBAAS,CAAC;YACV,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;IACF,CAAC;CACD,CAAC,CAAC;AACH,KAAK,UAAU,YAAY,CAAC,QAAkB,EAAE,IAAc;IAC7D,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAC9C,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IACzC,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,MAAM,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC3B,IAAI,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC;QAC/B,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,sBAAsB,CAAC,CAAC;QACvF,SAAS;QACT,KAAK,EAAE,QAAQ,CAAC,eAAe;QAC/B,KAAK,EAAE,QAAQ,CAAC,eAAe;QAC/B,SAAS,EAAE,QAAQ,CAAC,eAAe;QACnC,MAAM,EAAE,IAAI,eAAe,EAAE,CAAC,MAAM;QACpC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAClB,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YAC3E,IAAI,OAAO,CAAC,GAAG,CAAC,wBAAwB,KAAK,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,GAAG;gBAC1F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClE,CAAC;KACD,CAAC,CAAC;IACH,OAAO;QACN,OAAO;QACP,KAAK,EAAE,KAAK,IAAI,EAAE;YACjB,IAAI,CAAC;gBACJ,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YACvB,CAAC;oBAAS,CAAC;gBACV,MAAM,MAAM,CAAC;gBACb,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,sBAAsB,EAAE,CAAC,CAAC;YAClF,CAAC;QACF,CAAC;KACD,CAAC;AACH,CAAC;AAsBD,SAAS,IAAI,CAAsB,SAAY,EAAE,OAAoB;IACpE,OAAO,MAAM,CAAC,WAAW,CACxB,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC;QACnD,IAAI;QACJ,QAAQ,CAAC,IAAI,KAAK,OAAO;YACxB,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,WAAW,CAAC;YAC9D,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC;KACzC,CAAC,CACa,CAAC;AAClB,CAAC;AACD,MAAM,UAAU,QAAQ,CACvB,IAAY,EACZ,MAAyC;IAEzC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IACpC,IACC,CAAC,SAAS;QACV,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAC5B,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CACtE;QAED,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC7E,OAAO,CAAC,KAAK,EAAE,aAA2C,EAAE,IAAkB,EAAE,EAAE;QACjF,MAAM,QAAQ,GAAG,OAAO,aAAa,KAAK,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5E,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG,OAAO,aAAa,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC;QAChF,MAAM,UAAU,GAAG,eAAe,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QACjE,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE;YAC1B,MAAM,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE;gBACzD,MAAM,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;YAChD,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CACvB,SAAY,EACZ,IAAiB,EACjB,OAAwB;IAExB,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,EAAE,MAAM;QACzC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;QACvB,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1C,OAAO;QACN;YACC,IAAI,EAAE,sBAAsB;YAC5B,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;SAC5E;QACD,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5F,GAAG,CAAC,QAAQ,CAAC,MAAM;YAClB,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1E,CAAC,CAAC,EAAE,CAAC;KACN,CAAC;AACH,CAAC;AAWD,SAAS,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,EAAiB;IACrE,OAAO;QACN,GAAG,IAAI;QACP,GAAG,EAAE;YACJ,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5C,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5C,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpD;KACD,CAAC;AACH,CAAC;AACD,MAAM,UAAU,YAAY,CAAC,MAAuB;IACnD,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IACrC,OAAO,gBAAgB,CAAC;QACvB,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,CAAC;QACV,aAAa,EAAE,IAAI;QACnB,GAAG,SAAS,CAAC,IAAI,CAAC;QAClB,QAAQ,EAAE,QAAQ,EAAE,GAAG,CAAC,SAAS,CAAC;KAClC,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CACxB,SAAY,EACZ,QAA8C;IAE9C,MAAM,KAAK,GAAG,QAAQ,IAAK,MAAM,CAAC,IAAI,CAAC,SAAS,CAAgC,CAAC;IACjF,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,EAAE,CAAC,CAAC;QACjE,OAAO,qBAAqB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACJ,CAAC;AACD,SAAS,qBAAqB,CAAC,IAAY,EAAE,QAAkB;IAC9D,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC;IAC9B,OAAO;QACN,IAAI;QACJ,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9E,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK;QACtD,MAAM,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QAC/E,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,EAAE,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC1F,SAAS,EAAE,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QAC9E,MAAM,EAAE,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;KACxE,CAAC;AACH,CAAC"}