@machina.ai/cell-cli-core 1.16.0-rc2 → 1.19.4-rc1

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 (277) hide show
  1. package/dist/package.json +6 -4
  2. package/dist/src/agents/codebase-investigator.js +1 -1
  3. package/dist/src/agents/executor.js +12 -21
  4. package/dist/src/agents/executor.js.map +1 -1
  5. package/dist/src/agents/executor.test.js +53 -57
  6. package/dist/src/agents/executor.test.js.map +1 -1
  7. package/dist/src/agents/registry.d.ts +4 -0
  8. package/dist/src/agents/registry.js +23 -0
  9. package/dist/src/agents/registry.js.map +1 -1
  10. package/dist/src/agents/registry.test.js +30 -16
  11. package/dist/src/agents/registry.test.js.map +1 -1
  12. package/dist/src/availability/modelAvailabilityService.d.ts +34 -0
  13. package/dist/src/availability/modelAvailabilityService.js +84 -0
  14. package/dist/src/availability/modelAvailabilityService.js.map +1 -0
  15. package/dist/src/availability/modelAvailabilityService.test.d.ts +6 -0
  16. package/dist/src/availability/modelAvailabilityService.test.js +140 -0
  17. package/dist/src/availability/modelAvailabilityService.test.js.map +1 -0
  18. package/dist/src/availability/modelPolicy.d.ts +42 -0
  19. package/dist/src/availability/modelPolicy.js +7 -0
  20. package/dist/src/availability/modelPolicy.js.map +1 -0
  21. package/dist/src/availability/policyCatalog.d.ts +20 -0
  22. package/dist/src/availability/policyCatalog.js +83 -0
  23. package/dist/src/availability/policyCatalog.js.map +1 -0
  24. package/dist/src/availability/policyCatalog.test.d.ts +6 -0
  25. package/dist/src/availability/policyCatalog.test.js +70 -0
  26. package/dist/src/availability/policyCatalog.test.js.map +1 -0
  27. package/dist/src/code_assist/codeAssist.js +1 -1
  28. package/dist/src/code_assist/codeAssist.test.js +3 -3
  29. package/dist/src/code_assist/oauth-credential-storage.test.js +1 -0
  30. package/dist/src/code_assist/oauth-credential-storage.test.js.map +1 -1
  31. package/dist/src/code_assist/oauth2.js +106 -53
  32. package/dist/src/code_assist/oauth2.js.map +1 -1
  33. package/dist/src/code_assist/oauth2.test.js +25 -12
  34. package/dist/src/code_assist/oauth2.test.js.map +1 -1
  35. package/dist/src/config/config.d.ts +18 -5
  36. package/dist/src/config/config.js +51 -19
  37. package/dist/src/config/config.js.map +1 -1
  38. package/dist/src/config/config.test.js +14 -79
  39. package/dist/src/config/config.test.js.map +1 -1
  40. package/dist/src/config/defaultModelConfigs.js +56 -4
  41. package/dist/src/config/defaultModelConfigs.js.map +1 -1
  42. package/dist/src/confirmation-bus/message-bus.d.ts +6 -0
  43. package/dist/src/confirmation-bus/message-bus.js +63 -2
  44. package/dist/src/confirmation-bus/message-bus.js.map +1 -1
  45. package/dist/src/confirmation-bus/types.d.ts +25 -2
  46. package/dist/src/confirmation-bus/types.js +3 -0
  47. package/dist/src/confirmation-bus/types.js.map +1 -1
  48. package/dist/src/core/AuthenticatedContentGenerator.d.ts +20 -0
  49. package/dist/src/core/AuthenticatedContentGenerator.js +115 -0
  50. package/dist/src/core/AuthenticatedContentGenerator.js.map +1 -0
  51. package/dist/src/core/baseLlmClient.d.ts +27 -1
  52. package/dist/src/core/baseLlmClient.js +66 -45
  53. package/dist/src/core/baseLlmClient.js.map +1 -1
  54. package/dist/src/core/baseLlmClient.test.js +94 -6
  55. package/dist/src/core/baseLlmClient.test.js.map +1 -1
  56. package/dist/src/core/client.d.ts +1 -2
  57. package/dist/src/core/client.js +89 -29
  58. package/dist/src/core/client.js.map +1 -1
  59. package/dist/src/core/client.test.js +82 -41
  60. package/dist/src/core/client.test.js.map +1 -1
  61. package/dist/src/core/clientHookTriggers.d.ts +36 -0
  62. package/dist/src/core/clientHookTriggers.js +76 -0
  63. package/dist/src/core/clientHookTriggers.js.map +1 -0
  64. package/dist/src/core/contentGenerator.d.ts +2 -1
  65. package/dist/src/core/contentGenerator.js +12 -5
  66. package/dist/src/core/contentGenerator.js.map +1 -1
  67. package/dist/src/core/contentGenerator.test.js +119 -1
  68. package/dist/src/core/contentGenerator.test.js.map +1 -1
  69. package/dist/src/core/coreToolScheduler.d.ts +0 -2
  70. package/dist/src/core/coreToolScheduler.js +1 -3
  71. package/dist/src/core/coreToolScheduler.js.map +1 -1
  72. package/dist/src/core/coreToolScheduler.test.js +3 -18
  73. package/dist/src/core/coreToolScheduler.test.js.map +1 -1
  74. package/dist/src/core/geminiChat.d.ts +10 -5
  75. package/dist/src/core/geminiChat.js +57 -22
  76. package/dist/src/core/geminiChat.js.map +1 -1
  77. package/dist/src/core/geminiChat.test.js +188 -55
  78. package/dist/src/core/geminiChat.test.js.map +1 -1
  79. package/dist/src/core/logger.test.js +12 -11
  80. package/dist/src/core/logger.test.js.map +1 -1
  81. package/dist/src/core/nonInteractiveToolExecutor.js +6 -2
  82. package/dist/src/core/nonInteractiveToolExecutor.js.map +1 -1
  83. package/dist/src/core/nonInteractiveToolExecutor.test.js +10 -2
  84. package/dist/src/core/nonInteractiveToolExecutor.test.js.map +1 -1
  85. package/dist/src/core/prompts.js +21 -6
  86. package/dist/src/core/prompts.js.map +1 -1
  87. package/dist/src/core/prompts.test.js +79 -93
  88. package/dist/src/core/prompts.test.js.map +1 -1
  89. package/dist/src/core/turn.d.ts +14 -3
  90. package/dist/src/core/turn.js +13 -7
  91. package/dist/src/core/turn.js.map +1 -1
  92. package/dist/src/core/turn.test.js +73 -139
  93. package/dist/src/core/turn.test.js.map +1 -1
  94. package/dist/src/fallback/handler.js +10 -5
  95. package/dist/src/fallback/handler.js.map +1 -1
  96. package/dist/src/fallback/handler.test.js +79 -17
  97. package/dist/src/fallback/handler.test.js.map +1 -1
  98. package/dist/src/generated/git-commit.d.ts +2 -2
  99. package/dist/src/generated/git-commit.js +2 -2
  100. package/dist/src/hooks/hookEventHandler.d.ts +109 -0
  101. package/dist/src/hooks/hookEventHandler.js +486 -0
  102. package/dist/src/hooks/hookEventHandler.js.map +1 -0
  103. package/dist/src/hooks/hookEventHandler.test.d.ts +6 -0
  104. package/dist/src/hooks/hookEventHandler.test.js +384 -0
  105. package/dist/src/hooks/hookEventHandler.test.js.map +1 -0
  106. package/dist/src/hooks/hookSystem.d.ts +48 -0
  107. package/dist/src/hooks/hookSystem.js +83 -0
  108. package/dist/src/hooks/hookSystem.js.map +1 -0
  109. package/dist/src/hooks/hookSystem.test.d.ts +6 -0
  110. package/dist/src/hooks/hookSystem.test.js +213 -0
  111. package/dist/src/hooks/hookSystem.test.js.map +1 -0
  112. package/dist/src/hooks/index.d.ts +15 -0
  113. package/dist/src/hooks/index.js +15 -0
  114. package/dist/src/hooks/index.js.map +1 -0
  115. package/dist/src/index.d.ts +4 -0
  116. package/dist/src/index.js +6 -0
  117. package/dist/src/index.js.map +1 -1
  118. package/dist/src/mcp/oauth-provider.test.js +1 -0
  119. package/dist/src/mcp/oauth-provider.test.js.map +1 -1
  120. package/dist/src/policy/policy-engine.d.ts +17 -1
  121. package/dist/src/policy/policy-engine.js +90 -1
  122. package/dist/src/policy/policy-engine.js.map +1 -1
  123. package/dist/src/policy/policy-engine.test.js +222 -0
  124. package/dist/src/policy/policy-engine.test.js.map +1 -1
  125. package/dist/src/policy/types.d.ts +51 -1
  126. package/dist/src/policy/types.js +21 -0
  127. package/dist/src/policy/types.js.map +1 -1
  128. package/dist/src/prompts/mcp-prompts.test.js +0 -1
  129. package/dist/src/prompts/mcp-prompts.test.js.map +1 -1
  130. package/dist/src/prompts/prompt-registry.test.js +0 -15
  131. package/dist/src/prompts/prompt-registry.test.js.map +1 -1
  132. package/dist/src/routing/modelRouterService.js +1 -1
  133. package/dist/src/routing/modelRouterService.js.map +1 -1
  134. package/dist/src/routing/strategies/classifierStrategy.test.js +4 -3
  135. package/dist/src/routing/strategies/classifierStrategy.test.js.map +1 -1
  136. package/dist/src/services/chatCompressionService.d.ts +2 -1
  137. package/dist/src/services/chatCompressionService.js +23 -7
  138. package/dist/src/services/chatCompressionService.js.map +1 -1
  139. package/dist/src/services/chatCompressionService.test.js +27 -32
  140. package/dist/src/services/chatCompressionService.test.js.map +1 -1
  141. package/dist/src/services/chatRecordingService.d.ts +1 -1
  142. package/dist/src/services/gitService.js +3 -1
  143. package/dist/src/services/gitService.js.map +1 -1
  144. package/dist/src/services/gitService.test.js +10 -0
  145. package/dist/src/services/gitService.test.js.map +1 -1
  146. package/dist/src/services/modelConfig.integration.test.js +34 -0
  147. package/dist/src/services/modelConfig.integration.test.js.map +1 -1
  148. package/dist/src/services/modelConfigService.d.ts +3 -0
  149. package/dist/src/services/modelConfigService.js +12 -3
  150. package/dist/src/services/modelConfigService.js.map +1 -1
  151. package/dist/src/services/modelConfigService.test.js +133 -0
  152. package/dist/src/services/modelConfigService.test.js.map +1 -1
  153. package/dist/src/services/shellExecutionService.d.ts +2 -0
  154. package/dist/src/services/shellExecutionService.js +35 -6
  155. package/dist/src/services/shellExecutionService.js.map +1 -1
  156. package/dist/src/services/shellExecutionService.test.js +78 -1
  157. package/dist/src/services/shellExecutionService.test.js.map +1 -1
  158. package/dist/src/services/test-data/resolved-aliases.golden.json +57 -4
  159. package/dist/src/telemetry/activity-monitor.test.js +4 -1
  160. package/dist/src/telemetry/activity-monitor.test.js.map +1 -1
  161. package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +2 -1
  162. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +97 -51
  163. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
  164. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +24 -16
  165. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -1
  166. package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +2 -0
  167. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +5 -1
  168. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
  169. package/dist/src/telemetry/loggers.d.ts +2 -1
  170. package/dist/src/telemetry/loggers.js +14 -3
  171. package/dist/src/telemetry/loggers.js.map +1 -1
  172. package/dist/src/telemetry/loggers.test.js +2 -5
  173. package/dist/src/telemetry/loggers.test.js.map +1 -1
  174. package/dist/src/telemetry/metrics.d.ts +26 -8
  175. package/dist/src/telemetry/metrics.js +37 -11
  176. package/dist/src/telemetry/metrics.js.map +1 -1
  177. package/dist/src/telemetry/metrics.test.js +61 -39
  178. package/dist/src/telemetry/metrics.test.js.map +1 -1
  179. package/dist/src/telemetry/sanitize.d.ts +25 -0
  180. package/dist/src/telemetry/sanitize.js +48 -0
  181. package/dist/src/telemetry/sanitize.js.map +1 -0
  182. package/dist/src/telemetry/sanitize.test.d.ts +6 -0
  183. package/dist/src/telemetry/sanitize.test.js +279 -0
  184. package/dist/src/telemetry/sanitize.test.js.map +1 -0
  185. package/dist/src/telemetry/semantic.js +1 -1
  186. package/dist/src/telemetry/semantic.js.map +1 -1
  187. package/dist/src/telemetry/types.d.ts +19 -0
  188. package/dist/src/telemetry/types.js +65 -0
  189. package/dist/src/telemetry/types.js.map +1 -1
  190. package/dist/src/test-utils/config.d.ts +1 -1
  191. package/dist/src/test-utils/config.js +1 -1
  192. package/dist/src/test-utils/mock-message-bus.d.ts +60 -0
  193. package/dist/src/test-utils/mock-message-bus.js +131 -0
  194. package/dist/src/test-utils/mock-message-bus.js.map +1 -0
  195. package/dist/src/test-utils/mock-tool.js +1 -1
  196. package/dist/src/test-utils/mock-tool.js.map +1 -1
  197. package/dist/src/tools/edit.test.js +203 -200
  198. package/dist/src/tools/edit.test.js.map +1 -1
  199. package/dist/src/tools/mcp-client.d.ts +4 -2
  200. package/dist/src/tools/mcp-client.js +226 -114
  201. package/dist/src/tools/mcp-client.js.map +1 -1
  202. package/dist/src/tools/mcp-client.test.js +128 -54
  203. package/dist/src/tools/mcp-client.test.js.map +1 -1
  204. package/dist/src/tools/mcp-tool.test.js +186 -273
  205. package/dist/src/tools/mcp-tool.test.js.map +1 -1
  206. package/dist/src/tools/modifiable-tool.d.ts +1 -1
  207. package/dist/src/tools/modifiable-tool.js +2 -2
  208. package/dist/src/tools/modifiable-tool.js.map +1 -1
  209. package/dist/src/tools/modifiable-tool.test.js +12 -11
  210. package/dist/src/tools/modifiable-tool.test.js.map +1 -1
  211. package/dist/src/tools/ripGrep.test.js +84 -126
  212. package/dist/src/tools/ripGrep.test.js.map +1 -1
  213. package/dist/src/tools/smart-edit.test.js +93 -112
  214. package/dist/src/tools/smart-edit.test.js.map +1 -1
  215. package/dist/src/tools/tool-registry.test.js +59 -90
  216. package/dist/src/tools/tool-registry.test.js.map +1 -1
  217. package/dist/src/tools/web-fetch.test.js +121 -179
  218. package/dist/src/tools/web-fetch.test.js.map +1 -1
  219. package/dist/src/tools/write-file.test.js +105 -116
  220. package/dist/src/tools/write-file.test.js.map +1 -1
  221. package/dist/src/tools/write-todos.d.ts +1 -1
  222. package/dist/src/tools/write-todos.js +1 -1
  223. package/dist/src/utils/customHeaderUtils.d.ts +9 -0
  224. package/dist/src/utils/customHeaderUtils.js +34 -0
  225. package/dist/src/utils/customHeaderUtils.js.map +1 -0
  226. package/dist/src/utils/customHeaderUtils.test.d.ts +6 -0
  227. package/dist/src/utils/customHeaderUtils.test.js +77 -0
  228. package/dist/src/utils/customHeaderUtils.test.js.map +1 -0
  229. package/dist/src/utils/debugLogger.test.js +27 -25
  230. package/dist/src/utils/debugLogger.test.js.map +1 -1
  231. package/dist/src/utils/editor.d.ts +1 -1
  232. package/dist/src/utils/editor.js +3 -2
  233. package/dist/src/utils/editor.js.map +1 -1
  234. package/dist/src/utils/editor.test.js +7 -46
  235. package/dist/src/utils/editor.test.js.map +1 -1
  236. package/dist/src/utils/events.d.ts +33 -3
  237. package/dist/src/utils/events.js +35 -15
  238. package/dist/src/utils/events.js.map +1 -1
  239. package/dist/src/utils/events.test.js +86 -5
  240. package/dist/src/utils/events.test.js.map +1 -1
  241. package/dist/src/utils/filesearch/fileSearch.js +1 -1
  242. package/dist/src/utils/filesearch/fileSearch.js.map +1 -1
  243. package/dist/src/utils/installationManager.test.js +2 -1
  244. package/dist/src/utils/installationManager.test.js.map +1 -1
  245. package/dist/src/utils/llm-edit-fixer.test.js +2 -1
  246. package/dist/src/utils/llm-edit-fixer.test.js.map +1 -1
  247. package/dist/src/utils/memoryDiscovery.test.js +3 -2
  248. package/dist/src/utils/memoryDiscovery.test.js.map +1 -1
  249. package/dist/src/utils/memoryImportProcessor.js +1 -1
  250. package/dist/src/utils/memoryImportProcessor.js.map +1 -1
  251. package/dist/src/utils/memoryImportProcessor.test.js +8 -14
  252. package/dist/src/utils/memoryImportProcessor.test.js.map +1 -1
  253. package/dist/src/utils/nextSpeakerChecker.test.js +3 -1
  254. package/dist/src/utils/nextSpeakerChecker.test.js.map +1 -1
  255. package/dist/src/utils/package.d.ts +14 -0
  256. package/dist/src/utils/package.js +15 -2
  257. package/dist/src/utils/package.js.map +1 -1
  258. package/dist/src/utils/schemaValidator.d.ts +1 -1
  259. package/dist/src/utils/schemaValidator.js +1 -1
  260. package/dist/src/utils/shell-utils.js +1 -1
  261. package/dist/src/utils/stdio.d.ts +32 -0
  262. package/dist/src/utils/stdio.js +85 -0
  263. package/dist/src/utils/stdio.js.map +1 -0
  264. package/dist/src/utils/stdio.test.d.ts +6 -0
  265. package/dist/src/utils/stdio.test.js +47 -0
  266. package/dist/src/utils/stdio.test.js.map +1 -0
  267. package/dist/src/utils/systemEncoding.test.js +2 -1
  268. package/dist/src/utils/systemEncoding.test.js.map +1 -1
  269. package/dist/src/utils/terminal.d.ts +14 -0
  270. package/dist/src/utils/terminal.js +38 -0
  271. package/dist/src/utils/terminal.js.map +1 -0
  272. package/dist/src/utils/userAccountManager.test.js +7 -6
  273. package/dist/src/utils/userAccountManager.test.js.map +1 -1
  274. package/dist/src/utils/workspaceContext.test.js +5 -4
  275. package/dist/src/utils/workspaceContext.test.js.map +1 -1
  276. package/dist/tsconfig.tsbuildinfo +1 -1
  277. package/package.json +6 -4
