@osolmaz/pi-workflows 0.16.2 → 0.16.3

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 (315) hide show
  1. package/README.md +41 -41
  2. package/dist/builtins/monitor.workflow.d.ts +1 -1
  3. package/dist/builtins/monitor.workflow.js +8 -8
  4. package/dist/builtins/pi-agent-group.js +3 -3
  5. package/dist/builtins/pi-agent-group.js.map +1 -1
  6. package/dist/channels/adapter-entry.js +14 -14
  7. package/dist/channels/adapter-entry.js.map +1 -1
  8. package/dist/client/client.d.ts +6 -6
  9. package/dist/client/client.js +27 -27
  10. package/dist/client/client.js.map +1 -1
  11. package/dist/client/protocol.d.ts +4 -1
  12. package/dist/client/protocol.js +17 -11
  13. package/dist/client/protocol.js.map +1 -1
  14. package/dist/client/resolver.d.ts +4 -4
  15. package/dist/client/view.d.ts +1 -1
  16. package/dist/extension/index.d.ts +1 -1
  17. package/dist/extension/index.js +32 -32
  18. package/dist/extension/index.js.map +1 -1
  19. package/dist/extension/recorder.d.ts +1 -1
  20. package/dist/extension/recorder.js +1 -1
  21. package/dist/extension/recorder.js.map +1 -1
  22. package/dist/extension/remote-recorder-store.d.ts +1 -1
  23. package/dist/extension/remote-recorder-store.js +2 -2
  24. package/dist/extension/remote-recorder-store.js.map +1 -1
  25. package/dist/extension/{controller-command.d.ts → resource-manager-command.d.ts} +6 -6
  26. package/dist/extension/{controller-command.js → resource-manager-command.js} +7 -7
  27. package/dist/extension/resource-manager-command.js.map +1 -0
  28. package/dist/extension/session-delivery.d.ts +1 -1
  29. package/dist/extension/session-delivery.js +2 -2
  30. package/dist/extension/session-delivery.js.map +1 -1
  31. package/dist/extension/session-view.d.ts +1 -1
  32. package/dist/extension/session-view.js +1 -1
  33. package/dist/extension/session-view.js.map +1 -1
  34. package/dist/extension/workflow-message-coordinator.d.ts +1 -1
  35. package/dist/extension/workflow-message-coordinator.js +6 -6
  36. package/dist/extension/workflow-message-coordinator.js.map +1 -1
  37. package/dist/resource-managers/conditions.d.ts +6 -0
  38. package/dist/{controllers → resource-managers}/conditions.js +3 -3
  39. package/dist/resource-managers/conditions.js.map +1 -0
  40. package/dist/resource-managers/definition.d.ts +6 -0
  41. package/dist/resource-managers/definition.js +45 -0
  42. package/dist/resource-managers/definition.js.map +1 -0
  43. package/dist/resource-managers/effects.d.ts +15 -0
  44. package/dist/{controllers → resource-managers}/effects.js +2 -2
  45. package/dist/resource-managers/effects.js.map +1 -0
  46. package/dist/resource-managers/errors.d.ts +12 -0
  47. package/dist/resource-managers/errors.js +25 -0
  48. package/dist/resource-managers/errors.js.map +1 -0
  49. package/dist/resource-managers/index.d.ts +12 -0
  50. package/dist/resource-managers/index.js +12 -0
  51. package/dist/resource-managers/index.js.map +1 -0
  52. package/dist/resource-managers/json.js.map +1 -0
  53. package/dist/resource-managers/loader.d.ts +23 -0
  54. package/dist/resource-managers/loader.js +75 -0
  55. package/dist/resource-managers/loader.js.map +1 -0
  56. package/dist/resource-managers/results.d.ts +5 -0
  57. package/dist/resource-managers/results.js.map +1 -0
  58. package/dist/resource-managers/runtime.d.ts +59 -0
  59. package/dist/{controllers/manager.js → resource-managers/runtime.js} +57 -57
  60. package/dist/resource-managers/runtime.js.map +1 -0
  61. package/dist/{controllers → resource-managers}/sqlite.d.ts +44 -44
  62. package/dist/{controllers → resource-managers}/sqlite.js +139 -130
  63. package/dist/resource-managers/sqlite.js.map +1 -0
  64. package/dist/{controllers → resource-managers}/store.d.ts +33 -33
  65. package/dist/{controllers → resource-managers}/store.js.map +1 -1
  66. package/dist/{controllers → resource-managers}/types.d.ts +41 -41
  67. package/dist/{controllers → resource-managers}/types.js.map +1 -1
  68. package/dist/resource-managers/workflows.d.ts +34 -0
  69. package/dist/{controllers → resource-managers}/workflows.js +15 -15
  70. package/dist/resource-managers/workflows.js.map +1 -0
  71. package/dist/server/channel-effects.js.map +1 -0
  72. package/dist/{host → server}/channel-supervisor.d.ts +6 -6
  73. package/dist/{host → server}/channel-supervisor.js +3 -3
  74. package/dist/server/channel-supervisor.js.map +1 -0
  75. package/dist/{host/child-worker-supervisor.d.ts → server/child-runner-supervisor.d.ts} +15 -13
  76. package/dist/{host/child-worker-supervisor.js → server/child-runner-supervisor.js} +6 -5
  77. package/dist/server/child-runner-supervisor.js.map +1 -0
  78. package/dist/{host → server}/processes.d.ts +3 -3
  79. package/dist/{host → server}/processes.js +3 -3
  80. package/dist/server/processes.js.map +1 -0
  81. package/dist/{host → server}/resolver-entry.d.ts +6 -6
  82. package/dist/{host → server}/resolver-entry.js +14 -14
  83. package/dist/server/resolver-entry.js.map +1 -0
  84. package/dist/server/resource-runner-entry.d.ts +2 -0
  85. package/dist/{host/controller-worker-entry.js → server/resource-runner-entry.js} +33 -33
  86. package/dist/server/resource-runner-entry.js.map +1 -0
  87. package/dist/server/resource-runner-protocol.d.ts +36 -0
  88. package/dist/server/resource-runner-protocol.js +49 -0
  89. package/dist/server/resource-runner-protocol.js.map +1 -0
  90. package/dist/server/resource-runner-supervisor.d.ts +21 -0
  91. package/dist/{host/worker-supervisor.js → server/resource-runner-supervisor.js} +17 -17
  92. package/dist/server/resource-runner-supervisor.js.map +1 -0
  93. package/dist/{host → server}/rpc-bridge.d.ts +3 -3
  94. package/dist/{host → server}/rpc-bridge.js +3 -3
  95. package/dist/server/rpc-bridge.js.map +1 -0
  96. package/dist/{host → server}/rpc-executor.d.ts +1 -1
  97. package/dist/{host → server}/rpc-executor.js +3 -3
  98. package/dist/server/rpc-executor.js.map +1 -0
  99. package/dist/{host/host-entry.js → server/server-entry.js} +6 -6
  100. package/dist/server/server-entry.js.map +1 -0
  101. package/dist/{host/runner.d.ts → server/server.d.ts} +39 -38
  102. package/dist/{host/runner.js → server/server.js} +408 -374
  103. package/dist/server/server.js.map +1 -0
  104. package/dist/{host → server}/state.d.ts +25 -25
  105. package/dist/{host → server}/state.js +49 -49
  106. package/dist/server/state.js.map +1 -0
  107. package/dist/{host → server}/view.d.ts +7 -7
  108. package/dist/{host → server}/view.js +13 -13
  109. package/dist/server/view.js.map +1 -0
  110. package/dist/server/workflow-runner-content.d.ts +6 -0
  111. package/dist/server/workflow-runner-content.js +96 -0
  112. package/dist/server/workflow-runner-content.js.map +1 -0
  113. package/dist/{host/worker-entry.d.ts → server/workflow-runner-entry.d.ts} +3 -3
  114. package/dist/{host/worker-entry.js → server/workflow-runner-entry.js} +68 -35
  115. package/dist/server/workflow-runner-entry.js.map +1 -0
  116. package/dist/server/workflow-runner-protocol.d.ts +69 -0
  117. package/dist/server/workflow-runner-protocol.js +176 -0
  118. package/dist/server/workflow-runner-protocol.js.map +1 -0
  119. package/dist/{host/worker-store.d.ts → server/workflow-runner-store.d.ts} +11 -11
  120. package/dist/{host/worker-store.js → server/workflow-runner-store.js} +8 -8
  121. package/dist/server/workflow-runner-store.js.map +1 -0
  122. package/dist/server/workflow-runner-supervisor.d.ts +22 -0
  123. package/dist/server/workflow-runner-supervisor.js +56 -0
  124. package/dist/server/workflow-runner-supervisor.js.map +1 -0
  125. package/dist/state/prune.d.ts +1 -1
  126. package/dist/state/prune.js +17 -10
  127. package/dist/state/prune.js.map +1 -1
  128. package/dist/state/schema.js +2 -2
  129. package/dist/state/workflow-messages.d.ts +1 -1
  130. package/dist/state/workflow-messages.js +1 -1
  131. package/dist/state/workflow-messages.js.map +1 -1
  132. package/dist/viewer/backup.js +1 -1
  133. package/dist/viewer/backup.js.map +1 -1
  134. package/dist/viewer/cli.d.ts +2 -2
  135. package/dist/viewer/cli.js +46 -32
  136. package/dist/viewer/cli.js.map +1 -1
  137. package/dist/viewer/tui.d.ts +1 -1
  138. package/dist/viewer/tui.js +1 -1
  139. package/dist/viewer/tui.js.map +1 -1
  140. package/dist/workflows/command-batch.js +2 -2
  141. package/dist/workflows/engine.js +14 -15
  142. package/dist/workflows/engine.js.map +1 -1
  143. package/dist/workflows/store.d.ts +12 -11
  144. package/dist/workflows/store.js +24 -18
  145. package/dist/workflows/store.js.map +1 -1
  146. package/dist/workflows/types.d.ts +2 -2
  147. package/docs/2026-08-20-durable-workflow-launch-plan.md +12 -12
  148. package/docs/2026-08-25-workflow-follow-ups.md +7 -7
  149. package/docs/2026-08-25-workflow-settings.md +3 -3
  150. package/docs/2026-08-30-out-of-process-workflow-host-plan.md +3 -3
  151. package/docs/2026-09-01-restore-session-delivery-controls-plan.md +5 -5
  152. package/docs/2026-09-01-unified-workflow-client-plan.md +6 -6
  153. package/docs/2026-09-02-installed-live-e2e-plan.md +3 -3
  154. package/docs/2026-09-02-unify-workflow-messages-plan.md +8 -8
  155. package/docs/2026-09-04-workflow-run-state-plan.md +6 -6
  156. package/docs/DEFERRED_TURNS.md +7 -7
  157. package/docs/DESIGN_PHILOSOPHY.md +1 -1
  158. package/docs/HUMAN_DECISIONS.md +11 -11
  159. package/docs/HUMAN_DECISION_PRESENTATIONS.md +4 -4
  160. package/docs/MONITOR.md +1 -1
  161. package/docs/RESOURCE_MANAGERS.md +221 -0
  162. package/docs/SQLITE_STATE.md +35 -33
  163. package/docs/WORKFLOW_COMPOSITION.md +1 -1
  164. package/docs/{WORKFLOW_HOST.md → WORKFLOW_SERVER.md} +125 -119
  165. package/docs/WORKFLOW_STEP_MESSAGES.md +18 -18
  166. package/docs/WORKFLOW_UPDATES.md +16 -16
  167. package/docs/development.md +15 -14
  168. package/docs/live-replay-protocol.md +20 -20
  169. package/docs/plans/2026-08-04-controller-runtime-plan.md +25 -25
  170. package/docs/plans/2026-08-05-always-on-workflows-plan.md +8 -8
  171. package/docs/plans/2026-08-10-agent-managed-monitor-workflows-plan.md +2 -2
  172. package/docs/plans/2026-08-13-session-addressed-workflow-notifications-plan.md +1 -1
  173. package/docs/plans/2026-08-16-workflow-updates-plan.md +5 -5
  174. package/docs/plans/2026-08-19-human-decision-gates-plan.md +1 -1
  175. package/docs/plans/2026-08-20-bounded-command-batches-plan.md +1 -1
  176. package/docs/plans/2026-08-21-deferred-turn-intents-plan.md +3 -3
  177. package/docs/plans/2026-08-21-sanity-check-plan.md +2 -2
  178. package/docs/plans/2026-08-23-assistant-agent-completion-plan.md +5 -5
  179. package/docs/plans/2026-08-23-sqlite-state-plan.md +25 -25
  180. package/docs/plans/2026-08-25-live-workflow-settings-plan.md +4 -4
  181. package/docs/plans/2026-08-27-workflow-terminal-restart-plan.md +3 -3
  182. package/docs/plans/2026-09-04-workflow-runner-resume-state-plan.md +318 -0
  183. package/docs/plans/piw-viewer-experience-implementation-plan.md +1 -1
  184. package/docs/tui-viewer.md +9 -9
  185. package/docs/workflows.md +72 -66
  186. package/examples/{controllers/pull-request.controller.ts → resource-managers/pull-request.resource-manager.ts} +12 -12
  187. package/herdr-plugin.toml +1 -1
  188. package/package.json +5 -5
  189. package/protocol/client.v1.schema.json +7 -7
  190. package/protocol/fixtures/client-v1.json +1 -1
  191. package/src/builtins/monitor.workflow.ts +9 -9
  192. package/src/builtins/pi-agent-group.ts +3 -3
  193. package/src/channels/adapter-entry.ts +14 -14
  194. package/src/client/client.ts +33 -32
  195. package/src/client/protocol.ts +16 -11
  196. package/src/client/resolver.ts +4 -4
  197. package/src/client/view.ts +1 -1
  198. package/src/extension/index.ts +44 -34
  199. package/src/extension/recorder.ts +1 -1
  200. package/src/extension/remote-recorder-store.ts +2 -2
  201. package/src/extension/resource-manager-command.ts +45 -0
  202. package/src/extension/session-delivery.ts +2 -2
  203. package/src/extension/session-view.ts +1 -1
  204. package/src/extension/workflow-message-coordinator.ts +6 -6
  205. package/src/{controllers → resource-managers}/conditions.ts +23 -23
  206. package/src/resource-managers/definition.ts +71 -0
  207. package/src/{controllers → resource-managers}/effects.ts +9 -9
  208. package/src/resource-managers/errors.ts +27 -0
  209. package/src/resource-managers/index.ts +88 -0
  210. package/src/resource-managers/loader.ts +111 -0
  211. package/src/{controllers → resource-managers}/results.ts +4 -4
  212. package/src/{controllers/manager.ts → resource-managers/runtime.ts} +95 -92
  213. package/src/{controllers → resource-managers}/sqlite.ts +198 -186
  214. package/src/{controllers → resource-managers}/store.ts +46 -38
  215. package/src/{controllers → resource-managers}/types.ts +50 -41
  216. package/src/{controllers → resource-managers}/workflows.ts +43 -41
  217. package/src/{host → server}/channel-supervisor.ts +8 -8
  218. package/src/{host/child-worker-supervisor.ts → server/child-runner-supervisor.ts} +22 -18
  219. package/src/{host → server}/processes.ts +3 -3
  220. package/src/{host → server}/resolver-entry.ts +28 -25
  221. package/src/{host/controller-worker-entry.ts → server/resource-runner-entry.ts} +67 -65
  222. package/src/server/resource-runner-protocol.ts +103 -0
  223. package/src/server/resource-runner-supervisor.ts +76 -0
  224. package/src/{host → server}/rpc-bridge.ts +3 -3
  225. package/src/{host → server}/rpc-executor.ts +4 -4
  226. package/src/{host/host-entry.ts → server/server-entry.ts} +5 -5
  227. package/src/{host/runner.ts → server/server.ts} +526 -461
  228. package/src/{host → server}/state.ts +78 -67
  229. package/src/{host → server}/view.ts +15 -15
  230. package/src/server/workflow-runner-content.ts +119 -0
  231. package/src/{host/worker-entry.ts → server/workflow-runner-entry.ts} +98 -57
  232. package/src/server/workflow-runner-protocol.ts +241 -0
  233. package/src/{host/worker-store.ts → server/workflow-runner-store.ts} +18 -20
  234. package/src/server/workflow-runner-supervisor.ts +79 -0
  235. package/src/state/prune.ts +27 -9
  236. package/src/state/schema.ts +2 -2
  237. package/src/state/workflow-messages.ts +1 -1
  238. package/src/viewer/backup.ts +1 -1
  239. package/src/viewer/cli.ts +50 -36
  240. package/src/viewer/tui.ts +1 -1
  241. package/src/workflows/command-batch.ts +2 -2
  242. package/src/workflows/engine.ts +14 -15
  243. package/src/workflows/store.ts +31 -28
  244. package/src/workflows/types.ts +2 -2
  245. package/dist/controllers/conditions.d.ts +0 -6
  246. package/dist/controllers/conditions.js.map +0 -1
  247. package/dist/controllers/definition.d.ts +0 -6
  248. package/dist/controllers/definition.js +0 -45
  249. package/dist/controllers/definition.js.map +0 -1
  250. package/dist/controllers/effects.d.ts +0 -15
  251. package/dist/controllers/effects.js.map +0 -1
  252. package/dist/controllers/errors.d.ts +0 -12
  253. package/dist/controllers/errors.js +0 -25
  254. package/dist/controllers/errors.js.map +0 -1
  255. package/dist/controllers/index.d.ts +0 -12
  256. package/dist/controllers/index.js +0 -12
  257. package/dist/controllers/index.js.map +0 -1
  258. package/dist/controllers/json.js.map +0 -1
  259. package/dist/controllers/loader.d.ts +0 -23
  260. package/dist/controllers/loader.js +0 -74
  261. package/dist/controllers/loader.js.map +0 -1
  262. package/dist/controllers/manager.d.ts +0 -59
  263. package/dist/controllers/manager.js.map +0 -1
  264. package/dist/controllers/results.d.ts +0 -5
  265. package/dist/controllers/results.js.map +0 -1
  266. package/dist/controllers/sqlite.js.map +0 -1
  267. package/dist/controllers/workflows.d.ts +0 -34
  268. package/dist/controllers/workflows.js.map +0 -1
  269. package/dist/extension/controller-command.js.map +0 -1
  270. package/dist/host/channel-effects.js.map +0 -1
  271. package/dist/host/channel-supervisor.js.map +0 -1
  272. package/dist/host/child-worker-supervisor.js.map +0 -1
  273. package/dist/host/controller-worker-entry.d.ts +0 -2
  274. package/dist/host/controller-worker-entry.js.map +0 -1
  275. package/dist/host/controller-worker-protocol.d.ts +0 -36
  276. package/dist/host/controller-worker-protocol.js +0 -49
  277. package/dist/host/controller-worker-protocol.js.map +0 -1
  278. package/dist/host/controller-worker-supervisor.d.ts +0 -21
  279. package/dist/host/controller-worker-supervisor.js +0 -54
  280. package/dist/host/controller-worker-supervisor.js.map +0 -1
  281. package/dist/host/host-entry.js.map +0 -1
  282. package/dist/host/processes.js.map +0 -1
  283. package/dist/host/resolver-entry.js.map +0 -1
  284. package/dist/host/rpc-bridge.js.map +0 -1
  285. package/dist/host/rpc-executor.js.map +0 -1
  286. package/dist/host/runner.js.map +0 -1
  287. package/dist/host/state.js.map +0 -1
  288. package/dist/host/view.js.map +0 -1
  289. package/dist/host/worker-entry.js.map +0 -1
  290. package/dist/host/worker-protocol.d.ts +0 -46
  291. package/dist/host/worker-protocol.js +0 -122
  292. package/dist/host/worker-protocol.js.map +0 -1
  293. package/dist/host/worker-store.js.map +0 -1
  294. package/dist/host/worker-supervisor.d.ts +0 -22
  295. package/dist/host/worker-supervisor.js.map +0 -1
  296. package/docs/CONTROLLERS.md +0 -217
  297. package/src/controllers/definition.ts +0 -65
  298. package/src/controllers/errors.ts +0 -27
  299. package/src/controllers/index.ts +0 -88
  300. package/src/controllers/loader.ts +0 -104
  301. package/src/extension/controller-command.ts +0 -45
  302. package/src/host/controller-worker-protocol.ts +0 -104
  303. package/src/host/controller-worker-supervisor.ts +0 -79
  304. package/src/host/worker-protocol.ts +0 -176
  305. package/src/host/worker-supervisor.ts +0 -74
  306. /package/dist/{controllers → resource-managers}/json.d.ts +0 -0
  307. /package/dist/{controllers → resource-managers}/json.js +0 -0
  308. /package/dist/{controllers → resource-managers}/results.js +0 -0
  309. /package/dist/{controllers → resource-managers}/store.js +0 -0
  310. /package/dist/{controllers → resource-managers}/types.js +0 -0
  311. /package/dist/{host → server}/channel-effects.d.ts +0 -0
  312. /package/dist/{host → server}/channel-effects.js +0 -0
  313. /package/dist/{host/host-entry.d.ts → server/server-entry.d.ts} +0 -0
  314. /package/src/{controllers → resource-managers}/json.ts +0 -0
  315. /package/src/{host → server}/channel-effects.ts +0 -0
