n8n-core 1.75.0 → 1.77.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (296) hide show
  1. package/bin/{copy-icons → copy-static-files} +8 -3
  2. package/bin/generate-metadata +1 -1
  3. package/dist/{BinaryData/BinaryData.service.js → binary-data/binary-data.service.js} +4 -4
  4. package/dist/binary-data/binary-data.service.js.map +1 -0
  5. package/dist/{BinaryData/FileSystem.manager.js → binary-data/file-system.manager.js} +1 -1
  6. package/dist/binary-data/file-system.manager.js.map +1 -0
  7. package/dist/binary-data/index.d.ts +4 -0
  8. package/dist/binary-data/index.js +24 -0
  9. package/dist/binary-data/index.js.map +1 -0
  10. package/dist/{ObjectStore/ObjectStore.service.ee.d.ts → binary-data/object-store/object-store.service.ee.d.ts} +8 -9
  11. package/dist/{ObjectStore/ObjectStore.service.ee.js → binary-data/object-store/object-store.service.ee.js} +40 -43
  12. package/dist/binary-data/object-store/object-store.service.ee.js.map +1 -0
  13. package/dist/{ObjectStore → binary-data/object-store}/types.d.ts +1 -9
  14. package/dist/binary-data/object-store/types.js.map +1 -0
  15. package/dist/binary-data/object-store/utils.js.map +1 -0
  16. package/dist/{BinaryData/ObjectStore.manager.d.ts → binary-data/object-store.manager.d.ts} +1 -1
  17. package/dist/{BinaryData/ObjectStore.manager.js → binary-data/object-store.manager.js} +3 -3
  18. package/dist/binary-data/object-store.manager.js.map +1 -0
  19. package/dist/{BinaryData → binary-data}/types.js.map +1 -1
  20. package/dist/binary-data/utils.js.map +1 -0
  21. package/dist/build.tsbuildinfo +1 -1
  22. package/dist/{Constants.d.ts → constants.d.ts} +6 -4
  23. package/dist/constants.js +24 -0
  24. package/dist/constants.js.map +1 -0
  25. package/dist/{Credentials.d.ts → credentials.d.ts} +4 -1
  26. package/dist/credentials.js +92 -0
  27. package/dist/credentials.js.map +1 -0
  28. package/dist/{Cipher.d.ts → encryption/cipher.d.ts} +1 -1
  29. package/dist/{Cipher.js → encryption/cipher.js} +3 -3
  30. package/dist/encryption/cipher.js.map +1 -0
  31. package/dist/encryption/index.d.ts +1 -0
  32. package/dist/encryption/index.js +6 -0
  33. package/dist/encryption/index.js.map +1 -0
  34. package/dist/{error-reporter.d.ts → errors/error-reporter.d.ts} +2 -2
  35. package/dist/{error-reporter.js → errors/error-reporter.js} +1 -1
  36. package/dist/errors/error-reporter.js.map +1 -0
  37. package/dist/errors/index.d.ts +1 -0
  38. package/dist/errors/index.js +3 -1
  39. package/dist/errors/index.js.map +1 -1
  40. package/dist/errors/invalid-mode.error.js +1 -1
  41. package/dist/errors/invalid-mode.error.js.map +1 -1
  42. package/dist/errors/workflow-has-issues.error.d.ts +4 -0
  43. package/dist/errors/workflow-has-issues.error.js +11 -0
  44. package/dist/errors/workflow-has-issues.error.js.map +1 -0
  45. package/dist/{ActiveWorkflows.d.ts → execution-engine/active-workflows.d.ts} +5 -5
  46. package/dist/{ActiveWorkflows.js → execution-engine/active-workflows.js} +7 -7
  47. package/dist/execution-engine/active-workflows.js.map +1 -0
  48. package/dist/execution-engine/index.d.ts +6 -0
  49. package/dist/execution-engine/index.js +23 -0
  50. package/dist/execution-engine/index.js.map +1 -0
  51. package/dist/{node-execution-context → execution-engine/node-execution-context}/base-execute-context.d.ts +1 -1
  52. package/dist/{node-execution-context → execution-engine/node-execution-context}/base-execute-context.js +2 -2
  53. package/dist/execution-engine/node-execution-context/base-execute-context.js.map +1 -0
  54. package/dist/{node-execution-context → execution-engine/node-execution-context}/execute-context.js +16 -16
  55. package/dist/execution-engine/node-execution-context/execute-context.js.map +1 -0
  56. package/dist/{node-execution-context → execution-engine/node-execution-context}/execute-single-context.js +7 -7
  57. package/dist/execution-engine/node-execution-context/execute-single-context.js.map +1 -0
  58. package/dist/{node-execution-context → execution-engine/node-execution-context}/hook-context.js +4 -4
  59. package/dist/execution-engine/node-execution-context/hook-context.js.map +1 -0
  60. package/dist/{node-execution-context → execution-engine/node-execution-context}/index.d.ts +1 -1
  61. package/dist/{node-execution-context → execution-engine/node-execution-context}/index.js +2 -2
  62. package/dist/execution-engine/node-execution-context/index.js.map +1 -0
  63. package/dist/{node-execution-context → execution-engine/node-execution-context}/load-options-context.js +5 -5
  64. package/dist/execution-engine/node-execution-context/load-options-context.js.map +1 -0
  65. package/dist/{node-execution-context → execution-engine/node-execution-context}/local-load-options-context.js +2 -0
  66. package/dist/execution-engine/node-execution-context/local-load-options-context.js.map +1 -0
  67. package/dist/{node-execution-context → execution-engine/node-execution-context}/node-execution-context.d.ts +5 -3
  68. package/dist/{node-execution-context → execution-engine/node-execution-context}/node-execution-context.js +23 -19
  69. package/dist/execution-engine/node-execution-context/node-execution-context.js.map +1 -0
  70. package/dist/{node-execution-context → execution-engine/node-execution-context}/poll-context.js +5 -5
  71. package/dist/execution-engine/node-execution-context/poll-context.js.map +1 -0
  72. package/dist/{node-execution-context → execution-engine/node-execution-context}/supply-data-context.js +15 -15
  73. package/dist/execution-engine/node-execution-context/supply-data-context.js.map +1 -0
  74. package/dist/{node-execution-context → execution-engine/node-execution-context}/trigger-context.js +6 -6
  75. package/dist/execution-engine/node-execution-context/trigger-context.js.map +1 -0
  76. package/dist/{node-execution-context/utils/cleanupParameterData.js → execution-engine/node-execution-context/utils/cleanup-parameter-data.js} +1 -1
  77. package/dist/execution-engine/node-execution-context/utils/cleanup-parameter-data.js.map +1 -0
  78. package/dist/{CreateNodeAsTool.d.ts → execution-engine/node-execution-context/utils/create-node-as-tool.d.ts} +7 -4
  79. package/dist/execution-engine/node-execution-context/utils/create-node-as-tool.js +84 -0
  80. package/dist/execution-engine/node-execution-context/utils/create-node-as-tool.js.map +1 -0
  81. package/dist/{node-execution-context/utils/ensureType.js → execution-engine/node-execution-context/utils/ensure-type.js} +1 -1
  82. package/dist/execution-engine/node-execution-context/utils/ensure-type.js.map +1 -0
  83. package/dist/{ExecutionMetadata.js → execution-engine/node-execution-context/utils/execution-metadata.js} +4 -4
  84. package/dist/execution-engine/node-execution-context/utils/execution-metadata.js.map +1 -0
  85. package/dist/{ExtractValue.js → execution-engine/node-execution-context/utils/extract-value.js} +1 -1
  86. package/dist/execution-engine/node-execution-context/utils/extract-value.js.map +1 -0
  87. package/dist/{node-execution-context/utils/getAdditionalKeys.js → execution-engine/node-execution-context/utils/get-additional-keys.js} +10 -10
  88. package/dist/execution-engine/node-execution-context/utils/get-additional-keys.js.map +1 -0
  89. package/dist/{node-execution-context/utils/getInputConnectionData.js → execution-engine/node-execution-context/utils/get-input-connection-data.js} +3 -3
  90. package/dist/execution-engine/node-execution-context/utils/get-input-connection-data.js.map +1 -0
  91. package/dist/{Secrets.js → execution-engine/node-execution-context/utils/get-secrets-proxy.js} +1 -1
  92. package/dist/execution-engine/node-execution-context/utils/get-secrets-proxy.js.map +1 -0
  93. package/dist/{node-execution-context/utils/validateValueAgainstSchema.js → execution-engine/node-execution-context/utils/validate-value-against-schema.js} +1 -1
  94. package/dist/execution-engine/node-execution-context/utils/validate-value-against-schema.js.map +1 -0
  95. package/dist/{node-execution-context → execution-engine/node-execution-context}/webhook-context.js +8 -8
  96. package/dist/execution-engine/node-execution-context/webhook-context.js.map +1 -0
  97. package/dist/execution-engine/node-execution-context/workflow-node-context.js.map +1 -0
  98. package/dist/{PartialExecutionUtils/cleanRunData.d.ts → execution-engine/partial-execution-utils/clean-run-data.d.ts} +2 -2
  99. package/dist/{PartialExecutionUtils/cleanRunData.js → execution-engine/partial-execution-utils/clean-run-data.js} +10 -3
  100. package/dist/execution-engine/partial-execution-utils/clean-run-data.js.map +1 -0
  101. package/dist/{PartialExecutionUtils/DirectedGraph.js → execution-engine/partial-execution-utils/directed-graph.js} +1 -1
  102. package/dist/execution-engine/partial-execution-utils/directed-graph.js.map +1 -0
  103. package/dist/{PartialExecutionUtils/filterDisabledNodes.d.ts → execution-engine/partial-execution-utils/filter-disabled-nodes.d.ts} +1 -1
  104. package/dist/{PartialExecutionUtils/filterDisabledNodes.js → execution-engine/partial-execution-utils/filter-disabled-nodes.js} +1 -1
  105. package/dist/execution-engine/partial-execution-utils/filter-disabled-nodes.js.map +1 -0
  106. package/dist/{PartialExecutionUtils/findStartNodes.d.ts → execution-engine/partial-execution-utils/find-start-nodes.d.ts} +1 -1
  107. package/dist/{PartialExecutionUtils/findStartNodes.js → execution-engine/partial-execution-utils/find-start-nodes.js} +4 -4
  108. package/dist/execution-engine/partial-execution-utils/find-start-nodes.js.map +1 -0
  109. package/dist/{PartialExecutionUtils/findSubgraph.d.ts → execution-engine/partial-execution-utils/find-subgraph.d.ts} +1 -1
  110. package/dist/{PartialExecutionUtils/findSubgraph.js → execution-engine/partial-execution-utils/find-subgraph.js} +3 -3
  111. package/dist/execution-engine/partial-execution-utils/find-subgraph.js.map +1 -0
  112. package/dist/{PartialExecutionUtils/findTriggerForPartialExecution.js → execution-engine/partial-execution-utils/find-trigger-for-partial-execution.js} +1 -1
  113. package/dist/execution-engine/partial-execution-utils/find-trigger-for-partial-execution.js.map +1 -0
  114. package/dist/{PartialExecutionUtils/getIncomingData.js → execution-engine/partial-execution-utils/get-incoming-data.js} +1 -1
  115. package/dist/execution-engine/partial-execution-utils/get-incoming-data.js.map +1 -0
  116. package/dist/{PartialExecutionUtils/getSourceDataGroups.d.ts → execution-engine/partial-execution-utils/get-source-data-groups.d.ts} +1 -1
  117. package/dist/{PartialExecutionUtils/getSourceDataGroups.js → execution-engine/partial-execution-utils/get-source-data-groups.js} +1 -1
  118. package/dist/execution-engine/partial-execution-utils/get-source-data-groups.js.map +1 -0
  119. package/dist/{PartialExecutionUtils/handleCycles.d.ts → execution-engine/partial-execution-utils/handle-cycles.d.ts} +1 -1
  120. package/dist/{PartialExecutionUtils/handleCycles.js → execution-engine/partial-execution-utils/handle-cycles.js} +1 -1
  121. package/dist/execution-engine/partial-execution-utils/handle-cycles.js.map +1 -0
  122. package/dist/execution-engine/partial-execution-utils/index.d.ts +8 -0
  123. package/dist/execution-engine/partial-execution-utils/index.js +20 -0
  124. package/dist/execution-engine/partial-execution-utils/index.js.map +1 -0
  125. package/dist/{PartialExecutionUtils/recreateNodeExecutionStack.d.ts → execution-engine/partial-execution-utils/recreate-node-execution-stack.d.ts} +1 -1
  126. package/dist/{PartialExecutionUtils/recreateNodeExecutionStack.js → execution-engine/partial-execution-utils/recreate-node-execution-stack.js} +6 -6
  127. package/dist/execution-engine/partial-execution-utils/recreate-node-execution-stack.js.map +1 -0
  128. package/dist/{RoutingNode.js → execution-engine/routing-node.js} +1 -1
  129. package/dist/execution-engine/routing-node.js.map +1 -0
  130. package/dist/{ScheduledTaskManager.d.ts → execution-engine/scheduled-task-manager.d.ts} +1 -1
  131. package/dist/{ScheduledTaskManager.js → execution-engine/scheduled-task-manager.js} +3 -3
  132. package/dist/execution-engine/scheduled-task-manager.js.map +1 -0
  133. package/dist/{SSHClientsManager.js → execution-engine/ssh-clients-manager.js} +1 -1
  134. package/dist/execution-engine/ssh-clients-manager.js.map +1 -0
  135. package/dist/{TriggersAndPollers.js → execution-engine/triggers-and-pollers.js} +1 -1
  136. package/dist/execution-engine/triggers-and-pollers.js.map +1 -0
  137. package/dist/{WorkflowExecute.js → execution-engine/workflow-execute.js} +17 -16
  138. package/dist/execution-engine/workflow-execute.js.map +1 -0
  139. package/dist/index.d.ts +14 -25
  140. package/dist/index.js +16 -32
  141. package/dist/index.js.map +1 -1
  142. package/dist/instance-settings/index.d.ts +1 -0
  143. package/dist/instance-settings/index.js +6 -0
  144. package/dist/instance-settings/index.js.map +1 -0
  145. package/dist/{InstanceSettingsConfig.js → instance-settings/instance-settings-config.js} +1 -1
  146. package/dist/instance-settings/instance-settings-config.js.map +1 -0
  147. package/dist/{InstanceSettings.d.ts → instance-settings/instance-settings.d.ts} +2 -2
  148. package/dist/{InstanceSettings.js → instance-settings/instance-settings.js} +21 -8
  149. package/dist/instance-settings/instance-settings.js.map +1 -0
  150. package/dist/{Interfaces.d.ts → interfaces.d.ts} +0 -14
  151. package/dist/{Interfaces.js → interfaces.js} +1 -1
  152. package/dist/interfaces.js.map +1 -0
  153. package/dist/logging/index.d.ts +1 -0
  154. package/dist/logging/index.js +6 -0
  155. package/dist/logging/index.js.map +1 -0
  156. package/dist/logging/logger.d.ts +1 -1
  157. package/dist/logging/logger.js +8 -8
  158. package/dist/logging/logger.js.map +1 -1
  159. package/dist/{NodeExecuteFunctions.d.ts → node-execute-functions.d.ts} +1 -1
  160. package/dist/{NodeExecuteFunctions.js → node-execute-functions.js} +30 -30
  161. package/dist/node-execute-functions.js.map +1 -0
  162. package/dist/nodes-loader/constants.d.ts +4 -0
  163. package/dist/nodes-loader/constants.js +30 -0
  164. package/dist/nodes-loader/constants.js.map +1 -0
  165. package/dist/nodes-loader/custom-directory-loader.d.ts +5 -0
  166. package/dist/nodes-loader/custom-directory-loader.js +32 -0
  167. package/dist/nodes-loader/custom-directory-loader.js.map +1 -0
  168. package/dist/{DirectoryLoader.d.ts → nodes-loader/directory-loader.d.ts} +1 -20
  169. package/dist/{DirectoryLoader.js → nodes-loader/directory-loader.js} +14 -158
  170. package/dist/nodes-loader/directory-loader.js.map +1 -0
  171. package/dist/nodes-loader/index.d.ts +5 -0
  172. package/dist/nodes-loader/index.js +12 -0
  173. package/dist/nodes-loader/index.js.map +1 -0
  174. package/dist/nodes-loader/lazy-package-directory-loader.d.ts +4 -0
  175. package/dist/nodes-loader/lazy-package-directory-loader.js +42 -0
  176. package/dist/nodes-loader/lazy-package-directory-loader.js.map +1 -0
  177. package/dist/{ClassLoader.js → nodes-loader/load-class-in-isolation.js} +1 -1
  178. package/dist/nodes-loader/load-class-in-isolation.js.map +1 -0
  179. package/dist/nodes-loader/package-directory-loader.d.ts +13 -0
  180. package/dist/nodes-loader/package-directory-loader.js +89 -0
  181. package/dist/nodes-loader/package-directory-loader.js.map +1 -0
  182. package/dist/nodes-loader/types.d.ts +14 -0
  183. package/dist/nodes-loader/types.js +3 -0
  184. package/dist/{ObjectStore → nodes-loader}/types.js.map +1 -1
  185. package/dist/utils/index.d.ts +2 -0
  186. package/dist/utils/index.js +21 -0
  187. package/dist/utils/index.js.map +1 -0
  188. package/dist/{utils.js → utils/is-object-literal.js} +1 -1
  189. package/dist/utils/is-object-literal.js.map +1 -0
  190. package/dist/{SerializedBuffer.js → utils/serialized-buffer.js} +3 -3
  191. package/dist/utils/serialized-buffer.js.map +1 -0
  192. package/package.json +10 -10
  193. package/dist/ActiveWorkflows.js.map +0 -1
  194. package/dist/BinaryData/BinaryData.service.js.map +0 -1
  195. package/dist/BinaryData/FileSystem.manager.js.map +0 -1
  196. package/dist/BinaryData/ObjectStore.manager.js.map +0 -1
  197. package/dist/BinaryData/utils.js.map +0 -1
  198. package/dist/Cipher.js.map +0 -1
  199. package/dist/ClassLoader.js.map +0 -1
  200. package/dist/Constants.js +0 -44
  201. package/dist/Constants.js.map +0 -1
  202. package/dist/CreateNodeAsTool.js +0 -268
  203. package/dist/CreateNodeAsTool.js.map +0 -1
  204. package/dist/Credentials.js +0 -40
  205. package/dist/Credentials.js.map +0 -1
  206. package/dist/DirectoryLoader.js.map +0 -1
  207. package/dist/ExecutionMetadata.js.map +0 -1
  208. package/dist/ExtractValue.js.map +0 -1
  209. package/dist/InstanceSettings.js.map +0 -1
  210. package/dist/InstanceSettingsConfig.js.map +0 -1
  211. package/dist/Interfaces.js.map +0 -1
  212. package/dist/NodeExecuteFunctions.js.map +0 -1
  213. package/dist/ObjectStore/ObjectStore.service.ee.js.map +0 -1
  214. package/dist/ObjectStore/utils.js.map +0 -1
  215. package/dist/PartialExecutionUtils/DirectedGraph.js.map +0 -1
  216. package/dist/PartialExecutionUtils/cleanRunData.js.map +0 -1
  217. package/dist/PartialExecutionUtils/filterDisabledNodes.js.map +0 -1
  218. package/dist/PartialExecutionUtils/findStartNodes.js.map +0 -1
  219. package/dist/PartialExecutionUtils/findSubgraph.js.map +0 -1
  220. package/dist/PartialExecutionUtils/findTriggerForPartialExecution.js.map +0 -1
  221. package/dist/PartialExecutionUtils/getIncomingData.js.map +0 -1
  222. package/dist/PartialExecutionUtils/getSourceDataGroups.js.map +0 -1
  223. package/dist/PartialExecutionUtils/handleCycles.js.map +0 -1
  224. package/dist/PartialExecutionUtils/index.d.ts +0 -8
  225. package/dist/PartialExecutionUtils/index.js +0 -20
  226. package/dist/PartialExecutionUtils/index.js.map +0 -1
  227. package/dist/PartialExecutionUtils/recreateNodeExecutionStack.js.map +0 -1
  228. package/dist/RoutingNode.js.map +0 -1
  229. package/dist/SSHClientsManager.js.map +0 -1
  230. package/dist/ScheduledTaskManager.js.map +0 -1
  231. package/dist/Secrets.js.map +0 -1
  232. package/dist/SerializedBuffer.js.map +0 -1
  233. package/dist/TriggersAndPollers.js.map +0 -1
  234. package/dist/WorkflowExecute.js.map +0 -1
  235. package/dist/error-reporter.js.map +0 -1
  236. package/dist/node-execution-context/base-execute-context.js.map +0 -1
  237. package/dist/node-execution-context/execute-context.js.map +0 -1
  238. package/dist/node-execution-context/execute-single-context.js.map +0 -1
  239. package/dist/node-execution-context/helpers/binary-helpers.d.ts +0 -0
  240. package/dist/node-execution-context/helpers/binary-helpers.js +0 -2
  241. package/dist/node-execution-context/helpers/binary-helpers.js.map +0 -1
  242. package/dist/node-execution-context/hook-context.js.map +0 -1
  243. package/dist/node-execution-context/index.js.map +0 -1
  244. package/dist/node-execution-context/load-options-context.js.map +0 -1
  245. package/dist/node-execution-context/local-load-options-context.js.map +0 -1
  246. package/dist/node-execution-context/node-execution-context.js.map +0 -1
  247. package/dist/node-execution-context/poll-context.js.map +0 -1
  248. package/dist/node-execution-context/supply-data-context.js.map +0 -1
  249. package/dist/node-execution-context/trigger-context.js.map +0 -1
  250. package/dist/node-execution-context/utils/cleanupParameterData.js.map +0 -1
  251. package/dist/node-execution-context/utils/ensureType.js.map +0 -1
  252. package/dist/node-execution-context/utils/getAdditionalKeys.js.map +0 -1
  253. package/dist/node-execution-context/utils/getInputConnectionData.js.map +0 -1
  254. package/dist/node-execution-context/utils/validateValueAgainstSchema.js.map +0 -1
  255. package/dist/node-execution-context/webhook-context.js.map +0 -1
  256. package/dist/node-execution-context/workflow-node-context.js.map +0 -1
  257. package/dist/utils.js.map +0 -1
  258. /package/dist/{BinaryData/BinaryData.service.d.ts → binary-data/binary-data.service.d.ts} +0 -0
  259. /package/dist/{BinaryData/FileSystem.manager.d.ts → binary-data/file-system.manager.d.ts} +0 -0
  260. /package/dist/{BinaryData → binary-data/object-store}/types.js +0 -0
  261. /package/dist/{ObjectStore → binary-data/object-store}/utils.d.ts +0 -0
  262. /package/dist/{ObjectStore → binary-data/object-store}/utils.js +0 -0
  263. /package/dist/{BinaryData → binary-data}/types.d.ts +0 -0
  264. /package/dist/{ObjectStore → binary-data}/types.js +0 -0
  265. /package/dist/{BinaryData → binary-data}/utils.d.ts +0 -0
  266. /package/dist/{BinaryData → binary-data}/utils.js +0 -0
  267. /package/dist/{node-execution-context → execution-engine/node-execution-context}/execute-context.d.ts +0 -0
  268. /package/dist/{node-execution-context → execution-engine/node-execution-context}/execute-single-context.d.ts +0 -0
  269. /package/dist/{node-execution-context → execution-engine/node-execution-context}/hook-context.d.ts +0 -0
  270. /package/dist/{node-execution-context → execution-engine/node-execution-context}/load-options-context.d.ts +0 -0
  271. /package/dist/{node-execution-context → execution-engine/node-execution-context}/local-load-options-context.d.ts +0 -0
  272. /package/dist/{node-execution-context → execution-engine/node-execution-context}/poll-context.d.ts +0 -0
  273. /package/dist/{node-execution-context → execution-engine/node-execution-context}/supply-data-context.d.ts +0 -0
  274. /package/dist/{node-execution-context → execution-engine/node-execution-context}/trigger-context.d.ts +0 -0
  275. /package/dist/{node-execution-context/utils/cleanupParameterData.d.ts → execution-engine/node-execution-context/utils/cleanup-parameter-data.d.ts} +0 -0
  276. /package/dist/{node-execution-context/utils/ensureType.d.ts → execution-engine/node-execution-context/utils/ensure-type.d.ts} +0 -0
  277. /package/dist/{ExecutionMetadata.d.ts → execution-engine/node-execution-context/utils/execution-metadata.d.ts} +0 -0
  278. /package/dist/{ExtractValue.d.ts → execution-engine/node-execution-context/utils/extract-value.d.ts} +0 -0
  279. /package/dist/{node-execution-context/utils/getAdditionalKeys.d.ts → execution-engine/node-execution-context/utils/get-additional-keys.d.ts} +0 -0
  280. /package/dist/{node-execution-context/utils/getInputConnectionData.d.ts → execution-engine/node-execution-context/utils/get-input-connection-data.d.ts} +0 -0
  281. /package/dist/{Secrets.d.ts → execution-engine/node-execution-context/utils/get-secrets-proxy.d.ts} +0 -0
  282. /package/dist/{node-execution-context/utils/validateValueAgainstSchema.d.ts → execution-engine/node-execution-context/utils/validate-value-against-schema.d.ts} +0 -0
  283. /package/dist/{node-execution-context → execution-engine/node-execution-context}/webhook-context.d.ts +0 -0
  284. /package/dist/{node-execution-context → execution-engine/node-execution-context}/workflow-node-context.d.ts +0 -0
  285. /package/dist/{node-execution-context → execution-engine/node-execution-context}/workflow-node-context.js +0 -0
  286. /package/dist/{PartialExecutionUtils/DirectedGraph.d.ts → execution-engine/partial-execution-utils/directed-graph.d.ts} +0 -0
  287. /package/dist/{PartialExecutionUtils/findTriggerForPartialExecution.d.ts → execution-engine/partial-execution-utils/find-trigger-for-partial-execution.d.ts} +0 -0
  288. /package/dist/{PartialExecutionUtils/getIncomingData.d.ts → execution-engine/partial-execution-utils/get-incoming-data.d.ts} +0 -0
  289. /package/dist/{RoutingNode.d.ts → execution-engine/routing-node.d.ts} +0 -0
  290. /package/dist/{SSHClientsManager.d.ts → execution-engine/ssh-clients-manager.d.ts} +0 -0
  291. /package/dist/{TriggersAndPollers.d.ts → execution-engine/triggers-and-pollers.d.ts} +0 -0
  292. /package/dist/{WorkflowExecute.d.ts → execution-engine/workflow-execute.d.ts} +0 -0
  293. /package/dist/{InstanceSettingsConfig.d.ts → instance-settings/instance-settings-config.d.ts} +0 -0
  294. /package/dist/{ClassLoader.d.ts → nodes-loader/load-class-in-isolation.d.ts} +0 -0
  295. /package/dist/{utils.d.ts → utils/is-object-literal.d.ts} +0 -0
  296. /package/dist/{SerializedBuffer.d.ts → utils/serialized-buffer.d.ts} +0 -0
