browser-debugger-cli 0.6.7 → 0.6.8

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 (41) hide show
  1. package/dist/commands/__tests__/console.contract.test.d.ts +9 -0
  2. package/dist/commands/__tests__/console.contract.test.d.ts.map +1 -0
  3. package/dist/commands/__tests__/console.contract.test.js +118 -0
  4. package/dist/commands/__tests__/console.contract.test.js.map +1 -0
  5. package/dist/commands/console.d.ts +17 -0
  6. package/dist/commands/console.d.ts.map +1 -1
  7. package/dist/commands/console.js +158 -56
  8. package/dist/commands/console.js.map +1 -1
  9. package/dist/commands/shared/optionTypes.d.ts +14 -4
  10. package/dist/commands/shared/optionTypes.d.ts.map +1 -1
  11. package/dist/daemon/worker/commandRegistry.d.ts.map +1 -1
  12. package/dist/daemon/worker/commandRegistry.js +2 -0
  13. package/dist/daemon/worker/commandRegistry.js.map +1 -1
  14. package/dist/telemetry/console.d.ts.map +1 -1
  15. package/dist/telemetry/console.js +29 -17
  16. package/dist/telemetry/console.js.map +1 -1
  17. package/dist/telemetry/remoteObject.d.ts +58 -0
  18. package/dist/telemetry/remoteObject.d.ts.map +1 -0
  19. package/dist/telemetry/remoteObject.js +134 -0
  20. package/dist/telemetry/remoteObject.js.map +1 -0
  21. package/dist/types.d.ts +21 -0
  22. package/dist/types.d.ts.map +1 -1
  23. package/dist/ui/formatters/console.d.ts +131 -0
  24. package/dist/ui/formatters/console.d.ts.map +1 -0
  25. package/dist/ui/formatters/console.js +400 -0
  26. package/dist/ui/formatters/console.js.map +1 -0
  27. package/dist/ui/messages/consoleMessages.d.ts +12 -27
  28. package/dist/ui/messages/consoleMessages.d.ts.map +1 -1
  29. package/dist/ui/messages/consoleMessages.js +16 -31
  30. package/dist/ui/messages/consoleMessages.js.map +1 -1
  31. package/dist/utils/decisionTrees.d.ts.map +1 -1
  32. package/dist/utils/decisionTrees.js +17 -2
  33. package/dist/utils/decisionTrees.js.map +1 -1
  34. package/dist/utils/strings.d.ts +14 -0
  35. package/dist/utils/strings.d.ts.map +1 -0
  36. package/dist/utils/strings.js +23 -0
  37. package/dist/utils/strings.js.map +1 -0
  38. package/dist/utils/taskMappings.d.ts.map +1 -1
  39. package/dist/utils/taskMappings.js +18 -3
  40. package/dist/utils/taskMappings.js.map +1 -1
  41. package/package.json +1 -1
@@ -3,7 +3,31 @@ import { TypedCDPConnection } from '../connection/typed-cdp.js';
3
3
  import { MAX_CONSOLE_MESSAGES } from '../constants.js';
4
4
  import { createLogger } from '../ui/logging/index.js';
5
5
  import { shouldExcludeConsoleMessage } from './filters.js';
6
+ import { formatConsoleArgs } from './remoteObject.js';
6
7
  import { pushWithLimit } from './utils.js';
8
+ /**
9
+ * Convert CDP stack trace to StackFrame array.
10
+ *
11
+ * @param stackTrace - CDP stack trace from Runtime events
12
+ * @returns Array of StackFrame objects, or undefined if no stack trace
13
+ */
14
+ function convertStackTrace(stackTrace) {
15
+ if (!stackTrace?.callFrames?.length) {
16
+ return undefined;
17
+ }
18
+ return stackTrace.callFrames.map((frame) => {
19
+ const stackFrame = {
20
+ url: frame.url,
21
+ lineNumber: frame.lineNumber,
22
+ columnNumber: frame.columnNumber,
23
+ scriptId: frame.scriptId,
24
+ };
25
+ if (frame.functionName) {
26
+ stackFrame.functionName = frame.functionName;
27
+ }
28
+ return stackFrame;
29
+ });
30
+ }
7
31
  const log = createLogger('console');