package/README.md CHANGED
@@ -73,19 +73,19 @@ The npm package also includes the simpler `pi-workflows` snapshot viewer. To
73
73
  link that command from a clone, run `npm install && npm run build && npm link`,
74
74
  or run it in place with `npx tsx src/viewer/cli.ts`.
75
75
 
76
- All live workflow and controller state uses one local database:
76
+ All live workflow and resource manager state uses one local database:
77
77
 
78
78
  ```text
79
79
  ~/.pi/agent/workflows/state.sqlite
80
80
  ```
81
81
 
82
- Runs, decisions, queues, claims, controllers, session capture, notifications,
83
- channel transport state, effects, and large text values all live there. The
84
- package-owned host is the only production process that opens the active
85
- database. The extension, CLI, Herdr adapter, and `piw` use the same versioned
86
- local client protocol. See [SQLite state](docs/SQLITE_STATE.md).
82
+ Runs, decisions, queues, claims, managed resources, session capture,
83
+ notifications, channel transport state, effects, and large text values all live
84
+ there. The package-owned server is the only production process that opens the
85
+ active database. The extension, CLI, Herdr adapter, and `piw` use the same
86
+ versioned local client protocol. See [SQLite state](docs/SQLITE_STATE.md).
87
87
 
88
- One host-owned workflow-message path handles steps, reminders, resumed work,
88
+ One server-owned workflow-message path handles steps, reminders, resumed work,
89
89
  human decisions, notifications, terminal results, and follow-up prompts. The