@@ -0,0 +1,213 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
7
+ import { HookSystem } from './hookSystem.js';
8
+ import { Config } from '../config/config.js';
9
+ import { HookType } from './types.js';
10
+ import { spawn } from 'node:child_process';
11
+ // Mock child_process with importOriginal for partial mocking
12
+ vi.mock('node:child_process', async (importOriginal) => {
13
+ const actual = (await importOriginal());
14
+ return {
15
+ ...actual,
16
+ spawn: vi.fn(),
17
+ };
18
+ });
19
+ // Mock debugLogger - use vi.hoisted to define mock before it's used in vi.mock
20
+ const mockDebugLogger = vi.hoisted(() => ({
21
+ debug: vi.fn(),
22
+ log: vi.fn(),
23
+ warn: vi.fn(),
24
+ error: vi.fn(),
25
+ }));
26
+ vi.mock('../utils/debugLogger.js', () => ({
27
+ debugLogger: mockDebugLogger,
28
+ }));
29
+ // Mock console methods
30
+ const mockConsole = {
31
+ log: vi.fn(),
32
+ warn: vi.fn(),
33
+ error: vi.fn(),
34
+ debug: vi.fn(),
35
+ };
36
+ vi.stubGlobal('console', mockConsole);
37
+ describe('HookSystem Integration', () => {
38
+ let hookSystem;
39
+ let config;
40
+ let mockSpawn;
41
+ beforeEach(() => {
42
+ vi.resetAllMocks();
43
+ // Create a real config with simple command hook configurations for testing
44
+ config = new Config({
45
+ model: 'gemini-1.5-flash',
46
+ targetDir: '/tmp/test-hooks',
47
+ sessionId: 'test-session',
48
+ debugMode: false,
49
+ cwd: '/tmp/test-hooks',
50
+ hooks: {
51
+ BeforeTool: [
52
+ {
53
+ matcher: 'TestTool',
54
+ hooks: [
55
+ {
56
+ type: HookType.Command,
57
+ command: 'echo',
58
+ timeout: 5000,
59
+ },
60
+ ],
61
+ },
62
+ ],
63
+ },
64
+ });
65
+ // Provide getMessageBus mock for MessageBus integration tests
66
+ config.getMessageBus =
67
+ () => undefined;
68
+ hookSystem = new HookSystem(config);
69
+ // Set up spawn mock with accessible mock functions
70
+ const mockStdoutOn = vi.fn();
71
+ const mockStderrOn = vi.fn();
72
+ const mockProcessOn = vi.fn();
73
+ mockSpawn = {
74
+ stdin: {
75
+ write: vi.fn(),
76
+ end: vi.fn(),
77
+ },
78
+ stdout: {
79
+ on: mockStdoutOn,
80
+ },
81
+ stderr: {
82
+ on: mockStderrOn,
83
+ },
84
+ on: mockProcessOn,
85
+ kill: vi.fn(),
86
+ killed: false,
87
+ mockStdoutOn,
88
+ mockStderrOn,
89
+ mockProcessOn,
90
+ };
91
+ vi.mocked(spawn).mockReturnValue(mockSpawn);
92
+ });
93
+ afterEach(async () => {
94
+ // No cleanup needed
95
+ });
96
+ describe('initialize', () => {
97
+ it('should initialize successfully', async () => {
98
+ await hookSystem.initialize();
99
+ expect(mockDebugLogger.debug).toHaveBeenCalledWith('Hook system initialized successfully');
100
+ // Verify system is initialized
101
+ const status = hookSystem.getStatus();
102
+ expect(status.initialized).toBe(true);
103
+ // Note: totalHooks might be 0 if hook validation rejects the test hooks
104
+ });
105
+ it('should not initialize twice', async () => {
106
+ await hookSystem.initialize();
107
+ await hookSystem.initialize(); // Second call should be no-op
108
+ // The system logs both registry initialization and system initialization
109
+ expect(mockDebugLogger.debug).toHaveBeenCalledWith('Hook system initialized successfully');
110
+ });
111
+ it('should handle initialization errors gracefully', async () => {
112
+ // Create a config with invalid hooks to trigger initialization errors
113
+ const invalidConfig = new Config({
114
+ model: 'gemini-1.5-flash',
115
+ targetDir: '/tmp/test-hooks-invalid',
116
+ sessionId: 'test-session-invalid',
117
+ debugMode: false,
118
+ cwd: '/tmp/test-hooks-invalid',
119
+ hooks: {
120
+ BeforeTool: [
121
+ {
122
+ hooks: [
123
+ {
124
+ type: 'invalid-type', // Invalid hook type for testing
125
+ command: './test.sh',
126
+ },
127
+ ],
128
+ },
129
+ ],
130
+ },
131
+ });
132
+ const invalidHookSystem = new HookSystem(invalidConfig);
133
+ // Should not throw, but should log warnings via debugLogger
134
+ await invalidHookSystem.initialize();
135
+ expect(mockDebugLogger.warn).toHaveBeenCalled();
136
+ });
137
+ });
138
+ describe('getEventHandler', () => {
139
+ it('should return event bus when initialized', async () => {
140
+ await hookSystem.initialize();
141
+ // Set up spawn mock behavior for successful execution
142
+ mockSpawn.mockStdoutOn.mockImplementation((event, callback) => {
143
+ if (event === 'data') {
144
+ setTimeout(() => callback(Buffer.from('')), 5); // echo outputs empty
145
+ }
146
+ });
147
+ mockSpawn.mockProcessOn.mockImplementation((event, callback) => {
148
+ if (event === 'close') {
149
+ setTimeout(() => callback(0), 10);
150
+ }
151
+ });
152
+ const eventBus = hookSystem.getEventHandler();
153
+ expect(eventBus).toBeDefined();
154
+ // Test that the event bus can actually fire events
155
+ const result = await eventBus.fireBeforeToolEvent('TestTool', {
156
+ test: 'data',
157
+ });
158
+ expect(result.success).toBe(true);
159
+ });
160
+ it('should throw error when not initialized', () => {
161
+ expect(() => hookSystem.getEventHandler()).toThrow('Hook system not initialized');
162
+ });
163
+ });
164
+ describe('hook execution', () => {
165
+ it('should execute hooks and return results', async () => {
166
+ await hookSystem.initialize();
167
+ // Set up spawn mock behavior for successful execution
168
+ mockSpawn.mockStdoutOn.mockImplementation((event, callback) => {
169
+ if (event === 'data') {
170
+ setTimeout(() => callback(Buffer.from('')), 5); // echo outputs empty
171
+ }
172
+ });
173
+ mockSpawn.mockProcessOn.mockImplementation((event, callback) => {
174
+ if (event === 'close') {
175
+ setTimeout(() => callback(0), 10);
176
+ }
177
+ });
178
+ const eventBus = hookSystem.getEventHandler();
179
+ // Test BeforeTool event with command hook
180
+ const result = await eventBus.fireBeforeToolEvent('TestTool', {
181
+ test: 'data',
182
+ });
183
+ expect(result.success).toBe(true);
184
+ // Command hooks with echo should succeed but may not have specific decisions
185
+ expect(result.errors).toHaveLength(0);
186
+ });
187
+ it('should handle no matching hooks', async () => {
188
+ await hookSystem.initialize();
189
+ const eventBus = hookSystem.getEventHandler();
190
+ // Test with a tool that doesn't match any hooks
191
+ const result = await eventBus.fireBeforeToolEvent('UnmatchedTool', {
192
+ test: 'data',
193
+ });
194
+ expect(result.success).toBe(true);
195
+ expect(result.allOutputs).toHaveLength(0);
196
+ expect(result.finalOutput).toBeUndefined();
197
+ });
198
+ });
199
+ describe('system management', () => {
200
+ it('should return correct status when initialized', async () => {
201
+ await hookSystem.initialize();
202
+ const status = hookSystem.getStatus();
203
+ expect(status.initialized).toBe(true);
204
+ // Note: totalHooks might be 0 if hook validation rejects the test hooks
205
+ expect(typeof status.totalHooks).toBe('number');
206
+ });
207
+ it('should return uninitialized status', () => {
208
+ const status = hookSystem.getStatus();
209
+ expect(status.initialized).toBe(false);
210
+ });
211
+ });
212
+ });
213
+ //# sourceMappingURL=hookSystem.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hookSystem.test.js","sourceRoot":"","sources":["../../../src/hooks/hookSystem.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export * from './types.js';
7
+ export { HookSystem } from './hookSystem.js';
8
+ export { HookRegistry } from './hookRegistry.js';
9
+ export { HookRunner } from './hookRunner.js';
10
+ export { HookAggregator } from './hookAggregator.js';
11
+ export { HookPlanner } from './hookPlanner.js';
12
+ export { HookEventHandler } from './hookEventHandler.js';
13
+ export type { HookRegistryEntry, ConfigSource } from './hookRegistry.js';
14
+ export type { AggregatedHookResult } from './hookAggregator.js';
15
+ export type { HookEventContext } from './hookPlanner.js';
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ // Export types
7
+ export * from './types.js';
8
+ // Export core components
9
+ export { HookSystem } from './hookSystem.js';
10
+ export { HookRegistry } from './hookRegistry.js';
11
+ export { HookRunner } from './hookRunner.js';
12
+ export { HookAggregator } from './hookAggregator.js';
13
+ export { HookPlanner } from './hookPlanner.js';
14
+ export { HookEventHandler } from './hookEventHandler.js';
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAe;AACf,cAAc,YAAY,CAAC;AAE3B,yBAAyB;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -44,6 +44,7 @@ export * from './utils/gitIgnoreParser.js';
44
44
  export * from './utils/gitUtils.js';
