@newrelic/preflight 1.4.46 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/dist/dashboard/index.d.ts +1 -1
  2. package/dist/dashboard/index.d.ts.map +1 -1
  3. package/dist/dashboard/live-event-bus.d.ts +32 -0
  4. package/dist/dashboard/live-event-bus.d.ts.map +1 -1
  5. package/dist/dashboard/live-event-bus.js.map +1 -1
  6. package/dist/dashboard/routes/api-handler.d.ts +46 -0
  7. package/dist/dashboard/routes/api-handler.d.ts.map +1 -1
  8. package/dist/dashboard/routes/api-handler.js +188 -5
  9. package/dist/dashboard/routes/api-handler.js.map +1 -1
  10. package/dist/dashboard/subagent-timeline-store.d.ts +156 -0
  11. package/dist/dashboard/subagent-timeline-store.d.ts.map +1 -0
  12. package/dist/dashboard/subagent-timeline-store.js +674 -0
  13. package/dist/dashboard/subagent-timeline-store.js.map +1 -0
  14. package/dist/dashboard/workflow-store.d.ts +85 -0
  15. package/dist/dashboard/workflow-store.d.ts.map +1 -0
  16. package/dist/dashboard/workflow-store.js +330 -0
  17. package/dist/dashboard/workflow-store.js.map +1 -0
  18. package/dist/hooks/event-processor.d.ts +86 -1
  19. package/dist/hooks/event-processor.d.ts.map +1 -1
  20. package/dist/hooks/event-processor.js +182 -0
  21. package/dist/hooks/event-processor.js.map +1 -1
  22. package/dist/hooks/subagent-watcher.d.ts +182 -0
  23. package/dist/hooks/subagent-watcher.d.ts.map +1 -0
  24. package/dist/hooks/subagent-watcher.js +765 -0
  25. package/dist/hooks/subagent-watcher.js.map +1 -0
  26. package/dist/hooks/workflow-script-parser.d.ts +44 -0
  27. package/dist/hooks/workflow-script-parser.d.ts.map +1 -0
  28. package/dist/hooks/workflow-script-parser.js +255 -0
  29. package/dist/hooks/workflow-script-parser.js.map +1 -0
  30. package/dist/hooks/workflow-watcher.d.ts +65 -0
  31. package/dist/hooks/workflow-watcher.d.ts.map +1 -0
  32. package/dist/hooks/workflow-watcher.js +402 -0
  33. package/dist/hooks/workflow-watcher.js.map +1 -0
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +315 -11
  36. package/dist/index.js.map +1 -1
  37. package/dist/metrics/cost-tracker.d.ts +113 -17
  38. package/dist/metrics/cost-tracker.d.ts.map +1 -1
  39. package/dist/metrics/cost-tracker.js +151 -8
  40. package/dist/metrics/cost-tracker.js.map +1 -1
  41. package/dist/metrics/workflow-run-tracker.d.ts +140 -0
  42. package/dist/metrics/workflow-run-tracker.d.ts.map +1 -0
  43. package/dist/metrics/workflow-run-tracker.js +306 -0
  44. package/dist/metrics/workflow-run-tracker.js.map +1 -0
  45. package/dist/storage/session-store.d.ts +8 -0
  46. package/dist/storage/session-store.d.ts.map +1 -1
  47. package/dist/storage/session-store.js +1 -1
  48. package/dist/storage/session-store.js.map +1 -1
  49. package/dist/storage/types.d.ts +40 -1
  50. package/dist/storage/types.d.ts.map +1 -1
  51. package/dist/transport/nr-ingest.d.ts +153 -2
  52. package/dist/transport/nr-ingest.d.ts.map +1 -1
  53. package/dist/transport/nr-ingest.js +276 -1
  54. package/dist/transport/nr-ingest.js.map +1 -1
  55. package/dist/web/assets/index-B4DkT4Go.css +2 -0
  56. package/dist/web/assets/index-CWwZdwYX.js +64 -0
  57. package/dist/web/index.html +2 -2
  58. package/package.json +1 -1
  59. package/dist/web/assets/index-C5S1WHiP.js +0 -64
  60. package/dist/web/assets/index-DwBQxRYb.css +0 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subagent-watcher.js","sourceRoot":"","sources":["../../src/hooks/subagent-watcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Workflow Script Parser — extracts the declared topology from a persisted