@@ -98,14 +98,14 @@ const qs_1 = require("qs");
98
98
  const stream_1 = require("stream");
99
99
  const url_1 = __importStar(require("url"));
100
100
  const logger_1 = require("./logging/logger");
101
- const BinaryData_service_1 = require("./BinaryData/BinaryData.service");
102
- const utils_1 = require("./BinaryData/utils");
103
- const Constants_1 = require("./Constants");
101
+ const binary_data_service_1 = require("./binary-data/binary-data.service");
102
+ const utils_1 = require("./binary-data/utils");
103
+ const constants_1 = require("./constants");
104
104
  const data_deduplication_service_1 = require("./data-deduplication-service");
105
- const InstanceSettings_1 = require("./InstanceSettings");
106
- const node_execution_context_1 = require("./node-execution-context");
107
- const ScheduledTaskManager_1 = require("./ScheduledTaskManager");
108
- const SSHClientsManager_1 = require("./SSHClientsManager");
105
+ const node_execution_context_1 = require("./execution-engine/node-execution-context");
106
+ const scheduled_task_manager_1 = require("./execution-engine/scheduled-task-manager");
107
+ const ssh_clients_manager_1 = require("./execution-engine/ssh-clients-manager");
108
+ const instance_settings_1 = require("./instance-settings");
109
109
  axios_1.default.defaults.timeout = 300000;
110
110
  axios_1.default.defaults.headers.post = {};
111
111
  axios_1.default.defaults.headers.put = {};
@@ -777,13 +777,13 @@ async function httpRequest(requestOptions) {
777
777
  return result.data;
778
778
  }
779
779
  function getBinaryPath(binaryDataId) {
780
- return di_1.Container.get(BinaryData_service_1.BinaryDataService).getPath(binaryDataId);
780
+ return di_1.Container.get(binary_data_service_1.BinaryDataService).getPath(binaryDataId);
781
781
  }
782
782
  async function getBinaryMetadata(binaryDataId) {
783
- return await di_1.Container.get(BinaryData_service_1.BinaryDataService).getMetadata(binaryDataId);
783
+ return await di_1.Container.get(binary_data_service_1.BinaryDataService).getMetadata(binaryDataId);
784
784
  }
785
785
  async function getBinaryStream(binaryDataId, chunkSize) {
786
- return await di_1.Container.get(BinaryData_service_1.BinaryDataService).getAsStream(binaryDataId, chunkSize);
786
+ return await di_1.Container.get(binary_data_service_1.BinaryDataService).getAsStream(binaryDataId, chunkSize);
787
787
  }
788
788
  function assertBinaryData(inputData, node, itemIndex, propertyName, inputIndex) {
789
789
  const binaryKeyData = inputData.main[inputIndex][itemIndex].binary;
@@ -804,13 +804,13 @@ function assertBinaryData(inputData, node, itemIndex, propertyName, inputIndex)
804
804
  }
805
805
  async function getBinaryDataBuffer(inputData, itemIndex, propertyName, inputIndex) {
806
806
  const binaryData = inputData.main[inputIndex][itemIndex].binary[propertyName];
807
- return await di_1.Container.get(BinaryData_service_1.BinaryDataService).getAsBuffer(binaryData);
807
+ return await di_1.Container.get(binary_data_service_1.BinaryDataService).getAsBuffer(binaryData);
808
808
  }
809
809
  function detectBinaryEncoding(buffer) {
810
810
  return chardet_1.default.detect(buffer);
811
811
  }
812
812
  async function setBinaryDataBuffer(binaryData, bufferOrStream, workflowId, executionId) {
813
- return await di_1.Container.get(BinaryData_service_1.BinaryDataService).store(workflowId, executionId, bufferOrStream, binaryData);
813
+ return await di_1.Container.get(binary_data_service_1.BinaryDataService).store(workflowId, executionId, bufferOrStream, binaryData);
814
814
  }