45
45
  export * from './utils/editor.js';
46
46
  export * from './utils/quotaErrorDetection.js';
47
+ export * from './utils/userAccountManager.js';
47
48
  export * from './utils/googleQuotaErrors.js';
48
49
  export * from './utils/fileUtils.js';
49
50
  export * from './utils/retry.js';
@@ -105,6 +106,9 @@ export * from './telemetry/index.js';
105
106
  export { sessionId } from './utils/session.js';
106
107
  export * from './utils/browser.js';
107
108
  export { Storage } from './config/storage.js';
109
+ export * from './hooks/index.js';
108
110
  export * from './test-utils/index.js';
109
111
  export * from './hooks/types.js';
110
112
  export { getManagedMcpConfig } from './mcp/mcpLauncher.js';
113
+ export * from './utils/stdio.js';
114
+ export * from './utils/terminal.js';
package/dist/src/index.js CHANGED
@@ -48,6 +48,7 @@ export * from './utils/gitIgnoreParser.js';
48
48
  export * from './utils/gitUtils.js';
49
49
  export * from './utils/editor.js';
50
50
  export * from './utils/quotaErrorDetection.js';
51
+ export * from './utils/userAccountManager.js';
51
52
  export * from './utils/googleQuotaErrors.js';
52
53
  export * from './utils/fileUtils.js';
53
54
  export * from './utils/retry.js';
@@ -114,10 +115,15 @@ export * from './telemetry/index.js';
114
115
  export { sessionId } from './utils/session.js';
115
116
  export * from './utils/browser.js';
116
117
  export { Storage } from './config/storage.js';
118
+ // Export hooks system
119
+ export * from './hooks/index.js';
117
120
  // Export test utils
118
121
  export * from './test-utils/index.js';
119
122
  // Export hook types
120
123
  export * from './hooks/types.js';
121
124
  // Export MCP launcher
122
125
  export { getManagedMcpConfig } from './mcp/mcpLauncher.js';
