weixin-devtools-mcp 0.0.1 → 0.1.1

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 (183) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +127 -128
  3. package/build/MiniProgramContext.d.ts +317 -0
  4. package/build/MiniProgramContext.d.ts.map +1 -0
  5. package/build/MiniProgramContext.js +696 -0
  6. package/build/MiniProgramContext.js.map +1 -0
  7. package/build/collectors/Collector.d.ts +127 -0
  8. package/build/collectors/Collector.d.ts.map +1 -0
  9. package/build/collectors/Collector.js +252 -0
  10. package/build/collectors/Collector.js.map +1 -0
  11. package/build/collectors/ConsoleCollector.d.ts +104 -0
  12. package/build/collectors/ConsoleCollector.d.ts.map +1 -0
  13. package/build/collectors/ConsoleCollector.js +157 -0
  14. package/build/collectors/ConsoleCollector.js.map +1 -0
  15. package/build/collectors/NetworkCollector.d.ts +167 -0
  16. package/build/collectors/NetworkCollector.d.ts.map +1 -0
  17. package/build/collectors/NetworkCollector.js +265 -0
  18. package/build/collectors/NetworkCollector.js.map +1 -0
  19. package/build/collectors/index.d.ts +13 -0
  20. package/build/collectors/index.d.ts.map +1 -0
  21. package/build/collectors/index.js +17 -0
  22. package/build/collectors/index.js.map +1 -0
  23. package/build/config/tool-profile.d.ts +30 -0
  24. package/build/config/tool-profile.d.ts.map +1 -0
  25. package/build/config/tool-profile.js +138 -0
  26. package/build/config/tool-profile.js.map +1 -0
  27. package/build/connection/adapters.d.ts +3 -0
  28. package/build/connection/adapters.d.ts.map +1 -0
  29. package/build/connection/adapters.js +134 -0
  30. package/build/connection/adapters.js.map +1 -0
  31. package/build/connection/errors.d.ts +34 -0
  32. package/build/connection/errors.d.ts.map +1 -0
  33. package/build/connection/errors.js +101 -0
  34. package/build/connection/errors.js.map +1 -0
  35. package/build/connection/health-probe.d.ts +4 -0
  36. package/build/connection/health-probe.d.ts.map +1 -0
  37. package/build/connection/health-probe.js +60 -0
  38. package/build/connection/health-probe.js.map +1 -0
  39. package/build/connection/index.d.ts +6 -0
  40. package/build/connection/index.d.ts.map +1 -0
  41. package/build/connection/index.js +6 -0
  42. package/build/connection/index.js.map +1 -0
  43. package/build/connection/manager.d.ts +19 -0
  44. package/build/connection/manager.d.ts.map +1 -0
  45. package/build/connection/manager.js +227 -0
  46. package/build/connection/manager.js.map +1 -0
  47. package/build/connection/resolver.d.ts +3 -0
  48. package/build/connection/resolver.d.ts.map +1 -0
  49. package/build/connection/resolver.js +99 -0
  50. package/build/connection/resolver.js.map +1 -0
  51. package/build/connection/types.d.ts +95 -0
  52. package/build/connection/types.d.ts.map +1 -0
  53. package/build/connection/types.js +16 -0
  54. package/build/connection/types.js.map +1 -0
  55. package/build/core/assertion.d.ts +22 -0
  56. package/build/core/assertion.d.ts.map +1 -0
  57. package/build/core/assertion.js +318 -0
  58. package/build/core/assertion.js.map +1 -0
  59. package/build/core/connection.d.ts +37 -0
  60. package/build/core/connection.d.ts.map +1 -0
  61. package/build/core/connection.js +745 -0
  62. package/build/core/connection.js.map +1 -0
  63. package/build/core/index.d.ts +13 -0
  64. package/build/core/index.d.ts.map +1 -0
  65. package/build/core/index.js +19 -0
  66. package/build/core/index.js.map +1 -0
  67. package/build/core/interaction.d.ts +22 -0
  68. package/build/core/interaction.d.ts.map +1 -0
  69. package/build/core/interaction.js +185 -0
  70. package/build/core/interaction.js.map +1 -0
  71. package/build/core/navigation.d.ts +26 -0
  72. package/build/core/navigation.d.ts.map +1 -0
  73. package/build/core/navigation.js +210 -0
  74. package/build/core/navigation.js.map +1 -0
  75. package/build/core/query.d.ts +14 -0
  76. package/build/core/query.d.ts.map +1 -0
  77. package/build/core/query.js +191 -0
  78. package/build/core/query.js.map +1 -0
  79. package/build/core/screenshot.d.ts +10 -0
  80. package/build/core/screenshot.d.ts.map +1 -0
  81. package/build/core/screenshot.js +93 -0
  82. package/build/core/screenshot.js.map +1 -0
  83. package/build/core/snapshot.d.ts +17 -0
  84. package/build/core/snapshot.d.ts.map +1 -0
  85. package/build/core/snapshot.js +225 -0
  86. package/build/core/snapshot.js.map +1 -0
  87. package/build/core/types.d.ts +250 -0
  88. package/build/core/types.d.ts.map +1 -0
  89. package/build/core/types.js +6 -0
  90. package/build/core/types.js.map +1 -0
  91. package/build/formatters/consoleFormatter.d.ts +50 -0
  92. package/build/formatters/consoleFormatter.d.ts.map +1 -0
  93. package/build/formatters/consoleFormatter.js +116 -0
  94. package/build/formatters/consoleFormatter.js.map +1 -0
  95. package/build/formatters/snapshotFormatter.d.ts +41 -0
  96. package/build/formatters/snapshotFormatter.d.ts.map +1 -0
  97. package/build/formatters/snapshotFormatter.js +156 -0
  98. package/build/formatters/snapshotFormatter.js.map +1 -0
  99. package/build/index.d.ts +11 -0
  100. package/build/index.d.ts.map +1 -0
  101. package/build/index.js +45 -9
  102. package/build/index.js.map +1 -0
  103. package/build/server.d.ts +7 -0
  104. package/build/server.d.ts.map +1 -0
  105. package/build/server.js +88 -32
  106. package/build/server.js.map +1 -0
  107. package/build/tools/ToolDefinition.d.ts +265 -0
  108. package/build/tools/ToolDefinition.d.ts.map +1 -0
  109. package/build/tools/ToolDefinition.js +16 -7
  110. package/build/tools/ToolDefinition.js.map +1 -0
  111. package/build/tools/assert.d.ts +17 -0
  112. package/build/tools/assert.d.ts.map +1 -0
  113. package/build/tools/assert.js +63 -103
  114. package/build/tools/assert.js.map +1 -0
  115. package/build/tools/connection.d.ts +13 -0
  116. package/build/tools/connection.d.ts.map +1 -0
  117. package/build/tools/connection.js +338 -611
  118. package/build/tools/connection.js.map +1 -0
  119. package/build/tools/console.d.ts +20 -0
  120. package/build/tools/console.d.ts.map +1 -0
  121. package/build/tools/console.js +162 -152
  122. package/build/tools/console.js.map +1 -0
  123. package/build/tools/diagnose.d.ts +22 -0
  124. package/build/tools/diagnose.d.ts.map +1 -0
  125. package/build/tools/diagnose.js +406 -13
  126. package/build/tools/diagnose.js.map +1 -0
  127. package/build/tools/index.d.ts +6 -0
  128. package/build/tools/index.d.ts.map +1 -0
  129. package/build/tools/index.js +3 -77
  130. package/build/tools/index.js.map +1 -0
  131. package/build/tools/input.d.ts +21 -0
  132. package/build/tools/input.d.ts.map +1 -0
  133. package/build/tools/input.js +73 -139
  134. package/build/tools/input.js.map +1 -0
  135. package/build/tools/navigate.d.ts +21 -0
  136. package/build/tools/navigate.d.ts.map +1 -0
  137. package/build/tools/navigate.js +63 -126
  138. package/build/tools/navigate.js.map +1 -0
  139. package/build/tools/network.d.ts +21 -0
  140. package/build/tools/network.d.ts.map +1 -0
  141. package/build/tools/network.js +214 -1044
  142. package/build/tools/network.js.map +1 -0
  143. package/build/tools/page.d.ts +13 -0
  144. package/build/tools/page.d.ts.map +1 -0
  145. package/build/tools/page.js +6 -3
  146. package/build/tools/page.js.map +1 -0
  147. package/build/tools/screenshot.d.ts +9 -0
  148. package/build/tools/screenshot.d.ts.map +1 -0
  149. package/build/tools/screenshot.js +3 -1
  150. package/build/tools/screenshot.js.map +1 -0
  151. package/build/tools/script.d.ts +6 -0
  152. package/build/tools/script.d.ts.map +1 -0
  153. package/build/tools/script.js +92 -0
  154. package/build/tools/script.js.map +1 -0
  155. package/build/tools/snapshot.d.ts +9 -0
  156. package/build/tools/snapshot.d.ts.map +1 -0
  157. package/build/tools/snapshot.js +78 -12
  158. package/build/tools/snapshot.js.map +1 -0
  159. package/build/tools/tools.d.ts +15 -0
  160. package/build/tools/tools.d.ts.map +1 -0
  161. package/build/tools/tools.js +63 -0
  162. package/build/tools/tools.js.map +1 -0
  163. package/build/tools.d.ts +431 -0
  164. package/build/tools.d.ts.map +1 -0
  165. package/build/tools.js +258 -118
  166. package/build/tools.js.map +1 -0
  167. package/build/types/errors.d.ts +189 -0
  168. package/build/types/errors.d.ts.map +1 -0
  169. package/build/types/errors.js +257 -0
  170. package/build/types/errors.js.map +1 -0
  171. package/build/utils/error.d.ts +6 -0
  172. package/build/utils/error.d.ts.map +1 -0
  173. package/build/utils/error.js +11 -0
  174. package/build/utils/error.js.map +1 -0
  175. package/build/utils/idGenerator.d.ts +21 -0
  176. package/build/utils/idGenerator.d.ts.map +1 -0
  177. package/build/utils/idGenerator.js +23 -0
  178. package/build/utils/idGenerator.js.map +1 -0
  179. package/build/version.d.ts +7 -0
  180. package/build/version.d.ts.map +1 -0
  181. package/build/version.js +10 -0
  182. package/build/version.js.map +1 -0
  183. package/package.json +31 -9