3
+ * workflow script (`workflows/scripts/<name>-wf_<runId>.js`).
4
+ *
5
+ * Implementation: regex-only (`acorn` is not a project dep). The
6
+ * extractor is intentionally narrow — it succeeds only when `meta` is a
7
+ * literal object (no spread, no computed keys, no template literals; trailing
8
+ * commas tolerated). Any deviation triggers `parser_skip`.
9
+ *
10
+ * Counts:
11
+ * - declared phases → length of `meta.phases` literal array
12
+ * - declared agents → number of top-level `agent(...)` invocations
13
+ * - declared parallel widths → for each top-level `parallel(...)` call,
14
+ * number of literal-array thunks if the source is `[a,b,c]`,
15
+ * otherwise `'dynamic'`.
16
+ *
17
+ * Only **top-level** `parallel()` calls are counted:
18
+ * nested-in-pipeline, `parallel(arr.map(...))`, `Array.from(...)`, and any
19
+ * scope-dependent expression yields `'dynamic'`.
20
+ */
21
+ export interface DeclaredTopology {
22
+ /** Workflow name from `meta.name` (declarative metadata, NOT redacted). */
23
+ readonly workflowName: string | null;
24
+ /** Number of declared phases (length of `meta.phases` literal). */
25
+ readonly declaredPhases: number | null;
26
+ /** Number of phase()-call sites in the script body. */
27
+ readonly declaredPhaseCalls: number;
28
+ /** Number of top-level `agent(...)` calls. */
29
+ readonly declaredAgents: number;
30
+ /**
31
+ * For each top-level `parallel(...)` call, the literal-array width when
32
+ * derivable, or 'dynamic' when the source is computed at runtime
33
+ * (Array.from, .map, scope-dependent expression).
34
+ */
35
+ readonly declaredParallelWidths: ReadonlyArray<number | 'dynamic'>;
36
+ }
37
+ export interface ParseResult {
38
+ readonly status: 'ok' | 'parser_skip';
39
+ readonly reason?: string;
40
+ readonly topology: DeclaredTopology | null;
41
+ }
42
+ export declare function parseWorkflowScript(path: string): ParseResult;
43
+ export declare function parseWorkflowScriptSource(source: string): ParseResult;
44
+ //# sourceMappingURL=workflow-script-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-script-parser.d.ts","sourceRoot":"","sources":["../../src/hooks/workflow-script-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAoBH,MAAM,WAAW,gBAAgB;IAC/B,2EAA2E;IAC3E,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,mEAAmE;IACnE,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,uDAAuD;IACvD,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,8CAA8C;IAC9C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC;;;;OAIG;IACH,QAAQ,CAAC,sBAAsB,EAAE,aAAa,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CACpE;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,IAAI,GAAG,aAAa,CAAC;IACtC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAC;CAC5C;AAMD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAY7D;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAkErE"}
@@ -0,0 +1,255 @@
1
+ /**
2
+ * Workflow Script Parser — extracts the declared topology from a persisted
3
+ * workflow script (`workflows/scripts/<name>-wf_<runId>.js`).
4
+ *
5
+ * Implementation: regex-only (`acorn` is not a project dep). The
6
+ * extractor is intentionally narrow — it succeeds only when `meta` is a
7
+ * literal object (no spread, no computed keys, no template literals; trailing
8
+ * commas tolerated). Any deviation triggers `parser_skip`.
9
+ *
10
+ * Counts:
11
+ * - declared phases → length of `meta.phases` literal array
12
+ * - declared agents → number of top-level `agent(...)` invocations
13
+ * - declared parallel widths → for each top-level `parallel(...)` call,
14
+ * number of literal-array thunks if the source is `[a,b,c]`,
15
+ * otherwise `'dynamic'`.
16
+ *
17
+ * Only **top-level** `parallel()` calls are counted:
18
+ * nested-in-pipeline, `parallel(arr.map(...))`, `Array.from(...)`, and any
19
+ * scope-dependent expression yields `'dynamic'`.
20
+ */
21
+ import { existsSync, readFileSync } from 'node:fs';
22
+ import { createLogger } from '../shared/index.js';
23
+ const logger = createLogger('workflow-script-parser');
24
+ const META_START_RE = /export\s+const\s+meta\s*=\s*\{/;
25
+ const META_NAME_RE = /\bname\s*:\s*(['"`])([^'"`]+)\1/;
26
+ const META_PHASES_RE = /\bphases\s*:\s*\[([^\]]*)\]/m;
27
+ const PHASE_TITLE_RE = /title\s*:\s*(['"`])([^'"`]+)\1/g;
28
+ const TOP_LEVEL_AGENT_RE = /\bagent\s*\(/g;
29
+ const TOP_LEVEL_PHASE_RE = /\bphase\s*\(\s*['"`]([^'"`]+)['"`]\s*\)/g;
30
+ // ---------------------------------------------------------------------------
31
+ // Public API
32
+ // ---------------------------------------------------------------------------
33
+ export function parseWorkflowScript(path) {
34
+ if (!existsSync(path)) {
35
+ return { status: 'parser_skip', reason: 'file_not_found', topology: null };
36
+ }
37
+ let source;
38
+ try {
39
+ source = readFileSync(path, 'utf-8');
40
+ }
41
+ catch (err) {
42
+ logger.warn('Failed to read workflow script', { path, error: String(err) });
43
+ return { status: 'parser_skip', reason: 'read_error', topology: null };
44
+ }
45
+ return parseWorkflowScriptSource(source);
46
+ }
47
+ export function parseWorkflowScriptSource(source) {
48
+ const metaMatch = META_START_RE.exec(source);
49
+ if (!metaMatch) {
50
+ return { status: 'parser_skip', reason: 'no_meta', topology: null };
51
+ }
52
+ const openIdx = metaMatch.index + metaMatch[0].length - 1; // points at `{`
53
+ const closeIdx = findMatchingBracket(source, openIdx, '{', '}');
54
+ if (closeIdx < 0) {
55
+ return { status: 'parser_skip', reason: 'unclosed_meta', topology: null };
56
+ }
57
+ const metaSource = source.slice(openIdx, closeIdx + 1);
58
+ // Reject computed keys, spreads, template literals — positive-match contract.
59
+ if (/\.\.\./m.test(metaSource)) {
60
+ return { status: 'parser_skip', reason: 'meta_uses_spread', topology: null };
61
+ }
62
+ if (/\$\{/.test(metaSource)) {
63
+ return { status: 'parser_skip', reason: 'meta_uses_template_literal', topology: null };
64
+ }
65
+ if (/\[[^\]]+\]\s*:/.test(metaSource)) {
66
+ return { status: 'parser_skip', reason: 'meta_uses_computed_key', topology: null };
67
+ }
68
+ // Extract name
69
+ let workflowName = null;
70
+ const nameMatch = META_NAME_RE.exec(metaSource);
71
+ if (nameMatch && typeof nameMatch[2] === 'string')
72
+ workflowName = nameMatch[2];
73
+ // Extract phases array length (counting `title:` occurrences inside the literal).
74
+ let declaredPhases = null;
75
+ const phasesMatch = META_PHASES_RE.exec(metaSource);
76
+ if (phasesMatch) {
77
+ const phasesBody = phasesMatch[1] ?? '';
78
+ let n = 0;
79
+ PHASE_TITLE_RE.lastIndex = 0;
80
+ while (PHASE_TITLE_RE.exec(phasesBody) !== null)
81
+ n += 1;
82
+ declaredPhases = n;
83
+ }
84
+ // Body = source after the meta literal.
85
+ const body = source.slice(closeIdx + 1);
86
+ let declaredAgents = 0;
87
+ TOP_LEVEL_AGENT_RE.lastIndex = 0;
88
+ for (const m of body.matchAll(TOP_LEVEL_AGENT_RE)) {
89
+ if (!isInsideStringOrComment(body, m.index ?? 0))
90
+ declaredAgents += 1;
91
+ }
92
+ let declaredPhaseCalls = 0;
93
+ TOP_LEVEL_PHASE_RE.lastIndex = 0;
94
+ for (const m of body.matchAll(TOP_LEVEL_PHASE_RE)) {
95
+ if (!isInsideStringOrComment(body, m.index ?? 0))
96
+ declaredPhaseCalls += 1;
97
+ }
98
+ const declaredParallelWidths = extractParallelWidths(body);
99
+ return {
100
+ status: 'ok',
101
+ topology: {
102
+ workflowName,
103
+ declaredPhases,
104
+ declaredPhaseCalls,
105
+ declaredAgents,
106
+ declaredParallelWidths,
107
+ },
108
+ };
109
+ }
110
+ /**
111
+ * Find each `parallel(` call site in the script body and classify its width:
112
+ * - `parallel([a, b, c])` → 3 (literal array, count the top-level commas)
113
+ * - anything else (`.map`, `Array.from`, identifiers, expressions) → 'dynamic'
114
+ *
115
+ * Nested-in-pipeline calls are still counted as separate parallel sites; the
116
+ * top-level-only rule is enforced upstream by skipping the literal
117
+ * count when the parallel call sits inside a pipeline.
118
+ */
119
+ function extractParallelWidths(body) {
120
+ const out = [];
121
+ const re = /\bparallel\s*\(/g;
122
+ re.lastIndex = 0;
123
+ for (const m of body.matchAll(re)) {
124
+ const start = m.index ?? -1;
125
+ if (start < 0)
126
+ continue;
127
+ if (isInsideStringOrComment(body, start))
128
+ continue;
129
+ const argsStart = start + (m[0]?.length ?? 0);
130
+ // Skip whitespace.
131
+ let i = argsStart;
132
+ while (i < body.length && /\s/.test(body[i] ?? ''))
133
+ i += 1;
134
+ // If the next non-space char isn't `[`, the source is computed.
135
+ if (body[i] !== '[') {
136
+ out.push('dynamic');
137
+ continue;
138
+ }
139
+ const arrEnd = findMatchingBracket(body, i, '[', ']');
140
+ if (arrEnd < 0) {
141
+ out.push('dynamic');
142
+ continue;
143
+ }
144
+ const arrContent = body.slice(i + 1, arrEnd);
145
+ const trimmed = arrContent.trim();
146
+ if (!trimmed) {
147
+ out.push(0);
148
+ continue;
149
+ }
150
+ // Strip a single trailing comma so `[a, b, c,]` counts as 3 not 4.
151
+ const noTrailingComma = trimmed.replace(/,\s*$/, '');
152
+ out.push(countTopLevelCommas(noTrailingComma) + 1);
153
+ }
154
+ return out;
155
+ }
156
+ function findMatchingBracket(src, start, open, close) {
157
+ let depth = 0;
158
+ let inStr = null;
159
+ let escape = false;
160
+ for (let i = start; i < src.length; i += 1) {
161
+ const ch = src[i];
162
+ if (inStr) {
163
+ if (escape) {
164
+ escape = false;
165
+ continue;
166
+ }
167
+ if (ch === '\\') {
168
+ escape = true;
169
+ continue;
170
+ }
171
+ if (ch === inStr)
172
+ inStr = null;
173
+ continue;
174
+ }
175
+ if (ch === '"' || ch === "'" || ch === '`') {
176
+ inStr = ch;
177
+ continue;
178
+ }
179
+ if (ch === open)
180
+ depth += 1;
181
+ else if (ch === close) {
182
+ depth -= 1;
183
+ if (depth === 0)
184
+ return i;
185
+ }
186
+ }
187
+ return -1;
188
+ }
189
+ function countTopLevelCommas(src) {
190
+ let count = 0;
191
+ let depth = 0;
192
+ let inStr = null;
193
+ let escape = false;
194
+ for (let i = 0; i < src.length; i += 1) {
195
+ const ch = src[i];
196
+ if (inStr) {
197
+ if (escape) {
198
+ escape = false;
199
+ continue;
200
+ }
201
+ if (ch === '\\') {
202
+ escape = true;
203
+ continue;
204
+ }
205
+ if (ch === inStr)
206
+ inStr = null;
207
+ continue;
208
+ }
209
+ if (ch === '"' || ch === "'" || ch === '`') {
210
+ inStr = ch;
211
+ continue;
212
+ }
213
+ if (ch === '(' || ch === '[' || ch === '{')
214
+ depth += 1;
215
+ else if (ch === ')' || ch === ']' || ch === '}')
216
+ depth -= 1;
217
+ else if (ch === ',' && depth === 0)
218
+ count += 1;
219
+ }
220
+ return count;
221
+ }
222
+ /**
223
+ * Best-effort check that an offset isn't inside a string literal or
224
+ * single-line comment. Doesn't track block comments — for our regex hits in
225
+ * a hand-written workflow script body, this is sufficient.
226
+ */
227
+ function isInsideStringOrComment(src, offset) {
228
+ // Walk forward from the start of the line to `offset`; if we are inside a
229
+ // string at that point, return true.
230
+ const lineStart = src.lastIndexOf('\n', offset - 1) + 1;
231
+ let inStr = null;
232
+ let escape = false;
233
+ for (let i = lineStart; i < offset; i += 1) {
234
+ const ch = src[i];
235
+ if (inStr) {
236
+ if (escape) {
237
+ escape = false;
238
+ continue;
239
+ }
240
+ if (ch === '\\') {
241
+ escape = true;
242
+ continue;
243
+ }
244
+ if (ch === inStr)
245
+ inStr = null;
246
+ continue;
247
+ }
248
+ if (ch === '/' && src[i + 1] === '/')
249
+ return true;
250
+ if (ch === '"' || ch === "'" || ch === '`')
251
+ inStr = ch;
252
+ }
253
+ return inStr !== null;
254
+ }
255
+ //# sourceMappingURL=workflow-script-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-script-parser.js","sourceRoot":"","sources":["../../src/hooks/workflow-script-parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Workflow Watcher — polls `~/.claude/projects/<slug>/<sessionId>/workflows/wf_*.json`
3
+ * and emits one `mode:'workflow_run'` JSONL line per mtime change.
4
+ *
5
+ * The on-disk JSON is the only place per-workflow rollups (status, total
6
+ * tokens, agent count, declared topology via the sibling
7
+ * `workflows/scripts/<name>-wf_<runId>.js`) are persisted; hooks only see
8
+ * the parent's single Workflow tool_use.
9
+ *
10
+ * The watcher correlates with the SubagentWatcher's per-agent telemetry by
11
+ * the `wf_<runId>` filename suffix. Token-reconciliation delta is computed
12
+ * here so the dashboard can surface "rollup says X, sum-of-subagents says Y"
13
+ * without an NR-side join (the dashboard's reconciliation card).
14
+ */
15
+ import type { ObservabilityHealthMetrics, ScriptWorkflowRunMetrics } from '../transport/nr-ingest.js';
16
+ export interface WorkflowWatcherOptions {
17
+ readonly storagePath?: string;
18
+ readonly projectsDir?: string;
19
+ readonly pollIntervalMs?: number;
20
+ readonly discoveryHours?: number;
21
+ readonly parentSessionId?: string;
22
+ /**
23
+ * Hook so the watcher can inflate `total_usd` from the existing
24
+ * CostTracker without dragging the tracker into this module.
25
+ */
26
+ readonly getCostForRun?: (runId: string) => number;
27
+ /**
28
+ * Hook so the watcher can read sum-of-subagent-tokens for token
29
+ * reconciliation. Returns 0 if no rows attribute to this run yet.
30
+ */
31
+ readonly getSubagentTokenSumForRun?: (runId: string) => number;
32
+ }
33
+ export declare class WorkflowWatcher {
34
+ private readonly storagePath;
35
+ private readonly projectsDir;
36
+ private readonly pollIntervalMs;
37
+ private readonly discoveryHours;
38
+ private readonly parentSessionFilter;
39
+ private readonly getCostForRun;
40
+ private readonly getSubagentTokenSumForRun;
41
+ private intervalId;
42
+ private running;
43
+ private readonly seenMtime;
44
+ private readonly emittedRuns;
45
+ private readonly topologyCache;
46
+ private filesWatched;
47
+ private linesRead;
48
+ private bytesRead;
49
+ private parseErrors;
50
+ private schemaDrifts;
51
+ private lastError;
52
+ private onRun;
53
+ private onHealth;
54
+ constructor(options?: WorkflowWatcherOptions);
55
+ setOnRun(cb: (run: ScriptWorkflowRunMetrics) => void): void;
56
+ setOnHealth(cb: (event: ObservabilityHealthMetrics) => void): void;
57
+ start(): void;
58
+ stop(): void;
59
+ poll(): void;
60
+ private discoverFiles;
61
+ private processFile;
62
+ private emitHealth;
63
+ private recordError;
64
+ }
65
+ //# sourceMappingURL=workflow-watcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-watcher.d.ts","sourceRoot":"","sources":["../../src/hooks/workflow-watcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAOH,OAAO,KAAK,EACV,0BAA0B,EAC1B,wBAAwB,EACzB,MAAM,2BAA2B,CAAC;AAenC,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACnD;;;OAGG;IACH,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CAChE;AA0BD,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAgB;IACpD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA0C;IACxE,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAsD;IAEhG,OAAO,CAAC,UAAU,CAA+C;IACjE,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6B;IACvD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IACjD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA8C;IAG5E,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,SAAS,CAAgD;IAGjE,OAAO,CAAC,KAAK,CAA0D;IACvE,OAAO,CAAC,QAAQ,CAA8D;gBAElE,OAAO,GAAE,sBAA2B;IAahD,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,wBAAwB,KAAK,IAAI,GAAG,IAAI;IAI3D,WAAW,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,0BAA0B,KAAK,IAAI,GAAG,IAAI;IAIlE,KAAK,IAAI,IAAI;IAWb,IAAI,IAAI,IAAI;IAUZ,IAAI,IAAI,IAAI;IAyBZ,OAAO,CAAC,aAAa;IAqErB,OAAO,CAAC,WAAW;IAuLnB,OAAO,CAAC,UAAU;IAmBlB,OAAO,CAAC,WAAW;CAOpB"}