126
+ // Export stdio utils
127
+ export * from './utils/stdio.js';
128
+ export * from './utils/terminal.js';
123
129
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,7 @@ vi.mock('./oauth-token-storage.js', () => {
27
27
  vi.mock('../utils/events.js', () => ({
28
28
  coreEvents: {
29
29
  emitFeedback: vi.fn(),
30
+ emitConsoleLog: vi.fn(),
30
31
  },
31
32
  }));
32
33
  import { describe, it, expect, beforeEach, afterEach } from 'vitest';
@@ -1 +1 @@
1
- {"version":3,"file":"oauth-provider.test.js","sourceRoot":"","sources":["../../../src/mcp/oauth-provider.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth-provider.test.js","sourceRoot":"","sources":["../../../src/mcp/oauth-provider.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE5B,+BAA+B;AAC/B,MAAM,uBAAuB,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AAC1D,EAAE,CAAC,IAAI,CAAC,qCAAqC,EAAE,GAAG,EAAE,CAAC,CAAC;IACpD,mBAAmB,EAAE,uBAAuB;CAC7C,CAAC,CAAC,CAAC;AACJ,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACvB,EAAE,CAAC,IAAI,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACvC,MAAM,aAAa,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAC9B,MAAM,kBAAkB,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IACnC,MAAM,kBAAkB,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IACnC,MAAM,qBAAqB,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAEtC,OAAO;QACL,oBAAoB,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;YACjC,SAAS,EAAE,aAAa;YACxB,cAAc,EAAE,kBAAkB;YAClC,cAAc,EAAE,kBAAkB;YAClC,iBAAiB,EAAE,qBAAqB;SACzC,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC,CAAC,CAAC;AACH,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE,CAAC,CAAC;IACnC,UAAU,EAAE;QACV,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE;QACrB,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE;KACxB;CACF,CAAC,CAAC,CAAC;AAEJ,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACrE,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAMtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EACL,UAAU,GAGX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,sBAAsB;AACtB,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;AAC1B,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC;AAEzB,qEAAqE;AACrE,MAAM,kBAAkB,GAAG,CAAC,OAM3B,EAAE,EAAE;IACH,MAAM,QAAQ,GAQV;QACF,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,OAAO,EAAE;YACP,GAAG,EAAE,CAAC,IAAY,EAAE,EAAE;gBACpB,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,cAAc,EAAE,CAAC;oBAC1C,OAAO,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC;gBACrC,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;SACF;KACF,CAAC;IAEF,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACjC,QAAQ,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IACnC,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC/B,QAAQ,CAAC,IAAI;YACX,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ;gBAC9B,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAc,CAAC;gBAC/C,CAAC,CAAE,OAAO,CAAC,IAA8B,CAAC;IAChD,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC/B,QAAQ,CAAC,IAAI;YACX,OAAO,OAAO,CAAC,IAAI,KAAK,UAAU;gBAChC,CAAC,CAAE,OAAO,CAAC,IAA+B;gBAC1C,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,gFAAgF;AAChF,MAAM,cAAc,GAAG;IACrB,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE;IACf,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE;IACd,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE;IACX,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;CAC7E,CAAC;AACF,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1B,YAAY,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC;CAC1C,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,MAAM,UAAU,GAAmB;QACjC,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,gBAAgB;QAC1B,YAAY,EAAE,oBAAoB;QAClC,gBAAgB,EAAE,oCAAoC;QACtD,QAAQ,EAAE,gCAAgC;QAC1C,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;QACzB,WAAW,EAAE,sCAAsC;QACnD,SAAS,EAAE,CAAC,yBAAyB,CAAC;KACvC,CAAC;IAEF,MAAM,SAAS,GAAe;QAC5B,WAAW,EAAE,kBAAkB;QAC/B,YAAY,EAAE,mBAAmB;QACjC,SAAS,EAAE,QAAQ;QACnB,KAAK,EAAE,YAAY;QACnB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO;KAChC,CAAC;IAEF,MAAM,iBAAiB,GAAuB;QAC5C,YAAY,EAAE,kBAAkB;QAChC,UAAU,EAAE,QAAQ;QACpB,UAAU,EAAE,IAAI;QAChB,aAAa,EAAE,mBAAmB;QAClC,KAAK,EAAE,YAAY;KACpB,CAAC;IAEF,UAAU,CAAC,GAAG,EAAE;QACd,EAAE,CAAC,aAAa,EAAE,CAAC;QACnB,uBAAuB,CAAC,SAAS,EAAE,CAAC;QACpC,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACtD,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACvD,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAExD,wBAAwB;QACxB,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAY,EAAE,EAAE;YAChE,IAAI,IAAI,KAAK,EAAE;gBAAE,OAAO,MAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;YACxE,IAAI,IAAI,KAAK,EAAE;gBAAE,OAAO,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACxD,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC;YAC3C,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,cAAc,EAAE;YAChC,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,qBAAqB,CAAC;SAC7B,CAAC,CAAC;QAE7B,0DAA0D;QAC1D,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE,EAAE;YACxD,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;gBAChB,OAAO,MAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;YAChE,CAAC;iBAAM,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;gBACvB,OAAO,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAC5C,CAAC;YACD,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,qBAAqB;QACrB,MAAM,YAAY,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAChD,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC/D,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,EAAE,CAAC,eAAe,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC5B,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;YAC5D,4BAA4B;YAC5B,IAAI,eAAwB,CAAC;YAC7B,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,kBAAkB,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC1D,eAAe,GAAG,OAAO,CAAC;gBAC1B,OAAO,cAAwC,CAAC;YAClD,CAAC,CAAC,CAAC;YAEH,cAAc,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;gBAC1D,QAAQ,EAAE,EAAE,CAAC;gBACb,0BAA0B;gBAC1B,UAAU,CAAC,GAAG,EAAE;oBACd,MAAM,OAAO,GAAG;wBACd,GAAG,EAAE,qEAAqE;qBAC3E,CAAC;oBACF,MAAM,OAAO,GAAG;wBACd,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;wBAClB,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;qBACb,CAAC;oBACD,eAAwD,CACvD,OAAO,EACP,OAAO,CACR,CAAC;gBACJ,CAAC,EAAE,EAAE,CAAC,CAAC;YACT,CAAC,CAAC,CAAC;YAEH,sBAAsB;YACtB,SAAS,CAAC,qBAAqB,CAC7B,kBAAkB,CAAC;gBACjB,EAAE,EAAE,IAAI;gBACR,WAAW,EAAE,kBAAkB;gBAC/B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC;gBACvC,IAAI,EAAE,iBAAiB;aACxB,CAAC,CACH,CAAC;YAEF,MAAM,YAAY,GAAG,IAAI,gBAAgB,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;YAE1E,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACrB,WAAW,EAAE,kBAAkB;gBAC/B,YAAY,EAAE,mBAAmB;gBACjC,SAAS,EAAE,QAAQ;gBACnB,KAAK,EAAE,YAAY;gBACnB,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;aAC9B,CAAC,CAAC;YAEH,MAAM,CAAC,uBAAuB,CAAC,CAAC,oBAAoB,CAClD,MAAM,CAAC,gBAAgB,CAAC,WAAW,CAAC,CACrC,CAAC;YACF,MAAM,YAAY,GAAG,IAAI,oBAAoB,EAAE,CAAC;YAChD,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,oBAAoB,CACjD,aAAa,EACb,MAAM,CAAC,gBAAgB,CAAC,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC,EAC5D,gBAAgB,EAChB,gCAAgC,EAChC,SAAS,CACV,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;YAChF,8BAA8B;YAC9B,MAAM,iBAAiB,GAAmB;gBACxC,GAAG,UAAU;gBACb,QAAQ,EAAE,gBAAgB;gBAC1B,YAAY,EAAE,oBAAoB;aACnC,CAAC;YACF,OAAO,iBAAiB,CAAC,gBAAgB,CAAC;YAC1C,OAAO,iBAAiB,CAAC,QAAQ,CAAC;YAElC,MAAM,oBAAoB,GAAG;gBAC3B,qBAAqB,EAAE,CAAC,6BAA6B,CAAC;aACvD,CAAC;YAEF,MAAM,sBAAsB,GAAG;gBAC7B,sBAAsB,EAAE,uCAAuC;gBAC/D,cAAc,EAAE,mCAAmC;gBACnD,gBAAgB,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;aACpC,CAAC;YAEF,+CAA+C;YAC/C,SAAS;iBACN,qBAAqB,CACpB,kBAAkB,CAAC;gBACjB,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE,GAAG;aACZ,CAAC,CACH;iBACA,qBAAqB,CACpB,kBAAkB,CAAC;gBACjB,EAAE,EAAE,IAAI;gBACR,WAAW,EAAE,kBAAkB;gBAC/B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC;gBAC1C,IAAI,EAAE,oBAAoB;aAC3B,CAAC,CACH;iBACA,qBAAqB,CACpB,kBAAkB,CAAC;gBACjB,EAAE,EAAE,IAAI;gBACR,WAAW,EAAE,kBAAkB;gBAC/B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC;gBAC5C,IAAI,EAAE,sBAAsB;aAC7B,CAAC,CACH,CAAC;YAEJ,yBAAyB;YACzB,IAAI,eAAwB,CAAC;YAC7B,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,kBAAkB,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC1D,eAAe,GAAG,OAAO,CAAC;gBAC1B,OAAO,cAAwC,CAAC;YAClD,CAAC,CAAC,CAAC;YAEH,cAAc,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;gBAC1D,QAAQ,EAAE,EAAE,CAAC;gBACb,UAAU,CAAC,GAAG,EAAE;oBACd,MAAM,OAAO,GAAG;wBACd,GAAG,EAAE,qEAAqE;qBAC3E,CAAC;oBACF,MAAM,OAAO,GAAG;wBACd,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;wBAClB,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;qBACb,CAAC;oBACD,eAAwD,CACvD,OAAO,EACP,OAAO,CACR,CAAC;gBACJ,CAAC,EAAE,EAAE,CAAC,CAAC;YACT,CAAC,CAAC,CAAC;YAEH,+CAA+C;YAC/C,SAAS,CAAC,qBAAqB,CAC7B,kBAAkB,CAAC;gBACjB,EAAE,EAAE,IAAI;gBACR,WAAW,EAAE,kBAAkB;gBAC/B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC;gBACvC,IAAI,EAAE,iBAAiB;aACxB,CAAC,CACH,CAAC;YAEF,MAAM,YAAY,GAAG,IAAI,gBAAgB,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,YAAY,CAC5C,aAAa,EACb,iBAAiB,EACjB,yBAAyB,CAC1B,CAAC;YAEF,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;YAC7B,MAAM,CAAC,SAAS,CAAC,CAAC,oBAAoB,CACpC,mCAAmC,EACnC,MAAM,CAAC,gBAAgB,CAAC;gBACtB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,MAAM,CAAC,gBAAgB,CAAC;oBAC/B,cAAc,EAAE,mCAAmC;iBACpD,CAAC;aACH,CAAC,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2GAA2G,EAAE,KAAK,IAAI,EAAE;YACzH,MAAM,mBAAmB,GAAmB;gBAC1C,GAAG,UAAU;gBACb,eAAe,EAAE,mCAAmC;aACrD,CAAC;YACF,OAAO,mBAAmB,CAAC,QAAQ,CAAC;YAEpC,MAAM,wBAAwB,GAAoC;gBAChE,SAAS,EAAE,mBAAmB;gBAC9B,aAAa,EAAE,uBAAuB;gBACtC,aAAa,EAAE,CAAC,sCAAsC,CAAC;gBACvD,WAAW,EAAE,CAAC,oBAAoB,EAAE,eAAe,CAAC;gBACpD,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,0BAA0B,EAAE,MAAM;aACnC,CAAC;YAEF,SAAS,CAAC,qBAAqB,CAC7B,kBAAkB,CAAC;gBACjB,EAAE,EAAE,IAAI;gBACR,WAAW,EAAE,kBAAkB;gBAC/B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC;gBAC9C,IAAI,EAAE,wBAAwB;aAC/B,CAAC,CACH,CAAC;YAEF,yBAAyB;YACzB,IAAI,eAAwB,CAAC;YAC7B,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,kBAAkB,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC1D,eAAe,GAAG,OAAO,CAAC;gBAC1B,OAAO,cAAwC,CAAC;YAClD,CAAC,CAAC,CAAC;YAEH,cAAc,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;gBAC1D,QAAQ,EAAE,EAAE,CAAC;gBACb,UAAU,CAAC,GAAG,EAAE;oBACd,MAAM,OAAO,GAAG;wBACd,GAAG,EAAE,qEAAqE;qBAC3E,CAAC;oBACF,MAAM,OAAO,GAAG;wBACd,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;wBAClB,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;qBACb,CAAC;oBACD,eAAwD,CACvD,OAAO,EACP,OAAO,CACR,CAAC;gBACJ,CAAC,EAAE,EAAE,CAAC,CAAC;YACT,CAAC,CAAC,CAAC;YAEH,sBAAsB;YACtB,SAAS,CAAC,qBAAqB,CAC7B,kBAAkB,CAAC;gBACjB,EAAE,EAAE,IAAI;gBACR,WAAW,EAAE,kBAAkB;gBAC/B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC;gBACvC,IAAI,EAAE,iBAAiB;aACxB,CAAC,CACH,CAAC;YAEF,MAAM,YAAY,GAAG,IAAI,gBAAgB,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,YAAY,CAC5C,aAAa,EACb,mBAAmB,CACpB,CAAC;YAEF,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;YAC7B,MAAM,CAAC,SAAS,CAAC,CAAC,oBAAoB,CACpC,mCAAmC,EACnC,MAAM,CAAC,gBAAgB,CAAC;gBACtB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;aAChD,CAAC,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+GAA+G,EAAE,KAAK,IAAI,EAAE;YAC7H,MAAM,mBAAmB,GAAmB,EAAE,GAAG,UAAU,EAAE,CAAC;YAC9D,OAAO,mBAAmB,CAAC,QAAQ,CAAC;YAEpC,MAAM,wBAAwB,GAAoC;gBAChE,SAAS,EAAE,mBAAmB;gBAC9B,aAAa,EAAE,uBAAuB;gBACtC,aAAa,EAAE,CAAC,sCAAsC,CAAC;gBACvD,WAAW,EAAE,CAAC,oBAAoB,EAAE,eAAe,CAAC;gBACpD,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,0BAA0B,EAAE,MAAM;aACnC,CAAC;YAEF,MAAM,sBAAsB,GAAqC;gBAC/D,MAAM,EAAE,0BAA0B;gBAClC,sBAAsB,EAAE,oCAAoC;gBAC5D,cAAc,EAAE,gCAAgC;gBAChD,qBAAqB,EAAE,mCAAmC;aAC3D,CAAC;YAEF,SAAS;iBACN,qBAAqB,CACpB,kBAAkB,CAAC;gBACjB,EAAE,EAAE,IAAI;gBACR,WAAW,EAAE,kBAAkB;gBAC/B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC;gBAC5C,IAAI,EAAE,sBAAsB;aAC7B,CAAC,CACH;iBACA,qBAAqB,CACpB,kBAAkB,CAAC;gBACjB,EAAE,EAAE,IAAI;gBACR,WAAW,EAAE,kBAAkB;gBAC/B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC;gBAC9C,IAAI,EAAE,wBAAwB;aAC/B,CAAC,CACH,CAAC;YAEJ,yBAAyB;YACzB,IAAI,eAAwB,CAAC;YAC7B,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,kBAAkB,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC1D,eAAe,GAAG,OAAO,CAAC;gBAC1B,OAAO,cAAwC,CAAC;YAClD,CAAC,CAAC,CAAC;YAEH,cAAc,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;gBAC1D,QAAQ,EAAE,EAAE,CAAC;gBACb,UAAU,CAAC,GAAG,EAAE;oBACd,MAAM,OAAO,GAAG;wBACd,GAAG,EAAE,qEAAqE;qBAC3E,CAAC;oBACF,MAAM,OAAO,GAAG;wBACd,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;wBAClB,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;qBACb,CAAC;oBACD,eAAwD,CACvD,OAAO,EACP,OAAO,CACR,CAAC;gBACJ,CAAC,EAAE,EAAE,CAAC,CAAC;YACT,CAAC,CAAC,CAAC;YAEH,sBAAsB;YACtB,SAAS,CAAC,qBAAqB,CAC7B,kBAAkB,CAAC;gBACjB,EAAE,EAAE,IAAI;gBACR,WAAW,EAAE,kBAAkB;gBAC/B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC;gBACvC,IAAI,EAAE,iBAAiB;aACxB,CAAC,CACH,CAAC;YAEF,MAAM,YAAY,GAAG,IAAI,gBAAgB,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,YAAY,CAC5C,aAAa,EACb,mBAAmB,CACpB,CAAC;YAEF,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;YAC7B,MAAM,CAAC,SAAS,CAAC,CAAC,oBAAoB,CACpC,mCAAmC,EACnC,MAAM,CAAC,gBAAgB,CAAC;gBACtB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;aAChD,CAAC,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uIAAuI,EAAE,KAAK,IAAI,EAAE;YACrJ,MAAM,sCAAsC,GAAmB;gBAC7D,GAAG,UAAU;aACd,CAAC;YACF,OAAO,sCAAsC,CAAC,QAAQ,CAAC;YACvD,OAAO,sCAAsC,CAAC,gBAAgB,CAAC;YAE/D,MAAM,oBAAoB,GAAmC;gBAC3D,QAAQ,EAAE,yBAAyB;gBACnC,qBAAqB,EAAE,CAAC,0BAA0B,CAAC;aACpD,CAAC;YAEF,MAAM,sBAAsB,GAAqC;gBAC/D,MAAM,EAAE,0BAA0B;gBAClC,sBAAsB,EAAE,oCAAoC;gBAC5D,cAAc,EAAE,gCAAgC;gBAChD,qBAAqB,EAAE,mCAAmC;aAC3D,CAAC;YAEF,MAAM,wBAAwB,GAAoC;gBAChE,SAAS,EAAE,mBAAmB;gBAC9B,aAAa,EAAE,uBAAuB;gBACtC,aAAa,EAAE,CAAC,sCAAsC,CAAC;gBACvD,WAAW,EAAE,CAAC,oBAAoB,EAAE,eAAe,CAAC;gBACpD,cAAc,EAAE,CAAC,MAAM,CAAC;gBACxB,0BAA0B,EAAE,MAAM;aACnC,CAAC;YAEF,SAAS;iBACN,qBAAqB,CACpB,kBAAkB,CAAC;gBACjB,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE,GAAG;aACZ,CAAC,CACH;iBACA,qBAAqB,CACpB,kBAAkB,CAAC;gBACjB,EAAE,EAAE,IAAI;gBACR,WAAW,EAAE,kBAAkB;gBAC/B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC;gBAC1C,IAAI,EAAE,oBAAoB;aAC3B,CAAC,CACH;iBACA,qBAAqB,CACpB,kBAAkB,CAAC;gBACjB,EAAE,EAAE,IAAI;gBACR,WAAW,EAAE,kBAAkB;gBAC/B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC;gBAC5C,IAAI,EAAE,sBAAsB;aAC7B,CAAC,CACH;iBACA,qBAAqB,CACpB,kBAAkB,CAAC;gBACjB,EAAE,EAAE,IAAI;gBACR,WAAW,EAAE,kBAAkB;gBAC/B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC;gBAC9C,IAAI,EAAE,wBAAwB;aAC/B,CAAC,CACH,CAAC;YAEJ,yBAAyB;YACzB,IAAI,eAAwB,CAAC;YAC7B,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,kBAAkB,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC1D,eAAe,GAAG,OAAO,CAAC;gBAC1B,OAAO,cAAwC,CAAC;YAClD,CAAC,CAAC,CAAC;YAEH,cAAc,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;gBAC1D,QAAQ,EAAE,EAAE,CAAC;gBACb,UAAU,CAAC,GAAG,EAAE;oBACd,MAAM,OAAO,GAAG;wBACd,GAAG,EAAE,qEAAqE;qBAC3E,CAAC;oBACF,MAAM,OAAO,GAAG;wBACd,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;wBAClB,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;qBACb,CAAC;oBACD,eAAwD,CACvD,OAAO,EACP,OAAO,CACR,CAAC;gBACJ,CAAC,EAAE,EAAE,CAAC,CAAC;YACT,CAAC,CAAC,CAAC;YAEH,sBAAsB;YACtB,SAAS,CAAC,qBAAqB,CAC7B,kBAAkB,CAAC;gBACjB,EAAE,EAAE,IAAI;gBACR,WAAW,EAAE,kBAAkB;gBAC/B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC;gBACvC,IAAI,EAAE,iBAAiB;aACxB,CAAC,CACH,CAAC;YAEF,MAAM,YAAY,GAAG,IAAI,gBAAgB,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,YAAY,CAC5C,aAAa,EACb,sCAAsC,EACtC,yBAAyB,CAC1B,CAAC;YAEF,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;YAC7B,MAAM,CAAC,SAAS,CAAC,CAAC,oBAAoB,CACpC,mCAAmC,EACnC,MAAM,CAAC,gBAAgB,CAAC;gBACtB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;aAChD,CAAC,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACnD,IAAI,eAAwB,CAAC;YAC7B,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,kBAAkB,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC1D,eAAe,GAAG,OAAO,CAAC;gBAC1B,OAAO,cAAwC,CAAC;YAClD,CAAC,CAAC,CAAC;YAEH,cAAc,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;gBAC1D,QAAQ,EAAE,EAAE,CAAC;gBACb,UAAU,CAAC,GAAG,EAAE;oBACd,MAAM,OAAO,GAAG;wBACd,GAAG,EAAE,8EAA8E;qBACpF,CAAC;oBACF,MAAM,OAAO,GAAG;wBACd,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;wBAClB,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;qBACb,CAAC;oBACD,eAAwD,CACvD,OAAO,EACP,OAAO,CACR,CAAC;gBACJ,CAAC,EAAE,EAAE,CAAC,CAAC;YACT,CAAC,CAAC,CAAC;YAEH,MAAM,YAAY,GAAG,IAAI,gBAAgB,EAAE,CAAC;YAC5C,MAAM,MAAM,CACV,YAAY,CAAC,YAAY,CAAC,aAAa,EAAE,UAAU,CAAC,CACrD,CAAC,OAAO,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;YACxD,IAAI,eAAwB,CAAC;YAC7B,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,kBAAkB,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC1D,eAAe,GAAG,OAAO,CAAC;gBAC1B,OAAO,cAAwC,CAAC;YAClD,CAAC,CAAC,CAAC;YAEH,cAAc,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;gBAC1D,QAAQ,EAAE,EAAE,CAAC;gBACb,UAAU,CAAC,GAAG,EAAE;oBACd,MAAM,OAAO,GAAG;wBACd,GAAG,EAAE,sDAAsD;qBAC5D,CAAC;oBACF,MAAM,OAAO,GAAG;wBACd,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;wBAClB,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;qBACb,CAAC;oBACD,eAAwD,CACvD,OAAO,EACP,OAAO,CACR,CAAC;gBACJ,CAAC,EAAE,EAAE,CAAC,CAAC;YACT,CAAC,CAAC,CAAC;YAEH,MAAM,YAAY,GAAG,IAAI,gBAAgB,EAAE,CAAC;YAC5C,MAAM,MAAM,CACV,YAAY,CAAC,YAAY,CAAC,aAAa,EAAE,UAAU,CAAC,CACrD,CAAC,OAAO,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;YACpD,IAAI,eAAwB,CAAC;YAC7B,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,kBAAkB,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC1D,eAAe,GAAG,OAAO,CAAC;gBAC1B,OAAO,cAAwC,CAAC;YAClD,CAAC,CAAC,CAAC;YAEH,cAAc,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;gBAC1D,QAAQ,EAAE,EAAE,CAAC;gBACb,UAAU,CAAC,GAAG,EAAE;oBACd,MAAM,OAAO,GAAG;wBACd,GAAG,EAAE,qEAAqE;qBAC3E,CAAC;oBACF,MAAM,OAAO,GAAG;wBACd,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;wBAClB,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;qBACb,CAAC;oBACD,eAAwD,CACvD,OAAO,EACP,OAAO,CACR,CAAC;gBACJ,CAAC,EAAE,EAAE,CAAC,CAAC;YACT,CAAC,CAAC,CAAC;YAEH,SAAS,CAAC,qBAAqB,CAC7B,kBAAkB,CAAC;gBACjB,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,GAAG;gBACX,WAAW,EAAE,mCAAmC;gBAChD,IAAI,EAAE,qDAAqD;aAC5D,CAAC,CACH,CAAC;YAEF,MAAM,YAAY,GAAG,IAAI,gBAAgB,EAAE,CAAC;YAC5C,MAAM,MAAM,CACV,YAAY,CAAC,YAAY,CAAC,aAAa,EAAE,UAAU,CAAC,CACrD,CAAC,OAAO,CAAC,OAAO,CAAC,sDAAsD,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;YACrD,MAAM,iBAAiB,GAAmB,EAAE,GAAG,UAAU,EAAE,CAAC;YAC5D,OAAO,iBAAiB,CAAC,gBAAgB,CAAC;YAC1C,OAAO,iBAAiB,CAAC,QAAQ,CAAC;YAElC,SAAS,CAAC,qBAAqB,CAC7B,kBAAkB,CAAC;gBACjB,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,GAAG;aACZ,CAAC,CACH,CAAC;YAEF,MAAM,YAAY,GAAG,IAAI,gBAAgB,EAAE,CAAC;YAC5C,MAAM,MAAM,CACV,YAAY,CAAC,YAAY,CACvB,aAAa,EACb,iBAAiB,EACjB,yBAAyB,CAC1B,CACF,CAAC,OAAO,CAAC,OAAO,CACf,wDAAwD,CACzD,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;YAC7E,MAAM,mBAAmB,GAAmB,EAAE,GAAG,UAAU,EAAE,CAAC;YAC9D,OAAO,mBAAmB,CAAC,QAAQ,CAAC;YAEpC,SAAS,CAAC,iBAAiB,CACzB,kBAAkB,CAAC;gBACjB,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,GAAG;aACZ,CAAC,CACH,CAAC;YAEF,gDAAgD;YAChD,cAAc,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;gBAC1D,QAAQ,EAAE,EAAE,CAAC;YACf,CAAC,CAAC,CAAC;YAEH,MAAM,YAAY,GAAG,IAAI,gBAAgB,EAAE,CAAC;YAC5C,MAAM,MAAM,CACV,YAAY,CAAC,YAAY,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAC9D,CAAC,OAAO,CAAC,OAAO,CACf,uEAAuE,CACxE,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;YACtD,IAAI,eAAwB,CAAC;YAC7B,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,kBAAkB,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC1D,eAAe,GAAG,OAAO,CAAC;gBAC1B,OAAO,cAAwC,CAAC;YAClD,CAAC,CAAC,CAAC;YAEH,cAAc,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;gBAC1D,QAAQ,EAAE,EAAE,CAAC;gBACb,UAAU,CAAC,GAAG,EAAE;oBACd,MAAM,OAAO,GAAG;wBACd,GAAG,EAAE,eAAe;qBACrB,CAAC;oBACF,MAAM,OAAO,GAAG;wBACd,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;wBAClB,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;qBACb,CAAC;oBACD,eAAwD,CACvD,OAAO,EACP,OAAO,CACR,CAAC;gBACJ,CAAC,EAAE,CAAC,CAAC,CAAC;YACR,CAAC,CAAC,CAAC;YAEH,MAAM,YAAY,GAAG,IAAI,gBAAgB,EAAE,CAAC;YAC5C,qFAAqF;YACrF,gDAAgD;YAChD,MAAM,OAAO,CAAC,IAAI,CAAC;gBACjB,YAAY,CAAC,YAAY,CAAC,aAAa,EAAE,UAAU,CAAC;gBACpD,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;aACpD,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;YAC3E,IAAI,eAAwB,CAAC;YAC7B,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,kBAAkB,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC1D,eAAe,GAAG,OAAO,CAAC;gBAC1B,OAAO,cAAwC,CAAC;YAClD,CAAC,CAAC,CAAC;YAEH,cAAc,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;gBAC1D,QAAQ,EAAE,EAAE,CAAC;gBACb,UAAU,CAAC,GAAG,EAAE;oBACd,MAAM,OAAO,GAAG;wBACd,GAAG,EAAE,qEAAqE;qBAC3E,CAAC;oBACF,MAAM,OAAO,GAAG;wBACd,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;wBAClB,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;qBACb,CAAC;oBACD,eAAwD,CACvD,OAAO,EACP,OAAO,CACR,CAAC;gBACJ,CAAC,EAAE,EAAE,CAAC,CAAC;YACT,CAAC,CAAC,CAAC;YAEH,SAAS,CAAC,qBAAqB,CAC7B,kBAAkB,CAAC;gBACjB,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,GAAG;gBACX,WAAW,EAAE,WAAW;gBACxB,IAAI,EAAE,uBAAuB;aAC9B,CAAC,CACH,CAAC;YAEF,MAAM,YAAY,GAAG,IAAI,gBAAgB,EAAE,CAAC;YAC5C,MAAM,MAAM,CACV,YAAY,CAAC,YAAY,CAAC,aAAa,EAAE,UAAU,CAAC,CACrD,CAAC,OAAO,CAAC,OAAO,CAAC,oDAAoD,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;YACzE,IAAI,eAAwB,CAAC;YAC7B,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,kBAAkB,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC1D,eAAe,GAAG,OAAO,CAAC;gBAC1B,OAAO,cAAwC,CAAC;YAClD,CAAC,CAAC,CAAC;YAEH,cAAc,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;gBAC1D,QAAQ,EAAE,EAAE,CAAC;gBACb,UAAU,CAAC,GAAG,EAAE;oBACd,MAAM,OAAO,GAAG;wBACd,GAAG,EAAE,qEAAqE;qBAC3E,CAAC;oBACF,MAAM,OAAO,GAAG;wBACd,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;wBAClB,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;qBACb,CAAC;oBACD,eAAwD,CACvD,OAAO,EACP,OAAO,CACR,CAAC;gBACJ,CAAC,EAAE,EAAE,CAAC,CAAC;YACT,CAAC,CAAC,CAAC;YAEH,SAAS,CAAC,qBAAqB,CAC7B,kBAAkB,CAAC;gBACjB,EAAE,EAAE,IAAI;gBACR,WAAW,EAAE,YAAY;gBACzB,IAAI,EAAE,+BAA+B;aACtC,CAAC,CACH,CAAC;YAEF,MAAM,YAAY,GAAG,IAAI,gBAAgB,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;YAC1E,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;YAC1E,SAAS,CAAC,qBAAqB,CAC7B,kBAAkB,CAAC;gBACjB,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,GAAG;gBACX,WAAW,EAAE,WAAW;gBACxB,IAAI,EAAE,uBAAuB;aAC9B,CAAC,CACH,CAAC;YAEF,MAAM,YAAY,GAAG,IAAI,gBAAgB,EAAE,CAAC;YAC5C,MAAM,MAAM,CACV,YAAY,CAAC,kBAAkB,CAC7B,UAAU,EACV,uBAAuB,EACvB,gCAAgC,CACjC,CACF,CAAC,OAAO,CAAC,OAAO,CAAC,mDAAmD,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;YACxE,SAAS,CAAC,qBAAqB,CAC7B,kBAAkB,CAAC;gBACjB,EAAE,EAAE,IAAI;gBACR,WAAW,EAAE,YAAY;gBACzB,IAAI,EAAE,+BAA+B;aACtC,CAAC,CACH,CAAC;YAEF,MAAM,YAAY,GAAG,IAAI,gBAAgB,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,kBAAkB,CAClD,UAAU,EACV,eAAe,EACf,gCAAgC,CACjC,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;YACzE,uBAAuB,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;YAE1E,IAAI,eAAwB,CAAC;YAC7B,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,kBAAkB,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC1D,eAAe,GAAG,OAAO,CAAC;gBAC1B,OAAO,cAAwC,CAAC;YAClD,CAAC,CAAC,CAAC;YAEH,cAAc,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;gBAC1D,QAAQ,EAAE,EAAE,CAAC;gBACb,UAAU,CAAC,GAAG,EAAE;oBACd,MAAM,OAAO,GAAG;wBACd,GAAG,EAAE,qEAAqE;qBAC3E,CAAC;oBACF,MAAM,OAAO,GAAG;wBACd,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;wBAClB,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;qBACb,CAAC;oBACD,eAAwD,CACvD,OAAO,EACP,OAAO,CACR,CAAC;gBACJ,CAAC,EAAE,EAAE,CAAC,CAAC;YACT,CAAC,CAAC,CAAC;YAEH,SAAS,CAAC,qBAAqB,CAC7B,kBAAkB,CAAC;gBACjB,EAAE,EAAE,IAAI;gBACR,WAAW,EAAE,kBAAkB;gBAC/B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC;gBACvC,IAAI,EAAE,iBAAiB;aACxB,CAAC,CACH,CAAC;YAEF,MAAM,YAAY,GAAG,IAAI,gBAAgB,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;YAC1E,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4EAA4E,EAAE,KAAK,IAAI,EAAE;YAC1F,MAAM,kBAAkB,GAAG;gBACzB,UAAU,EAAE,aAAa;gBACzB,KAAK,EAAE;oBACL,GAAG,SAAS;oBACZ,YAAY,EAAE,SAAS;oBACvB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO;iBAChC;gBACD,QAAQ,EAAE,gBAAgB;gBAC1B,QAAQ,EAAE,gCAAgC;gBAC1C,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC;YAEF,MAAM,YAAY,GAAG,IAAI,oBAAoB,EAAE,CAAC;YAChD,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,iBAAiB,CACtD,kBAAkB,CACnB,CAAC;YACF,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAE7D,MAAM,YAAY,GAAG,IAAI,gBAAgB,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,aAAa,CAC7C,aAAa,EACb,UAAU,CACX,CAAC;YAEF,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;YAC9C,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,kBAAkB,CAC7C,GAAG,EAAE,CAAC,cAAwC,CAC/C,CAAC;YAEF,cAAc,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;gBAC1D,QAAQ,EAAE,EAAE,CAAC;gBACb,4CAA4C;YAC9C,CAAC,CAAC,CAAC;YAEH,iDAAiD;YACjD,MAAM,kBAAkB,GAAG,MAAM,CAAC,UAAU,CAAC;YAC7C,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;gBAC5C,IAAI,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;oBAC5B,mBAAmB;oBACnB,QAAQ,EAAE,CAAC;gBACb,CAAC;gBACD,OAAO,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACzC,CAAC,CAAiC,CAAC;YAEnC,MAAM,YAAY,GAAG,IAAI,gBAAgB,EAAE,CAAC;YAC5C,MAAM,MAAM,CACV,YAAY,CAAC,YAAY,CAAC,aAAa,EAAE,UAAU,CAAC,CACrD,CAAC,OAAO,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;YAE5C,MAAM,CAAC,UAAU,GAAG,kBAAkB,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;YACjD,MAAM,eAAe,GAAG;gBACtB,YAAY,EAAE,kBAAkB;gBAChC,UAAU,EAAE,QAAQ;gBACpB,UAAU,EAAE,IAAI;gBAChB,aAAa,EAAE,mBAAmB;aACnC,CAAC;YAEF,SAAS,CAAC,qBAAqB,CAC7B,kBAAkB,CAAC;gBACjB,EAAE,EAAE,IAAI;gBACR,WAAW,EAAE,kBAAkB;gBAC/B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC;gBACrC,IAAI,EAAE,eAAe;aACtB,CAAC,CACH,CAAC;YAEF,MAAM,YAAY,GAAG,IAAI,gBAAgB,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,kBAAkB,CAClD,UAAU,EACV,mBAAmB,EACnB,gCAAgC,CACjC,CAAC;YAEF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YACxC,MAAM,CAAC,SAAS,CAAC,CAAC,oBAAoB,CACpC,gCAAgC,EAChC,MAAM,CAAC,gBAAgB,CAAC;gBACtB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,mCAAmC;oBACnD,MAAM,EAAE,qDAAqD;iBAC9D;gBACD,IAAI,EAAE,MAAM,CAAC,gBAAgB,CAAC,0BAA0B,CAAC;aAC1D,CAAC,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;YAC9E,SAAS,CAAC,qBAAqB,CAC7B,kBAAkB,CAAC;gBACjB,EAAE,EAAE,IAAI;gBACR,WAAW,EAAE,kBAAkB;gBAC/B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC;gBACvC,IAAI,EAAE,iBAAiB;aACxB,CAAC,CACH,CAAC;YAEF,MAAM,YAAY,GAAG,IAAI,gBAAgB,EAAE,CAAC;YAC5C,MAAM,YAAY,CAAC,kBAAkB,CACnC,UAAU,EACV,eAAe,EACf,gCAAgC,CACjC,CAAC;YAEF,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC1C,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,kCAAkC,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACnD,SAAS,CAAC,qBAAqB,CAC7B,kBAAkB,CAAC;gBACjB,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,GAAG;gBACX,WAAW,EAAE,mCAAmC;gBAChD,IAAI,EAAE,+DAA+D;aACtE,CAAC,CACH,CAAC;YAEF,MAAM,YAAY,GAAG,IAAI,gBAAgB,EAAE,CAAC;YAC5C,MAAM,MAAM,CACV,YAAY,CAAC,kBAAkB,CAC7B,UAAU,EACV,uBAAuB,EACvB,gCAAgC,CACjC,CACF,CAAC,OAAO,CAAC,OAAO,CACf,+DAA+D,CAChE,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC1D,MAAM,gBAAgB,GAAG;gBACvB,UAAU,EAAE,aAAa;gBACzB,KAAK,EAAE,SAAS;gBAChB,QAAQ,EAAE,gBAAgB;gBAC1B,QAAQ,EAAE,gCAAgC;gBAC1C,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC;YAEF,MAAM,YAAY,GAAG,IAAI,oBAAoB,EAAE,CAAC;YAChD,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,iBAAiB,CACtD,gBAAgB,CACjB,CAAC;YACF,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAE9D,MAAM,YAAY,GAAG,IAAI,gBAAgB,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,aAAa,CAC7C,aAAa,EACb,UAAU,CACX,CAAC;YAEF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;YACjE,MAAM,kBAAkB,GAAG;gBACzB,UAAU,EAAE,aAAa;gBACzB,KAAK,EAAE,EAAE,GAAG,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE;gBACxD,QAAQ,EAAE,gBAAgB;gBAC1B,QAAQ,EAAE,gCAAgC;gBAC1C,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC;YAEF,MAAM,YAAY,GAAG,IAAI,oBAAoB,EAAE,CAAC;YAChD,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,iBAAiB,CACtD,kBAAkB,CACnB,CAAC;YACF,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAE7D,MAAM,eAAe,GAAG;gBACtB,YAAY,EAAE,kBAAkB;gBAChC,UAAU,EAAE,QAAQ;gBACpB,UAAU,EAAE,IAAI;gBAChB,aAAa,EAAE,mBAAmB;aACnC,CAAC;YAEF,SAAS,CAAC,qBAAqB,CAC7B,kBAAkB,CAAC;gBACjB,EAAE,EAAE,IAAI;gBACR,WAAW,EAAE,kBAAkB;gBAC/B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC;gBACrC,IAAI,EAAE,eAAe;aACtB,CAAC,CACH,CAAC;YAEF,MAAM,YAAY,GAAG,IAAI,gBAAgB,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,aAAa,CAC7C,aAAa,EACb,UAAU,CACX,CAAC;YAEF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACxC,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,oBAAoB,CACjD,aAAa,EACb,MAAM,CAAC,gBAAgB,CAAC,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC,EAC5D,gBAAgB,EAChB,gCAAgC,EAChC,SAAS,CACV,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;YAC5D,MAAM,YAAY,GAAG,IAAI,oBAAoB,EAAE,CAAC;YAChD,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAE/D,MAAM,YAAY,GAAG,IAAI,gBAAgB,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,aAAa,CAC7C,aAAa,EACb,UAAU,CACX,CAAC;YAEF,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;YACtE,MAAM,kBAAkB,GAAG;gBACzB,UAAU,EAAE,aAAa;gBACzB,KAAK,EAAE,EAAE,GAAG,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE;gBACxD,QAAQ,EAAE,gBAAgB;gBAC1B,QAAQ,EAAE,gCAAgC;gBAC1C,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC;YAEF,MAAM,YAAY,GAAG,IAAI,oBAAoB,EAAE,CAAC;YAChD,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,iBAAiB,CACtD,kBAAkB,CACnB,CAAC;YACF,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC7D,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAEvE,SAAS,CAAC,qBAAqB,CAC7B,kBAAkB,CAAC;gBACjB,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,GAAG;gBACX,WAAW,EAAE,mCAAmC;gBAChD,IAAI,EAAE,+DAA+D;aACtE,CAAC,CACH,CAAC;YAEF,MAAM,YAAY,GAAG,IAAI,gBAAgB,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,aAAa,CAC7C,aAAa,EACb,UAAU,CACX,CAAC;YAEF,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC1B,MAAM,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,oBAAoB,CACzD,aAAa,CACd,CAAC;YACF,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,oBAAoB,CAClD,OAAO,EACP,MAAM,CAAC,gBAAgB,CAAC,8BAA8B,CAAC,EACvD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAClB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;YACvE,MAAM,mBAAmB,GAAG;gBAC1B,UAAU,EAAE,aAAa;gBACzB,KAAK,EAAE;oBACL,GAAG,SAAS;oBACZ,YAAY,EAAE,SAAS;oBACvB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO;iBAChC;gBACD,QAAQ,EAAE,gBAAgB;gBAC1B,QAAQ,EAAE,gCAAgC;gBAC1C,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC;YAEF,MAAM,YAAY,GAAG,IAAI,oBAAoB,EAAE,CAAC;YAChD,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,iBAAiB,CACtD,mBAAmB,CACpB,CAAC;YACF,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAE7D,MAAM,YAAY,GAAG,IAAI,gBAAgB,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,aAAa,CAC7C,aAAa,EACb,UAAU,CACX,CAAC;YAEF,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACzC,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;YACrD,qEAAqE;YACrE,wCAAwC;YACxC,IAAI,eAAwB,CAAC;YAC7B,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,kBAAkB,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC1D,eAAe,GAAG,OAAO,CAAC;gBAC1B,OAAO,cAAwC,CAAC;YAClD,CAAC,CAAC,CAAC;YAEH,cAAc,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;gBAC1D,QAAQ,EAAE,EAAE,CAAC;gBACb,UAAU,CAAC,GAAG,EAAE;oBACd,MAAM,OAAO,GAAG;wBACd,GAAG,EAAE,qEAAqE;qBAC3E,CAAC;oBACF,MAAM,OAAO,GAAG;wBACd,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;wBAClB,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;qBACb,CAAC;oBACD,eAAwD,CACvD,OAAO,EACP,OAAO,CACR,CAAC;gBACJ,CAAC,EAAE,EAAE,CAAC,CAAC;YACT,CAAC,CAAC,CAAC;YAEH,SAAS,CAAC,qBAAqB,CAC7B,kBAAkB,CAAC;gBACjB,EAAE,EAAE,IAAI;gBACR,WAAW,EAAE,kBAAkB;gBAC/B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC;gBACvC,IAAI,EAAE,iBAAiB;aACxB,CAAC,CACH,CAAC;YAEF,MAAM,YAAY,GAAG,IAAI,gBAAgB,EAAE,CAAC;YAC5C,MAAM,YAAY,CAAC,YAAY,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;YAE3D,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB;YACrE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;YAC7D,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;QAC1C,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;YAC1E,+CAA+C;YAC/C,IAAI,WAA+B,CAAC;YACpC,uBAAuB,CAAC,kBAAkB,CAAC,CAAC,GAAW,EAAE,EAAE;gBACzD,WAAW,GAAG,GAAG,CAAC;gBAClB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;YAC3B,CAAC,CAAC,CAAC;YAEH,IAAI,eAAwB,CAAC;YAC7B,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,kBAAkB,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC1D,eAAe,GAAG,OAAO,CAAC;gBAC1B,OAAO,cAAwC,CAAC;YAClD,CAAC,CAAC,CAAC;YAEH,cAAc,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;gBAC1D,QAAQ,EAAE,EAAE,CAAC;gBACb,UAAU,CAAC,GAAG,EAAE;oBACd,MAAM,OAAO,GAAG;wBACd,GAAG,EAAE,qEAAqE;qBAC3E,CAAC;oBACF,MAAM,OAAO,GAAG;wBACd,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;wBAClB,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;qBACb,CAAC;oBACD,eAAwD,CACvD,OAAO,EACP,OAAO,CACR,CAAC;gBACJ,CAAC,EAAE,EAAE,CAAC,CAAC;YACT,CAAC,CAAC,CAAC;YAEH,SAAS,CAAC,qBAAqB,CAC7B,kBAAkB,CAAC;gBACjB,EAAE,EAAE,IAAI;gBACR,WAAW,EAAE,kBAAkB;gBAC/B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC;gBACvC,IAAI,EAAE,iBAAiB;aACxB,CAAC,CACH,CAAC;YAEF,MAAM,YAAY,GAAG,IAAI,gBAAgB,EAAE,CAAC;YAC5C,MAAM,YAAY,CAAC,YAAY,CAC7B,aAAa,EACb,UAAU,EACV,0BAA0B,CAC3B,CAAC;YAEF,MAAM,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;YAClC,MAAM,CAAC,WAAY,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;YACrD,MAAM,CAAC,WAAY,CAAC,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;YAC3D,MAAM,CAAC,WAAY,CAAC,CAAC,SAAS,CAAC,oCAAoC,CAAC,CAAC;YACrE,MAAM,CAAC,WAAY,CAAC,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC;YAC7D,MAAM,CAAC,WAAY,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;YACnD,MAAM,CAAC,WAAY,CAAC,CAAC,SAAS,CAAC,yCAAyC,CAAC,CAAC;YAC1E,MAAM,CAAC,WAAY,CAAC,CAAC,SAAS,CAAC,wCAAwC,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0FAA0F,EAAE,KAAK,IAAI,EAAE;YACxG,+CAA+C;YAC/C,IAAI,WAAmB,CAAC;YACxB,uBAAuB,CAAC,kBAAkB,CAAC,CAAC,GAAW,EAAE,EAAE;gBACzD,WAAW,GAAG,GAAG,CAAC;gBAClB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;YAC3B,CAAC,CAAC,CAAC;YAEH,IAAI,eAAwB,CAAC;YAC7B,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,kBAAkB,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC1D,eAAe,GAAG,OAAO,CAAC;gBAC1B,OAAO,cAAwC,CAAC;YAClD,CAAC,CAAC,CAAC;YAEH,cAAc,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;gBAC1D,QAAQ,EAAE,EAAE,CAAC;gBACb,UAAU,CAAC,GAAG,EAAE;oBACd,MAAM,OAAO,GAAG;wBACd,GAAG,EAAE,qEAAqE;qBAC3E,CAAC;oBACF,MAAM,OAAO,GAAG;wBACd,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;wBAClB,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;qBACb,CAAC;oBACD,eAAwD,CACvD,OAAO,EACP,OAAO,CACR,CAAC;gBACJ,CAAC,EAAE,EAAE,CAAC,CAAC;YACT,CAAC,CAAC,CAAC;YAEH,SAAS,CAAC,qBAAqB,CAC7B,kBAAkB,CAAC;gBACjB,EAAE,EAAE,IAAI;gBACR,WAAW,EAAE,kBAAkB;gBAC/B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC;gBACvC,IAAI,EAAE,iBAAiB;aACxB,CAAC,CACH,CAAC;YAEF,MAAM,qBAAqB,GAAG;gBAC5B,GAAG,UAAU;gBACb,gBAAgB,EAAE,kDAAkD;aACrE,CAAC;YAEF,MAAM,YAAY,GAAG,IAAI,gBAAgB,EAAE,CAAC;YAC5C,MAAM,YAAY,CAAC,YAAY,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC;YAEtE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,WAAY,CAAC,CAAC;YAClC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtD,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACjE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;YAC3E,+CAA+C;YAC/C,IAAI,WAAmB,CAAC;YACxB,uBAAuB,CAAC,kBAAkB,CAAC,CAAC,GAAW,EAAE,EAAE;gBACzD,WAAW,GAAG,GAAG,CAAC;gBAClB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;YAC3B,CAAC,CAAC,CAAC;YAEH,IAAI,eAAwB,CAAC;YAC7B,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,kBAAkB,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC1D,eAAe,GAAG,OAAO,CAAC;gBAC1B,OAAO,cAAwC,CAAC;YAClD,CAAC,CAAC,CAAC;YAEH,cAAc,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;gBAC1D,QAAQ,EAAE,EAAE,CAAC;gBACb,UAAU,CAAC,GAAG,EAAE;oBACd,MAAM,OAAO,GAAG;wBACd,GAAG,EAAE,qEAAqE;qBAC3E,CAAC;oBACF,MAAM,OAAO,GAAG;wBACd,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;wBAClB,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;qBACb,CAAC;oBACD,eAAwD,CACvD,OAAO,EACP,OAAO,CACR,CAAC;gBACJ,CAAC,EAAE,EAAE,CAAC,CAAC;YACT,CAAC,CAAC,CAAC;YAEH,SAAS,CAAC,qBAAqB,CAC7B,kBAAkB,CAAC;gBACjB,EAAE,EAAE,IAAI;gBACR,WAAW,EAAE,kBAAkB;gBAC/B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC;gBACvC,IAAI,EAAE,iBAAiB;aACxB,CAAC,CACH,CAAC;YAEF,MAAM,kBAAkB,GAAG;gBACzB,GAAG,UAAU;gBACb,gBAAgB,EAAE,0CAA0C;aAC7D,CAAC;YAEF,MAAM,YAAY,GAAG,IAAI,gBAAgB,EAAE,CAAC;YAC5C,MAAM,YAAY,CAAC,YAAY,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;YAEnE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,WAAY,CAAC,CAAC;YAClC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACjE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;YACxE,IAAI,WAA+B,CAAC;YACpC,uBAAuB,CAAC,kBAAkB,CAAC,CAAC,GAAW,EAAE,EAAE;gBACzD,WAAW,GAAG,GAAG,CAAC;gBAClB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;YAC3B,CAAC,CAAC,CAAC;YAEH,MAAM,oBAAoB,GAAmB;gBAC3C,GAAG,UAAU;gBACb,QAAQ,EAAE,gBAAgB;gBAC1B,YAAY,EAAE,oBAAoB;gBAClC,MAAM,EAAE,CAAC,YAAY,CAAC;aACvB,CAAC;YACF,OAAO,oBAAoB,CAAC,gBAAgB,CAAC;YAC7C,OAAO,oBAAoB,CAAC,QAAQ,CAAC;YAErC,MAAM,oBAAoB,GAAG;gBAC3B,qBAAqB,EAAE,CAAC,6BAA6B,CAAC;aACvD,CAAC;YAEF,MAAM,sBAAsB,GAAG;gBAC7B,sBAAsB,EAAE,uCAAuC;gBAC/D,cAAc,EAAE,mCAAmC;gBACnD,gBAAgB,EAAE,CAAC,kBAAkB,CAAC;aACvC,CAAC;YAEF,SAAS;iBACN,qBAAqB,CAAC,kBAAkB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;iBACpE,qBAAqB,CACpB,kBAAkB,CAAC;gBACjB,EAAE,EAAE,IAAI;gBACR,WAAW,EAAE,kBAAkB;gBAC/B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC;gBAC1C,IAAI,EAAE,oBAAoB;aAC3B,CAAC,CACH;iBACA,qBAAqB,CACpB,kBAAkB,CAAC;gBACjB,EAAE,EAAE,IAAI;gBACR,WAAW,EAAE,kBAAkB;gBAC/B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC;gBAC5C,IAAI,EAAE,sBAAsB;aAC7B,CAAC,CACH,CAAC;YAEJ,yBAAyB;YACzB,IAAI,eAAwB,CAAC;YAC7B,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,kBAAkB,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC1D,eAAe,GAAG,OAAO,CAAC;gBAC1B,OAAO,cAAwC,CAAC;YAClD,CAAC,CAAC,CAAC;YAEH,cAAc,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;gBAC1D,QAAQ,EAAE,EAAE,CAAC;gBACb,UAAU,CAAC,GAAG,EAAE;oBACd,MAAM,OAAO,GAAG;wBACd,GAAG,EAAE,iEAAiE;qBACvE,CAAC;oBACF,MAAM,OAAO,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;oBACpD,eAAwD,CACvD,OAAO,EACP,OAAO,CACR,CAAC;gBACJ,CAAC,EAAE,EAAE,CAAC,CAAC;YACT,CAAC,CAAC,CAAC;YAEH,sBAAsB;YACtB,SAAS,CAAC,qBAAqB,CAC7B,kBAAkB,CAAC;gBACjB,EAAE,EAAE,IAAI;gBACR,WAAW,EAAE,kBAAkB;gBAC/B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC;gBACvC,IAAI,EAAE,iBAAiB;aACxB,CAAC,CACH,CAAC;YAEF,MAAM,YAAY,GAAG,IAAI,gBAAgB,EAAE,CAAC;YAC5C,MAAM,YAAY,CAAC,YAAY,CAC7B,aAAa,EACb,oBAAoB,EACpB,yBAAyB,CAC1B,CAAC;YAEF,MAAM,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;YAClC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,WAAY,CAAC,CAAC;YAClC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;YACxF,IAAI,WAA+B,CAAC;YACpC,uBAAuB,CAAC,kBAAkB,CAAC,CAAC,GAAW,EAAE,EAAE;gBACzD,WAAW,GAAG,GAAG,CAAC;gBAClB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;YAC3B,CAAC,CAAC,CAAC;YAEH,MAAM,mBAAmB,GAAmB;gBAC1C,GAAG,UAAU;gBACb,QAAQ,EAAE,gBAAgB;gBAC1B,YAAY,EAAE,oBAAoB;aACnC,CAAC;YACF,OAAO,mBAAmB,CAAC,MAAM,CAAC;YAClC,OAAO,mBAAmB,CAAC,gBAAgB,CAAC;YAC5C,OAAO,mBAAmB,CAAC,QAAQ,CAAC;YAEpC,MAAM,oBAAoB,GAAG;gBAC3B,qBAAqB,EAAE,CAAC,6BAA6B,CAAC;aACvD,CAAC;YAEF,MAAM,sBAAsB,GAAG;gBAC7B,sBAAsB,EAAE,uCAAuC;gBAC/D,cAAc,EAAE,mCAAmC;gBACnD,gBAAgB,EAAE,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;aAC/D,CAAC;YAEF,SAAS;iBACN,qBAAqB,CAAC,kBAAkB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;iBACpE,qBAAqB,CACpB,kBAAkB,CAAC;gBACjB,EAAE,EAAE,IAAI;gBACR,WAAW,EAAE,kBAAkB;gBAC/B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC;gBAC1C,IAAI,EAAE,oBAAoB;aAC3B,CAAC,CACH;iBACA,qBAAqB,CACpB,kBAAkB,CAAC;gBACjB,EAAE,EAAE,IAAI;gBACR,WAAW,EAAE,kBAAkB;gBAC/B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC;gBAC5C,IAAI,EAAE,sBAAsB;aAC7B,CAAC,CACH,CAAC;YAEJ,yBAAyB;YACzB,IAAI,eAAwB,CAAC;YAC7B,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,kBAAkB,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC1D,eAAe,GAAG,OAAO,CAAC;gBAC1B,OAAO,cAAwC,CAAC;YAClD,CAAC,CAAC,CAAC;YAEH,cAAc,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;gBAC1D,QAAQ,EAAE,EAAE,CAAC;gBACb,UAAU,CAAC,GAAG,EAAE;oBACd,MAAM,OAAO,GAAG;wBACd,GAAG,EAAE,iEAAiE;qBACvE,CAAC;oBACF,MAAM,OAAO,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;oBACpD,eAAwD,CACvD,OAAO,EACP,OAAO,CACR,CAAC;gBACJ,CAAC,EAAE,EAAE,CAAC,CAAC;YACT,CAAC,CAAC,CAAC;YAEH,sBAAsB;YACtB,SAAS,CAAC,qBAAqB,CAC7B,kBAAkB,CAAC;gBACjB,EAAE,EAAE,IAAI;gBACR,WAAW,EAAE,kBAAkB;gBAC/B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC;gBACvC,IAAI,EAAE,iBAAiB;aACxB,CAAC,CACH,CAAC;YAEF,MAAM,YAAY,GAAG,IAAI,gBAAgB,EAAE,CAAC;YAC5C,MAAM,YAAY,CAAC,YAAY,CAC7B,aAAa,EACb,mBAAmB,EACnB,yBAAyB,CAC1B,CAAC;YAEF,MAAM,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;YAClC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,WAAY,CAAC,CAAC;YAClC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CACxC,uCAAuC,CACxC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;QAC5C,MAAM,oBAAoB,GAAqC;YAC7D,MAAM,EAAE,uCAAuC;YAC/C,sBAAsB,EACpB,oEAAoE;YACtE,cAAc,EACZ,qEAAqE;YACvE,qBAAqB,EACnB,4EAA4E;SAC/E,CAAC;QAEF,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;YAC3E,MAAM,YAAY,GAAG,IAAI,gBAAgB,EAAE,CAAC;YAC5C,MAAM,kBAAkB,GAAG,YAO1B,CAAC;YAEF,EAAE,CAAC,KAAK,CACN,UAAU,EACV,qCAAqC,CACtC,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;gBACpC,IAAI,MAAM,KAAK,uCAAuC,EAAE,CAAC;oBACvD,OAAO,oBAAoB,CAAC;gBAC9B,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GACV,MAAM,kBAAkB,CAAC,yCAAyC,CAChE,oEAAoE,CACrE,CAAC;YAEJ,MAAM,CACJ,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,mCAAmC,CAAC,CAAC,IAAI,CAAC,KAAK,CACrE,CAAC,OAAO,CAAC;gBACR,CAAC,uBAAuB,CAAC;gBACzB,CAAC,uCAAuC,CAAC;aAC1C,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;YACvE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;YACrE,MAAM,YAAY,GAAG,IAAI,gBAAgB,EAAE,CAAC;YAC5C,MAAM,kBAAkB,GAAG,YAO1B,CAAC;YAEF,MAAM,YAAY,GAAqC;gBACrD,MAAM,EAAE,wCAAwC;gBAChD,sBAAsB,EACpB,qDAAqD;gBACvD,cAAc,EAAE,iDAAiD;gBACjE,qBAAqB,EACnB,oDAAoD;aACvD,CAAC;YAEF,MAAM,QAAQ,GAAa,EAAE,CAAC;YAC9B,EAAE,CAAC,KAAK,CACN,UAAU,EACV,qCAAqC,CACtC,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;gBACpC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACtB,IAAI,MAAM,KAAK,wCAAwC,EAAE,CAAC;oBACxD,OAAO,YAAY,CAAC;gBACtB,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GACV,MAAM,kBAAkB,CAAC,yCAAyC,CAChE,qDAAqD,CACtD,CAAC;YAEJ,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;gBACvB,yBAAyB;gBACzB,2CAA2C;gBAC3C,wCAAwC;aACzC,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;YACxE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -4,14 +4,17 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { type FunctionCall } from '@google/genai';
7
- import { PolicyDecision, type PolicyEngineConfig, type PolicyRule, type SafetyCheckerRule } from './types.js';
7
+ import { PolicyDecision, type PolicyEngineConfig, type PolicyRule, type SafetyCheckerRule, type HookCheckerRule, type HookExecutionContext } from './types.js';
8
8
  import type { CheckerRunner } from '../safety/checker-runner.js';
9
+ import type { HookExecutionRequest } from '../confirmation-bus/types.js';
9
10
  export declare class PolicyEngine {
10
11
  private rules;
11
12
  private checkers;
13
+ private hookCheckers;
12
14
  private readonly defaultDecision;
13
15
  private readonly nonInteractive;
14
16
  private readonly checkerRunner?;
17
+ private readonly allowHooks;
15
18
  constructor(config?: PolicyEngineConfig, checkerRunner?: CheckerRunner);
16
19
  /**
17
20
  * Check if a tool call is allowed based on the configured policies.
@@ -35,5 +38,18 @@ export declare class PolicyEngine {
35
38
  */
36
39
  getRules(): readonly PolicyRule[];
37
40
  getCheckers(): readonly SafetyCheckerRule[];
41
+ /**
42
+ * Add a new hook checker to the policy engine.
43
+ */
44
+ addHookChecker(checker: HookCheckerRule): void;
45
+ /**
46
+ * Get all current hook checkers.
47
+ */
48
+ getHookCheckers(): readonly HookCheckerRule[];
49
+ /**
50
+ * Check if a hook execution is allowed based on the configured policies.
51
+ * Runs hook-specific safety checkers if configured.
52
+ */
53
+ checkHook(request: HookExecutionRequest | HookExecutionContext): Promise<PolicyDecision>;
38
54
  private applyNonInteractiveMode;
39
55
  }