@@ -0,0 +1,431 @@
1
+ /**
2
+ * 微信开发者工具 MCP 工具函数
3
+ * 提供可测试的纯函数实现
4
+ */
5
+ /**
6
+ * 连接选项接口
7
+ */
8
+ export interface ConnectOptions {
9
+ projectPath: string;
10
+ cliPath?: string;
11
+ port?: number;
12
+ autoAudits?: boolean;
13
+ }
14
+ /**
15
+ * 增强的连接选项接口
16
+ */
17
+ export interface EnhancedConnectOptions extends ConnectOptions {
18
+ mode?: 'auto' | 'launch' | 'connect';
19
+ autoPort?: number;
20
+ autoAccount?: string;
21
+ timeout?: number;
22
+ fallbackMode?: boolean;
23
+ healthCheck?: boolean;
24
+ verbose?: boolean;
25
+ }
26
+ /**
27
+ * 启动结果接口
28
+ */
29
+ export interface StartupResult {
30
+ processInfo: {
31
+ pid: number;
32
+ port: number;
33
+ };
34
+ startTime: number;
35
+ }
36
+ /**
37
+ * 详细连接结果接口
38
+ */
39
+ export interface DetailedConnectResult extends ConnectResult {
40
+ connectionMode: 'launch' | 'connect';
41
+ startupTime: number;
42
+ healthStatus: 'healthy' | 'degraded' | 'unhealthy';
43
+ processInfo?: {
44
+ pid: number;
45
+ port: number;
46
+ };
47
+ }
48
+ /**
49
+ * 开发者工具连接错误类
50
+ */
51
+ import { DevToolsError } from './types/errors.js';
52
+ /**
53
+ * @deprecated 使用 DevToolsError 替代
54
+ * 保留此类以保持向后兼容性
55
+ */
56
+ export declare class DevToolsConnectionError extends DevToolsError {
57
+ phase: 'startup' | 'connection' | 'health_check';
58
+ originalError?: Error | undefined;
59
+ details?: Record<string, unknown> | undefined;
60
+ constructor(message: string, phase: 'startup' | 'connection' | 'health_check', originalError?: Error | undefined, details?: Record<string, unknown> | undefined);
61
+ }
62
+ /**
63
+ * 连接结果接口
64
+ */
65
+ export interface ConnectResult {
66
+ miniProgram: any;
67
+ currentPage: any;
68
+ pagePath: string;
69
+ }
70
+ /**
71
+ * 连接到微信开发者工具
72
+ *
73
+ * @param options 连接选项
74
+ * @returns 连接结果
75
+ * @throws 连接失败时抛出错误
76
+ */
77
+ export declare function connectDevtools(options: ConnectOptions): Promise<ConnectResult>;
78
+ /**
79
+ * 智能连接到微信开发者工具(优化版)
80
+ * 支持多种连接模式和智能回退
81
+ *
82
+ * @param options 增强的连接选项
83
+ * @returns 详细连接结果
84
+ */
85
+ export declare function connectDevtoolsEnhanced(options: EnhancedConnectOptions): Promise<DetailedConnectResult>;
86
+ /**
87
+ * 等待WebSocket服务就绪
88
+ * @public 导出供测试使用
89
+ */
90
+ export declare function waitForWebSocketReady(port: number, timeout: number, verbose?: boolean): Promise<void>;
91
+ /**
92
+ * 检查开发者工具是否运行
93
+ */
94
+ export declare function checkDevToolsRunning(port: number): Promise<boolean>;
95
+ /**
96
+ * 自动检测当前IDE运行的端口
97
+ * 返回检测到的端口号,如果未检测到则返回 null
98
+ */
99
+ export declare function detectIDEPort(verbose?: boolean): Promise<number | null>;
100
+ /**
101
+ * 元素快照接口
102
+ */
103
+ export interface ElementSnapshot {
104
+ uid: string;
105
+ tagName: string;
106
+ text?: string;
107
+ attributes?: Record<string, string>;
108
+ position?: {
109
+ left: number;
110
+ top: number;
111
+ width: number;
112
+ height: number;
113
+ };
114
+ }
115
+ /**
116
+ * 页面快照接口
117
+ */
118
+ export interface PageSnapshot {
119
+ path: string;
120
+ elements: ElementSnapshot[];
121
+ }
122
+ /**
123
+ * 元素映射信息接口
124
+ * 用于精确定位页面元素
125
+ */
126
+ export interface ElementMapInfo {
127
+ selector: string;
128
+ index: number;
129
+ }
130
+ /**
131
+ * 生成元素的唯一标识符 (uid)
132
+ *
133
+ * 优先级顺序(稳定性从高到低):
134
+ * 1. data-testid(专门用于测试,最稳定)
135
+ * 2. id 属性
136
+ * 3. data-id(自定义数据属性)
137
+ * 4. class + 文本哈希(中等稳定性)
138
+ * 5. class:eq(index)
139
+ * 6. nth-child(兜底)
140
+ */
141
+ export declare function generateElementUid(element: any, index: number): Promise<string>;
142
+ /**
143
+ * 获取页面元素快照
144
+ *
145
+ * @param page 页面对象
146
+ * @returns 页面快照和元素映射
147
+ */
148
+ export declare function getPageSnapshot(page: any): Promise<{
149
+ snapshot: PageSnapshot;
150
+ elementMap: Map<string, ElementMapInfo>;
151
+ }>;
152
+ /**
153
+ * 点击元素选项接口
154
+ */
155
+ export interface ClickOptions {
156
+ uid: string;
157
+ dblClick?: boolean;
158
+ }
159
+ /**
160
+ * 点击页面元素
161
+ *
162
+ * @param page 页面对象
163
+ * @param elementMap 元素映射
164
+ * @param options 点击选项
165
+ */
166
+ export declare function clickElement(page: any, elementMap: Map<string, ElementMapInfo>, options: ClickOptions): Promise<void>;
167
+ /**
168
+ * 截图选项接口
169
+ */
170
+ export interface ScreenshotOptions {
171
+ path?: string;
172
+ }
173
+ /**
174
+ * 页面截图
175
+ *
176
+ * @param miniProgram MiniProgram 对象
177
+ * @param options 截图选项
178
+ * @returns 如果没有指定路径,返回base64数据;否则返回undefined
179
+ */
180
+ export declare function takeScreenshot(miniProgram: any, options?: ScreenshotOptions): Promise<string | undefined>;
181
+ /**
182
+ * 查询结果接口
183
+ */
184
+ export interface QueryResult {
185
+ uid: string;
186
+ tagName: string;
187
+ text?: string;
188
+ attributes?: Record<string, string>;
189
+ position?: {
190
+ left: number;
191
+ top: number;
192
+ width: number;
193
+ height: number;
194
+ };
195
+ }
196
+ /**
197
+ * 查询元素选项接口
198
+ */
199
+ export interface QueryOptions {
200
+ selector: string;
201
+ }
202
+ /**
203
+ * 通过选择器查询页面元素
204
+ *
205
+ * @param page 页面对象
206
+ * @param elementMap 元素映射
207
+ * @param options 查询选项
208
+ * @returns 匹配元素的信息数组
209
+ */
210
+ export declare function queryElements(page: any, elementMap: Map<string, ElementMapInfo>, options: QueryOptions): Promise<QueryResult[]>;
211
+ /**
212
+ * 等待条件接口
213
+ */
214
+ export interface WaitForOptions {
215
+ selector?: string;
216
+ timeout?: number;
217
+ text?: string;
218
+ visible?: boolean;
219
+ disappear?: boolean;
220
+ }
221
+ /**
222
+ * 等待条件满足
223
+ *
224
+ * @param page 页面对象
225
+ * @param options 等待选项
226
+ * @returns 等待结果
227
+ */
228
+ export declare function waitForCondition(page: any, options: WaitForOptions | number | string): Promise<boolean>;
229
+ /**
230
+ * 文本输入选项接口
231
+ */
232
+ export interface InputTextOptions {
233
+ uid: string;
234
+ text: string;
235
+ clear?: boolean;
236
+ append?: boolean;
237
+ }
238
+ /**
239
+ * 表单控件选项接口
240
+ */
241
+ export interface FormControlOptions {
242
+ uid: string;
243
+ value: any;
244
+ trigger?: string;
245
+ }
246
+ /**
247
+ * 获取值选项接口
248
+ */
249
+ export interface GetValueOptions {
250
+ uid: string;
251
+ attribute?: string;
252
+ }
253
+ /**
254
+ * 向元素输入文本
255
+ *
256
+ * @param page 页面对象
257
+ * @param elementMap 元素映射
258
+ * @param options 输入选项
259
+ */
260
+ export declare function inputText(page: any, elementMap: Map<string, ElementMapInfo>, options: InputTextOptions): Promise<void>;
261
+ /**
262
+ * 获取元素值
263
+ *
264
+ * @param page 页面对象
265
+ * @param elementMap 元素映射
266
+ * @param options 获取选项
267
+ * @returns 元素值
268
+ */
269
+ export declare function getElementValue(page: any, elementMap: Map<string, ElementMapInfo>, options: GetValueOptions): Promise<string>;
270
+ /**
271
+ * 设置表单控件值
272
+ *
273
+ * @param page 页面对象
274
+ * @param elementMap 元素映射
275
+ * @param options 设置选项
276
+ */
277
+ export declare function setFormControl(page: any, elementMap: Map<string, ElementMapInfo>, options: FormControlOptions): Promise<void>;
278
+ /**
279
+ * 断言结果接口
280
+ */
281
+ export interface AssertResult {
282
+ passed: boolean;
283
+ message: string;
284
+ actual: any;
285
+ expected: any;
286
+ timestamp: number;
287
+ }
288
+ /**
289
+ * 元素存在性断言选项接口
290
+ */
291
+ export interface ExistenceAssertOptions {
292
+ selector?: string;
293
+ uid?: string;
294
+ timeout?: number;
295
+ shouldExist: boolean;
296
+ }
297
+ /**
298
+ * 元素状态断言选项接口
299
+ */
300
+ export interface StateAssertOptions {
301
+ uid: string;
302
+ visible?: boolean;
303
+ enabled?: boolean;
304
+ checked?: boolean;
305
+ focused?: boolean;
306
+ }
307
+ /**
308
+ * 内容断言选项接口
309
+ */
310
+ export interface ContentAssertOptions {
311
+ uid: string;
312
+ text?: string;
313
+ textContains?: string;
314
+ textMatches?: string;
315
+ attribute?: {
316
+ key: string;
317
+ value: string;
318
+ };
319
+ }
320
+ /**
321
+ * 断言元素存在性
322
+ *
323
+ * @param page 页面对象
324
+ * @param options 断言选项
325
+ * @returns 断言结果
326
+ */
327
+ export declare function assertElementExists(page: any, options: ExistenceAssertOptions): Promise<AssertResult>;
328
+ /**
329
+ * 断言元素可见性
330
+ *
331
+ * @param page 页面对象
332
+ * @param elementMap 元素映射
333
+ * @param options 断言选项
334
+ * @returns 断言结果
335
+ */
336
+ export declare function assertElementVisible(page: any, elementMap: Map<string, ElementMapInfo>, options: StateAssertOptions): Promise<AssertResult>;
337
+ /**
338
+ * 断言元素文本内容
339
+ *
340
+ * @param page 页面对象
341
+ * @param elementMap 元素映射
342
+ * @param options 断言选项
343
+ * @returns 断言结果
344
+ */
345
+ export declare function assertElementText(page: any, elementMap: Map<string, ElementMapInfo>, options: ContentAssertOptions): Promise<AssertResult>;
346
+ /**
347
+ * 断言元素属性
348
+ *
349
+ * @param page 页面对象
350
+ * @param elementMap 元素映射
351
+ * @param options 断言选项
352
+ * @returns 断言结果
353
+ */
354
+ export declare function assertElementAttribute(page: any, elementMap: Map<string, ElementMapInfo>, options: ContentAssertOptions): Promise<AssertResult>;
355
+ /**
356
+ * 页面导航选项接口
357
+ */
358
+ export interface NavigateOptions {
359
+ url: string;
360
+ params?: Record<string, any>;
361
+ waitForLoad?: boolean;
362
+ timeout?: number;
363
+ }
364
+ /**
365
+ * 返回导航选项接口
366
+ */
367
+ export interface NavigateBackOptions {
368
+ delta?: number;
369
+ waitForLoad?: boolean;
370
+ timeout?: number;
371
+ }
372
+ /**
373
+ * Tab切换选项接口
374
+ */
375
+ export interface SwitchTabOptions {
376
+ url: string;
377
+ index?: number;
378
+ waitForLoad?: boolean;
379
+ timeout?: number;
380
+ }
381
+ /**
382
+ * 页面状态接口
383
+ */
384
+ export interface PageStateOptions {
385
+ expectPath?: string;
386
+ expectTitle?: string;
387
+ }
388
+ /**
389
+ * 页面信息接口
390
+ */
391
+ export interface PageInfo {
392
+ path: string;
393
+ title?: string;
394
+ query?: Record<string, any>;
395
+ }
396
+ /**
397
+ * 跳转到指定页面
398
+ *
399
+ * @param miniProgram MiniProgram对象
400
+ * @param options 导航选项
401
+ */
402
+ export declare function navigateToPage(miniProgram: any, options: NavigateOptions): Promise<void>;
403
+ /**
404
+ * 返回上一页
405
+ *
406
+ * @param miniProgram MiniProgram对象
407
+ * @param options 返回选项
408
+ */
409
+ export declare function navigateBack(miniProgram: any, options?: NavigateBackOptions): Promise<void>;
410
+ /**
411
+ * 切换到Tab页
412
+ *
413
+ * @param miniProgram MiniProgram对象
414
+ * @param options Tab切换选项
415
+ */
416
+ export declare function switchTab(miniProgram: any, options: SwitchTabOptions): Promise<void>;
417
+ /**
418
+ * 获取当前页面信息
419
+ *
420
+ * @param miniProgram MiniProgram对象
421
+ * @returns 页面信息
422
+ */
423
+ export declare function getCurrentPageInfo(miniProgram: any): Promise<PageInfo>;
424
+ /**
425
+ * 重新启动到指定页面
426
+ *
427
+ * @param miniProgram MiniProgram对象
428
+ * @param options 导航选项
429
+ */
430
+ export declare function reLaunch(miniProgram: any, options: NavigateOptions): Promise<void>;
431
+ //# sourceMappingURL=tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,cAAc;IAC5D,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE;QACX,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,aAAa;IAC1D,cAAc,EAAE,QAAQ,GAAG,SAAS,CAAC;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,SAAS,GAAG,UAAU,GAAG,WAAW,CAAC;IACnD,WAAW,CAAC,EAAE;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED;;GAEG;AACH,OAAO,EACL,aAAa,EAId,MAAM,mBAAmB,CAAC;AAE3B;;;GAGG;AACH,qBAAa,uBAAwB,SAAQ,aAAa;IAG/C,KAAK,EAAE,SAAS,GAAG,YAAY,GAAG,cAAc;IAChD,aAAa,CAAC,EAAE,KAAK;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAHxC,OAAO,EAAE,MAAM,EACR,KAAK,EAAE,SAAS,GAAG,YAAY,GAAG,cAAc,EAChD,aAAa,CAAC,EAAE,KAAK,YAAA,EACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA;CAsB3C;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,GAAG,CAAC;IACjB,WAAW,EAAE,GAAG,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAgBD;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CAiTrF;AAED;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,qBAAqB,CAAC,CAgDhC;AAmZD;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAkClH;AAiCD;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAUzE;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,OAAO,GAAE,OAAe,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAgEpF;AA+DD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,QAAQ,CAAC,EAAE;QACT,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,eAAe,EAAE,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAaD;;;;;;;;;;GAUG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA8CrF;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC;IACxD,QAAQ,EAAE,YAAY,CAAC;IACvB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CACzC,CAAC,CAoND;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,GAAG,EACT,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,EACvC,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,IAAI,CAAC,CAyEf;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,WAAW,EAAE,GAAG,EAChB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA6F7B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,QAAQ,CAAC,EAAE;QACT,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;GAOG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,GAAG,EACT,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,EACvC,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,WAAW,EAAE,CAAC,CAwGxB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,GAAG,EACT,OAAO,EAAE,cAAc,GAAG,MAAM,GAAG,MAAM,GACxC,OAAO,CAAC,OAAO,CAAC,CA6GlB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,GAAG,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,wBAAsB,SAAS,CAC7B,IAAI,EAAE,GAAG,EACT,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,EACvC,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,IAAI,CAAC,CAqDf;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,GAAG,EACT,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,EACvC,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,MAAM,CAAC,CAmDjB;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,GAAG,EACT,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,EACvC,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,IAAI,CAAC,CA0Cf;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,GAAG,CAAC;IACZ,QAAQ,EAAE,GAAG,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5C;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,GAAG,EACT,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,YAAY,CAAC,CAgEvB;AAED;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,GAAG,EACT,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,EACvC,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC,CAwFvB;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,GAAG,EACT,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,EACvC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,YAAY,CAAC,CA+GvB;AAED;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,GAAG,EACT,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,EACvC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,YAAY,CAAC,CAuFvB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC7B;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,WAAW,EAAE,GAAG,EAChB,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,IAAI,CAAC,CAgDf;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAChC,WAAW,EAAE,GAAG,EAChB,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,IAAI,CAAC,CA4Cf;AAED;;;;;GAKG;AACH,wBAAsB,SAAS,CAC7B,WAAW,EAAE,GAAG,EAChB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,IAAI,CAAC,CAuCf;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,GAAG,GACf,OAAO,CAAC,QAAQ,CAAC,CAsCnB;AAED;;;;;GAKG;AACH,wBAAsB,QAAQ,CAC5B,WAAW,EAAE,GAAG,EAChB,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,IAAI,CAAC,CAgDf"}