90
90
  shared extension coordinator reports exact Pi branches and model turns, so an
91
91
  active workflow turn stays `running`, repeated polling cannot send the same
@@ -120,8 +120,8 @@ Then, from any Pi conversation:
120
120
  ```
121
121
 
122
122
  `/workflow` with no arguments lists discovered workflows. `/workflow pause`
123
- stops the worker and parks the run at its last durable boundary. `/workflow
124
- resume` starts a new worker generation from that boundary. `/workflow cancel`
123
+ stops the runner and parks the run at its last durable boundary. `/workflow
124
+ resume` starts a new runner generation from that boundary. `/workflow cancel`
125
125
  stops the active run; `/workflow cancel <run-id>` can also cancel a named stale
126
126
  run when no live owner holds it. A checkpoint waits until `/workflow answer
127
127
  <json-or-text>` supplies its input.
@@ -191,11 +191,11 @@ decision. A person must answer that request through `/workflow answer` in the
191
191
  origin Pi session. The model uses `update` for durable progress from the current
192
192
  attempt and `submit` for structured step output. Assistant-message steps require
193
193
  a normal visible assistant response instead. The extension sends all lifecycle
194
- mutations to the host and reports success only after the host commits them.
194
+ mutations to the server and reports success only after the server commits them.
195
195
 
196
196
  A model-started workflow is saved before the tool reports it as accepted, so
197
197
  the returned run ID works with `workflow status` and `workflow cancel`
198
- immediately. Duplicate host commands and step submissions adopt their stored
198
+ immediately. Duplicate server commands and step submissions adopt their stored
199
199
  receipts instead of repeating a committed transition.
200
200
 
201
201
  pi-workflows includes a [monitor](docs/MONITOR.md) workflow for plain-language
@@ -215,9 +215,9 @@ target again after repair and stops when the same issue and target evidence
215
215
  return without progress. Project and global workflows can replace the built-in
216
216
  `monitor` by using the same file name.
217
217
 
218
- A monitor occupies the session's one active workflow slot. If its worker or the
219
- host stops during the shell wait, the run parks and repeats that idempotent wait
220
- node when the host resumes it.
218
+ A monitor occupies the session's one active workflow slot. If its runner or the
219
+ server stops during the shell wait, the run parks and repeats that idempotent wait
220
+ node when the server resumes it.
221
221
 
222
222
  Because interactive agent steps run in the origin conversation, you can have a
223
223
  long discussion first and then trigger a workflow that builds on it. The
@@ -234,8 +234,8 @@ earlier `autodevise` name, and the old command and export are not retained.
234
234
  ## Viewers
235
235
 
236
236
  Runs persist in `~/.pi/agent/workflows/state.sqlite` as they execute. The global
237
- host is the only process that opens this database. Viewers use the shared client
238
- protocol and re-render from the host's run view on every state change:
237
+ server is the only process that opens this database. Viewers use the shared client
238
+ protocol and re-render from the server's run view on every state change:
239
239
 
240
240
  ```bash
241
241
  pi-workflows view # interactive picker, live updates
@@ -270,7 +270,7 @@ Run the same command after a pi-workflows update. `pi-workflows herdr setup`
270
270
  remains an alias for existing installations.
271
271
 
272
272
  When Pi runs inside Herdr, the workflow widget shows a `Ctrl+Shift+R piw`
273
- shortcut. The shortcut opens the exact host-owned run view and lets you choose
273
+ shortcut. The shortcut opens the exact server-owned run view and lets you choose
274
274
  a split, tab, or new workspace. `/piw` opens the same menu, and `/piw right`,
275
275
  `/piw below`, `/piw left`, `/piw above`, `/piw tab`, or `/piw workspace`
276
276
  selects a placement directly. If a viewer for that run already exists,
@@ -303,21 +303,21 @@ including progress counts and ETA data.
303
303
  See [docs/workflows.md](docs/workflows.md) for the full authoring reference
304
304
  and [docs/SQLITE_STATE.md](docs/SQLITE_STATE.md) for the on-disk run format.
305
305
 
306
- ## Controllers
306
+ ## Resource managers
307
307
 
308
- Controllers keep long-running automation aligned with current external state. They store desired state in `spec` and report observed state through conditions and `status`, then reconcile a deduplicated resource key whenever an event or retry makes it ready.
308
+ Resource managers keep long-running automation aligned with current external state. They store desired state in `spec` and report observed state through conditions and `status`, then reconcile a deduplicated resource key whenever an event or retry makes it ready.
309
309
 
310
- Put `*.controller.ts` files in `.pi/controllers/` or `~/.pi/agent/controllers/`. Import the API from `@osolmaz/pi-workflows/controllers`:
310
+ Put `*.resource-manager.ts` files in `.pi/resource-managers/` or `~/.pi/agent/resource-managers/`. Import the API from `@osolmaz/pi-workflows/resource-managers`:
311
311
 
312
312
  ```typescript
313
- import { conditionTrue, defineController } from "@osolmaz/pi-workflows/controllers";
313
+ import { conditionTrue, defineResourceManager } from "@osolmaz/pi-workflows/resource-managers";
314
314
 
315
- export default defineController({
315
+ export default defineResourceManager({
316
316
  name: "example",
317
317
  initialStatus: () => ({ phase: "new" }),
318
318
  reconcile: (ctx, resource) =>
319
319
  ctx.settled({
320
- controllerStatus: { phase: "done" },
320
+ resourceManagerStatus: { phase: "done" },
321
321
  conditions: [conditionTrue("Ready", "Complete")],
322
322
  }),
323
323
  });
@@ -326,41 +326,41 @@ export default defineController({
326
326
  Apply and inspect resources from Pi:
327
327
 
328
328
  ```text
329
- /controller apply example item-1 {"enabled":true}
330
- /controller get example item-1
331
- /controller reconcile example item-1
329
+ /resource-manager apply example item-1 {"enabled":true}
330
+ /resource-manager get example item-1
331
+ /resource-manager reconcile example item-1
332
332
  ```
333
333
 
334
- The extension resolves controller initialization in a child process, then sends the declarative resource to the global host. Controller reconciliation also runs in supervised children. The standalone CLI provides read-only views with `pi-workflows controllers` and `pi-workflows controller <controller> <key>`. See [docs/CONTROLLERS.md](docs/CONTROLLERS.md) for reconciliation, queue, effect, and child workflow semantics.
334
+ The extension resolves resource manager initialization in a child process, then sends the declarative resource to the global server. Resource manager reconciliation also runs in supervised resource runners. The standalone CLI provides read-only views with `pi-workflows resource-managers` and `pi-workflows resource-manager <resource-manager> <key>`. See [docs/RESOURCE_MANAGERS.md](docs/RESOURCE_MANAGERS.md) for reconciliation, queue, effect, and child workflow semantics.
335
335
 
336
336
  ## Always-on workflows
337
337
 
338
338
  Every workflow enters one durable global queue. The extension starts the
339
- package-owned host on demand. Closing Pi does not stop a compute, action, or
339
+ package-owned server on demand. Closing Pi does not stop a compute, action, or
340
340
  shell node. When a run reaches an interactive agent, assistant-message, or
341
- human-decision step, the host parks it and saves a request for the origin Pi
341
+ human-decision step, the server parks it and saves a request for the origin Pi
342
342
  session. Reopening that session presents the same request once. A protected
343
343
  human decision does not start a model turn; a person answers it with
344
344
  `/workflow answer`.
345
345
 
346
- The host also reconciles controllers. Controller child workflows without an
347
- origin session can use headless `pi --mode rpc` agent steps. A child that needs
348
- a visible assistant response must have an origin-session binding.
346
+ The server also reconciles managed resources. Resource manager child workflows
347
+ without an origin session can use headless `pi --mode rpc` agent steps. A child
348
+ that needs a visible assistant response must have an origin-session binding.
349
349
 
350
350
  Use the CLI to inspect or control the on-demand process:
351
351
 
352
352
  ```bash