8
32
  /**
9
33
  * Start collecting console messages and exceptions via CDP Runtime domain.
@@ -25,33 +49,19 @@ export async function startConsoleCollection(cdp, messages, includeAll = false,
25
49
  const typed = new TypedCDPConnection(cdp);
26
50
  await cdp.send('Runtime.enable');
27
51
  registry.registerTyped(typed, 'Runtime.consoleAPICalled', (params) => {
28
- const text = params.args
29
- .map((arg) => {
30
- if (arg.value !== undefined) {
31
- const value = arg.value;
32
- if (typeof value === 'string' ||
33
- typeof value === 'number' ||
34
- typeof value === 'boolean') {
35
- return String(value);
36
- }
37
- return arg.description ?? '[object]';
38
- }
39
- if (arg.description !== undefined) {
40
- return arg.description;
41
- }
42
- return '';
43
- })
44
- .join(' ');
52
+ const text = formatConsoleArgs(params.args);
45
53
  if (shouldExcludeConsoleMessage(text, params.type, includeAll)) {
46
54
  return;
47
55
  }
48
56
  const navigationId = getCurrentNavigationId?.();
57
+ const stackTrace = convertStackTrace(params.stackTrace);
49
58
  const message = {
50
59
  type: params.type,
51
60
  text,
52
61
  timestamp: params.timestamp,
53
62
  args: params.args,
54
63
  ...(navigationId !== undefined && { navigationId }),
64
+ ...(stackTrace && { stackTrace }),
55
65
  };
56
66
  pushWithLimit(messages, message, MAX_CONSOLE_MESSAGES, () => {
57
67
  log.debug(`Warning: Console message limit reached (${MAX_CONSOLE_MESSAGES})`);
@@ -64,11 +74,13 @@ export async function startConsoleCollection(cdp, messages, includeAll = false,
64
74
  return;
65
75
  }
66
76
  const navigationId = getCurrentNavigationId?.();
77
+ const stackTrace = convertStackTrace(exception.stackTrace);
67
78
  const message = {
68
79
  type: 'error',
69
80
  text,
70
81
  timestamp: params.timestamp,
71
82
  ...(navigationId !== undefined && { navigationId }),
83
+ ...(stackTrace && { stackTrace }),
72
84
  };
73
85
  pushWithLimit(messages, message, MAX_CONSOLE_MESSAGES, () => {
74
86
  log.debug(`Warning: Console message limit reached (${MAX_CONSOLE_MESSAGES})`);
@@ -1 +1 @@
1
- {"version":3,"file":"console.js","sourceRoot":"","sources":["../../src/telemetry/console.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"console.js","sourceRoot":"","sources":["../../src/telemetry/console.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * RemoteObject formatting utilities.
3
+ *
4
+ * Provides functions to serialize CDP RemoteObject values into human-readable
5
+ * strings, properly handling objects, arrays, and their preview data.
6
+ */
7
+ import type { Protocol } from '../connection/typed-cdp.js';
8
+ /**
9
+ * Format a CDP RemoteObject as a human-readable string.
10
+ *
11
+ * Handles all CDP value types including primitives, objects, arrays,
12
+ * errors, null, and undefined. Uses preview data when available for
13
+ * rich object representation.
14
+ *
15
+ * @param arg - CDP RemoteObject from console arguments
16
+ * @returns Formatted string representation
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * // Primitive
21
+ * formatRemoteObject({ type: 'string', value: 'hello' }) // 'hello'
22
+ *
23
+ * // Object with preview
24
+ * formatRemoteObject({
25
+ * type: 'object',
26
+ * preview: { properties: [{ name: 'foo', value: 'bar' }] }
27
+ * }) // '{foo: "bar"}'
28
+ *
29
+ * // Array with preview
30
+ * formatRemoteObject({
31
+ * type: 'object',
32
+ * subtype: 'array',
33
+ * preview: { properties: [{ name: '0', value: '1' }] }
34
+ * }) // '[1]'
35
+ * ```
36
+ */
37
+ export declare function formatRemoteObject(arg: Protocol.Runtime.RemoteObject): string;
38
+ /**
39
+ * Format multiple RemoteObjects as console message text.
40
+ *
41
+ * Joins formatted arguments with spaces, similar to how console.log
42
+ * displays multiple arguments.
43
+ *
44
+ * @param args - Array of CDP RemoteObjects
45
+ * @returns Joined formatted string
46
+ */
47
+ export declare function formatConsoleArgs(args: Protocol.Runtime.RemoteObject[]): string;
48
+ /**
49
+ * Truncate text to maximum length with ellipsis.
50
+ *
51
+ * Re-exported from shared utils for backward compatibility.
52
+ *
53
+ * @param text - Text to truncate
54
+ * @param maxLength - Maximum length (default: MAX_TEXT_LENGTH)
55
+ * @returns Truncated text with ellipsis if needed
56
+ */
57
+ export declare function truncateText(text: string, maxLength?: number): string;
58
+ //# sourceMappingURL=remoteObject.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remoteObject.d.ts","sourceRoot":"","sources":["../../src/telemetry/remoteObject.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAoD1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,YAAY,GAAG,MAAM,CAiC7E;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,MAAM,CAE/E;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,GAAE,MAAwB,GAAG,MAAM,CAEtF"}
@@ -0,0 +1,134 @@
1
+ /**
2
+ * RemoteObject formatting utilities.
3
+ *
4
+ * Provides functions to serialize CDP RemoteObject values into human-readable
5
+ * strings, properly handling objects, arrays, and their preview data.
6
+ */
7
+ import { truncateByLength } from '../utils/strings.js';
8
+ /** Maximum length for formatted text before truncation */
9
+ const MAX_TEXT_LENGTH = 500;
10
+ /**
11
+ * Format a preview property value.
12
+ *
13
+ * @param prop - Preview property from CDP
14
+ * @returns Formatted value string
15
+ */
16
+ function formatPreviewProperty(prop) {
17
+ if (prop.type === 'string') {
18
+ return `"${prop.value}"`;
19
+ }
20
+ if (prop.type === 'undefined') {
21
+ return 'undefined';
22
+ }
23
+ if (prop.value === 'null') {
24
+ return 'null';
25
+ }
26
+ // For objects, functions, symbols - use the value as-is (e.g., "Object", "[Function]")
27
+ return prop.value ?? prop.type;
28
+ }
29
+ /**
30
+ * Format object preview as a string representation.
31
+ *
32
+ * @param preview - Object preview from CDP RemoteObject
33
+ * @returns Formatted object string like `{foo: "bar", num: 123}`
34
+ */
35
+ function formatObjectPreview(preview) {
36
+ const props = preview.properties ?? [];
37
+ // Handle arrays
38
+ if (preview.subtype === 'array') {
39
+ const values = props
40
+ .filter((p) => !isNaN(Number(p.name))) // Only numeric indices
41
+ .sort((a, b) => Number(a.name) - Number(b.name))
42
+ .map((p) => formatPreviewProperty(p));
43
+ const suffix = preview.overflow ? ', …' : '';
44
+ return `[${values.join(', ')}${suffix}]`;
45
+ }
46
+ // Handle regular objects
47
+ const pairs = props.map((p) => `${p.name}: ${formatPreviewProperty(p)}`);
48
+ const suffix = preview.overflow ? ', …' : '';
49
+ return `{${pairs.join(', ')}${suffix}}`;
50
+ }
51
+ /**
52
+ * Format a CDP RemoteObject as a human-readable string.
53
+ *
54
+ * Handles all CDP value types including primitives, objects, arrays,
55
+ * errors, null, and undefined. Uses preview data when available for
56
+ * rich object representation.
57
+ *
58
+ * @param arg - CDP RemoteObject from console arguments
59
+ * @returns Formatted string representation
60
+ *
61
+ * @example
62
+ * ```typescript
63
+ * // Primitive
64
+ * formatRemoteObject({ type: 'string', value: 'hello' }) // 'hello'
65
+ *
66
+ * // Object with preview
67
+ * formatRemoteObject({
68
+ * type: 'object',
69
+ * preview: { properties: [{ name: 'foo', value: 'bar' }] }
70
+ * }) // '{foo: "bar"}'
71
+ *
72
+ * // Array with preview
73
+ * formatRemoteObject({
74
+ * type: 'object',
75
+ * subtype: 'array',
76
+ * preview: { properties: [{ name: '0', value: '1' }] }
77
+ * }) // '[1]'
78
+ * ```
79
+ */
80
+ export function formatRemoteObject(arg) {
81
+ // Handle primitives with direct value
82
+ if (arg.value !== undefined) {
83
+ if (typeof arg.value === 'string') {
84
+ return arg.value;
85
+ }
86
+ if (typeof arg.value === 'number' || typeof arg.value === 'boolean') {
87
+ return String(arg.value);
88
+ }
89
+ if (arg.value === null) {
90
+ return 'null';
91
+ }
92
+ // For other values (shouldn't happen often), stringify
93
+ return JSON.stringify(arg.value);
94
+ }
95
+ // Handle undefined
96
+ if (arg.type === 'undefined') {
97
+ return 'undefined';
98
+ }
99
+ // Handle errors - use full description which includes stack trace
100
+ if (arg.subtype === 'error' && arg.description) {
101
+ return arg.description;
102
+ }
103
+ // Handle objects/arrays with preview
104
+ if (arg.type === 'object' && arg.preview) {
105
+ return formatObjectPreview(arg.preview);
106
+ }
107
+ // Fallback to description or type
108
+ return arg.description ?? `[${arg.type}]`;
109
+ }
110
+ /**
111
+ * Format multiple RemoteObjects as console message text.
112
+ *
113
+ * Joins formatted arguments with spaces, similar to how console.log
114
+ * displays multiple arguments.
115
+ *
116
+ * @param args - Array of CDP RemoteObjects
117
+ * @returns Joined formatted string
118
+ */
119
+ export function formatConsoleArgs(args) {
120
+ return args.map(formatRemoteObject).join(' ');
121
+ }
122
+ /**
123
+ * Truncate text to maximum length with ellipsis.
124
+ *
125
+ * Re-exported from shared utils for backward compatibility.
126
+ *
127
+ * @param text - Text to truncate
128
+ * @param maxLength - Maximum length (default: MAX_TEXT_LENGTH)
129
+ * @returns Truncated text with ellipsis if needed
130
+ */
131
+ export function truncateText(text, maxLength = MAX_TEXT_LENGTH) {
132
+ return truncateByLength(text, maxLength);
133
+ }
134
+ //# sourceMappingURL=remoteObject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remoteObject.js","sourceRoot":"","sources":["../../src/telemetry/remoteObject.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -60,12 +60,33 @@ export interface NetworkRequest {
60
60
  serverIPAddress?: string;