815
815
  async function copyBinaryFile(workflowId, executionId, filePath, fileName, mimeType) {
816
816
  let fileExtension;
@@ -847,7 +847,7 @@ async function copyBinaryFile(workflowId, executionId, filePath, fileName, mimeT
847
847
  else if (filePath) {
848
848
  returnData.fileName = path_1.default.parse(filePath).base;
849
849
  }
850
- return await di_1.Container.get(BinaryData_service_1.BinaryDataService).copyBinaryFile(workflowId, executionId, returnData, filePath);
850
+ return await di_1.Container.get(binary_data_service_1.BinaryDataService).copyBinaryFile(workflowId, executionId, returnData, filePath);
851
851
  }
852
852
  async function prepareBinaryData(binaryData, executionId, workflowId, filePath, mimeType) {
853
853
  let fileExtension;
@@ -1489,18 +1489,18 @@ const getRequestHelperFunctions = (workflow, node, additionalData, runExecutionD
1489
1489
  };
1490
1490
  exports.getRequestHelperFunctions = getRequestHelperFunctions;
1491
1491
  const getSSHTunnelFunctions = () => ({
1492
- getSSHClient: async (credentials) => await di_1.Container.get(SSHClientsManager_1.SSHClientsManager).getClient(credentials),
1492
+ getSSHClient: async (credentials) => await di_1.Container.get(ssh_clients_manager_1.SSHClientsManager).getClient(credentials),
1493
1493
  });
1494
1494
  exports.getSSHTunnelFunctions = getSSHTunnelFunctions;
1495
1495
  const getSchedulingFunctions = (workflow) => {
1496
- const scheduledTaskManager = di_1.Container.get(ScheduledTaskManager_1.ScheduledTaskManager);
1496
+ const scheduledTaskManager = di_1.Container.get(scheduled_task_manager_1.ScheduledTaskManager);
1497
1497
  return {
1498
1498
  registerCron: (cronExpression, onTick) => scheduledTaskManager.registerCron(workflow, cronExpression, onTick),
1499
1499
  };
1500
1500
  };
1501
1501
  exports.getSchedulingFunctions = getSchedulingFunctions;
1502
1502
  const getAllowedPaths = () => {
1503
- const restrictFileAccessTo = process.env[Constants_1.RESTRICT_FILE_ACCESS_TO];
1503
+ const restrictFileAccessTo = process.env[constants_1.RESTRICT_FILE_ACCESS_TO];
1504
1504
  if (!restrictFileAccessTo) {
1505
1505
  return [];
1506
1506
  }
@@ -1513,7 +1513,7 @@ const getAllowedPaths = () => {
1513
1513
  function isFilePathBlocked(filePath) {
1514
1514
  const allowedPaths = getAllowedPaths();
1515
1515
  const resolvedFilePath = path_1.default.resolve(filePath);
1516
- const blockFileAccessToN8nFiles = process.env[Constants_1.BLOCK_FILE_ACCESS_TO_N8N_FILES] !== 'false';
1516
+ const blockFileAccessToN8nFiles = process.env[constants_1.BLOCK_FILE_ACCESS_TO_N8N_FILES] !== 'false';
1517
1517
  if (allowedPaths.length) {
1518
1518
  for (const path of allowedPaths) {
1519
1519
  if (resolvedFilePath.startsWith(path)) {
@@ -1523,23 +1523,23 @@ function isFilePathBlocked(filePath) {
1523
1523
  return true;
1524
1524
  }
1525
1525
  if (blockFileAccessToN8nFiles) {
1526
- const { n8nFolder, staticCacheDir } = di_1.Container.get(InstanceSettings_1.InstanceSettings);
1526
+ const { n8nFolder, staticCacheDir } = di_1.Container.get(instance_settings_1.InstanceSettings);
1527
1527
  const restrictedPaths = [n8nFolder, staticCacheDir];
1528
- if (process.env[Constants_1.CONFIG_FILES]) {
1529
- restrictedPaths.push(...process.env[Constants_1.CONFIG_FILES].split(','));
1528
+ if (process.env[constants_1.CONFIG_FILES]) {
1529
+ restrictedPaths.push(...process.env[constants_1.CONFIG_FILES].split(','));
1530
1530
  }
1531
- if (process.env[Constants_1.CUSTOM_EXTENSION_ENV]) {
1532
- const customExtensionFolders = process.env[Constants_1.CUSTOM_EXTENSION_ENV].split(';');
1531
+ if (process.env[constants_1.CUSTOM_EXTENSION_ENV]) {
1532
+ const customExtensionFolders = process.env[constants_1.CUSTOM_EXTENSION_ENV].split(';');
1533
1533
  restrictedPaths.push(...customExtensionFolders);
1534
1534
  }
1535
- if (process.env[Constants_1.BINARY_DATA_STORAGE_PATH]) {
1536
- restrictedPaths.push(process.env[Constants_1.BINARY_DATA_STORAGE_PATH]);
1535
+ if (process.env[constants_1.BINARY_DATA_STORAGE_PATH]) {
1536
+ restrictedPaths.push(process.env[constants_1.BINARY_DATA_STORAGE_PATH]);
1537
1537
  }
1538
- if (process.env[Constants_1.UM_EMAIL_TEMPLATES_INVITE]) {
1539
- restrictedPaths.push(process.env[Constants_1.UM_EMAIL_TEMPLATES_INVITE]);
1538
+ if (process.env[constants_1.UM_EMAIL_TEMPLATES_INVITE]) {
1539
+ restrictedPaths.push(process.env[constants_1.UM_EMAIL_TEMPLATES_INVITE]);
1540
1540
  }
1541
- if (process.env[Constants_1.UM_EMAIL_TEMPLATES_PWRESET]) {
1542
- restrictedPaths.push(process.env[Constants_1.UM_EMAIL_TEMPLATES_PWRESET]);
1541
+ if (process.env[constants_1.UM_EMAIL_TEMPLATES_PWRESET]) {
1542
+ restrictedPaths.push(process.env[constants_1.UM_EMAIL_TEMPLATES_PWRESET]);
1543
1543
  }
1544
1544
  for (const path of restrictedPaths) {
1545
1545
  if (resolvedFilePath.startsWith(path)) {
@@ -1572,7 +1572,7 @@ const getFileSystemHelperFunctions = (node) => ({
1572
1572
  return (0, fs_1.createReadStream)(filePath);
1573
1573
  },
1574
1574
  getStoragePath() {
1575
- return path_1.default.join(di_1.Container.get(InstanceSettings_1.InstanceSettings).n8nFolder, `storage/${node.type}`);
1575
+ return path_1.default.join(di_1.Container.get(instance_settings_1.InstanceSettings).n8nFolder, `storage/${node.type}`);
1576
1576
  },
1577
1577
  async writeContentToFile(filePath, content, flag) {
1578
1578
  if (isFilePathBlocked(filePath)) {
@@ -1650,4 +1650,4 @@ function getCredentialTestFunctions() {
1650
1650
  },
1651
1651
  };
1652
1652
  }
1653
- //# sourceMappingURL=NodeExecuteFunctions.js.map
1653
+ //# sourceMappingURL=node-execute-functions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-execute-functions.js","sourceRoot":"","sources":["../src/node-execute-functions.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkPA,gDAsVC;AAiFD,4CAWC;AAED,0DAwBC;AAED,oDAYC;AAED,wCAOC;AAED,kCAkBC;AAED,kDAsFC;AA0HD,kCAyBC;AAED,sCAEC;AAKD,8CAEC;AAKD,0CAEC;AAED,4CAiCC;AAKD,kDAQC;AAED,oDAEC;AAUD,kDAYC;AAED,wCAyDC;AAOD,8CAsFC;AAED,0DAYC;AAED,oEAcC;AAED,0CAYC;AAED,wDAUC;AAED,sDAUC;AAED,gEAkBC;AAQD,sCA6OC;AAKD,sCAsEC;AAED,sEAiHC;AAOD,0CAiBC;AAOD,gEASC;AAQD,wCAqCC;AAGD,8DAyGC;AAKD,8CAuCC;AAKD,sDAmBC;AA2VD,8CAoDC;AAkHD,wCAYC;AAMD,0DAQC;AAMD,gEAQC;AAED,gEAUC;AA//ED,sDAAkD;AAClD,gCAAoC;AAEpC,kDAA0B;AAC1B,sDAA8B;AAC9B,iDAA4C;AAC5C,0DAAiC;AACjC,0DAAiC;AACjC,2BAAsC;AACtC,0CAA2E;AAC3E,+BAAuC;AACvC,iCAAiD;AACjD,4DAA+B;AAC/B,qDAA6B;AAC7B,6DAAqC;AACrC,yDAAiC;AACjC,uDAA+B;AAC/B,2CAA+C;AA+C/C,+CAYsB;AAEtB,4DAAsC;AACtC,gDAAwB;AACxB,2BAA+B;AAC/B,mCAAkC;AAClC,2CAAgD;AAEhD,6CAA0C;AAE1C,2EAAsE;AAEtE,+CAAqD;AACrD,2CAQqB;AACrB,6EAAwE;AAExE,sFAAwF;AACxF,sFAAiF;AACjF,gFAA2E;AAC3E,2DAAuD;AAGvD,eAAK,CAAC,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAC;AAEhC,eAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,GAAG,EAAE,CAAC;AACjC,eAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,GAAG,EAAE,CAAC;AAChC,eAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;AAClC,eAAK,CAAC,QAAQ,CAAC,gBAAgB,GAAG,CAAC,MAAM,EAAE,EAAE;IAC5C,IAAI,MAAM,YAAY,qBAAe,EAAE,CAAC;QACvC,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IACD,OAAO,IAAA,cAAS,EAAC,MAAM,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC;AACtD,CAAC,CAAC;AACF,eAAK,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;IAEzC,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,CAAC,IAAc,EAAE,GAAW,EAAE,KAAU,EAAE,EAAE;IACrE,IAAI,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;QACvE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;SAAM,CAAC;QACP,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACzB,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,IAA6B,EAAE,EAAE;IAC9D,MAAM,QAAQ,GAAG,IAAI,mBAAQ,EAAE,CAAC;IAChC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACpB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QAE5B,IAAI,SAAS,YAAY,KAAK,EAAE,CAAC;YAChC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC1B,iBAAiB,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;QACJ,CAAC;aAAM,CAAC;YACP,iBAAiB,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAC7C,CAAC;IACF,CAAC,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC;AAEK,MAAM,WAAW,GAAG,CAAC,GAAY,EAAW,EAAE;IACpD,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAC;IAEvB,IAAI,CAAC;QACJ,IAAI,SAAG,CAAC,GAAG,CAAC,CAAC;QACb,OAAO,IAAI,CAAC;IACb,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,KAAK,CAAC;IACd,CAAC;AACF,CAAC,CAAC;AATW,QAAA,WAAW,eAStB;AAEF,SAAS,eAAe,CAAC,MAA0B,EAAE,UAAkB;IACtE,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAChD,UAAU,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;IACtC,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,CAAC;AAClF,CAAC;AAED,KAAK,UAAU,2BAA2B,CAAC,MAA0B;IACpE,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,YAAY,mBAAQ,CAAC,EAAE,CAAC;QACxC,OAAO;IACR,CAAC;IACD,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,CAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACrD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAmB,EAAE,MAAc,EAAE,EAAE;gBAC7D,IAAI,KAAK,EAAE,CAAC;oBACX,GAAG,CAAC,KAAK,CAAC,CAAC;oBACX,OAAO;gBACR,CAAC;gBACD,GAAG,CAAC,MAAM,CAAC,CAAC;YACb,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,OAAO,GAAG;YAChB,GAAG,MAAM,CAAC,OAAO;YACjB,gBAAgB,EAAE,MAAM;SACxB,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,cAAS,CAAC,GAAG,CAAC,eAAM,CAAC,CAAC,KAAK,CAAC,sCAAsC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAChF,CAAC;AACF,CAAC;AAED,MAAM,wBAAwB,GAAG,CAChC,aAIE,EACc,EAAE;IAClB,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,GAAG,IAAI,aAAa,CAAC,GAAG,CAAW,CAAC;QAC/D,OAAO,IAAI,SAAG,CAAC,GAAG,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC;IACrD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACb,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,mBAAmB,GACxB,CAAC,YAA0B,EAAE,WAA+B,EAAE,EAAE,CAChE,CAAC,iBAAsC,EAAE,EAAE;IAC1C,MAAM,aAAa,GAAG,IAAI,aAAK,CAAC;QAC/B,GAAG,YAAY;QACf,UAAU,EAAE,iBAAiB,CAAC,QAAQ;KACtC,CAAC,CAAC;IACH,iBAAiB,CAAC,KAAK,GAAG,aAAa,CAAC;IACxC,iBAAiB,CAAC,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC;IAE/C,IAAI,WAAW,CAAC,OAAO,EAAE,aAAa,EAAE,CAAC;QACxC,iBAAiB,CAAC,OAAO,CAAC,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC;IAC7E,CAAC;IACD,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;QACtB,iBAAiB,CAAC,IAAI,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,IAAI,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;IACtF,CAAC;AACF,CAAC,CAAC;AAGI,KAAK,UAAU,kBAAkB,CAAC,aAA8B;IAOtE,MAAM,WAAW,GAAuB,EAAE,CAAC;IAE3C,IAAI,aAAa,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACzC,WAAW,CAAC,OAAO,GAAG,aAAa,CAAC,OAAuB,CAAC;IAC7D,CAAC;IAUD,MAAM,wBAAwB,GAC7B,WAAW,CAAC,OAAO;QACnB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,CACpC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,cAAc,CAC3D,CAAC;IACH,MAAM,WAAW,GAChB,wBAAwB;QACvB,WAAW,CAAC,OAAO,EAAE,CAAC,wBAAwB,CAAwB,CAAC;IACzE,IAAI,WAAW,KAAK,mCAAmC,IAAI,aAAa,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAKjG,IAAI,OAAO,aAAa,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5C,WAAW,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC;QACvC,CAAC;aAAM,CAAC;YACP,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,IAAI,EAAE,EAAE,aAAa,CAAC,IAAI,IAAI,EAAE,CAG/E,CAAC;YACF,IAAI,aAAa,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;gBAC3C,WAAW,CAAC,IAAI,GAAG,IAAA,cAAS,EAAC,OAAO,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;YAClE,CAAC;iBAAM,CAAC;gBACP,WAAW,CAAC,IAAI,GAAG,IAAA,cAAS,EAAC,OAAO,CAAC,CAAC;YACvC,CAAC;QACF,CAAC;IACF,CAAC;SAAM,IAAI,WAAW,EAAE,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;QACzD,IAAI,aAAa,CAAC,QAAQ,KAAK,SAAS,IAAI,aAAa,CAAC,QAAQ,YAAY,mBAAQ,EAAE,CAAC;YACxF,WAAW,CAAC,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC;QAC3C,CAAC;aAAM,CAAC;YACP,MAAM,OAAO,GAAsB;gBAClC,GAAI,aAAa,CAAC,IAA2B;gBAC7C,GAAI,aAAa,CAAC,QAA+B;aACjD,CAAC;YAEF,WAAW,CAAC,IAAI,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAClD,CAAC;QAGD,OAAO,WAAW,CAAC,OAAO,EAAE,CAAC,wBAAyB,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QAC9C,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;QACxE,MAAM,2BAA2B,CAAC,WAAW,CAAC,CAAC;IAChD,CAAC;SAAM,CAAC;QAEP,IAAI,aAAa,CAAC,IAAI,KAAK,SAAS,IAAI,aAAa,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAE1E,WAAW,CAAC,IAAI;gBACf,OAAO,aAAa,CAAC,IAAI,KAAK,QAAQ;oBACrC,CAAC,CAAC,IAAA,cAAS,EAAC,aAAa,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;oBACtD,CAAC,CAAC,IAAA,cAAS,EAAC,aAAa,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC7C,IAAI,WAAW,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBACvC,MAAM,UAAU,GAAG,eAAe,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;gBAChE,IAAI,UAAU,EAAE,CAAC;oBAChB,OAAO,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBACxC,CAAC;gBACD,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,mCAAmC,CAAC;YAC3E,CAAC;iBAAM,CAAC;gBACP,WAAW,CAAC,OAAO,GAAG;oBACrB,cAAc,EAAE,mCAAmC;iBACnD,CAAC;YACH,CAAC;QACF,CAAC;aAAM,IAAI,aAAa,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAEjD,IAAI,WAAW,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBACvC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBACjD,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;oBAC1B,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,cAAc,EAAE,CAAC;wBAC7C,OAAO,WAAW,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;oBACtC,CAAC;gBACF,CAAC,CAAC,CAAC;YACJ,CAAC;YAED,IAAI,aAAa,CAAC,QAAQ,YAAY,mBAAQ,EAAE,CAAC;gBAChD,WAAW,CAAC,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC;YAC3C,CAAC;iBAAM,CAAC;gBACP,WAAW,CAAC,IAAI,GAAG,oBAAoB,CAAC,aAAa,CAAC,QAAmC,CAAC,CAAC;YAC5F,CAAC;YAED,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YAC9C,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;YACxE,MAAM,2BAA2B,CAAC,WAAW,CAAC,CAAC;QAChD,CAAC;aAAM,IAAI,aAAa,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAE7C,IAAI,aAAa,CAAC,IAAI,KAAK,SAAS,IAAI,aAAa,CAAC,IAAI,EAAE,CAAC;gBAE5D,aAAa,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;YAC5E,CAAC;YACD,WAAW,CAAC,IAAI,GAAG,aAAa,CAAC,IAAgD,CAAC;QACnF,CAAC;IACF,CAAC;IAED,IAAI,aAAa,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QACrC,WAAW,CAAC,GAAG,GAAG,aAAa,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC;IACjD,CAAC;IAED,IAAI,aAAa,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QACrC,WAAW,CAAC,GAAG,GAAG,aAAa,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC;IACjD,CAAC;IAED,IAAI,aAAa,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACzC,WAAW,CAAC,OAAO,GAAG,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC;IACzD,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACxC,WAAW,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;IAC3C,CAAC;IAED,IAAI,aAAa,CAAC,EAAE,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAY,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1F,WAAW,CAAC,MAAM,GAAG,aAAa,CAAC,EAAE,CAAC;IACvC,CAAC;IAED,SAAS,qBAAqB,CAC7B,GAAoB;QAEpB,IACC,OAAO,GAAG,CAAC,kBAAkB,KAAK,QAAQ;YAC1C,GAAG,CAAC,kBAAkB,KAAK,IAAI;YAC/B,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;YACtC,aAAa,IAAI,GAAG,CAAC,kBAAkB,EACtC,CAAC;YACF,OAAO,IAAI,CAAC;QACb,CAAC;QAED,OAAO,KAAK,CAAC;IACd,CAAC;IAED,IACC,aAAa,CAAC,cAAc,KAAK,IAAI;QACrC,CAAC,qBAAqB,CAAC,aAAa,CAAC;YACpC,aAAa,CAAC,kBAAkB,CAAC,WAAW,KAAK,QAAQ,CAAC,EAC1D,CAAC;QACF,WAAW,CAAC,gBAAgB,GAAG,CAAC,MAAM,EAAE,EAAE;YACzC,OAAO,IAAA,cAAS,EAAC,MAAM,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;QACrD,CAAC,CAAC;IACH,CAAC;SAAM,IAAI,aAAa,CAAC,cAAc,KAAK,KAAK,EAAE,CAAC;QACnD,WAAW,CAAC,gBAAgB,GAAG,CAAC,MAAM,EAAE,EAAE;YACzC,OAAO,IAAA,cAAS,EAAC,MAAM,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC;QACtD,CAAC,CAAC;IACH,CAAC;IAED,IACC,qBAAqB,CAAC,aAAa,CAAC;QACpC,aAAa,CAAC,kBAAkB,CAAC,WAAW,KAAK,UAAU,EAC1D,CAAC;QACF,WAAW,CAAC,gBAAgB,GAAG,CAAC,MAAM,EAAE,EAAE;YACzC,OAAO,IAAA,cAAS,EAAC,MAAM,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC;QACvD,CAAC,CAAC;IACH,CAAC;IAED,IAAI,aAAa,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAEtC,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC7C,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,IAAI,EAAE,EAAE;gBAC9D,aAAa,EAAE,UAAU,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE;aACpD,CAAC,CAAC;QACJ,CAAC;aAAM,CAAC;YACP,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC;YAEnC,WAAW,CAAC,IAAI,GAAG;gBAClB,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,QAAQ,CAAW;gBACtD,QAAQ,EAAE,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAW;aACtD,CAAC;QACH,CAAC;IACF,CAAC;IAGD,IAAI,aAAa,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QAGjC,MAAM,kBAAkB,GACvB,WAAW,CAAC,OAAO,KAAK,SAAS;YAChC,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;iBAC/B,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;iBAC3C,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACxB,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACzB,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,IAAI,EAAE,EAAE;gBAC9D,MAAM,EAAE,kBAAkB;aAC1B,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IACD,IAAI,aAAa,CAAC,IAAI,KAAK,KAAK,IAAI,aAAa,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAEtE,WAAW,CAAC,iBAAiB,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC;IAC9C,CAAC;IAGD,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC;IACjC,IACC,CAAC,aAAa,CAAC,cAAc,KAAK,KAAK;QACtC,CAAC,CAAC,MAAM,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM,CAAC,CAAC;QACpD,aAAa,CAAC,kBAAkB,EAC/B,CAAC;QACF,WAAW,CAAC,YAAY,GAAG,aAAa,CAAC,YAAY,CAAC;IACvD,CAAC;SAAM,CAAC;QACP,WAAW,CAAC,YAAY,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM,IAAI,GAAG,wBAAwB,CAAC,aAAa,CAAC,CAAC;IACrD,MAAM,YAAY,GAAiB,EAAE,GAAG,aAAa,CAAC,YAAY,EAAE,CAAC;IACrE,IAAI,IAAI,EAAE,CAAC;QACV,YAAY,CAAC,UAAU,GAAG,IAAI,CAAC;IAChC,CAAC;IACD,IAAI,aAAa,CAAC,kBAAkB,KAAK,KAAK,EAAE,CAAC;QAChD,YAAY,CAAC,kBAAkB,GAAG,KAAK,CAAC;QACxC,YAAY,CAAC,aAAa,GAAG,gBAAM,CAAC,SAAS,CAAC,4BAA4B,CAAC;IAC5E,CAAC;IAED,WAAW,CAAC,UAAU,GAAG,IAAI,aAAK,CAAC,YAAY,CAAC,CAAC;IAEjD,WAAW,CAAC,cAAc,GAAG,mBAAmB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IAE5E,IAAI,aAAa,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACzC,WAAW,CAAC,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;IAC7C,CAAC;IAED,IAAI,aAAa,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAEvC,IAAI,OAAO,aAAa,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC7C,IAAI,CAAC;gBACJ,MAAM,GAAG,GAAG,IAAI,SAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBACzC,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;gBACrF,WAAW,CAAC,KAAK,GAAG;oBACnB,IAAI;oBACJ,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;oBAC5B,QAAQ,EAAE,GAAG,CAAC,QAAQ;iBACtB,CAAC;gBACF,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;oBAEf,IAAI,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;wBAC7B,WAAW,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC;oBAC7B,CAAC;yBAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;wBACrC,WAAW,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC;oBAC9B,CAAC;gBACF,CAAC;gBACD,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;oBAClC,WAAW,CAAC,KAAK,CAAC,IAAI,GAAG;wBACxB,QAAQ,EAAE,GAAG,CAAC,QAAQ;wBACtB,QAAQ,EAAE,GAAG,CAAC,QAAQ;qBACtB,CAAC;gBACH,CAAC;YACF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAGhB,IAAI,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBACvC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAC5D,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACjD,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAC7C,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;oBACzE,WAAW,CAAC,KAAK,GAAG;wBACnB,IAAI;wBACJ,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;wBACxB,QAAQ,EAAE,MAAM;wBAChB,IAAI,EAAE;4BACL,QAAQ;4BACR,QAAQ;yBACR;qBACD,CAAC;gBACH,CAAC;qBAAM,IAAI,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC9C,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACxD,WAAW,CAAC,KAAK,GAAG;wBACnB,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;wBACxB,QAAQ,EAAE,MAAM;qBAChB,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACP,WAAW,CAAC,KAAK,GAAG;wBACnB,IAAI,EAAE,aAAa,CAAC,KAAK;wBACzB,IAAI,EAAE,EAAE;wBACR,QAAQ,EAAE,MAAM;qBAChB,CAAC;gBACH,CAAC;YACF,CAAC;QACF,CAAC;aAAM,CAAC;YACP,WAAW,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;QACzC,CAAC;IACF,CAAC;IAED,IAAI,aAAa,CAAC,SAAS,EAAE,CAAC;QAC7B,WAAW,CAAC,YAAY,GAAG,QAAQ,CAAC;IACrC,CAAC;SAAM,IAAI,aAAa,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAE5C,WAAW,CAAC,YAAY,GAAG,aAAa,CAAC;IAC1C,CAAC;IAMD,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/E,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,EAAE,CAAC;QAC3E,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACnF,CAAC;IACD,IACC,aAAa,CAAC,IAAI,KAAK,KAAK;QAC5B,WAAW,CAAC,IAAI,KAAK,SAAS;QAC9B,WAAW,CAAC,IAAI,KAAK,EAAE;QACvB,CAAC,CAAC,WAAW,CAAC,IAAI,YAAY,MAAM,CAAC;QACrC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,cAAc,CAAC,EAC1E,CAAC;QAKF,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,IAAI,EAAE,EAAE;YAC9D,cAAc,EAAE,kBAAkB;SAClC,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QACpC,WAAW,CAAC,cAAc,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC;IACzC,CAAC;IAQD,OAAO,WAAW,CAAC;AACpB,CAAC;AAED,SAAS,qBAAqB,CAC7B,WAA+B,EAC/B,QAAuB,EACvB,IAAgC;IAEhC,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,kBAAkB,CAAC;SACtD,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACnC,IAAI,WAAW,EAAE,CAAC;QACjB,MAAM,UAAU,GAAG,WAAW,CAAC;QAC/B,MAAM,MAAM,GAAG,gBAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACtD,MAAM,KAAK,GAAW,WAAW;aAC/B,IAAI,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAC/D,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAEpB,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC3F,MAAM,MAAM,GAAW,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5E,MAAM,KAAK,GAAW,WAAW;aAC/B,IAAI,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAC/D,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACpB,MAAM,GAAG,GAAG,gBAAM;aAChB,UAAU,CAAC,KAAK,CAAC;aACjB,MAAM,CAAC,GAAG,IAAI,EAAE,QAAkB,IAAI,KAAK,IAAI,IAAI,EAAE,QAAkB,EAAE,CAAC;aAC1E,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,MAAM,MAAM,GAAG,IAAI,aAAG,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;QAC7C,MAAM,GAAG,GAAG,gBAAM;aAChB,UAAU,CAAC,KAAK,CAAC;aACjB,MAAM,CAAC,GAAG,WAAW,CAAC,MAAM,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;aAChD,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,MAAM,QAAQ,GAAG,gBAAM;aACrB,UAAU,CAAC,KAAK,CAAC;aACjB,MAAM,CAAC,GAAG,GAAG,IAAI,KAAK,IAAI,UAAU,IAAI,MAAM,SAAS,GAAG,EAAE,CAAC;aAC7D,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,IAAI,aAAa,GAChB,oBAAoB,IAAI,EAAE,QAAkB,YAAY,KAAK,IAAI;YACjE,UAAU,KAAK,UAAU,IAAI,+BAA+B;YAC5D,aAAa,QAAQ,SAAS,UAAU,aAAa,MAAM,GAAG,CAAC;QAEhE,IAAI,MAAM,EAAE,CAAC;YACZ,aAAa,IAAI,YAAY,MAAM,GAAG,CAAC;QACxC,CAAC;QACD,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YACzB,WAAW,CAAC,OAAO,CAAC,aAAa,GAAG,aAAa,CAAC;QACnD,CAAC;aAAM,CAAC;YACP,WAAW,CAAC,OAAO,GAAG,EAAE,aAAa,EAAE,CAAC;QACzC,CAAC;IACF,CAAC;IACD,OAAO,WAAW,CAAC;AACpB,CAAC;AAeD,SAAS,qBAAqB,CAAC,UAAoB;IAClD,OAAO,UAAU,CAAC,MAAM,CACvB,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QACd,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,YAAY,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;QACpD,IAAI,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAChE,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1C,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,YAAY,CAAC;QAC7C,OAAO,GAAG,CAAC;IACZ,CAAC,EACD,EAA4B,CAC5B,CAAC;AACH,CAAC;AAED,SAAgB,gBAAgB,CAAC,WAAoB;IACpD,IAAI,CAAC,WAAW,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAAI,EAAE,GAAG,UAAU,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAErD,OAAO;QACN,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE;QACxB,UAAU,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,qBAAqB,CAAC,UAAU,CAAC,EAAE;KACtE,CAAC;AACH,CAAC;AAED,SAAgB,uBAAuB,CAAC,kBAA2B;IAClE,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACb,CAAC;IAID,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9F,kBAAkB,GAAG,eAAe,kBAAkB,EAAE,CAAC;IAC1D,CAAC;IAED,MAAM,CAAC,IAAI,EAAE,GAAG,UAAU,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE5D,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAE3D,IAAI,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAAC;IACpC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAC/C,IAAI,QAAQ,EAAE,CAAC;QAEd,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACjE,QAAQ,GAAG,OAAO,CAAC;IACpB,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAC3B,CAAC;AAED,SAAgB,oBAAoB,CAAC,OAAwB;IAC5D,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;IACtE,IAAI,WAAW,EAAE,CAAC;QACjB,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,WAAW,CAAC;QACzC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;QAC3B,OAAO,CAAC,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,WAAW,EAAoB,CAAC;IACvE,CAAC;IAED,MAAM,kBAAkB,GAAG,uBAAuB,CAAC,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAC3F,IAAI,kBAAkB,EAAE,CAAC;QACxB,OAAO,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;IACjD,CAAC;AACF,CAAC;AAEM,KAAK,UAAU,cAAc,CAAC,IAAuB,EAAE,QAAiB;IAC9E,IAAI,CAAC,QAAQ,IAAI,IAAI,YAAY,sBAAe,EAAE,CAAC;QAClD,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC3B,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC1B,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,IAAA,sBAAc,EAAC,IAAI,CAAC,CAAC;IAC1C,OAAO,oBAAK,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,IAAI,OAAO,CAAC,CAAC;AAClD,CAAC;AAEM,KAAK,UAAU,WAAW,CAChC,WAA+B,EAC/B,cAAuC,EAAE;IAEzC,IAAI,CAAC;QACJ,OAAO,MAAM,IAAA,eAAK,EAAC,WAAW,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,IAAI,WAAW,CAAC,eAAe,KAAK,KAAK,IAAI,CAAC,CAAC,KAAK,YAAY,eAAK,CAAC,UAAU,CAAC;YAAE,MAAM,KAAK,CAAC;QAE/F,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;QAC3B,IAAI,QAAQ,EAAE,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1F,MAAM,KAAK,CAAC;QACb,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC;QAC7B,OAAO,WAAW,CAAC,IAAI,CAAC;QACxB,WAAW,GAAG,qBAAqB,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QACjE,OAAO,MAAM,IAAA,eAAK,EAAC,WAAW,CAAC,CAAC;IACjC,CAAC;AACF,CAAC;AAEM,KAAK,UAAU,mBAAmB,CACxC,QAA8B,EAC9B,cAA0D,EAC1D,IAAuB,EACvB,WAAqC,EACrC,OAAyB;IAEzB,IAAI,WAAW,GAAuB;QACrC,aAAa,EAAE,QAAQ;QACvB,gBAAgB,EAAE,QAAQ;KAC1B,CAAC;IACF,IAAI,YAA6B,CAAC;IAClC,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;QACrC,YAAY,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,OAAO,EAAE,CAAC;IACjD,CAAC;SAAM,CAAC;QACP,YAAY,GAAG,WAAW,IAAI,EAAE,CAAC;IAClC,CAAC;IAED,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC;IAEjF,IAAI,CAAC;QACJ,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,WAAW,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;QACnE,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QACzB,IAAI,IAAI,YAAY,sBAAe,IAAI,WAAW,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;YAC9E,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;aAAM,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;YACxB,IAAI,GAAG,WAAW,CAAC,YAAY,KAAK,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACjF,CAAC;QACD,MAAM,cAAc,EAAE,KAAK,EAAE,oBAAoB,CAAC,iBAAiB,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;QAC3F,OAAO,YAAY,CAAC,uBAAuB;YAC1C,CAAC,CAAC;gBACA,IAAI;gBACJ,OAAO,EAAE,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE;gBAChC,UAAU,EAAE,QAAQ,CAAC,MAAM;gBAC3B,aAAa,EAAE,QAAQ,CAAC,UAAU;gBAClC,OAAO,EAAE,QAAQ,CAAC,OAAO;aACzB;YACF,CAAC,CAAC,IAAI,CAAC;IACT,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;QAKnC,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACxB,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC;YACzC,KAAK,CAAC,OAAO,GAAG,IAAA,cAAI,EAAC,MAAM,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;YACzE,IAAI,QAAQ,EAAE,CAAC;gBACd,cAAS,CAAC,GAAG,CAAC,eAAM,CAAC,CAAC,KAAK,CAAC,iCAAiC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC5F,IAAI,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAEjC,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,YAAY,YAAY,iBAAQ,EAAE,CAAC;oBACvE,YAAY,GAAG,MAAM,cAAc,CAAC,YAAY,CAAC,CAAC;gBACnD,CAAC;gBAED,IAAI,YAAY,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;oBACnC,IAAI,YAAY,CAAC,uBAAuB,EAAE,CAAC;wBAC1C,OAAO;4BACN,IAAI,EAAE,YAAY;4BAClB,OAAO,EAAE,QAAQ,CAAC,OAAO;4BACzB,UAAU,EAAE,QAAQ,CAAC,MAAM;4BAC3B,aAAa,EAAE,QAAQ,CAAC,UAAU;yBAClC,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACP,OAAO,YAAY,CAAC;oBACrB,CAAC;gBACF,CAAC;gBAED,KAAK,CAAC,OAAO,GAAG,GAAG,QAAQ,CAAC,MAAgB,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC;gBACjF,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;oBAC1B,UAAU,EAAE,QAAQ,CAAC,MAAM;oBAK3B,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,KAAK,EAAE,YAAY;oBACnB,QAAQ,EAAE,IAAA,cAAI,EAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;iBAC7D,CAAC,CAAC;YACJ,CAAC;iBAAM,IAAI,oBAAoB,IAAI,YAAY,IAAI,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjF,MAAM,IAAI,2BAAY,CAAC,KAAK,CAAC,CAAC;YAC/B,CAAC;QACF,CAAC;QAED,MAAM,KAAK,CAAC;IACb,CAAC;AACF,CAAC;AAGD,SAAS,wBAAwB,CAAC,UAA+B;IAEhE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC;IAElE,MAAM,YAAY,GAAuB;QACxC,OAAO,EAAE,OAAO,IAAI,EAAE;QACtB,MAAM;QACN,OAAO;QACP,IAAI;QACJ,KAAK;QACL,GAAG;QACH,aAAa,EAAE,QAAQ;QACvB,gBAAgB,EAAE,QAAQ;KACJ,CAAC;IAExB,YAAY,CAAC,MAAM,GAAG,UAAU,CAAC,EAAE,CAAC;IAEpC,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;QAC5B,YAAY,CAAC,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC;IAC9C,CAAC;IAED,IAAI,UAAU,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACtC,YAAY,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;IAC3C,CAAC;IAED,IAAI,UAAU,CAAC,qBAAqB,KAAK,IAAI,EAAE,CAAC;QAC/C,YAAY,CAAC,YAAY,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,UAAU,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACvC,YAAY,CAAC,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC;IACjD,CAAC;IAED,MAAM,IAAI,GAAG,wBAAwB,CAAC,UAAU,CAAC,CAAC;IAClD,MAAM,YAAY,GAAiB,EAAE,CAAC;IACtC,IAAI,IAAI,EAAE,CAAC;QACV,YAAY,CAAC,UAAU,GAAG,IAAI,CAAC;IAChC,CAAC;IACD,IAAI,UAAU,CAAC,4BAA4B,KAAK,IAAI,EAAE,CAAC;QACtD,YAAY,CAAC,kBAAkB,GAAG,KAAK,CAAC;IACzC,CAAC;IACD,YAAY,CAAC,UAAU,GAAG,IAAI,aAAK,CAAC,YAAY,CAAC,CAAC;IAElD,YAAY,CAAC,cAAc,GAAG,mBAAmB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IAE9E,IAAI,UAAU,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QAC1C,YAAY,CAAC,gBAAgB,GAAG,CAAC,MAAM,EAAE,EAAE;YAC1C,OAAO,IAAA,cAAS,EAAC,MAAM,EAAE,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC;IACH,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC;IAC5B,IAAI,IAAI,EAAE,CAAC;QAEV,MAAM,4BAA4B,GAAG,eAAe,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;QACnF,IAAI,4BAA4B,KAAK,SAAS,EAAE,CAAC;YAChD,YAAY,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,IAAI,EAAE,CAAC;YAGlD,IAAI,IAAI,YAAY,mBAAQ,EAAE,CAAC;gBAC9B,YAAY,CAAC,OAAO,GAAG;oBACtB,GAAG,YAAY,CAAC,OAAO;oBACvB,GAAG,IAAI,CAAC,UAAU,EAAE;iBACpB,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,YAAY,qBAAe,EAAE,CAAC;gBAC5C,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,mCAAmC,CAAC;YAC5E,CAAC;QACF,CAAC;aAAM,IACN,YAAY,CAAC,OAAO,EAAE,CAAC,4BAA4B,CAAC,KAAK,mCAAmC,EAC3F,CAAC;YACF,YAAY,CAAC,IAAI,GAAG,IAAI,qBAAe,CAAC,UAAU,CAAC,IAA8B,CAAC,CAAC;QACpF,CAAC;QAID,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAA,4BAAa,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACpF,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC;QAC1B,CAAC;IACF,CAAC;IAED,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;QACrB,MAAM,GAAG,GAAG,eAAe,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAGpD,IAAI,CAAC,GAAG,EAAE,CAAC;YACV,YAAY,CAAC,OAAO,GAAG;gBACtB,GAAG,YAAY,CAAC,OAAO;gBACvB,MAAM,EAAE,kBAAkB;aAC1B,CAAC;QACH,CAAC;IACF,CAAC;IAED,MAAM,eAAe,GAAG,eAAe,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IAGpE,IAAI,CAAC,eAAe,EAAE,CAAC;QACtB,YAAY,CAAC,OAAO,GAAG;YACtB,GAAG,YAAY,CAAC,OAAO;YACvB,YAAY,EAAE,KAAK;SACnB,CAAC;IACH,CAAC;IAED,IAAI,UAAU,CAAC,sBAAsB,EAAE,CAAC;QACvC,YAAY,CAAC,cAAc,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC;IAC1C,CAAC;IAED,OAAO,YAAY,CAAC;AACrB,CAAC;AAED,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;AAG9C,MAAM,eAAe,GAAG,CAAC,cAAqD,EAAE,EAAE;IACxF,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,IAAI,KAAK,CAAC;IAC9C,IAAI,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAA,iBAAO,EAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QACxE,OAAO,cAAc,CAAC,IAAI,CAAC;IAC5B,CAAC;AACF,CAAC,CAAC;AALW,QAAA,eAAe,mBAK1B;AAEK,KAAK,UAAU,WAAW,CAChC,cAAmC;IAEnC,IAAA,uBAAe,EAAC,cAAc,CAAC,CAAC;IAEhC,MAAM,YAAY,GAAG,wBAAwB,CAAC,cAAc,CAAC,CAAC;IAC9D,IACC,YAAY,CAAC,IAAI,KAAK,SAAS;QAC/B,CAAC,YAAY,CAAC,MAAM,KAAK,SAAS,IAAI,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,EACjF,CAAC;QACF,OAAO,YAAY,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,YAAY,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;IAEpE,IAAI,cAAc,CAAC,kBAAkB,EAAE,CAAC;QACvC,OAAO;YACN,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,UAAU,EAAE,MAAM,CAAC,MAAM;YACzB,aAAa,EAAE,MAAM,CAAC,UAAU;SAChC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC;AACpB,CAAC;AAED,SAAgB,aAAa,CAAC,YAAoB;IACjD,OAAO,cAAS,CAAC,GAAG,CAAC,uCAAiB,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;AAC/D,CAAC;AAKM,KAAK,UAAU,iBAAiB,CAAC,YAAoB;IAC3D,OAAO,MAAM,cAAS,CAAC,GAAG,CAAC,uCAAiB,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;AACzE,CAAC;AAKM,KAAK,UAAU,eAAe,CAAC,YAAoB,EAAE,SAAkB;IAC7E,OAAO,MAAM,cAAS,CAAC,GAAG,CAAC,uCAAiB,CAAC,CAAC,WAAW,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;AACpF,CAAC;AAED,SAAgB,gBAAgB,CAC/B,SAA+B,EAC/B,IAAW,EACX,SAAiB,EACjB,YAAoB,EACpB,UAAkB;IAElB,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,CAAE,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;IACpE,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,IAAI,iCAAkB,CAC3B,IAAI,EACJ,0EAA0E,YAAY,+BAA+B,SAAS,GAAG,EACjI;YACC,SAAS;YACT,WAAW,EAAE,wDAAwD;SACrE,CACD,CAAC;IACH,CAAC;IAED,MAAM,kBAAkB,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;IACvD,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;QACtC,MAAM,IAAI,iCAAkB,CAC3B,IAAI,EACJ,iCAAiC,YAAY,WAAW,SAAS,GAAG,EACpE;YACC,SAAS;YACT,WAAW,EACV,sIAAsI;SACvI,CACD,CAAC;IACH,CAAC;IAED,OAAO,kBAAkB,CAAC;AAC3B,CAAC;AAKM,KAAK,UAAU,mBAAmB,CACxC,SAA+B,EAC/B,SAAiB,EACjB,YAAoB,EACpB,UAAkB;IAElB,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,CAAE,CAAC,SAAS,CAAC,CAAC,MAAO,CAAC,YAAY,CAAC,CAAC;IAChF,OAAO,MAAM,cAAS,CAAC,GAAG,CAAC,uCAAiB,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;AACvE,CAAC;AAED,SAAgB,oBAAoB,CAAC,MAAc;IAClD,OAAO,iBAAO,CAAC,MAAM,CAAC,MAAM,CAAW,CAAC;AACzC,CAAC;AAUM,KAAK,UAAU,mBAAmB,CACxC,UAAuB,EACvB,cAAiC,EACjC,UAAkB,EAClB,WAAmB;IAEnB,OAAO,MAAM,cAAS,CAAC,GAAG,CAAC,uCAAiB,CAAC,CAAC,KAAK,CAClD,UAAU,EACV,WAAW,EACX,cAAc,EACd,UAAU,CACV,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,cAAc,CACnC,UAAkB,EAClB,WAAmB,EACnB,QAAgB,EAChB,QAAgB,EAChB,QAAiB;IAEjB,IAAI,aAAiC,CAAC;IACtC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAGf,IAAI,QAAQ,EAAE,CAAC;YAEd,MAAM,cAAc,GAAG,IAAA,mBAAM,EAAC,QAAQ,CAAC,CAAC;YACxC,IAAI,cAAc,EAAE,CAAC;gBACpB,QAAQ,GAAG,cAAc,CAAC;YAC3B,CAAC;QACF,CAAC;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;YAEf,MAAM,YAAY,GAAG,MAAM,mBAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACvD,IAAI,YAAY,EAAE,CAAC;gBAClB,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC;gBAC7B,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC;YAClC,CAAC;QACF,CAAC;IACF,CAAC;IAED,IAAI,CAAC,aAAa,IAAI,QAAQ,EAAE,CAAC;QAChC,aAAa,GAAG,IAAA,sBAAS,EAAC,QAAQ,CAAC,IAAI,SAAS,CAAC;IAClD,CAAC;IAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QAEf,QAAQ,GAAG,YAAY,CAAC;IACzB,CAAC;IAED,MAAM,UAAU,GAAgB;QAC/B,QAAQ;QACR,QAAQ,EAAE,IAAA,mCAAoB,EAAC,QAAQ,CAAC;QACxC,aAAa;QACb,IAAI,EAAE,EAAE;KACR,CAAC;IAEF,IAAI,QAAQ,EAAE,CAAC;QACd,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAChC,CAAC;SAAM,IAAI,QAAQ,EAAE,CAAC;QACrB,UAAU,CAAC,QAAQ,GAAG,cAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;IACjD,CAAC;IAED,OAAO,MAAM,cAAS,CAAC,GAAG,CAAC,uCAAiB,CAAC,CAAC,cAAc,CAC3D,UAAU,EACV,WAAW,EACX,UAAU,EACV,QAAQ,CACR,CAAC;AACH,CAAC;AAOM,KAAK,UAAU,iBAAiB,CACtC,UAA6B,EAC7B,WAAmB,EACnB,UAAkB,EAClB,QAAiB,EACjB,QAAiB;IAEjB,IAAI,aAAiC,CAAC;IACtC,IAAI,UAAU,YAAY,sBAAe,EAAE,CAAC;QAC3C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,IAAI,CAAC;gBACJ,MAAM,EAAE,WAAW,EAAE,GAAG,UAAU,CAAC;gBACnC,QAAQ;oBACP,UAAU,CAAC,kBAAkB,EAAE,QAAQ;wBACvC,CAAC,CAAC,WAAW,IAAI,IAAI,SAAG,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YACrF,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACX,CAAC;QACD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,QAAQ,GAAG,UAAU,CAAC,WAAW,CAAC;QACnC,CAAC;IACF,CAAC;IAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QAGf,IAAI,QAAQ,EAAE,CAAC;YAEd,MAAM,cAAc,GAAG,IAAA,mBAAM,EAAC,QAAQ,CAAC,CAAC;YACxC,IAAI,cAAc,EAAE,CAAC;gBACpB,QAAQ,GAAG,cAAc,CAAC;YAC3B,CAAC;QACF,CAAC;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBAEjC,MAAM,YAAY,GAAG,MAAM,mBAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;gBAC3D,IAAI,YAAY,EAAE,CAAC;oBAClB,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC;oBAC7B,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC;gBAClC,CAAC;YACF,CAAC;iBAAM,IAAI,UAAU,YAAY,sBAAe,EAAE,CAAC;gBAClD,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;YAER,CAAC;QACF,CAAC;IACF,CAAC;IAED,IAAI,CAAC,aAAa,IAAI,QAAQ,EAAE,CAAC;QAChC,aAAa,GAAG,IAAA,sBAAS,EAAC,QAAQ,CAAC,IAAI,SAAS,CAAC;IAClD,CAAC;IAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QAEf,QAAQ,GAAG,YAAY,CAAC;IACzB,CAAC;IAED,MAAM,UAAU,GAAgB;QAC/B,QAAQ;QACR,QAAQ,EAAE,IAAA,mCAAoB,EAAC,QAAQ,CAAC;QACxC,aAAa;QACb,IAAI,EAAE,EAAE;KACR,CAAC;IAEF,IAAI,QAAQ,EAAE,CAAC;QACd,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAE5B,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;QACxC,CAAC;QAED,MAAM,aAAa,GAAG,cAAI,CAAC,KAAK,CAAC,QAAkB,CAAC,CAAC;QAErD,IAAI,aAAa,CAAC,GAAG,KAAK,EAAE,EAAE,CAAC;YAC9B,UAAU,CAAC,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC;QAC1C,CAAC;QACD,UAAU,CAAC,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC;QAGzC,MAAM,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjD,IAAI,aAAa,EAAE,CAAC;YACnB,UAAU,CAAC,aAAa,GAAG,aAAa,CAAC;QAC1C,CAAC;IACF,CAAC;IAED,OAAO,MAAM,mBAAmB,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;AACnF,CAAC;AAEM,KAAK,UAAU,uBAAuB,CAC5C,KAA+B,EAC/B,KAAyB,EACzB,WAAuC,EACvC,OAA+B;IAE/B,OAAO,MAAM,qDAAwB,CAAC,WAAW,EAAE,CAAC,uBAAuB,CAC1E,KAAK,EACL,KAAK,EACL,WAAW,EACX,OAAO,CACP,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,4BAA4B,CACjD,GAAW,EACX,KAAoB,EACpB,KAAyB,EACzB,WAAuC,EACvC,OAA+B;IAE/B,OAAO,MAAM,qDAAwB,CAAC,WAAW,EAAE,CAAC,4BAA4B,CAC/E,GAAG,EACH,KAAK,EACL,KAAK,EACL,WAAW,EACX,OAAO,CACP,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,eAAe,CACpC,KAA+B,EAC/B,KAAyB,EACzB,WAAuC,EACvC,OAA+B;IAE/B,OAAO,MAAM,qDAAwB,CAAC,WAAW,EAAE,CAAC,eAAe,CAClE,KAAK,EACL,KAAK,EACL,WAAW,EACX,OAAO,CACP,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,sBAAsB,CAC3C,KAAyB,EACzB,WAAuC,EACvC,OAA+B;IAE/B,OAAO,MAAM,qDAAwB,CAAC,WAAW,EAAE,CAAC,sBAAsB,CACzE,KAAK,EACL,WAAW,EACX,OAAO,CACP,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,qBAAqB,CAC1C,KAAyB,EACzB,WAAuC,EACvC,OAA+B;IAE/B,OAAO,MAAM,qDAAwB,CAAC,WAAW,EAAE,CAAC,qBAAqB,CACxE,KAAK,EACL,WAAW,EACX,OAAO,CACP,CAAC;AACH,CAAC;AAED,SAAgB,0BAA0B,CACzC,WAA4B,EAC5B,qBAAmD;IAEnD,MAAM,sBAAsB,GAA6B;QACxD,GAAG,qBAAqB;QACxB,GAAG,EAAE,qBAAqB,CAAC,GAAG;KAC9B,CAAC;IAEF,IAAI,UAAU,IAAI,WAAW,EAAE,CAAC;QAC/B,sBAAsB,CAAC,QAAQ,GAAG,qBAAqB,CAAC,IAAI,CAAC;QAC7D,OAAO,sBAAsB,CAAC,IAAI,CAAC;IACpC,CAAC;SAAM,IAAI,MAAM,IAAI,WAAW,EAAE,CAAC;QAClC,sBAAsB,CAAC,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC;QACzD,OAAO,sBAAsB,CAAC,IAAI,CAAC;IACpC,CAAC;IAED,OAAO,IAAA,eAAK,EAAC,EAAE,EAAE,WAAW,EAAE,sBAAsB,CAAC,CAAC;AACvD,CAAC;AAQM,KAAK,UAAU,aAAa,CAElC,eAAuB,EACvB,cAAqD,EACrD,IAAW,EACX,cAA8C,EAC9C,aAA8B,EAC9B,YAAY,GAAG,KAAK;IAEpB,IAAA,uBAAe,EAAC,cAAc,CAAC,CAAC;IAEhC,MAAM,WAAW,GAAG,CAAC,MAAM,IAAI,CAAC,cAAc,CAC7C,eAAe,CACf,CAAoC,CAAC;IAGtC,IAAI,WAAW,CAAC,SAAS,KAAK,mBAAmB,IAAI,WAAW,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QAC/F,MAAM,IAAI,+BAAgB,CAAC,iCAAiC,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,4BAAY,CAAC;QACpC,QAAQ,EAAE,WAAW,CAAC,QAAQ;QAC9B,YAAY,EAAE,WAAW,CAAC,YAAY;QACtC,cAAc,EAAE,WAAW,CAAC,cAAc;QAC1C,MAAM,EAAG,WAAW,CAAC,KAAgB,CAAC,KAAK,CAAC,GAAG,CAAC;QAChD,eAAe,EAAE,WAAW,CAAC,eAAe;QAC5C,cAAc,EAAE,WAAW,CAAC,cAAc,IAAI,QAAQ;KACtD,CAAC,CAAC;IAEH,IAAI,cAAc,GAAG,WAAW,CAAC,cAAuC,CAAC;IAEzE,IACC,WAAW,CAAC,SAAS,KAAK,mBAAmB;QAC7C,CAAC,cAAc,KAAK,SAAS;YAC5B,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,KAAK,CAAC;YACxC,cAAc,CAAC,YAAY,KAAK,EAAE,CAAC,EACnC,CAAC;QACF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAE1D,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,+BAAgB,CAAC,oCAAoC,EAAE;gBAChE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE;gBAC9B,IAAI,EAAE,EAAE,cAAc,EAAE,eAAe,EAAE;aACzC,CAAC,CAAC;QACJ,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QAC1D,WAAW,CAAC,cAAc,GAAG,IAAI,CAAC;QAGlC,MAAM,cAAc,CAAC,iBAAiB,CAAC,iBAAiB,CACvD,eAAe,EACf,eAAe,EACf,WAAwD,CACxD,CAAC;QAEF,cAAc,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,MAAM,WAAW,GAChB,IAAA,aAAG,EAAC,cAAc,EAAE,aAAa,EAAE,QAAkB,CAAC,IAAI,cAAc,CAAC,WAAW,CAAC;IACtF,MAAM,YAAY,GAAG,cAAc,CAAC,YAAY,CAAC;IACjD,MAAM,KAAK,GAAG,WAAW,CAAC,WAAW,CACpC;QACC,GAAG,cAAc;QACjB,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxD,EACD,aAAa,EAAE,SAAS,IAAI,cAAc,CAAC,SAAS,CACpD,CAAC;IAED,cAAkC,CAAC,kBAAkB,GAAG,CAAC,WAAW,CAAC,eAAe,CAAC;IAItF,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,cAA2C,CAAC,CAAC;IAClF,MAAM,iBAAiB,GAAG,CAAC,iBAAiB,CAAC,OAAO,GAAG,iBAAiB,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IAExF,IAAI,aAAa,EAAE,UAAU,KAAK,KAAK,IAAI,OAAO,iBAAiB,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;QAChG,iBAAiB,CAAC,aAAa,GAAG,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,aAAa,EAAE,+BAA+B,EAAE,CAAC;QACpD,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE;YAChC,CAAC,aAAa,CAAC,+BAA+B,CAAC,EAAE,KAAK,CAAC,WAAW;SAClE,CAAC,CAAC;IACJ,CAAC;IACD,IAAI,YAAY,EAAE,CAAC;QAClB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,KAAiB,EAAE,EAAE;YAC1F,IAAI,KAAK,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;gBACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,qBAAqB,eAAe,mBAAmB,IAAI,CAAC,IAAI,+BAA+B,CAC/F,CAAC;gBACF,MAAM,mBAAmB,GAAgB,EAAE,CAAC;gBAC5C,IAAI,aAAa,EAAE,iCAAiC,EAAE,CAAC;oBACtD,MAAM,IAAI,GAAgB;wBACzB,SAAS,EAAE,WAAW,CAAC,QAAQ;wBAC/B,GAAG,CAAC,WAAW,CAAC,SAAS,KAAK,mBAAmB,IAAI;4BACpD,aAAa,EAAE,WAAW,CAAC,YAAsB;yBACjD,CAAC;qBACF,CAAC;oBACF,mBAAmB,CAAC,IAAI,GAAG,IAAI,CAAC;oBAChC,mBAAmB,CAAC,OAAO,GAAG;wBAC7B,aAAa,EAAE,EAAE;qBACjB,CAAC;gBACH,CAAC;gBAED,IAAI,QAAQ,CAAC;gBAEb,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,qBAAqB,eAAe,mBAAmB,IAAI,CAAC,IAAI,qBAAqB,CACrF,CAAC;gBAGF,IAAI,WAAW,CAAC,SAAS,KAAK,mBAAmB,EAAE,CAAC;oBACnD,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;gBACtD,CAAC;qBAAM,CAAC;oBACP,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,mBAAqD,CAAC,CAAC;gBACvF,CAAC;gBAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,qBAAqB,eAAe,mBAAmB,IAAI,CAAC,IAAI,qBAAqB,CACrF,CAAC;gBAEF,WAAW,CAAC,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAE3C,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;oBAC1C,MAAM,IAAI,+BAAgB,CAAC,oCAAoC,EAAE;wBAChE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,eAAe,EAAE;qBAC/D,CAAC,CAAC;gBACJ,CAAC;gBACD,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;gBAC1D,MAAM,cAAc,CAAC,iBAAiB,CAAC,iBAAiB,CACvD,eAAe,EACf,eAAe,EACf,WAAwD,CACxD,CAAC;gBACF,MAAM,sBAAsB,GAAG,QAAQ,CAAC,IAAI,CAAC,cAA2C,CAAC,CAAC;gBAE1F,IAAI,aAAa,EAAE,+BAA+B,EAAE,CAAC;oBACpD,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE;wBAChC,CAAC,aAAa,CAAC,+BAA+B,CAAC,EAAE,KAAK,CAAC,WAAW;qBAClE,CAAC,CAAC;gBACJ,CAAC;gBAED,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC;YAC/D,CAAC;YACD,MAAM,KAAK,CAAC;QACb,CAAC,CAAC,CAAC;IACJ,CAAC;IACD,MAAM,sBAAsB,GAC3B,aAAa,EAAE,sBAAsB,KAAK,SAAS;QAClD,CAAC,CAAC,GAAG;QACL,CAAC,CAAC,aAAa,EAAE,sBAAsB,CAAC;IAE1C,OAAO,MAAM,IAAI,CAAC,OAAO;SACvB,OAAO,CAAC,iBAAoC,CAAC;SAC7C,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;QAClB,MAAM,cAAc,GAAG,iBAAwB,CAAC;QAChD,IACC,cAAc,CAAC,uBAAuB,KAAK,IAAI;YAC/C,cAAc,CAAC,MAAM,KAAK,KAAK;YAC/B,QAAQ,CAAC,UAAU,KAAK,sBAAsB,EAC7C,CAAC;YACF,MAAM,QAAQ,CAAC;QAChB,CAAC;QACD,OAAO,QAAQ,CAAC;IACjB,CAAC,CAAC;SACD,KAAK,CAAC,KAAK,EAAE,KAAqB,EAAE,EAAE;QACtC,IAAI,KAAK,CAAC,UAAU,KAAK,sBAAsB,EAAE,CAAC;YAEjD,MAAM,mBAAmB,GAAgB,EAAE,CAAC;YAC5C,IAAI,aAAa,EAAE,iCAAiC,EAAE,CAAC;gBACtD,MAAM,IAAI,GAAgB;oBACzB,SAAS,EAAE,WAAW,CAAC,QAAQ;oBAC/B,aAAa,EAAE,WAAW,CAAC,YAAY;iBACvC,CAAC;gBACF,mBAAmB,CAAC,IAAI,GAAG,IAAI,CAAC;gBAEhC,mBAAmB,CAAC,OAAO,GAAG;oBAC7B,aAAa,EAAE,EAAE;iBACjB,CAAC;YACH,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,qBAAqB,eAAe,mBAAmB,IAAI,CAAC,IAAI,+BAA+B,CAC/F,CAAC;YAEF,IAAI,QAAQ,CAAC;YAIb,IAAI,WAAW,CAAC,SAAS,KAAK,mBAAmB,EAAE,CAAC;gBACnD,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;YACtD,CAAC;iBAAM,CAAC;gBACP,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,mBAAqD,CAAC,CAAC;YACvF,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,qBAAqB,eAAe,mBAAmB,IAAI,CAAC,IAAI,qBAAqB,CACrF,CAAC;YAEF,WAAW,CAAC,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC;YAG3C,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;gBAC1C,MAAM,IAAI,+BAAgB,CAAC,oCAAoC,EAAE;oBAChE,IAAI,EAAE,EAAE,cAAc,EAAE,eAAe,EAAE;oBACzC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE;iBAC9B,CAAC,CAAC;YACJ,CAAC;YACD,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;YAG1D,MAAM,cAAc,CAAC,iBAAiB,CAAC,iBAAiB,CACvD,eAAe,EACf,eAAe,EACf,WAAwD,CACxD,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,qBAAqB,eAAe,mBAAmB,IAAI,CAAC,IAAI,4CAA4C,CAC5G,CAAC;YAGF,MAAM,iBAAiB,GAAG,QAAQ,CAAC,IAAI,CAAC,cAA2C,CAAC,CAAC;YACrF,iBAAiB,CAAC,OAAO,GAAG,iBAAiB,CAAC,OAAO,IAAI,EAAE,CAAC;YAE5D,IAAI,aAAa,EAAE,+BAA+B,EAAE,CAAC;gBACpD,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE;oBACxC,CAAC,aAAa,CAAC,+BAA+B,CAAC,EAAE,KAAK,CAAC,WAAW;iBAClE,CAAC,CAAC;YACJ,CAAC;YAED,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAoC,CAAC,CAAC;QACzE,CAAC;QAGD,MAAM,KAAK,CAAC;IACb,CAAC,CAAC,CAAC;AACL,CAAC;AAKM,KAAK,UAAU,aAAa,CAElC,eAAuB,EACvB,cAAqD,EACrD,YAAY,GAAG,KAAK;IAEpB,IAAA,uBAAe,EAAC,cAAc,CAAC,CAAC;IAEhC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;IAE/D,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,IAAI,+BAAgB,CAAC,8BAA8B,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,WAAW,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QAC9C,MAAM,IAAI,+BAAgB,CAAC,iCAAiC,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,oBAAY,CAAC;QAC9B,QAAQ,EAAE;YACT,GAAG,EAAE,WAAW,CAAC,WAAqB;YACtC,MAAM,EAAE,WAAW,CAAC,cAAwB;SAC5C;QACD,gBAAgB,EAAE,WAAW,CAAC,eAAyB;QACvD,aAAa,CAAC,IAAI,EAAE,GAAG;YACtB,IAAI,SAAiB,CAAC;YACtB,QAAQ,WAAW,CAAC,eAAe,EAAE,CAAC;gBACrC,KAAK,aAAa;oBACjB,SAAS,GAAG,QAAQ,CAAC;oBACrB,MAAM;gBACP,KAAK,aAAa;oBACjB,SAAS,GAAG,QAAQ,CAAC;oBACrB,MAAM;gBACP;oBACC,SAAS,GAAG,MAAM,CAAC;oBACnB,MAAM;YACR,CAAC;YACD,OAAO,IAAA,mBAAU,EAAC,SAAS,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACjE,CAAC;KACD,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,WAAW,CAAC,cAA6B,CAAC;IAEjE,MAAM,KAAK,GAAU;QACpB,GAAG,EAAE,cAAc,CAAC,WAAqB;QACzC,MAAM,EAAE,cAAc,CAAC,kBAA4B;KACnD,CAAC;IAGF,cAAc,CAAC,IAAI,GAAG,EAAE,GAAG,cAAc,CAAC,EAAE,EAAE,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC;IAGvE,IAAI,KAAK,IAAI,cAAc,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;QACpD,cAAc,CAAC,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC;QACxC,OAAO,cAAc,CAAC,GAAG,CAAC;IAC3B,CAAC;IAED,cAAc,CAAC,OAAO,GAAG,KAAK,CAAC,QAAQ,CACtC,KAAK,CAAC,SAAS,CAAC,cAAwD,EAAE,KAAK,CAAC,CAC3C,CAAC;IACvC,IAAI,YAAY,EAAE,CAAC;QAClB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,cAAqC,CAAC,CAAC;IAC9E,CAAC;IAED,OAAO,MAAM,IAAI,CAAC,OAAO;SACvB,OAAO,CAAC,cAAiC,CAAC;SAC1C,KAAK,CAAC,KAAK,EAAE,KAAqB,EAAE,EAAE;QAEtC,MAAM,KAAK,CAAC;IACb,CAAC,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,6BAA6B,CAElD,eAAuB,EACvB,cAAmC,EACnC,QAAkB,EAClB,IAAW,EACX,cAA8C,EAC9C,2BAA0D;IAE1D,IAAA,uBAAe,EAAC,cAAc,CAAC,CAAC;IAGhC,IAAI,0BAA0B,IAAI,IAAI,EAAE,CAAC;QACxC,cAAc,CAAC,WAAW,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAC9D,CAAC;IAED,IAAI,oBAAgE,CAAC;IACrE,IAAI,CAAC;QACJ,MAAM,WAAW,GAAG,cAAc,CAAC,iBAAiB,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QAErF,IAAI,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACvC,OAAO,MAAM,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;QAC9E,CAAC;QACD,IAAI,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACvC,OAAO,MAAM,aAAa,CAAC,IAAI,CAC9B,IAAI,EACJ,eAAe,EACf,cAAc,EACd,IAAI,EACJ,cAAc,EACd,2BAA2B,EAAE,MAAM,EACnC,IAAI,CACJ,CAAC;QACH,CAAC;QAED,IAAI,2BAA2B,EAAE,oBAAoB,EAAE,CAAC;YACvD,oBAAoB,GAAG,2BAA2B,CAAC,oBAAoB,CAAC,IAAI,CAAC;QAC9E,CAAC;aAAM,CAAC;YACP,oBAAoB;gBACnB,MAAM,IAAI,CAAC,cAAc,CAAiC,eAAe,CAAC,CAAC;QAC7E,CAAC;QAED,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;YACxC,MAAM,IAAI,iCAAkB,CAC3B,IAAI,EACJ,SAAS,IAAI,CAAC,IAAI,4CAA4C,eAAe,OAAO,EACpF,EAAE,KAAK,EAAE,SAAS,EAAE,CACpB,CAAC;QACH,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,iBAAiB,CAAC,iBAAiB,CACpE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EACzB,oBAAoB,EACpB,eAAe,EACf,IAAI,EACJ,KAAK,CACL,CAAC;QAEF,IAAI,IAAI,EAAE,CAAC;YAGV,MAAM,CAAC,MAAM,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;QAC3C,CAAC;QAED,cAAc,GAAG,MAAM,cAAc,CAAC,iBAAiB,CAAC,YAAY,CACnE,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,QAAQ,EACR,IAAI,CACJ,CAAC;QACF,OAAO,MAAM,WAAW,CAAC,cAAc,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAGhB,IACC,KAAK,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG;YAC9B,cAAc,CAAC,iBAAiB,CAAC,iBAAiB,KAAK,SAAS,EAC/D,CAAC;YACF,IAAI,CAAC;gBACJ,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;oBAExC,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,iBAAiB,CAAC,iBAAiB,CACpE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EACzB,oBAAoB,EACpB,eAAe,EACf,IAAI,EACJ,IAAI,CACJ,CAAC;oBAEF,IAAI,IAAI,EAAE,CAAC;wBAGV,MAAM,CAAC,MAAM,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;oBAC3C,CAAC;oBAED,cAAc,GAAG,MAAM,cAAc,CAAC,iBAAiB,CAAC,YAAY,CACnE,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,QAAQ,EACR,IAAI,CACJ,CAAC;gBACH,CAAC;gBAED,OAAO,MAAM,WAAW,CAAC,cAAc,CAAC,CAAC;YAC1C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,MAAM,IAAI,2BAAY,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;YAC/C,CAAC;QACF,CAAC;QAED,MAAM,IAAI,2BAAY,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;AACF,CAAC;AAOD,SAAgB,eAAe,CAAC,QAAqC;IACpE,MAAM,UAAU,GAAyB,EAAE,CAAC;IAE5C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9B,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;IAED,QAAQ,CAAC,OAAO,CAAC,CAAC,IAA0C,EAAE,EAAE;QAC/D,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC;YAEhB,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACP,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACjC,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,OAAO,UAAU,CAAC;AACnB,CAAC;AAOD,SAAgB,0BAA0B,CACzC,SAA+B,EAC/B,OAA0D;IAE1D,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAC7B,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,IAAwB,EAAE,EAAE;QACjD,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;QAC/B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,IAAI,EAA+B,CAAC;IAC7E,CAAC,CAAC,CAAC;AACJ,CAAC;AAQD,SAAgB,cAAc,CAC7B,aAAwD;IAExD,IAAI,OAAO,aAAa,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QACxE,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,aAA4B,EAAE,CAAC,CAAC;IACjG,CAAC;IAED,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,IAAI,IAAI,CAAC;QAC5E,OAAO,aAAa,CAAC;IAEtB,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,IAAI,IAAI,CAAC,EAAE,CAAC;QAC9E,MAAM,IAAI,+BAAgB,CAAC,0BAA0B,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,QAAQ,IAAI,IAAI,CAAC,EAAE,CAAC;QACjF,MAAM,eAAe,GAAyB,EAAE,CAAC;QACjD,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBAClD,IAAI,GAAG,KAAK,QAAQ;oBAAE,OAAO,GAAG,CAAC;gBACjC,OAAO,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACrC,CAAC,EAAE,EAAE,CAAC,CAAC;YAEP,eAAe,CAAC,IAAI,CAAC;gBACpB,IAAI;gBACJ,MAAM,EAAE,IAAI,CAAC,MAAM;aACnB,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,OAAO,eAAe,CAAC;IACxB,CAAC;IAED,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,QAAQ,IAAI,IAAI,CAAC,EAAE,CAAC;QAChF,MAAM,IAAI,+BAAgB,CAAC,0BAA0B,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACjC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;AACJ,CAAC;AAGM,KAAK,UAAU,yBAAyB,CAE9C,eAAuB,EACvB,cAA+B,EAC/B,QAAkB,EAClB,IAAW,EACX,cAA8C,EAC9C,2BAA0D,EAC1D,SAAkB;IAElB,IAAA,uBAAe,EAAC,cAAc,CAAC,CAAC;IAEhC,IAAI,oBAAgE,CAAC;IAErE,IAAI,CAAC;QACJ,MAAM,WAAW,GAAG,cAAc,CAAC,iBAAiB,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QAErF,IAAI,eAAe,KAAK,WAAW,IAAI,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAC1E,OAAO,MAAM,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;QAC/E,CAAC;QACD,IAAI,eAAe,KAAK,WAAW,IAAI,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAC1E,OAAO,MAAM,aAAa,CAAC,IAAI,CAC9B,IAAI,EACJ,eAAe,EACf,cAAc,EACd,IAAI,EACJ,cAAc,EACd,2BAA2B,EAAE,MAAM,EACnC,KAAK,CACL,CAAC;QACH,CAAC;QAED,IAAI,2BAA2B,EAAE,oBAAoB,EAAE,CAAC;YACvD,oBAAoB,GAAG,2BAA2B,CAAC,oBAAoB,CAAC,IAAI,CAAC;QAC9E,CAAC;aAAM,CAAC;YACP,oBAAoB,GAAG,MAAM,IAAI,CAAC,cAAc,CAC/C,eAAe,EACf,SAAS,CACT,CAAC;QACH,CAAC;QAED,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;YACxC,MAAM,IAAI,iCAAkB,CAC3B,IAAI,EACJ,SAAS,IAAI,CAAC,IAAI,4CAA4C,eAAe,OAAO,EACpF,EAAE,KAAK,EAAE,SAAS,EAAE,CACpB,CAAC;QACH,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,iBAAiB,CAAC,iBAAiB,CACpE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EACzB,oBAAoB,EACpB,eAAe,EACf,IAAI,EACJ,KAAK,CACL,CAAC;QAEF,IAAI,IAAI,EAAE,CAAC;YAGV,MAAM,CAAC,MAAM,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;QAC3C,CAAC;QAED,cAAc,GAAG,CAAC,MAAM,cAAc,CAAC,iBAAiB,CAAC,YAAY,CACpE,oBAAoB,EACpB,eAAe,EACf,cAAqC,EACrC,QAAQ,EACR,IAAI,CACJ,CAAoB,CAAC;QACtB,OAAO,MAAM,mBAAmB,CAAC,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;IAClF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,IAAI,CAAC;YACJ,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;gBAExC,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,iBAAiB,CAAC,iBAAiB,CACpE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EACzB,oBAAoB,EACpB,eAAe,EACf,IAAI,EACJ,IAAI,CACJ,CAAC;gBAEF,IAAI,IAAI,EAAE,CAAC;oBAGV,MAAM,CAAC,MAAM,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;oBAC1C,cAAc,GAAG,CAAC,MAAM,cAAc,CAAC,iBAAiB,CAAC,YAAY,CACpE,oBAAoB,EACpB,eAAe,EACf,cAAqC,EACrC,QAAQ,EACR,IAAI,CACJ,CAAoB,CAAC;oBAEtB,OAAO,MAAM,mBAAmB,CAAC,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;gBAClF,CAAC;YACF,CAAC;YACD,MAAM,KAAK,CAAC;QACb,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,KAAK,YAAY,iCAAkB;gBAAE,MAAM,KAAK,CAAC;YAErD,MAAM,IAAI,2BAAY,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;QAC/C,CAAC;IACF,CAAC;AACF,CAAC;AAKD,SAAgB,iBAAiB,CAChC,IAAiB,EACjB,QAAkB,EAClB,IAAW,EACX,cAA8C,EAC9C,IAAyB,EACzB,cAAgD,EAChD,MAAgB;IAEhB,IAAI,OAAO,GAAG,cAAc,CAAC,cAAc,CAAC;IAC5C,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,GAAG,cAAc,CAAC,kBAAkB,CAAC;IAC7C,CAAC;IAGD,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IACvE,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;QACtC,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC,uBAAuB,CACvD,IAAI,EACJ,kBAAkB,CAAC,IAAI,EACvB,IAAI,EACJ,cAAc,CACd,CAAC;IACF,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,MAAM,UAAU,GAAY,QAAQ,CAAC,UAAU,CAAC,uBAAuB,CACtE,IAAI,EACJ,kBAAkB,CAAC,UAAU,EAC7B,IAAI,EACJ,cAAc,EACd,SAAS,EACT,KAAK,CACM,CAAC;IACb,OAAO,0BAAW,CAAC,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,UAAU,CAAC,CAAC;AAC/F,CAAC;AAKD,SAAgB,qBAAqB,CACpC,IAAiB,EACjB,QAAkB,EAClB,IAAW;IAEX,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAErF,IAAI,QAAQ,CAAC,WAAW,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAEjD,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,KAAK,MAAM,kBAAkB,IAAI,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAChE,IAAI,kBAAkB,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACtC,OAAO,kBAAkB,CAAC;QAC3B,CAAC;IACF,CAAC;IAED,OAAO,SAAS,CAAC;AAClB,CAAC;AAEM,MAAM,yBAAyB,GAAG,CACxC,QAAkB,EAClB,IAAW,EACX,cAA8C,EAC9C,mBAA6C,IAAI,EACjD,sBAA4C,EAAE,EACrB,EAAE;IAC3B,MAAM,gBAAgB,GAAG,CACxB,cAAsC,EACtC,SAAiB,EACjB,QAAgB,EAChB,WAAyB,EACzB,cAAiD,EACjD,oBAAoB,GAAG,KAAK,EACH,EAAE;QAC3B,MAAM,IAAI,GAAwB,UAAU,CAAC;QAE7C,IACC,OAAO,cAAc,KAAK,QAAQ;YAClC,CAAC,OAAO,cAAc,KAAK,QAAQ,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,EACvE,CAAC;YACF,OAAO,QAAQ,CAAC,UAAU,CAAC,iBAAiB,CAC3C,cAAc,EACd,gBAAgB,EAChB,QAAQ,EACR,SAAS,EACT,IAAI,CAAC,IAAI,EACT,mBAAmB,EACnB,IAAI,EACJ,cAAc,IAAI,EAAE,EACpB,WAAW,EACX,oBAAoB,CACpB,CAAC;QACH,CAAC;QAED,OAAO,cAAc,CAAC;IACvB,CAAC,CAAC;IAEF,OAAO;QACN,WAAW;QAEX,KAAK,CAAC,kCAAkC,CAEvC,cAA+B,EAC/B,SAAiB,EACjB,iBAAoC,EACpC,eAAwB,EACxB,2BAA0D;YAE1D,MAAM,YAAY,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC;gBACxB,cAAc,CAAC,EAAE,GAAG,EAAE,CAAC;YACxB,CAAC;YACD,cAAc,CAAC,uBAAuB,GAAG,IAAI,CAAC;YAC9C,cAAc,CAAC,MAAM,GAAG,KAAK,CAAC;YAE9B,IAAI,gBAAsC,CAAC;YAC3C,IAAI,qBAA8B,CAAC;YACnC,IAAI,mBAAiD,CAAC;YAEtD,MAAM,QAAQ,GAAG,CAAC,CAAC;YAEnB,MAAM,cAAc,GAAqC;gBACxD,QAAQ,EAAE,cAAc;gBACxB,SAAS,EAAE,EAA0B;gBACrC,QAAQ,EAAE,IAAI,CAAC,WAAW;gBAC1B,UAAU,EAAE,CAAC;aACb,CAAC;YAEF,MAAM,WAAW,GAAiB;gBACjC,IAAI,EAAE,EAAE;gBACR,IAAI;gBACJ,MAAM,EAAE,IAAI;aACZ,CAAC;YAEF,MAAM,QAAQ,GAAG;gBAChB,cAAc,EAAE,CAAC;gBACjB,cAAc,EAAE,CAAC;gBACjB,YAAY,EAAE,EAAE;aAChB,CAAC;YACF,GAAG,CAAC;gBACH,mBAAmB,GAAG,gBAAgB,CACrC,iBAAiB,CAAC,OAA4C,EAC9D,SAAS,EACT,QAAQ,EACR,WAAW,EACX,cAAc,EACd,KAAK,CACqC,CAAC;gBAE5C,MAAM,kBAAkB,GAAG,0BAA0B,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;gBAE3F,IAAI,CAAC,IAAA,mBAAW,EAAC,kBAAkB,CAAC,GAAa,CAAC,EAAE,CAAC;oBACpD,MAAM,IAAI,iCAAkB,CAAC,IAAI,EAAE,IAAI,mBAAmB,CAAC,GAAG,uBAAuB,EAAE;wBACtF,SAAS;wBACT,QAAQ;wBACR,IAAI,EAAE,aAAa;qBACnB,CAAC,CAAC;gBACJ,CAAC;gBAED,IAAI,eAAe,EAAE,CAAC;oBACrB,gBAAgB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,IAAI,CACnE,IAAI,EACJ,eAAe,EACf,kBAAkB,EAClB,2BAA2B,CAC3B,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACP,gBAAgB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;gBACnE,CAAC;gBAED,MAAM,WAAW,GAAyB,MAAM,CAAC,MAAM,CACtD;oBACC,IAAI,EAAE,EAAE;oBACR,OAAO,EAAE,EAAE;oBACX,UAAU,EAAE,CAAC;iBACb,EACD,IAAA,cAAI,EAAC,gBAAgB,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,CACzD,CAAC;gBAEF,IAAI,WAA8C,CAAC;gBAEnD,IAAI,WAAW,CAAC,IAAI,YAAY,iBAAQ,IAAI,iBAAiB,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;oBAErF,WAAW,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,IAAyB,CAAC,CAAC;oBAE1E,MAAM,mBAAmB,GAAG,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;oBAClF,IAAI,mBAAmB,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;wBACtD,WAAW,CAAC,IAAI,GAAG,IAAA,wBAAS,EAAC,WAAW,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC;oBAClE,CAAC;yBAAM,CAAC;wBACP,WAAW,CAAC,IAAI,GAAG,WAAW,CAAC;oBAChC,CAAC;oBACD,gBAAgB,CAAC,cAAc,GAAG,IAAI,CAAC;oBACvC,gBAAgB,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;gBAC1C,CAAC;qBAAM,CAAC;oBACP,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC;gBAChC,CAAC;gBAED,IAAI,iBAAiB,CAAC,YAAY,KAAK,IAAI,IAAI,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;oBAI9E,IAAI,aAAa,GAAG,CAAC,CAAC;oBACtB,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;wBAClD,aAAa,GAAG,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,gBAAgB,CAAW,CAAC,IAAI,CAAC,CAAC;oBACrF,CAAC;oBAED,IAAI,QAAQ,CAAC,cAAc,KAAK,aAAa,EAAE,CAAC;wBAC/C,IAAI,IAAY,CAAC;wBACjB,IAAI,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;4BAEnC,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,IAAc,CAAC;wBAChD,CAAC;6BAAM,CAAC;4BAEP,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;gCACrC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;4BAC3C,CAAC;4BACD,IAAI,GAAG,gBAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;wBACtE,CAAC;wBAED,IAAI,QAAQ,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;4BACpC,QAAQ,CAAC,cAAc,IAAI,CAAC,CAAC;4BAC7B,IAAI,QAAQ,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;gCAEjC,MAAM,IAAI,iCAAkB,CAC3B,IAAI,EACJ,iEAAiE,EACjE;oCACC,SAAS;oCACT,WAAW,EACV,qEAAqE;iCACtE,CACD,CAAC;4BACH,CAAC;wBACF,CAAC;6BAAM,CAAC;4BACP,QAAQ,CAAC,cAAc,GAAG,CAAC,CAAC;wBAC7B,CAAC;wBACD,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC;oBAC9B,CAAC;yBAAM,CAAC;wBACP,QAAQ,CAAC,cAAc,GAAG,CAAC,CAAC;oBAC7B,CAAC;oBACD,QAAQ,CAAC,cAAc,GAAG,aAAa,CAAC;gBACzC,CAAC;gBAED,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAEpC,cAAc,CAAC,SAAS,GAAG,WAAW,CAAC;gBACvC,cAAc,CAAC,UAAU,GAAG,CAAC,cAAc,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBAEjE,MAAM,WAAW,GAAG,gBAAgB,CACnC,iBAAiB,CAAC,WAAW,EAC7B,SAAS,EACT,QAAQ,EACR,WAAW,EACX,cAAc,EACd,KAAK,CACK,CAAC;gBAEZ,IAAI,WAAW,IAAI,cAAc,CAAC,UAAU,IAAI,WAAW,EAAE,CAAC;oBAC7D,MAAM;gBACP,CAAC;gBAED,qBAAqB,GAAG,gBAAgB,CACvC,iBAAiB,CAAC,QAAQ,EAC1B,SAAS,EACT,QAAQ,EACR,WAAW,EACX,cAAc,EACd,KAAK,CACM,CAAC;gBAEb,IAAI,qBAAqB,EAAE,CAAC;oBAC3B,IAAI,iBAAiB,CAAC,eAAe,EAAE,CAAC;wBACvC,MAAM,eAAe,GAAG,gBAAgB,CACvC,iBAAiB,CAAC,eAAe,EACjC,SAAS,EACT,QAAQ,EACR,WAAW,EACX,cAAc,EACd,KAAK,CACK,CAAC;wBAEZ,MAAM,IAAA,oBAAK,EAAC,eAAe,CAAC,CAAC;oBAC9B,CAAC;oBACD,IAAI,gBAAgB,CAAC,UAAU,GAAG,GAAG,IAAI,gBAAgB,CAAC,UAAU,IAAI,GAAG,EAAE,CAAC;wBAK7E,IAAI,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC;wBACjC,IAAI,IAAI,YAAY,iBAAQ,IAAI,iBAAiB,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;4BACzE,IAAI,GAAG,MAAM,cAAc,CAAC,IAAyB,CAAC,CAAC;wBACxD,CAAC;6BAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;4BACrC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;wBAC7B,CAAC;wBAED,MAAM,MAAM,CAAC,MAAM,CAClB,IAAI,KAAK,CAAC,GAAG,gBAAgB,CAAC,UAAU,OAAO,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,EACnE;4BACC,UAAU,EAAE,gBAAgB,CAAC,UAAU;4BACvC,KAAK,EAAE,IAAI;4BACX,YAAY,EAAE,IAAI;4BAClB,QAAQ,EAAE;gCACT,OAAO,EAAE,gBAAgB,CAAC,OAAO;gCACjC,MAAM,EAAE,gBAAgB,CAAC,UAAU;gCACnC,UAAU,EAAE,gBAAgB,CAAC,aAAa;6BAC1C;yBACD,CACD,CAAC;oBACH,CAAC;gBACF,CAAC;YACF,CAAC,QAAQ,qBAAqB,EAAE;YAEhC,OAAO,YAAY,CAAC;QACrB,CAAC;QACD,KAAK,CAAC,6BAA6B,CAElC,eAAe,EACf,cAAc,EACd,2BAA2B;YAE3B,OAAO,MAAM,6BAA6B,CAAC,IAAI,CAC9C,IAAI,EACJ,eAAe,EACf,cAAc,EACd,QAAQ,EACR,IAAI,EACJ,cAAc,EACd,2BAA2B,CAC3B,CAAC;QACH,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,CACvC,MAAM,mBAAmB,CAAC,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC;QAEhF,KAAK,CAAC,yBAAyB,CAE9B,eAAe,EACf,cAAc,EACd,2BAA2B,EAC3B,SAAS;YAET,OAAO,MAAM,yBAAyB,CAAC,IAAI,CAC1C,IAAI,EACJ,eAAe,EACf,cAAc,EACd,QAAQ,EACR,IAAI,EACJ,cAAc,EACd,2BAA2B,EAC3B,SAAS,CACT,CAAC;QACH,CAAC;QAED,KAAK,CAAC,aAAa,CAElB,eAAuB,EACvB,cAA+B;YAE/B,OAAO,MAAM,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;QACxE,CAAC;QAED,KAAK,CAAC,aAAa,CAElB,eAAuB,EACvB,cAA+B,EAC/B,aAA8B;YAE9B,OAAO,MAAM,aAAa,CAAC,IAAI,CAC9B,IAAI,EACJ,eAAe,EACf,cAAc,EACd,IAAI,EACJ,cAAc,EACd,aAAa,CACb,CAAC;QACH,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AA9TW,QAAA,yBAAyB,6BA8TpC;AAEK,MAAM,qBAAqB,GAAG,GAAuB,EAAE,CAAC,CAAC;IAC/D,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,CACnC,MAAM,cAAS,CAAC,GAAG,CAAC,uCAAiB,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC;CAC9D,CAAC,CAAC;AAHU,QAAA,qBAAqB,yBAG/B;AAEI,MAAM,sBAAsB,GAAG,CAAC,QAAkB,EAAuB,EAAE;IACjF,MAAM,oBAAoB,GAAG,cAAS,CAAC,GAAG,CAAC,6CAAoB,CAAC,CAAC;IACjE,OAAO;QACN,YAAY,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,CACxC,oBAAoB,CAAC,YAAY,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,CAAC;KACpE,CAAC;AACH,CAAC,CAAC;AANW,QAAA,sBAAsB,0BAMjC;AAEF,MAAM,eAAe,GAAG,GAAG,EAAE;IAC5B,MAAM,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC,mCAAuB,CAAC,CAAC;IAClE,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC3B,OAAO,EAAE,CAAC;IACX,CAAC;IACD,MAAM,YAAY,GAAG,oBAAoB;SACvC,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IACzB,OAAO,YAAY,CAAC;AACrB,CAAC,CAAC;AAEF,SAAgB,iBAAiB,CAAC,QAAgB;IACjD,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,MAAM,gBAAgB,GAAG,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,yBAAyB,GAAG,OAAO,CAAC,GAAG,CAAC,0CAA8B,CAAC,KAAK,OAAO,CAAC;IAG1F,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;QACzB,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YACjC,IAAI,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvC,OAAO,KAAK,CAAC;YACd,CAAC;QACF,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAGD,IAAI,yBAAyB,EAAE,CAAC;QAC/B,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,cAAS,CAAC,GAAG,CAAC,oCAAgB,CAAC,CAAC;QACtE,MAAM,eAAe,GAAG,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QAEpD,IAAI,OAAO,CAAC,GAAG,CAAC,wBAAY,CAAC,EAAE,CAAC;YAC/B,eAAe,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAY,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/D,CAAC;QAED,IAAI,OAAO,CAAC,GAAG,CAAC,gCAAoB,CAAC,EAAE,CAAC;YACvC,MAAM,sBAAsB,GAAG,OAAO,CAAC,GAAG,CAAC,gCAAoB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5E,eAAe,CAAC,IAAI,CAAC,GAAG,sBAAsB,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,OAAO,CAAC,GAAG,CAAC,oCAAwB,CAAC,EAAE,CAAC;YAC3C,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,oCAAwB,CAAC,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,OAAO,CAAC,GAAG,CAAC,qCAAyB,CAAC,EAAE,CAAC;YAC5C,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,qCAAyB,CAAC,CAAC,CAAC;QAC9D,CAAC;QAED,IAAI,OAAO,CAAC,GAAG,CAAC,sCAA0B,CAAC,EAAE,CAAC;YAC7C,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,sCAA0B,CAAC,CAAC,CAAC;QAC/D,CAAC;QAGD,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;YACpC,IAAI,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvC,OAAO,IAAI,CAAC;YACb,CAAC;QACF,CAAC;IACF,CAAC;IAGD,OAAO,KAAK,CAAC;AACd,CAAC;AAEM,MAAM,4BAA4B,GAAG,CAAC,IAAW,EAA6B,EAAE,CAAC,CAAC;IACxF,KAAK,CAAC,gBAAgB,CAAC,QAAQ;QAC9B,IAAI,CAAC;YACJ,MAAM,IAAA,iBAAQ,EAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,KAAK,CAAC,IAAI,KAAK,QAAQ;gBAC5B,CAAC,CAAC,IAAI,iCAAkB,CAAC,IAAI,EAAE,KAAK,EAAE;oBACpC,OAAO,EAAE,aAAa,MAAM,CAAC,QAAQ,CAAC,0BAA0B;oBAChE,KAAK,EAAE,SAAS;iBAChB,CAAC;gBACH,CAAC,CAAC,KAAK,CAAC;QACV,CAAC;QACD,IAAI,iBAAiB,CAAC,QAAkB,CAAC,EAAE,CAAC;YAC3C,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;YACvC,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxF,MAAM,IAAI,iCAAkB,CAAC,IAAI,EAAE,qCAAqC,OAAO,EAAE,EAAE;gBAClF,KAAK,EAAE,SAAS;aAChB,CAAC,CAAC;QACJ,CAAC;QACD,OAAO,IAAA,qBAAgB,EAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,cAAc;QACb,OAAO,cAAI,CAAC,IAAI,CAAC,cAAS,CAAC,GAAG,CAAC,oCAAgB,CAAC,CAAC,SAAS,EAAE,WAAW,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI;QAC/C,IAAI,iBAAiB,CAAC,QAAkB,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,iCAAkB,CAAC,IAAI,EAAE,aAAa,MAAM,CAAC,QAAQ,CAAC,oBAAoB,EAAE;gBACrF,KAAK,EAAE,SAAS;aAChB,CAAC,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,IAAA,oBAAW,EAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3E,CAAC;CACD,CAAC,CAAC;AAlCU,QAAA,4BAA4B,gCAkCtC;AAEI,MAAM,sBAAsB,GAAG,CACrC,EAAE,WAAW,EAAkC,EAC/C,UAAkB,EACI,EAAE,CAAC,CAAC;IAC1B,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,CACtD,MAAM,cAAc,CAAC,UAAU,EAAE,WAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;CAC7E,CAAC,CAAC;AANU,QAAA,sBAAsB,0BAMhC;AAEI,MAAM,wBAAwB,GAAG,CACvC,EAAE,WAAW,EAAkC,EAC/C,UAAkB,EACM,EAAE,CAAC,CAAC;IAC5B,aAAa;IACb,eAAe;IACf,iBAAiB;IACjB,cAAc,EAAd,sBAAc;IACd,cAAc;IACd,iBAAiB,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAC3D,MAAM,iBAAiB,CAAC,UAAU,EAAE,WAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC;IAClF,mBAAmB,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,CAC/C,MAAM,mBAAmB,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,WAAY,CAAC;IACtE,cAAc,EAAE,KAAK,IAAI,EAAE;QAC1B,MAAM,IAAI,+BAAgB,CAAC,8DAA8D,CAAC,CAAC;IAC5F,CAAC;CACD,CAAC,CAAC;AAhBU,QAAA,wBAAwB,4BAgBlC;AAEI,MAAM,gCAAgC,GAAG,CAC/C,QAAkB,EAClB,IAAW,EACoB,EAAE,CAAC,CAAC;IACnC,KAAK,CAAC,uBAAuB,CAC5B,KAA+B,EAC/B,KAAyB,EACzB,OAA+B;QAE/B,OAAO,MAAM,uBAAuB,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAC;IACjF,CAAC;IACD,KAAK,CAAC,4BAA4B,CACjC,YAAoB,EACpB,KAAoB,EACpB,KAAyB,EACzB,OAA+B;QAE/B,OAAO,MAAM,4BAA4B,CACxC,YAAY,EACZ,KAAK,EACL,KAAK,EACL,EAAE,IAAI,EAAE,QAAQ,EAAE,EAClB,OAAO,CACP,CAAC;IACH,CAAC;IACD,KAAK,CAAC,eAAe,CACpB,KAA+B,EAC/B,KAAyB,EACzB,OAA+B;QAE/B,OAAO,MAAM,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAC;IACzE,CAAC;IACD,KAAK,CAAC,sBAAsB,CAC3B,KAAyB,EACzB,OAA+B;QAE/B,OAAO,MAAM,sBAAsB,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAC;IACzE,CAAC;IACD,KAAK,CAAC,qBAAqB,CAC1B,KAAyB,EACzB,OAA+B;QAE/B,OAAO,MAAM,qBAAqB,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAC;IACxE,CAAC;CACD,CAAC,CAAC;AA5CU,QAAA,gCAAgC,oCA4C1C;AAMH,SAAgB,cAAc,CAAC,KAA2B,EAAE,UAAoB;IAC/E,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,MAAM,OAAO,GAAgB,EAAE,CAAC;QAChC,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,SAAS,EAAE,CAAC;gBACvC,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACP,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAA,uBAAQ,EAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YACnD,CAAC;QACF,CAAC;QACD,OAAO,OAAO,CAAC;IAChB,CAAC,CAAC,CAAC;AACJ,CAAC;AAMD,SAAgB,uBAAuB,CACtC,QAAkB,EAClB,IAAW,EACX,cAA8C,EAC9C,IAAyB,EACzB,UAAgC;IAEhC,OAAO,IAAI,oCAAW,CAAC,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;AAC1E,CAAC;AAMD,SAAgB,0BAA0B,CACzC,QAAkB,EAClB,IAAW,EACX,cAA8C,EAC9C,IAAyB,EACzB,UAAgC;IAEhC,OAAO,IAAI,uCAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;AAC7E,CAAC;AAED,SAAgB,0BAA0B;IACzC,OAAO;QACN,MAAM,EAAE,cAAS,CAAC,GAAG,CAAC,eAAM,CAAC;QAC7B,OAAO,EAAE;YACR,GAAG,IAAA,6BAAqB,GAAE;YAC1B,OAAO,EAAE,KAAK,EAAE,WAA4B,EAAE,OAAgB,EAAE,EAAE;gBACjE,OAAO,MAAM,mBAAmB,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;YACzF,CAAC;SACD;KACD,CAAC;AACH,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { INodeProperties } from 'n8n-workflow';
2
+ export declare const CUSTOM_NODES_CATEGORY = "Custom Nodes";
3
+ export declare const commonPollingParameters: INodeProperties[];
4
+ export declare const commonCORSParameters: INodeProperties[];
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.commonCORSParameters = exports.commonPollingParameters = exports.CUSTOM_NODES_CATEGORY = void 0;
4
+ const n8n_workflow_1 = require("n8n-workflow");
5
+ exports.CUSTOM_NODES_CATEGORY = 'Custom Nodes';
6
+ exports.commonPollingParameters = [
7
+ {
8
+ displayName: 'Poll Times',
9
+ name: 'pollTimes',
10
+ type: 'fixedCollection',
11
+ typeOptions: {
12
+ multipleValues: true,
13
+ multipleValueButtonText: 'Add Poll Time',
14
+ },
15
+ default: { item: [{ mode: 'everyMinute' }] },
16
+ description: 'Time at which polling should occur',
17
+ placeholder: 'Add Poll Time',
18
+ options: n8n_workflow_1.cronNodeOptions,
19
+ },
20
+ ];
21
+ exports.commonCORSParameters = [
22
+ {
23
+ displayName: 'Allowed Origins (CORS)',
24
+ name: 'allowedOrigins',
25
+ type: 'string',
26
+ default: '*',
27
+ description: 'Comma-separated list of URLs allowed for cross-origin non-preflight requests. Use * (default) to allow all origins.',
28
+ },
29
+ ];
30
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/nodes-loader/constants.ts"],"names":[],"mappings":";;;AACA,+CAA+C;AAElC,QAAA,qBAAqB,GAAG,cAAc,CAAC;AAEvC,QAAA,uBAAuB,GAAsB;IACzD;QACC,WAAW,EAAE,YAAY;QACzB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE;YACZ,cAAc,EAAE,IAAI;YACpB,uBAAuB,EAAE,eAAe;SACxC;QACD,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,EAAE;QAC5C,WAAW,EAAE,oCAAoC;QACjD,WAAW,EAAE,eAAe;QAC5B,OAAO,EAAE,8BAAe;KACxB;CACD,CAAC;AAEW,QAAA,oBAAoB,GAAsB;IACtD;QACC,WAAW,EAAE,wBAAwB;QACrC,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,GAAG;QACZ,WAAW,EACV,qHAAqH;KACtH;CACD,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { DirectoryLoader } from './directory-loader';
2
+ export declare class CustomDirectoryLoader extends DirectoryLoader {
3
+ packageName: string;
4
+ loadAll(): Promise<void>;
5
+ }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.CustomDirectoryLoader = void 0;
7
+ const fast_glob_1 = __importDefault(require("fast-glob"));
8
+ const directory_loader_1 = require("./directory-loader");
9
+ class CustomDirectoryLoader extends directory_loader_1.DirectoryLoader {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.packageName = 'CUSTOM';
13
+ }
14
+ async loadAll() {
15
+ const nodes = await (0, fast_glob_1.default)('**/*.node.js', {
16
+ cwd: this.directory,
17
+ absolute: true,
18
+ });
19
+ for (const nodePath of nodes) {
20
+ this.loadNodeFromFile(nodePath);
21
+ }
22
+ const credentials = await (0, fast_glob_1.default)('**/*.credentials.js', {
23
+ cwd: this.directory,
24
+ absolute: true,
25
+ });
26
+ for (const credentialPath of credentials) {
27
+ this.loadCredentialFromFile(credentialPath);
28
+ }
29
+ }
30
+ }
31
+ exports.CustomDirectoryLoader = CustomDirectoryLoader;
32
+ //# sourceMappingURL=custom-directory-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-directory-loader.js","sourceRoot":"","sources":["../../src/nodes-loader/custom-directory-loader.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA6B;AAE7B,yDAAqD;AAMrD,MAAa,qBAAsB,SAAQ,kCAAe;IAA1D;;QACC,gBAAW,GAAG,QAAQ,CAAC;IAqBxB,CAAC;IAnBS,KAAK,CAAC,OAAO;QACrB,MAAM,KAAK,GAAG,MAAM,IAAA,mBAAI,EAAC,cAAc,EAAE;YACxC,GAAG,EAAE,IAAI,CAAC,SAAS;YACnB,QAAQ,EAAE,IAAI;SACd,CAAC,CAAC;QAEH,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;YAC9B,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,IAAA,mBAAI,EAAC,qBAAqB,EAAE;YACrD,GAAG,EAAE,IAAI,CAAC,SAAS;YACnB,QAAQ,EAAE,IAAI;SACd,CAAC,CAAC;QAEH,KAAK,MAAM,cAAc,IAAI,WAAW,EAAE,CAAC;YAC1C,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC;QAC7C,CAAC;IACF,CAAC;CACD;AAtBD,sDAsBC"}
@@ -1,6 +1,5 @@
1
1
  import type { ICredentialType, ICredentialTypeData, INodeCredentialDescription, INodeType, INodeTypeBaseDescription, INodeTypeData, INodeTypeNameVersion, IVersionedNodeType, KnownNodesAndCredentials } from 'n8n-workflow';
2
- import { Logger } from './logging/logger';
3
- import type { n8n } from './Interfaces';
2
+ import { Logger } from '../logging/logger';
4
3
  export type Types = {
5
4
  nodes: INodeTypeBaseDescription[];
6
5
  credentials: ICredentialType[];
@@ -36,21 +35,3 @@ export declare abstract class DirectoryLoader {
36
35
  private getIconPath;
37
36
  private fixIconPaths;
38
37
  }
39
- export declare class CustomDirectoryLoader extends DirectoryLoader {
40
- packageName: string;
41
- loadAll(): Promise<void>;
42
- }
43
- export declare class PackageDirectoryLoader extends DirectoryLoader {
44
- packageJson: n8n.PackageJson;
45
- packageName: string;
46
- constructor(directory: string, excludeNodes?: string[], includeNodes?: string[]);
47
- private extractNodeTypes;
48
- loadAll(): Promise<void>;
49
- private inferSupportedNodes;
50
- private parseJSON;
51
- protected readJSONSync<T>(file: string): T;
52
- protected readJSON<T>(file: string): Promise<T>;
53
- }
54
- export declare class LazyPackageDirectoryLoader extends PackageDirectoryLoader {
55
- loadAll(): Promise<void>;
56
- }
@@ -36,19 +36,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
36
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.LazyPackageDirectoryLoader = exports.PackageDirectoryLoader = exports.CustomDirectoryLoader = exports.DirectoryLoader = void 0;
39
+ exports.DirectoryLoader = void 0;
40
40
  const di_1 = require("@n8n/di");
41
- const fast_glob_1 = __importDefault(require("fast-glob"));
42
41
  const uniqBy_1 = __importDefault(require("lodash/uniqBy"));
43
42
  const n8n_workflow_1 = require("n8n-workflow");
44
- const node_fs_1 = require("node:fs");
45
- const promises_1 = require("node:fs/promises");
46
43
  const path = __importStar(require("path"));
47
- const logger_1 = require("./logging/logger");
48
- const ClassLoader_1 = require("./ClassLoader");
49
- const Constants_1 = require("./Constants");
50
- const unrecognized_credential_type_error_1 = require("./errors/unrecognized-credential-type.error");
51
- const unrecognized_node_type_error_1 = require("./errors/unrecognized-node-type.error");
44
+ const unrecognized_credential_type_error_1 = require("../errors/unrecognized-credential-type.error");
45
+ const unrecognized_node_type_error_1 = require("../errors/unrecognized-node-type.error");
46
+ const logger_1 = require("../logging/logger");
47
+ const constants_1 = require("./constants");
48
+ const load_class_in_isolation_1 = require("./load-class-in-isolation");
52
49
  function toJSON() {
53
50
  return {
54
51
  ...this,
@@ -83,7 +80,7 @@ class DirectoryLoader {
83
80
  const filePath = this.resolvePath(sourcePath);
84
81
  const [className] = path.parse(sourcePath).name.split('.');
85
82
  try {
86
- return (0, ClassLoader_1.loadClassInIsolation)(filePath, className);
83
+ return (0, load_class_in_isolation_1.loadClassInIsolation)(filePath, className);
87
84
  }
88
85
  catch (error) {
89
86
  throw error instanceof TypeError
@@ -232,8 +229,8 @@ class DirectoryLoader {
232
229
  }
233
230
  if (isCustom) {
234
231
  codex.categories = codex.categories
235
- ? codex.categories.concat(Constants_1.CUSTOM_NODES_CATEGORY)
236
- : [Constants_1.CUSTOM_NODES_CATEGORY];
232
+ ? codex.categories.concat(constants_1.CUSTOM_NODES_CATEGORY)
233
+ : [constants_1.CUSTOM_NODES_CATEGORY];
237
234
  }
238
235
  node.description.codex = codex;
239
236
  }
@@ -241,7 +238,7 @@ class DirectoryLoader {
241
238
  this.logger.debug(`No codex available for: ${node.description.name}`);
242
239
  if (isCustom) {
243
240
  node.description.codex = {
244
- categories: [Constants_1.CUSTOM_NODES_CATEGORY],
241
+ categories: [constants_1.CUSTOM_NODES_CATEGORY],
245
242
  };
246
243
  }
247
244
  }
@@ -254,17 +251,17 @@ class DirectoryLoader {
254
251
  applySpecialNodeParameters(nodeType) {
255
252
  const { properties, polling, supportsCORS } = nodeType.description;
256
253
  if (polling) {
257
- properties.unshift(...Constants_1.commonPollingParameters);
254
+ properties.unshift(...constants_1.commonPollingParameters);
258
255
  }
259
256
  if (nodeType.webhook && supportsCORS) {
260
257
  const optionsProperty = properties.find(({ name }) => name === 'options');
261
258
  if (optionsProperty)
262
259
  optionsProperty.options = [
263
- ...Constants_1.commonCORSParameters,
260
+ ...constants_1.commonCORSParameters,
264
261
  ...optionsProperty.options,
265
262
  ];
266
263
  else
267
- properties.push(...Constants_1.commonCORSParameters);
264
+ properties.push(...constants_1.commonCORSParameters);
268
265
  }
269
266
  (0, n8n_workflow_1.applyDeclarativeNodeOptionParameters)(nodeType);
270
267
  }
@@ -292,145 +289,4 @@ class DirectoryLoader {
292
289
  }
293
290
  }
294
291
  exports.DirectoryLoader = DirectoryLoader;
295
- class CustomDirectoryLoader extends DirectoryLoader {
296
- constructor() {
297
- super(...arguments);
298
- this.packageName = 'CUSTOM';
299
- }
300
- async loadAll() {
301
- const nodes = await (0, fast_glob_1.default)('**/*.node.js', {
302
- cwd: this.directory,
303
- absolute: true,
304
- });
305
- for (const nodePath of nodes) {
306
- this.loadNodeFromFile(nodePath);
307
- }
308
- const credentials = await (0, fast_glob_1.default)('**/*.credentials.js', {
309
- cwd: this.directory,
310
- absolute: true,
311
- });
312
- for (const credentialPath of credentials) {
313
- this.loadCredentialFromFile(credentialPath);
314
- }
315
- }
316
- }
317
- exports.CustomDirectoryLoader = CustomDirectoryLoader;
318
- class PackageDirectoryLoader extends DirectoryLoader {
319
- constructor(directory, excludeNodes = [], includeNodes = []) {
320
- super(directory, excludeNodes, includeNodes);
321
- this.packageJson = this.readJSONSync('package.json');
322
- this.packageName = this.packageJson.name;
323
- this.excludeNodes = this.extractNodeTypes(excludeNodes);
324
- this.includeNodes = this.extractNodeTypes(includeNodes);
325
- }
326
- extractNodeTypes(fullNodeTypes) {
327
- return fullNodeTypes
328
- .map((fullNodeType) => fullNodeType.split('.'))
329
- .filter(([packageName]) => packageName === this.packageName)
330
- .map(([_, nodeType]) => nodeType);
331
- }
332
- async loadAll() {
333
- const { n8n } = this.packageJson;
334
- if (!n8n)
335
- return;
336
- const { nodes, credentials } = n8n;
337
- if (Array.isArray(nodes)) {
338
- for (const nodePath of nodes) {
339
- this.loadNodeFromFile(nodePath);
340
- }
341
- }
342
- if (Array.isArray(credentials)) {
343
- for (const credentialPath of credentials) {
344
- this.loadCredentialFromFile(credentialPath);
345
- }
346
- }
347
- this.inferSupportedNodes();
348
- this.logger.debug(`Loaded all credentials and nodes from ${this.packageName}`, {
349
- credentials: credentials?.length ?? 0,
350
- nodes: nodes?.length ?? 0,
351
- });
352
- }
353
- inferSupportedNodes() {
354
- const knownCredentials = this.known.credentials;
355
- for (const { type: credentialType } of Object.values(this.credentialTypes)) {
356
- const supportedNodes = knownCredentials[credentialType.name].supportedNodes ?? [];
357
- if (supportedNodes.length > 0 && credentialType.httpRequestNode) {
358
- credentialType.httpRequestNode.hidden = true;
359
- }
360
- credentialType.supportedNodes = supportedNodes;
361
- if (!credentialType.iconUrl && !credentialType.icon) {
362
- for (const supportedNode of supportedNodes) {
363
- const nodeDescription = this.nodeTypes[supportedNode]?.type.description;
364
- if (!nodeDescription)
365
- continue;
366
- if (nodeDescription.icon) {
367
- credentialType.icon = nodeDescription.icon;
368
- credentialType.iconColor = nodeDescription.iconColor;
369
- break;
370
- }
371
- if (nodeDescription.iconUrl) {
372
- credentialType.iconUrl = nodeDescription.iconUrl;
373
- break;
374
- }
375
- }
376
- }
377
- }
378
- }
379
- parseJSON(fileString, filePath) {
380
- try {
381
- return (0, n8n_workflow_1.jsonParse)(fileString);
382
- }
383
- catch (error) {
384
- throw new n8n_workflow_1.ApplicationError('Failed to parse JSON', { extra: { filePath } });
385
- }
386
- }
387
- readJSONSync(file) {
388
- const filePath = this.resolvePath(file);
389
- const fileString = (0, node_fs_1.readFileSync)(filePath, 'utf8');
390
- return this.parseJSON(fileString, filePath);
391
- }
392
- async readJSON(file) {
393
- const filePath = this.resolvePath(file);
394
- const fileString = await (0, promises_1.readFile)(filePath, 'utf8');
395
- return this.parseJSON(fileString, filePath);
396
- }
397
- }
398
- exports.PackageDirectoryLoader = PackageDirectoryLoader;
399
- class LazyPackageDirectoryLoader extends PackageDirectoryLoader {
400
- async loadAll() {
401
- try {
402
- this.known.nodes = await this.readJSON('dist/known/nodes.json');
403
- this.known.credentials = await this.readJSON('dist/known/credentials.json');
404
- this.types.nodes = await this.readJSON('dist/types/nodes.json');
405
- this.types.credentials = await this.readJSON('dist/types/credentials.json');
406
- if (this.includeNodes.length) {
407
- const allowedNodes = {};
408
- for (const nodeType of this.includeNodes) {
409
- if (nodeType in this.known.nodes) {
410
- allowedNodes[nodeType] = this.known.nodes[nodeType];
411
- }
412
- }
413
- this.known.nodes = allowedNodes;
414
- this.types.nodes = this.types.nodes.filter((nodeType) => this.includeNodes.includes(nodeType.name));
415
- }
416
- if (this.excludeNodes.length) {
417
- for (const nodeType of this.excludeNodes) {
418
- delete this.known.nodes[nodeType];
419
- }
420
- this.types.nodes = this.types.nodes.filter((nodeType) => !this.excludeNodes.includes(nodeType.name));
421
- }
422
- this.logger.debug(`Lazy-loading nodes and credentials from ${this.packageJson.name}`, {
423
- nodes: this.types.nodes?.length ?? 0,
424
- credentials: this.types.credentials?.length ?? 0,
425
- });
426
- this.isLazyLoaded = true;
427
- return;
428
- }
429
- catch {
430
- this.logger.debug("Can't enable lazy-loading");
431
- await super.loadAll();
432
- }
433
- }
434
- }
435
- exports.LazyPackageDirectoryLoader = LazyPackageDirectoryLoader;
436
- //# sourceMappingURL=DirectoryLoader.js.map
292
+ //# sourceMappingURL=directory-loader.js.map