353
- pi-workflows host start
354
- pi-workflows host status
355
- pi-workflows host stop
356
- pi-workflows host run # stay attached; stop with Ctrl-C
353
+ pi-workflows server start
354
+ pi-workflows server status
355
+ pi-workflows server stop
356
+ pi-workflows server run # stay attached; stop with Ctrl-C
357
357
  ```
358
358
 
359
- These commands manage one host for the complete user database, not one host per
360
- project. They do not install an operating-system service. A new host reaps exact
361
- orphan process identities and resumes safe work from committed state. See
359
+ These commands manage one server for the complete user database, not one server
360
+ per project. They do not install an operating-system service. A new server reaps
361
+ exact orphan process identities and resumes safe work from committed state. See
362
362
  [docs/workflows.md](docs/workflows.md#durable-runs-parking-and-resume) and
363
- [docs/WORKFLOW_HOST.md](docs/WORKFLOW_HOST.md).
363
+ [docs/WORKFLOW_SERVER.md](docs/WORKFLOW_SERVER.md).
364
364
 
365
365
  ## Examples
366
366
 
@@ -401,7 +401,7 @@ workflow examples. Copy any of them into `.pi/workflows/` to use them:
401
401
  result plateaus or a diverse generation all fails. Conclusions are
402
402
  written before the winner is promoted out of the loop directory.
403
403
 
404
- The controller example at `examples/controllers/pull-request.controller.ts`
404
+ The resource manager example at `examples/resource-managers/pull-request.resource-manager.ts`
405
405
  shows child repair work and check polling. It also uses expected-head guards
406
406
  and recoverable merge effects.
407
407
 
@@ -42,7 +42,7 @@ type MonitorCostSafety = {
42
42
  };
43
43
  type MonitorDefectSafety = {
44
44
  sharedCodeOrDataDefect: boolean;
45
- paidWorkers: "not-applicable" | "stopped" | "running";
45
+ paidRunners: "not-applicable" | "stopped" | "running";
46
46
  evidence: string;
47
47
  };
48
48
  type MonitorActionRequest = {
@@ -160,18 +160,18 @@ function parseCostSafety(input) {
160
160
  }
161
161
  function parseDefectSafety(input) {
162
162
  const value = requireRecord(input, "action defect");
163
- requireExactKeys(value, ["sharedCodeOrDataDefect", "paidWorkers", "evidence"], "action defect");
163
+ requireExactKeys(value, ["sharedCodeOrDataDefect", "paidRunners", "evidence"], "action defect");
164
164
  if (typeof value.sharedCodeOrDataDefect !== "boolean") {
165
165
  throw new Error("action defect sharedCodeOrDataDefect must be boolean");
166
166
  }
167
- if (value.paidWorkers !== "not-applicable" &&
168
- value.paidWorkers !== "stopped" &&
169
- value.paidWorkers !== "running") {
170
- throw new Error("action defect paidWorkers is invalid");
167
+ if (value.paidRunners !== "not-applicable" &&
168
+ value.paidRunners !== "stopped" &&
169
+ value.paidRunners !== "running") {
170
+ throw new Error("action defect paidRunners is invalid");
171
171
  }
172
172
  return {
173
173
  sharedCodeOrDataDefect: value.sharedCodeOrDataDefect,
174
- paidWorkers: value.paidWorkers,
174
+ paidRunners: value.paidRunners,
175
175
  evidence: requireBoundedString(value.evidence, "action defect evidence", MAX_ACTION_TEXT_CHARS),
176
176
  };
177
177
  }
@@ -222,7 +222,7 @@ function parseActionRequest(input) {
222
222
  }
223
223
  if (request.kind === "repair" &&
224
224
  request.defect.sharedCodeOrDataDefect &&
225
- request.defect.paidWorkers === "running") {
225
+ request.defect.paidRunners === "running") {
226
226
  throw new Error("paid workers must stop before a shared code or data repair");
227
227
  }
228
228
  return request;
@@ -618,7 +618,7 @@ const monitorWorkflow = defineWorkflow({
618
618
  : "There is no previous measured progress.",
619
619
  ].join("\n\n");
620
620
  },
621
- expectedOutput: '{ "route": "wait" | "act" | "stop", "goalState": "complete" | "incomplete" | "blocked", "workState": "running" | "waiting" | "idle" | "failed" | "stopped" | "unknown", "observation": "factual state", "report": "concise factual summary", "targetStateId": "stable observed target-state ID", "authorizedActions": ["safe action already authorized by the user"], "progress": { "tracks": [{ "key": "stable-key", "data": { "schema": "pi-workflows.progress.v1", "status": "running", "completed": 1, "total": 2, "unit": "items" } }] } (optional), "action": { "kind": "advance" | "recover" | "repair", "incomplete": "what remains", "evidence": {}, "nextAction": "one exact action", "authority": { "status": "authorized", "basis": "existing authority", "allowedMutations": ["allowed file, system, or resource"], "forbiddenMutations": [], "costLimit": "recorded limit or not applicable", "providerRuntime": "recorded contract or not applicable", "requiredChecks": [], "stopConditions": [], "allowedRecoveryActions": [], "repository": "optional absolute path", "baseBranch": "optional branch", "merge": false, "repairApproval": { "mode": "auto" | "required" | "skip" } }, "cost": { "paidAction": false, "status": "not-applicable" | "within-limit", "evidence": "cost evidence" }, "defect": { "sharedCodeOrDataDefect": false, "paidWorkers": "not-applicable" | "stopped" | "running", "evidence": "worker evidence" }, "verification": "how to prove success", "failureId": "stable failure ID", "targetStateId": "stable target-state ID" } (required only for act), "reason": "short reason" }',
621
+ expectedOutput: '{ "route": "wait" | "act" | "stop", "goalState": "complete" | "incomplete" | "blocked", "workState": "running" | "waiting" | "idle" | "failed" | "stopped" | "unknown", "observation": "factual state", "report": "concise factual summary", "targetStateId": "stable observed target-state ID", "authorizedActions": ["safe action already authorized by the user"], "progress": { "tracks": [{ "key": "stable-key", "data": { "schema": "pi-workflows.progress.v1", "status": "running", "completed": 1, "total": 2, "unit": "items" } }] } (optional), "action": { "kind": "advance" | "recover" | "repair", "incomplete": "what remains", "evidence": {}, "nextAction": "one exact action", "authority": { "status": "authorized", "basis": "existing authority", "allowedMutations": ["allowed file, system, or resource"], "forbiddenMutations": [], "costLimit": "recorded limit or not applicable", "providerRuntime": "recorded contract or not applicable", "requiredChecks": [], "stopConditions": [], "allowedRecoveryActions": [], "repository": "optional absolute path", "baseBranch": "optional branch", "merge": false, "repairApproval": { "mode": "auto" | "required" | "skip" } }, "cost": { "paidAction": false, "status": "not-applicable" | "within-limit", "evidence": "cost evidence" }, "defect": { "sharedCodeOrDataDefect": false, "paidRunners": "not-applicable" | "stopped" | "running", "evidence": "worker evidence" }, "verification": "how to prove success", "failureId": "stable failure ID", "targetStateId": "stable target-state ID" } (required only for act), "reason": "short reason" }',
622
622
  validate: validateMonitorObservation,
623
623
  }),
624
624
  guard: compute({ run: guardObservation }),
@@ -17,7 +17,7 @@ const BUILTIN_TOOLS = new Set(["read", "grep", "find", "ls"]);
17
17
  const RESERVED_EXTENSION_NAMES = new Set([
18
18
  "workflow",
19
19
  "piw",
20
- "controller",
20
+ "resource-manager",
21
21
  "workflow-update",
22
22
  "workflow-answer",
23
23
  "workflow-submit",
@@ -81,8 +81,8 @@ export async function runPiAgentGroup(input, options) {
81
81
  }
82
82
  }
83
83
  };
84
- const workerCount = Math.min(options.maxConcurrency, requests.length);
85
- await Promise.all(Array.from({ length: workerCount }, worker));
84
+ const runnerCount = Math.min(options.maxConcurrency, requests.length);
85
+ await Promise.all(Array.from({ length: runnerCount }, worker));
86
86
  if (options.signal.aborted)
87
87
  throw cancellationError("group", options.signal.reason);
88
88
  if (primary !== undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"pi-agent-group.js","sourceRoot":"","sources":["../../src/builtins/pi-agent-group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EACL,kBAAkB,EAClB,8BAA8B,EAC9B,yBAAyB,EACzB,0BAA0B,EAC1B,qBAAqB,EACrB,qBAAqB,EACrB,eAAe,EACf,WAAW,EACX,aAAa,EACb,YAAY,EACZ,cAAc,EACd,eAAe,GAGhB,MAAM,iCAAiC,CAAC;AAEzC,MAAM,UAAU,GAAG,oCAAoC,CAAC;AACxD,MAAM,UAAU,GAAG,CAAC,CAAC;AACrB,MAAM,eAAe,GAAG,CAAC,CAAC;AAC1B,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAChC,MAAM,mBAAmB,GAAG,OAAO,CAAC;AACpC,MAAM,eAAe,GAAG,SAAS,CAAC;AAClC,MAAM,kBAAkB,GAAG,EAAE,GAAG,MAAM,CAAC;AACvC,MAAM,cAAc,GAAG,EAAE,GAAG,MAAM,CAAC;AACnC,MAAM,eAAe,GAAG,KAAK,CAAC;AAC9B,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAC7B,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAClC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;AAC9D,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC;IACvC,UAAU;IACV,KAAK;IACL,YAAY;IACZ,iBAAiB;IACjB,iBAAiB;IACjB,iBAAiB;IACjB,gBAAgB;IAChB,iBAAiB;IACjB,iBAAiB;CAClB,CAAC,CAAC;AACH,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AA+DzF,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAE/B,OAAO;IACP,IAAI;IAFf,YACW,OAAe,EACf,IAAY,EACrB,OAAe;QAEf,KAAK,CAAC,YAAY,OAAO,IAAI,IAAI,KAAK,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;uBAJjD,OAAO;oBACP,IAAI;QAIb,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,KAAuB,EACvB,OAA4B;IAE5B,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAClE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO;QAAE,MAAM,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEpF,MAAM,SAAS,GACb,OAAO,CAAC,cAAc,KAAK,SAAS;QAClC,CAAC,CAAC,MAAM,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,sBAAsB,IAAI,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC;QAC1F,CAAC,CAAC,SAAS,CAAC;IAChB,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO;QAAE,MAAM,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACpF,MAAM,cAAc,GAClB,OAAO,CAAC,cAAc;QACtB,CAAC,KAAK,EAAE,OAAuB,EAAE,OAAgC,EAAE,EAAE,CACnE,MAAM,gBAAgB,CAAC,OAAO,EAAE,SAAU,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,IAAI,eAAe,EAAE,CAAC;IAC5C,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAA4B,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACnF,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,OAAsD,CAAC;IAE3D,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE;QACxB,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,SAAS,CAAC;YACxB,IAAI,KAAK,IAAI,QAAQ,CAAC,MAAM;gBAAE,OAAO;YACrC,SAAS,IAAI,CAAC,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,IAAI,CAAC;gBACH,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAE,EAAE;oBACnD,GAAG,OAAO;oBACV,aAAa;oBACb,MAAM;oBACN,cAAc;iBACf,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACrD,OAAO,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;oBAC3B,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK;wBAAE,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC7D,CAAC;gBACD,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK;oBAAE,OAAO;YACzC,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACtE,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;IAE/D,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO;QAAE,MAAM,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACpF,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,0BAA0B,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC7D,MAAM,OAAO,CAAC,KAAK,CAAC;IACtB,CAAC;IACD,OAAO,OAA0B,CAAC;AACpC,CAAC;AAUD,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,MAAmB;IAEnB,MAAM,CAAC,cAAc,EAAE,CAAC;IACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,WAAW,CAAC,CAAC;IACvD,IAAI,MAAM,GAAY,EAAE,CAAC;IACzB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IACD,MAAM,OAAO,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,IAAI,GAAG,EAA+B,CAAC;IACvD,MAAM,OAAO,GAAG,CACd,UAAkB,EAClB,SAAoC,EACf,EAAE;QACvB,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;aACjE,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;aACtB,IAAI,CAAC,SAAS,CAAC,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC9B,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,IAAI;gBAAE,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACnE,CAAC,CAAC;QACF,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IACF,OAAO;QACL,KAAK,CAAC,IAAI,CAAC,UAAU;YACnB,MAAM,CAAC,cAAc,EAAE,CAAC;YACxB,OAAO,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;QAClD,CAAC;QACD,KAAK,CAAC,IAAI;YACR,MAAM,CAAC,cAAc,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;gBACrD,UAAU;gBACV,IAAI,EAAE,UAAU,CAAC,IAAI;aACtB,CAAC,CAAC,CAAC;QACN,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM;YAC7B,OAAO,MAAM,OAAO,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;gBAC1C,MAAM,CAAC,cAAc,EAAE,CAAC;gBACxB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBACxC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;gBACpD,MAAM,CAAC,cAAc,EAAE,CAAC;gBACxB,IAAI,IAAI,KAAK,SAAS;oBAAE,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,eAAe,CAAC,IAAI,CAAE,CAAC,CAAC;gBACxE,OAAO,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,UAAU;YACrB,MAAM,OAAO,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;gBACnC,MAAM,CAAC,cAAc,EAAE,CAAC;gBACxB,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAC3B,OAAO,SAAS,CAAC;YACnB,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAe;IAC7C,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3E,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,GAAG,EAA4B,CAAC;IACpD,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACzD,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,eAAe,CAAC,KAAK,CAAE,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACtF,MAAM,UAAU,GAAG,KAAgC,CAAC;IACpD,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,UAAU,CAAC,GAAG,KAAK,SAAS,IAAI,OAAO,UAAU,CAAC,GAAG,KAAK,QAAQ,CAAC;IAC5E,CAAC;IACD,OAAO,CACL,UAAU,CAAC,IAAI,KAAK,OAAO;QAC3B,OAAO,UAAU,CAAC,OAAO,KAAK,QAAQ;QACtC,OAAO,UAAU,CAAC,MAAM,KAAK,QAAQ;QACrC,OAAO,UAAU,CAAC,OAAO,KAAK,QAAQ,CACvC,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,KAAmC;IAC1D,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,CACL,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,KAAK,QAAQ;QACzB,MAAM,IAAI,KAAK;QACd,KAA4B,CAAC,IAAI,KAAK,QAAQ,CAChD,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,MAAmB;IACjE,MAAM,CAAC,cAAc,EAAE,CAAC;IACxB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,mBAAmB,CAAC,CAAC;IAChE,IAAI,MAAM,GAAY,EAAE,CAAC;IACzB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IAC5D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IACD,MAAM,OAAO,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC/C,OAAO;QACL,KAAK,CAAC,IAAI,CAAC,UAAU;YACnB,MAAM,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACtC,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAClE,CAAC;QACD,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK;YAC3B,MAAM,CAAC,cAAc,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;QAClD,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,UAAU;YACrB,MAAM,CAAC,cAAc,EAAE,CAAC;YACxB,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC7B,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAe;IAC7C,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3E,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAiC,CAAC;IACzD,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACzD,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACtF,MAAM,KAAK,GAAG,KAAgC,CAAC;IAC/C,OAAO,CACL,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;QAC3B,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ,CAAC;QAC5E,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC;QACtE,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAC7D,CAAC;AACJ,CAAC;AAwBD,KAAK,UAAU,kBAAkB,CAC/B,QAA0B,EAC1B,sBAAgC,EAChC,MAAmB;IAEnB,MAAM,CAAC,cAAc,EAAE,CAAC;IACxB,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC;IAC7B,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IACD,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,eAAe,GAAG,eAAe,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC9D,MAAM,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IACjE,MAAM,cAAc,GAAG,MAAM,0BAA0B,CACrD,GAAG,EACH,QAAQ,EACR,eAAe,EACf,QAAQ,CAAC,QAAQ,EACjB,sBAAsB,EACtB,MAAM,CACP,CAAC;IACF,MAAM,WAAW,GAAG,MAAM,8BAA8B,CAAC,MAAM,CAAC,CAAC;IACjE,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAA4B,CAAC;IAC/D,KAAK,MAAM,EAAE,UAAU,EAAE,IAAI,MAAM,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;QACtD,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACtD,IAAI,UAAU,KAAK,SAAS;YAAE,kBAAkB,CAAC,GAAG,CAAC,UAAU,EAAE,eAAe,CAAC,UAAU,CAAE,CAAC,CAAC;IACjG,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,yBAAyB,CAAC,MAAM,CAAC,CAAC;IACvD,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC3D,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,IAAI,iBAAiB,CACzB,OAAO,EACP,sBAAsB,EACtB,GAAG,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,OAAO,EAAE,CAC3C,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,cAAc,EAAE,CAAC;IACxB,OAAO;QACL,QAAQ;QACR,GAAG;QACH,QAAQ;QACR,cAAc;QACd,kBAAkB;QAClB,aAAa,EAAE,eAAe,CAAC,aAAa,CAAC;KAC9C,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC3B,QAA0B,EAC1B,eAAgC;IAEhC,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC3C,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,aAAa,EAAE,OAAO,CAAC,aAAa;KACrC,CAAC,CAAC,CAAC;IACJ,MAAM,cAAc,GAAG,SAAS,CAAC,IAAI,CACnC,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,aAAa,KAAK,SAAS,CACjF,CAAC;IACF,IAAI,cAAc,EAAE,CAAC;QACnB,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;YACpD,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,IAAI,QAAQ,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;gBACzE,MAAM,IAAI,KAAK,CACb,YAAY,QAAQ,CAAC,KAAK,CAAE,CAAC,EAAE,iDAAiD,CACjF,CAAC;YACJ,CAAC;QACH,CAAC;QACD,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAE,CAAC;QAC5B,IACE,SAAS,CAAC,IAAI,CACZ,CAAC,QAAQ,EAAE,EAAE,CACX,QAAQ,CAAC,KAAM,CAAC,QAAQ,KAAK,KAAK,CAAC,KAAM,CAAC,QAAQ;YAClD,QAAQ,CAAC,KAAM,CAAC,EAAE,KAAK,KAAK,CAAC,KAAM,CAAC,EAAE;YACtC,QAAQ,CAAC,aAAa,KAAK,KAAK,CAAC,aAAa,CACjD,EACD,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC/E,CAAC;QACD,OAAO;YACL,QAAQ,EAAE,KAAK,CAAC,KAAM,CAAC,QAAQ;YAC/B,OAAO,EAAE,KAAK,CAAC,KAAM,CAAC,EAAE;YACxB,aAAa,EAAE,KAAK,CAAC,aAAc;SACpC,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,eAAe,CAAC,kBAAkB,EAAE,CAAC;IACtD,MAAM,OAAO,GAAG,eAAe,CAAC,eAAe,EAAE,CAAC;IAClD,MAAM,aAAa,GAAG,eAAe,CAAC,uBAAuB,EAAE,CAAC;IAChE,IAAI,QAAQ,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QACnF,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;IAC5F,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;AAC9C,CAAC;AAED,KAAK,UAAU,0BAA0B,CACvC,GAAW,EACX,QAAgB,EAChB,eAAgC,EAChC,QAAgB,EAChB,sBAAgC,EAChC,MAAmB;IAEnB,MAAM,CAAC,cAAc,EAAE,CAAC;IACxB,MAAM,cAAc,GAAG,IAAI,qBAAqB,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC;IACrF,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,IAAI,GAAG,EAA8B,CAAC;IACzD,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC3C,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,KAAK,MAAM;YAAE,SAAS;QACtE,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC7D,IAAI,SAAS,KAAK,SAAS;YAAE,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACzE,CAAC;IACD,MAAM,aAAa,GAAG,MAAM,yBAAyB,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;IACtF,KAAK,MAAM,SAAS,IAAI,aAAa;QAAE,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACjF,IAAI,UAAU,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,iBAAiB,CAAC,OAAO,EAAE,2BAA2B,EAAE,QAAQ,CAAC,CAAC;IAC9E,CAAC;IAED,MAAM,aAAa,GAAG,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACtE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CACpC,CAAC;IACF,MAAM,MAAM,GAAG,IAAI,qBAAqB,CAAC;QACvC,GAAG;QACH,QAAQ;QACR,eAAe,EAAE,eAAe,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;QACxE,wBAAwB,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC;QAC1E,YAAY,EAAE,IAAI;QAClB,QAAQ,EAAE,IAAI;QACd,iBAAiB,EAAE,IAAI;QACvB,QAAQ,EAAE,IAAI;QACd,cAAc,EAAE,IAAI;QACpB,oBAAoB,EAAE,GAAG,EAAE,CAAC,SAAS;QACrC,0BAA0B,EAAE,GAAG,EAAE,CAAC,EAAE;KACrC,CAAC,CAAC;IACH,IAAI,MAAwC,CAAC;IAC7C,IAAI,aAA4C,CAAC;IACjD,IAAI,OAAgB,CAAC;IACrB,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;QACtB,MAAM,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;QAChC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,iBAAiB,CAAC,OAAO,EAAE,oCAAoC,EAAE,aAAa,CAAC,CAAC;QAC5F,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,GAAG,CACpB,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,UAAU,CAAC,GAAG,CACnB,KAAK,EAAE,SAAS,EAAE,EAAE,CAClB,CAAC,MAAM,aAAa,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,EAAE,SAAS,CAAU,CAC5E,CACF,CACF,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;QACjC,KAAK,MAAM,YAAY,IAAI,MAAM,CAAC,OAAO,CAAC,kCAAkC,EAAE,CAAC;YAC7E,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;gBAC1C,MAAM,CAAC,GAAG,CAAC,MAAM,aAAa,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;QACD,KAAK,MAAM,YAAY,IAAI,MAAM,CAAC,OAAO,CAAC,4BAA4B,EAAE,CAAC;YACvE,IAAI,YAAY,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACnC,MAAM,CAAC,GAAG,CAAC,MAAM,aAAa,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,iBAAiB,CAAC,OAAO,EAAE,2BAA2B,EAAE,QAAQ,CAAC,CAAC;QAC9E,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,iBAAiB,CAAC,OAAO,EAAE,mCAAmC,EAAE,QAAQ,CAAC,CAAC;QACtF,CAAC;QACD,MAAM,YAAY,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAE,CAAC;QACrC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YAC/D,MAAM,IAAI,iBAAiB,CAAC,OAAO,EAAE,gCAAgC,EAAE,QAAQ,CAAC,CAAC;QACnF,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9F,KAAK,MAAM,YAAY,IAAI,QAAQ,EAAE,CAAC;YACpC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAC3C,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,MAAM,IAAI,iBAAiB,CAAC,OAAO,EAAE,mCAAmC,EAAE,aAAa,CAAC,CAAC;YAC3F,CAAC;YACD,yBAAyB,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,MAAM,IAAI,WAAW,CAAC,CAAC;QAC5F,CAAC;QACD,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,GAAG,KAAK,CAAC;IAClB,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,wBAAwB,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;QACtD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,IAAI,iBAAiB,CAC/B,OAAO,EACP,sCAAsC,EACtC,gBAAgB,CACjB,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,uCAAuC,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IACD,IAAI,OAAO,KAAK,SAAS;QAAE,MAAM,OAAO,CAAC;IACzC,OAAO,aAAc,CAAC;AACxB,CAAC;AAED,KAAK,UAAU,wBAAwB,CACrC,MAA4B,EAC5B,GAAW,EACX,MAAmB;IAEnB,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;QAC7C,iBAAiB,EAAE,KAAK;QACxB,eAAe,EAAE,KAAK;QACtB,MAAM;QACN,WAAW,EAAE,2BAA2B,CAAC,IAAI,GAAG,EAAE,EAAE,MAAM,CAAC;QAC3D,WAAW,EAAE,eAAe,CAAC,MAAM,CAAC;KACrC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,IAAI,eAAe,CAChC,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,OAAO,EACd,GAAG,EACH,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,EAC5B,IAAI,aAAa,CAAC,YAAY,CAAC,CAChC,CAAC;IACF,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACxC,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE;QACtC,MAAM,GAAG,IAAI,CAAC;IAChB,CAAC,CAAC,CAAC;IACH,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAClE,CAAC;YAAS,CAAC;QACT,WAAW,EAAE,CAAC;IAChB,CAAC;IACD,IAAI,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,eAAe,CAAC,MAAmB;IAC1C,OAAO;QACL,KAAK,CAAC,IAAI;YACR,MAAM,CAAC,cAAc,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,KAAK,CAAC,KAAK;YACT,MAAM,CAAC,cAAc,EAAE,CAAC;QAC1B,CAAC;QACD,KAAK,CAAC,MAAM;YACV,MAAM,CAAC,cAAc,EAAE,CAAC;QAC1B,CAAC;KACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,QAA0B,EAC1B,MAAmB;IAEnB,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAChE,IAAI,MAAM,sBAAsB,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,CAAC;QAAE,OAAO,SAAS,CAAC;IACnF,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;AACjF,CAAC;AAED,KAAK,UAAU,yBAAyB,CACtC,MAAgB,EAChB,MAAmB;IAEnB,MAAM,MAAM,GAAG,IAAI,GAAG,EAA8B,CAAC;IACrD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,eAAe,CAAC,KAAK,EAAE,kCAAkC,EAAE,KAAK,CAAC,CAAC;QAClE,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACxD,IAAI,MAAM,sBAAsB,CAAC,YAAY,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC;YAClE,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,6BAA6B,EAAE,CAAC,CAAC;IAC1F,CAAC;IACD,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7F,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,KAAa,EAAE,MAAmB;IAC7D,MAAM,CAAC,cAAc,EAAE,CAAC;IACxB,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,aAAqB,EACrB,QAAsC,EACtC,MAAmB;IAEnB,IACE,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QACnE,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,EACpE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7E,IAAI,SAAS,GAAG,QAAQ,EAAE,QAAQ,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC1E,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1C,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QAC1D,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAY,CAAC;YAChF,IAAI,qBAAqB,CAAC,QAAQ,EAAE,SAAS,EAAE,aAAa,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC3E,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;QAC1C,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QACvC,SAAS,GAAG,MAAM,CAAC;IACrB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,qBAAqB,CAC5B,KAAc,EACd,gBAAwB,EACxB,aAAqB;IAErB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,IAAI,eAAe,GAAG,KAAK,CAAC,IAAI,KAAK,uBAAuB,CAAC;IAC7D,KAAK,MAAM,KAAK,IAAI,CAAC,cAAc,EAAE,kBAAkB,EAAE,sBAAsB,CAAU,EAAE,CAAC;QAC1F,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,uBAAuB,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACtE,eAAe,GAAG,IAAI,CAAC;QACzB,CAAC;IACH,CAAC;IACD,IAAI,CAAC,eAAe,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;QACnF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAC7B,CAAC,KAAK,EAAE,EAAE,CACR,OAAO,KAAK,KAAK,QAAQ;QACzB,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,CAC9E,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,KAAa,EAAE,MAAc;IAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC9C,OAAO,QAAQ,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;AACvF,CAAC;AAED,SAAS,yBAAyB,CAChC,SAAqD,EACrD,MAAc;IAEd,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QAC1C,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,iBAAiB,CAAC,OAAO,EAAE,6CAA6C,EAAE,MAAM,CAAC,CAAC;QAC9F,CAAC;QACD,IAAI,uBAAuB,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,iBAAiB,CAAC,OAAO,EAAE,6CAA6C,EAAE,MAAM,CAAC,CAAC;QAC9F,CAAC;IACH,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;QAC7C,IAAI,uBAAuB,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,iBAAiB,CAAC,OAAO,EAAE,6CAA6C,EAAE,MAAM,CAAC,CAAC;QAC9F,CAAC;IACH,CAAC;IACD,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,iBAAiB,CAAC,OAAO,EAAE,8CAA8C,EAAE,MAAM,CAAC,CAAC;IAC/F,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAa;IAC5C,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IACjC,OAAO,CACL,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC;QAClC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;QAC5B,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAC7B,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC5B,OAAO,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC;AACpE,CAAC;AAED,SAAS,2BAA2B,CAClC,QAA4B,EAC5B,MAAmB;IAEnB,MAAM,OAAO,GAAG,IAAI,GAAG,CACrB,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,EAAE,eAAe,CAAC,UAAU,CAAE,CAAC,CAAC,CAC5F,CAAC;IACF,MAAM,OAAO,GAAG,IAAI,GAAG,EAA+B,CAAC;IACvD,MAAM,OAAO,GAAG,CACd,UAAkB,EAClB,SAAoC,EACf,EAAE;QACvB,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;aACjE,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;aACtB,IAAI,CAAC,SAAS,CAAC,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC9B,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,IAAI;gBAAE,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACnE,CAAC,CAAC;QACF,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IACF,OAAO;QACL,KAAK,CAAC,IAAI,CAAC,UAAU;YACnB,MAAM,CAAC,cAAc,EAAE,CAAC;YACxB,OAAO,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;QAClD,CAAC;QACD,KAAK,CAAC,IAAI;YACR,MAAM,CAAC,cAAc,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;gBACrD,UAAU;gBACV,IAAI,EAAE,UAAU,CAAC,IAAI;aACtB,CAAC,CAAC,CAAC;QACN,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM;YAC7B,OAAO,MAAM,OAAO,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;gBAC1C,MAAM,CAAC,cAAc,EAAE,CAAC;gBACxB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBACpE,MAAM,CAAC,cAAc,EAAE,CAAC;gBACxB,IAAI,IAAI,KAAK,SAAS;oBAAE,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,eAAe,CAAC,IAAI,CAAE,CAAC,CAAC;gBACxE,OAAO,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,UAAU;YACrB,MAAM,OAAO,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;gBACnC,MAAM,CAAC,cAAc,EAAE,CAAC;gBACxB,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAC3B,OAAO,SAAS,CAAC;YACnB,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAC7B,QAAgB,EAChB,QAA+B,EAC/B,MAAmB;IAEnB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAgC,CAAC,CAAC,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAChG,OAAO;QACL,KAAK,CAAC,IAAI,CAAC,UAAU;YACnB,MAAM,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACtC,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAClE,CAAC;QACD,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK;YAC3B,MAAM,CAAC,cAAc,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;QAClD,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,UAAU;YACrB,MAAM,CAAC,cAAc,EAAE,CAAC;YACxB,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC7B,CAAC;KACF,CAAC;AACJ,CAAC;AAOD,KAAK,UAAU,WAAW,CACxB,OAAuB,EACvB,OAAsB;IAEtB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;IACpC,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC;IACxB,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,kBAAkB,CAAC;IAC1D,IAAI,OAAmC,CAAC;IACxC,IAAI,WAAqC,CAAC;IAC1C,IAAI,YAAiD,CAAC;IACtD,IAAI,iBAAsC,CAAC;IAC3C,IAAI,SAA8C,CAAC;IACnD,IAAI,YAAqB,CAAC;IAC1B,IAAI,SAAS,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAClC,IAAI,MAAiC,CAAC;IACtC,IAAI,OAAgB,CAAC;IAErB,MAAM,YAAY,GAAG,CAAC,IAA6B,EAAE,EAAE;QACrD,SAAS,KAAK,IAAI,CAAC;QACnB,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,SAAS,GAAG,SAAS;iBAClB,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,OAAO,EAAE,KAAK,EAAE,CAAC;iBACxC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACf,YAAY,GAAG,KAAK,CAAC;YACvB,CAAC,CAAC,CAAC;QACP,CAAC;IACH,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;IACrE,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAElE,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACtC,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO;YAAE,MAAM,iBAAiB,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACvF,OAAO,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5E,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACvC,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QACpD,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QAC5C,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;YACxC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YAC/C,IAAI,KAAK,KAAK,SAAS;gBAAE,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAC1D,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACxC,IAAI,OAAO,KAAK,SAAS;gBAAE,YAAY,GAAG,OAAO,CAAC;QACpD,CAAC,CAAC,CAAC;QACH,IAAI,SAAS,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACtD,YAAY,CAAC,SAAS,IAAI,WAAW,CAAC,CAAC;YACvC,MAAM,SAAS,CAAC;YAChB,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,MAAM,IAAI,iBAAiB,CACzB,OAAO,CAAC,EAAE,EACV,WAAW,EACX,SAAS,SAAS,KAAK,WAAW,CAAC,YAAY,CAAC,EAAE,CACnD,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,iBAAiB,CACzB,OAAO,CAAC,EAAE,EACV,WAAW,EACX,GAAG,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC,YAAY,CAAC,EAAE,CAC3E,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE;YACnC,eAAe,EAAE,CAAC,QAAQ,EAAE,EAAE;gBAC5B,iBAAiB,GAAG,QAAQ,CAAC;YAC/B,CAAC;SACF,CAAC,CAAC;QACH,MAAM,SAAS,CAAC;QAChB,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,iBAAiB,CACzB,OAAO,CAAC,EAAE,EACV,WAAW,EACX,SAAS,SAAS,KAAK,WAAW,CAAC,YAAY,CAAC,EAAE,CACnD,CAAC;QACJ,CAAC;QACD,IAAI,SAAS,KAAK,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACxD,MAAM,IAAI,iBAAiB,CACzB,OAAO,CAAC,EAAE,EACV,WAAW,EACX,GAAG,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC,YAAY,CAAC,EAAE,CAC3E,CAAC;QACJ,CAAC;QACD,IAAI,iBAAiB,KAAK,KAAK,EAAE,CAAC;YAChC,MAAM,IAAI,iBAAiB,CAAC,OAAO,CAAC,EAAE,EAAE,iBAAiB,EAAE,yBAAyB,CAAC,CAAC;QACxF,CAAC;QACD,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;QAC9C,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC,aAAc,CAAC,CAAC;QAClF,MAAM,GAAG;YACP,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,IAAI;YACJ,KAAK;YACL,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,SAAS,CAAC;SAC3C,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,GAAG,mBAAmB,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9E,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,OAAO,CAAC,CAAC;QACtB,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACrD,WAAW,EAAE,EAAE,CAAC;QAChB,IAAI,OAAO,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS;YAAE,MAAM,SAAS,CAAC;QACtE,IAAI,CAAC;YACH,MAAM,OAAO,EAAE,OAAO,EAAE,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,KAAK,IAAI,iBAAiB,CAAC,OAAO,CAAC,EAAE,EAAE,gBAAgB,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;QACvF,CAAC;QACD,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;QACrC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QACnC,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;IACD,IAAI,OAAO,KAAK,SAAS;QAAE,MAAM,OAAO,CAAC;IACzC,OAAO,MAAO,CAAC;AACjB,CAAC;AAED,SAAS,kBAAkB,CACzB,OAAuB,EACvB,SAAiB,EACjB,OAAsB;IAMtB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;IACpC,IAAI,KAAyB,CAAC;IAC9B,IAAI,aAA+C,CAAC;IACpD,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,UAAU,GAAG,CAAC,QAAQ,CAAC;IAC3B,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,CAAC,KAA4B,EAAE,KAAa,EAAE,KAAK,GAAG,KAAK,EAAE,EAAE;QAC1E,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC;QACjB,MAAM,GAAG,GAAG,GAAG,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;QAC/C,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,KAAK,QAAQ,IAAI,EAAE,GAAG,UAAU,GAAG,qBAAqB,CAAC;YAAE,OAAO;QACpF,IAAI,CAAC,KAAK,IAAI,YAAY,IAAI,iBAAiB;YAAE,OAAO;QACxD,QAAQ,GAAG,GAAG,CAAC;QACf,UAAU,GAAG,EAAE,CAAC;QAChB,YAAY,IAAI,CAAC,CAAC;QAClB,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS;YAAE,OAAO;QAC9C,MAAM,KAAK,GAA0B;YACnC,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK;YACL,KAAK;YACL,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC;YACtC,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzC,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1D,CAAC;QACF,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC1F,CAAC,CAAC;IACF,OAAO;QACL,IAAI;QACJ,WAAW,CAAC,KAAK,EAAE,QAAQ;YACzB,KAAK,GAAG,KAAK,CAAC;YACd,aAAa,GAAG,QAAQ,CAAC;QAC3B,CAAC;QACD,KAAK,CAAC,KAAK;YACT,MAAM,IAAI,CAAC;QACb,CAAC;KACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,OAAuB,EACvB,IAAkB,EAClB,MAAmB;IAEnB,IAAI,MAAM,CAAC,OAAO;QAAE,MAAM,iBAAiB,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACvE,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAC1C,CAAC,SAAS,EAAE,EAAE,CACZ,SAAS,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,SAAS,CAAC,EAAE,KAAK,IAAI,CAAC,QAAQ,CAAC,OAAO,CAC1F,CAAC;IACF,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,iBAAiB,CACzB,OAAO,CAAC,EAAE,EACV,cAAc,EACd,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CACrD,CAAC;IACJ,CAAC;IACD,IAAI,gBAAkD,CAAC;IACvD,MAAM,OAAO,GAAG,MAAM,yBAAyB,CAC7C,KAAK,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,cAAc,EAAE,iBAAiB,EAAE,EAAE,EAAE;QAC7D,MAAM,eAAe,GAAG,eAAe,CAAC,QAAQ,CAC9C;YACE,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ;YACvC,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO;YACnC,oBAAoB,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa;YACjD,UAAU,EAAE,EAAE;YACd,MAAM,EAAE,EAAE;YACV,OAAO,EAAE,EAAE;YACX,MAAM,EAAE,EAAE;SACX,EACD,EAAE,cAAc,EAAE,KAAK,EAAE,CAC1B,CAAC;QACF,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;YAC7C,iBAAiB,EAAE,KAAK;YACxB,MAAM;YACN,WAAW,EAAE,2BAA2B,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC;YACzE,WAAW,EAAE,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC;SACxF,CAAC,CAAC;QACH,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,0BAA0B,CAAC;gBAChD,GAAG;gBACH,QAAQ;gBACR,eAAe;gBACf,YAAY;gBACZ,kBAAkB,EAAE,MAAM;gBAC1B,qBAAqB,EAAE;oBACrB,wBAAwB,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;oBAClD,YAAY,EAAE,IAAI;oBAClB,QAAQ,EAAE,IAAI;oBACd,iBAAiB,EAAE,IAAI;oBACvB,QAAQ,EAAE,IAAI;oBACd,cAAc,EAAE,IAAI;oBACpB,oBAAoB,EAAE,GAAG,EAAE,CAAC,SAAS;oBACrC,0BAA0B,EAAE,GAAG,EAAE,CAAC,EAAE;iBACrC;aACF,CAAC,CAAC;YACH,gBAAgB,GAAG,QAAQ,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;YAC3D,mBAAmB,CAAC,OAAO,CAAC,EAAE,EAAE,gBAAgB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YACvE,0BAA0B,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACzE,MAAM,aAAa,GAAG,MAAM,8BAA8B,CAAC;gBACzD,QAAQ;gBACR,cAAc;gBACd,GAAG,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjE,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,KAAK;gBACL,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa;aAC3C,CAAC,CAAC;YACH,OAAO;gBACL,GAAG,aAAa;gBAChB,QAAQ;gBACR,WAAW,EAAE,QAAQ,CAAC,WAAW;aAClC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;gBACnC,IAAI,CAAC;oBACH,MAAM,wBAAwB,CAAC,gBAAgB,EAAE,GAAG,EAAE,IAAI,eAAe,EAAE,CAAC,MAAM,CAAC,CAAC;gBACtF,CAAC;gBAAC,MAAM,CAAC;oBACP,yDAAyD;gBAC3D,CAAC;wBAAS,CAAC;oBACT,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,wCAAwC,CAAC,CAAC;gBAChF,CAAC;YACH,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,EACD;QACE,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,cAAc,EAAE,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC;QACpD,iBAAiB,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE;KAChE,CACF,CAAC;IACF,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,IAAI,0BAAoD,CAAC;IACzD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAChC,0BAA0B,GAAG,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE;YAChE,gBAAgB,GAAG,IAAI,CAAC;QAC1B,CAAC,CAAC,CAAC;QACH,MAAM,OAAO,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAChD,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5E,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,IAAI,iBAAiB,CACzB,OAAO,CAAC,EAAE,EACV,gCAAgC,EAChC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CACvB,CAAC;QACJ,CAAC;QACD,MAAM,WAAW,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC5D,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAChD,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACzD,MAAM,IAAI,iBAAiB,CACzB,OAAO,CAAC,EAAE,EACV,sBAAsB,EACtB,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAC1E,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QACjF,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;YAClC,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACxD,MAAM,IAAI,iBAAiB,CAAC,OAAO,CAAC,EAAE,EAAE,4BAA4B,EAAE,IAAI,CAAC,CAAC;YAC9E,CAAC;QACH,CAAC;QACD,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,OAAO;YACL,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,CACpC,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE;gBACzB,GAAG,aAAa;gBAChB,qBAAqB,EAAE,KAAK;gBAC5B,MAAM,EAAE,aAAa;aACtB,CAAC;YACJ,SAAS,EAAE,CAAC,QAAQ,EAAE,EAAE,CACtB,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAgC,CAAC,CAAC;YAC1E,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,KAAK,EAAE;YACxC,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,IAAI,QAAQ;oBAAE,OAAO;gBACrB,QAAQ,GAAG,IAAI,CAAC;gBAChB,IAAI,eAAwB,CAAC;gBAC7B,IAAI,CAAC;oBACH,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;gBAC1B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,eAAe,GAAG,KAAK,CAAC;gBAC1B,CAAC;wBAAS,CAAC;oBACT,0BAA0B,EAAE,EAAE,CAAC;gBACjC,CAAC;gBACD,IAAI,eAAe,KAAK,SAAS;oBAAE,MAAM,eAAe,CAAC;gBACzD,IAAI,gBAAgB,EAAE,CAAC;oBACrB,MAAM,IAAI,iBAAiB,CACzB,OAAO,CAAC,EAAE,EACV,mCAAmC,EACnC,gBAAgB,CACjB,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,IAAI,KAAK;gBACP,OAAO,OAAO,CAAC,KAAK,CAAC;YACvB,CAAC;YACD,IAAI,aAAa;gBACf,OAAO,OAAO,CAAC,aAAa,CAAC;YAC/B,CAAC;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC/C,0BAA0B,EAAE,EAAE,CAAC;QAC/B,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,0BAA0B,CACjC,EAAU,EACV,QAAgE,EAChE,QAAgB;IAEhB,IAAI,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,OAAO,CAAC,EAAE,CAAC;QAC3E,MAAM,IAAI,iBAAiB,CAAC,EAAE,EAAE,uCAAuC,EAAE,qBAAqB,CAAC,CAAC;IAClG,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,wBAAwB,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzE,MAAM,IAAI,iBAAiB,CAAC,EAAE,EAAE,uCAAuC,EAAE,QAAQ,CAAC,CAAC;IACrF,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAC1B,EAAU,EACV,MAA4B,EAC5B,cAAiC;IAEjC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,iBAAiB,CAAC,EAAE,EAAE,mCAAmC,EAAE,aAAa,CAAC,CAAC;IACtF,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU;SAC7B,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;SACxD,QAAQ,EAAE,CAAC;IACd,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC/F,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,iBAAiB,CAAC,EAAE,EAAE,8BAA8B,EAAE,GAAG,MAAM,CAAC,MAAM,SAAS,CAAC,CAAC;IAC7F,CAAC;IACD,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,UAAU;QAAE,yBAAyB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;AAC/F,CAAC;AAED,SAAS,kBAAkB,CACzB,OAAuB,EACvB,OAAkE,EAClE,QAAyB;IAEzB,IACE,OAAO,CAAC,KAAK,EAAE,QAAQ,KAAK,QAAQ,CAAC,QAAQ;QAC7C,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,QAAQ,CAAC,OAAO;QACrC,OAAO,CAAC,aAAa,KAAK,QAAQ,CAAC,aAAa,EAChD,CAAC;QACD,MAAM,IAAI,iBAAiB,CACzB,OAAO,CAAC,EAAE,EACV,qCAAqC,EACrC,OAAO,CAAC,KAAK,KAAK,SAAS;YACzB,CAAC,CAAC,mBAAmB;YACrB,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,OAAO,CAAC,aAAa,EAAE,CAC7E,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CACpB,KAAuB,EACvB,OAA4B;IAE5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CAAC,uCAAuC,UAAU,WAAW,CAAC,CAAC;IAChF,CAAC;IACD,eAAe,CAAC,OAAO,CAAC,cAAc,EAAE,yBAAyB,EAAE,eAAe,CAAC,CAAC;IACpF,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,mBAAmB,CAAC;IACnE,eAAe,CAAC,aAAa,EAAE,wBAAwB,EAAE,eAAe,CAAC,CAAC;IAC1E,IACE,OAAO,CAAC,sBAAsB,KAAK,SAAS;QAC5C,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,IAAI,OAAO,CAAC,sBAAsB,CAAC,MAAM,GAAG,EAAE,CAAC,EAC9F,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACnF,CAAC;IACD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,KAAK,MAAM,aAAa,IAAI,OAAO,CAAC,sBAAsB,IAAI,EAAE,EAAE,CAAC;QACjE,eAAe,CAAC,aAAa,EAAE,kCAAkC,EAAE,KAAK,CAAC,CAAC;QAC1E,IAAI,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QACD,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACnC,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACrC,eAAe,CAAC,OAAO,CAAC,CAAC;QACzB,IAAI,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QACjF,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACpB,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;AACrC,CAAC;AAED,SAAS,eAAe,CAAC,OAAuB;IAC9C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IACxF,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,eAAe,EAAE,GAAG,CAAC,CAAC;IACpD,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;IAC9D,IAAI,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,CAAC,EAAE,8CAA8C,CAAC,CAAC;IACxF,CAAC;IACD,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;IAC7C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,CAAC,EAAE,6BAA6B,CAAC,CAAC;IACvE,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAe,CAAC;IACrC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACjC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,CAAC,EAAE,0BAA0B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClF,CAAC;QACD,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,CAAC,EAAE,wBAAwB,IAAI,EAAE,CAAC,CAAC;QAC3F,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;IACD,eAAe,CACb,OAAO,CAAC,SAAS,IAAI,kBAAkB,EACvC,YAAY,OAAO,CAAC,EAAE,YAAY,EAClC,cAAc,CACf,CAAC;IACF,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS,CAAC,EAAE,CAAC;QAC5E,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,CAAC,EAAE,iDAAiD,CAAC,CAAC;IAC3F,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAChC,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,YAAY,OAAO,CAAC,EAAE,iBAAiB,EAAE,GAAG,CAAC,CAAC;QACtF,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,YAAY,OAAO,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;IAC5E,CAAC;IACD,IACE,OAAO,CAAC,aAAa,KAAK,SAAS;QACnC,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,EAC5F,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,CAAC,EAAE,iCAAiC,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,KAAmB,EAAE,KAAoB;IAC3D,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,QAAQ,CAAC,KAAK,CAAC,qBAAqB,CAAC,EAAE,CAAC;QAC7E,OAAO,KAAK,CAAC,qBAAqB,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IACxF,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,sBAAsB,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAClG,OAAO,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAuB,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/F,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAmB;IAC3C,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAC;IAC/E,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACxE,CAAC;AAED,SAAS,kBAAkB,CACzB,EAAU,EACV,OAA4C,EAC5C,QAAgB;IAEhB,IAAI,OAAO,KAAK,SAAS;QACvB,MAAM,IAAI,iBAAiB,CAAC,EAAE,EAAE,0BAA0B,EAAE,2BAA2B,CAAC,CAAC;IAC3F,IAAI,OAAO,CAAC,UAAU,KAAK,OAAO,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACvE,MAAM,IAAI,iBAAiB,CACzB,EAAE,EACF,gBAAgB,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAC5C,OAAO,OAAO,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,kBAAkB,CACrF,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IACjD,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,iBAAiB,CAAC,EAAE,EAAE,0BAA0B,EAAE,yBAAyB,CAAC,CAAC;IAClG,IAAI,IAAI,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;QAC3B,MAAM,IAAI,iBAAiB,CAAC,EAAE,EAAE,2BAA2B,EAAE,GAAG,IAAI,CAAC,MAAM,aAAa,CAAC,CAAC;IAC5F,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,WAAW,CAAC,OAAgB;IACnC,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAChD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IACvC,OAAO,OAAO;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACZ,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACzF;SACA,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,0BAA0B,CACvC,QAA0B,EAC1B,OAAoB,EACpB,OAA4B;IAE5B,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS;QAAE,OAAO;IAC9C,MAAM,OAAO,CAAC,GAAG,CACf,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QACpC,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,OAAO;QAC/B,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC;YAC1B,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,WAAW;YAClB,KAAK,EAAE,WAAW;YAClB,SAAS,EAAE,CAAC;SACb,CAAC,CAAC;IACL,CAAC,CAAC,CACH,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,mBAAmB,CAC1B,EAAU,EACV,KAAc,EACd,SAA8C,EAC9C,MAAmB;IAEnB,IAAI,KAAK,YAAY,iBAAiB;QAAE,OAAO,KAAK,CAAC;IACrD,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,IAAI,iBAAiB,CAAC,EAAE,EAAE,WAAW,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IAChG,IAAI,SAAS,KAAK,WAAW,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,iBAAiB,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7F,OAAO,IAAI,iBAAiB,CAAC,EAAE,EAAE,QAAQ,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,WAAW,CAAC;IAC5C,OAAO,KAAK,YAAY,iBAAiB,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;AACnG,CAAC;AAED,SAAS,iBAAiB,CAAC,EAAU,EAAE,MAAe;IACpD,OAAO,IAAI,iBAAiB,CAAC,EAAE,EAAE,WAAW,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAe;IACzC,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;AACtF,CAAC;AAED,SAAS,SAAS,CAAC,KAAmD;IACpE,IAAI,KAAK,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAC7E,MAAM,KAAK,GAAG,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC;IAC9C,eAAe,CAAC,KAAK,EAAE,mBAAmB,EAAE,GAAG,CAAC,CAAC;IACjD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,eAAe,CAAC,KAAc,EAAE,KAAa,EAAE,GAAW;IACjE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAK,KAAgB,GAAG,CAAC,IAAK,KAAgB,GAAG,GAAG,EAAE,CAAC;QACrF,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,sCAAsC,GAAG,EAAE,CAAC,CAAC;IACvE,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,KAAc,EAAE,KAAa,EAAE,GAAW;IACjE,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IAC5B,IACE,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;QAC5B,MAAM,IAAI,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC;QACvC,OAAO,IAAI,GAAG,EAAE,IAAI,CAAC,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,CAAC;IACnD,CAAC,CAAC,EACF,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,sCAAsC,CAAC,CAAC;IAClE,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc,EAAE,KAAa,EAAE,GAAW;IAC1D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QACjF,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,4CAA4C,GAAG,aAAa,CAAC,CAAC;IACxF,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CAAC,KAAa;IAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,iBAAiB,CAAC;IAC/C,OAAO,IAAI,CAAC,MAAM,IAAI,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC;AACtF,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC"}
1
+ {"version":3,"file":"pi-agent-group.js","sourceRoot":"","sources":["../../src/builtins/pi-agent-group.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { canonicalJson } from "../state/json.js";
4
4
  import { errorMessage } from "../workflows/errors.js";
5
5
  import { CHANNEL_ADAPTER_PROTOCOL_SCHEMA, channelStableMessageId, encodeChannelLine, parseChannelAdapterLaunch, parseChannelAdapterResponse, } from "./protocol.js";
6
6
  import { TelegramAdapter } from "./telegram.js";
7
- class AdapterHostConnection {
7
+ class AdapterServerConnection {
8
8
  launch;
9
9
  sequence = 0;
10
10
  revision = 0;
@@ -27,13 +27,13 @@ class AdapterHostConnection {
27
27
  }
28
28
  const next = await this.lines.next();
29
29
  if (next.done)
30
- throw new Error("Workflow host closed the channel adapter connection");
30
+ throw new Error("Workflow server closed the channel adapter connection");
31
31
  const response = parseChannelAdapterResponse(Buffer.from(next.value, "utf8"));
32
32
  if (response.sequence !== this.sequence) {
33
- throw new Error("Workflow host returned a mismatched channel response");
33
+ throw new Error("Workflow server returned a mismatched channel response");
34
34
  }
35
35
  if (response.outcome !== "accepted") {
36
- throw new Error(response.error ?? "Workflow host rejected the channel adapter message");
36
+ throw new Error(response.error ?? "Workflow server rejected the channel adapter message");
37
37
  }
38
38
  this.revision = response.revision;
39
39
  return response;
@@ -41,7 +41,7 @@ class AdapterHostConnection {
41
41
  }
42
42
  export async function runChannelAdapter() {
43
43
  const launch = readLaunch();
44
- const host = new AdapterHostConnection(launch);
44
+ const server = new AdapterServerConnection(launch);
45
45
  const telegram = new TelegramAdapter({
46
46
  profile: launch.profile,
47
47
  token: launch.token,
@@ -67,7 +67,7 @@ export async function runChannelAdapter() {
67
67
  process.once("SIGINT", () => {
68
68
  stopping = true;
69
69
  });
70
- let response = await host.report({
70
+ let response = await server.report({
71
71
  kind: "channel.ready",
72
72
  stableMessageId: controlId("ready"),
73
73
  cursor,
@@ -76,7 +76,7 @@ export async function runChannelAdapter() {
76
76
  const command = response.command;
77
77
  if (command === null) {
78
78
  await new Promise((resolve) => setTimeout(resolve, 100));
79
- response = await host.report({
79
+ response = await server.report({
80
80
  kind: "channel.ready",
81
81
  stableMessageId: controlId("ready"),
82
82
  cursor,
@@ -90,7 +90,7 @@ export async function runChannelAdapter() {
90
90
  if (command.kind === "channel.present") {
91
91
  try {
92
92
  const messages = await telegram.present(command.request);
93
- response = await host.report({
93
+ response = await server.report({
94
94
  kind: "channel.present",
95
95
  stableMessageId: command.stableMessageId,
96
96
  decisionId: command.request.decisionId,
@@ -101,7 +101,7 @@ export async function runChannelAdapter() {
101
101
  });
102
102
  }
103
103
  catch (error) {
104
- response = await host.report({
104
+ response = await server.report({
105
105
  kind: "channel.present",
106
106
  stableMessageId: command.stableMessageId,
107
107
  decisionId: command.request.decisionId,
@@ -117,7 +117,7 @@ export async function runChannelAdapter() {
117
117
  if (command.kind === "channel.settle") {
118
118
  try {
119
119
  await telegram.settle(command.outcome, command.response, command.messages);
120
- response = await host.report({
120
+ response = await server.report({
121
121
  kind: "channel.settle",
122
122
  stableMessageId: command.stableMessageId,
123
123
  decisionId: command.request.decisionId,
@@ -127,7 +127,7 @@ export async function runChannelAdapter() {
127
127
  });
128
128
  }
129
129
  catch (error) {
130
- response = await host.report({
130
+ response = await server.report({
131
131
  kind: "channel.settle",
132
132
  stableMessageId: command.stableMessageId,
133
133
  decisionId: command.request.decisionId,
@@ -143,7 +143,7 @@ export async function runChannelAdapter() {
143
143
  const polled = await telegram.poll(command.cursor);
144
144
  cursor = polled.cursor;
145
145
  for (const answer of polled.answers) {
146
- await host.report({
146
+ await server.report({
147
147
  kind: "channel.answer",
148
148
  stableMessageId: channelStableMessageId([
149
149
  launch.profile,
@@ -160,13 +160,13 @@ export async function runChannelAdapter() {
160
160
  cursor,
161
161
  });
162
162
  }
163
- response = await host.report({
163
+ response = await server.report({
164
164
  kind: "channel.ready",
165
165
  stableMessageId: controlId("ready"),
166
166
  cursor,
167
167
  });
168
168
  }
169
- await host.report({
169
+ await server.report({
170
170
  kind: "channel.exiting",
171
171
  stableMessageId: controlId("exiting"),
172
172
  cursor,
@@ -1 +1 @@
1
- {"version":3,"file":"adapter-entry.js","sourceRoot":"","sources":["../../src/channels/adapter-entry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter-entry.js","sourceRoot":"","sources":["../../src/channels/adapter-entry.ts"],"names":[],"mappings":"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"}