61
61
  connection?: string;
62
62
  }
63
+ /**
64
+ * Stack frame representing a location in source code.
65
+ * Used for error stack traces and source locations in console messages.
66
+ */
67
+ export interface StackFrame {
68
+ /** Source file URL or path */
69
+ url: string;
70
+ /** 0-based line number in the source */
71
+ lineNumber: number;
72
+ /** 0-based column number in the source */
73
+ columnNumber: number;
74
+ /** Function name, if available */
75
+ functionName?: string;
76
+ /** Script ID from CDP */
77
+ scriptId?: string;
78
+ }
63
79
  export interface ConsoleMessage {
64
80
  type: Protocol.Runtime.ConsoleAPICalledEvent['type'] | 'error';
65
81
  text: string;
66
82
  timestamp: number;
67
83
  args?: unknown[];
68
84
  navigationId?: number;
85
+ /**
86
+ * Stack trace captured when the console call was made.
87
+ * First frame indicates the source location of the console call.
88
+ */
89
+ stackTrace?: StackFrame[];
69
90
  }
70
91
  export interface BdgOutput {
71
92
  version: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,131 @@
1
+ /**
2
+ * Console command formatters.
3
+ *
4
+ * Provides formatting functions for the `bdg console` command output including
5
+ * smart summary view with deduplication, chronological view, and JSON output.
6
+ */
7
+ import type { ConsoleMessage, StackFrame } from '../../types.js';
8
+ /**
9
+ * Deduplicated console message with occurrence count.
10
+ */
11
+ export interface DeduplicatedMessage {
12
+ /** First occurrence of the message */
13
+ message: ConsoleMessage;
14
+ /** Number of times this message appeared */
15
+ count: number;
16
+ }
17
+ /**
18
+ * Summary statistics for console messages.
19
+ */
20
+ export interface ConsoleSummary {
21
+ /** Total number of messages */
22
+ total: number;
23
+ /** Error statistics */
24
+ errors: {
25
+ total: number;
26
+ unique: number;
27
+ };
28
+ /** Warning statistics */
29
+ warnings: {
30
+ total: number;
31
+ unique: number;
32
+ };
33
+ /** Info message count */
34
+ info: number;
35
+ /** Debug message count */
36
+ debug: number;
37
+ /** Other message type count */
38
+ other: number;
39
+ }
40
+ /**
41
+ * Options for console formatting.
42
+ */
43
+ export interface ConsoleFormatOptions {
44
+ /** Output as JSON */
45
+ json?: boolean | undefined;
46
+ /** List all messages chronologically (--list flag) */
47
+ list?: boolean | undefined;
48
+ /** Follow mode (live streaming) */
49
+ follow?: boolean | undefined;
50
+ /** Limit to last N messages */
51
+ last?: number | undefined;
52
+ /** Show messages from all navigations (default: current only) */
53
+ history?: boolean | undefined;
54
+ }
55
+ /**
56
+ * JSON error/warning entry structure.
57
+ */
58
+ interface JsonErrorEntry {
59
+ count: number;
60
+ level: string;
61
+ text: string;
62
+ source?: {
63
+ url: string;
64
+ line: number;
65
+ column: number;
66
+ };
67
+ stackTrace?: StackFrame[];
68
+ }
69
+ /**
70
+ * JSON output structure for console command.
71
+ */
72
+ export interface ConsoleJsonOutput {
73
+ success: boolean;
74
+ summary: ConsoleSummary;
75
+ errors: JsonErrorEntry[];
76
+ warnings: Omit<JsonErrorEntry, 'stackTrace'>[];
77
+ messages?: ConsoleMessage[];
78
+ }
79
+ /**
80
+ * Format console output as smart summary (default mode).
81
+ *
82
+ * Prioritizes errors and warnings with deduplication and counts.
83
+ * Shows info/debug as summary counts only.
84
+ *
85
+ * @param messages - All console messages
86
+ * @returns Formatted summary string
87
+ */
88
+ export declare function formatConsoleSummary(messages: ConsoleMessage[]): string;
89
+ /**
90
+ * Format console output as chronological list (--list mode).
91
+ *
92
+ * Shows all messages in order with timestamps and levels.
93
+ * Includes navigation markers when page reloads are detected.
94
+ *
95
+ * @param messages - All console messages
96
+ * @param options - Format options
97
+ * @returns Formatted chronological list string
98
+ */
99
+ export declare function formatConsoleChronological(messages: ConsoleMessage[], options: ConsoleFormatOptions): string;
100
+ /**
101
+ * Format console output for follow mode streaming.
102
+ *
103
+ * Compact format optimized for live updates.
104
+ *
105
+ * @param messages - Recent console messages to display
106
+ * @returns Formatted streaming output string
107
+ */
108
+ export declare function formatConsoleFollow(messages: ConsoleMessage[]): string;
109
+ /**
110
+ * Format console output as JSON.
111
+ *
112
+ * Structured output with summary statistics and deduplicated errors/warnings.
113
+ *
114
+ * @param messages - All console messages
115
+ * @param options - Format options
116
+ * @returns JSON string
117
+ */
118
+ export declare function formatConsoleJson(messages: ConsoleMessage[], options: ConsoleFormatOptions): string;
119
+ /**
120
+ * Format console output based on options.
121
+ *
122
+ * Main entry point for console formatting. Routes to appropriate formatter
123
+ * based on options (json, list, follow).
124
+ *
125
+ * @param messages - All console messages
126
+ * @param options - Format options
127
+ * @returns Formatted output string
128
+ */
129
+ export declare function formatConsole(messages: ConsoleMessage[], options: ConsoleFormatOptions): string;
130
+ export {};
131
+ //# sourceMappingURL=console.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../../../src/ui/formatters/console.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAS7D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,sCAAsC;IACtC,OAAO,EAAE,cAAc,CAAC;IACxB,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,uBAAuB;IACvB,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,yBAAyB;IACzB,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,qBAAqB;IACrB,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3B,sDAAsD;IACtD,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3B,mCAAmC;IACnC,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,+BAA+B;IAC/B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,iEAAiE;IACjE,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC/B;AAED;;GAEG;AACH,UAAU,cAAc;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACvD,UAAU,CAAC,EAAE,UAAU,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC,EAAE,CAAC;IAC/C,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;CAC7B;AAiRD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,MAAM,CAmBvE;AAKD;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,cAAc,EAAE,EAC1B,OAAO,EAAE,oBAAoB,GAC5B,MAAM,CAkDR;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,MAAM,CAuBtE;AA0BD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,cAAc,EAAE,EAC1B,OAAO,EAAE,oBAAoB,GAC5B,MAAM,CAiBR;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,oBAAoB,GAAG,MAAM,CAU/F"}