@hs-x/cli 0.2.6 → 0.3.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 (298) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +25 -8
  3. package/dist/audit-interactive.d.ts +29 -0
  4. package/dist/audit-interactive.d.ts.map +1 -0
  5. package/dist/audit-interactive.js +156 -0
  6. package/dist/audit-interactive.js.map +1 -0
  7. package/dist/bin/hs-x.js.map +1 -1
  8. package/dist/checkpoint-interactive.d.ts +24 -0
  9. package/dist/checkpoint-interactive.d.ts.map +1 -0
  10. package/dist/checkpoint-interactive.js +65 -0
  11. package/dist/checkpoint-interactive.js.map +1 -0
  12. package/dist/cli/index.d.ts.map +1 -1
  13. package/dist/cli/index.js +266 -39
  14. package/dist/cli/index.js.map +1 -1
  15. package/dist/cli/kit.d.ts +1 -1
  16. package/dist/cli/kit.d.ts.map +1 -1
  17. package/dist/cli/kit.js +19 -3
  18. package/dist/cli/kit.js.map +1 -1
  19. package/dist/cloudflare-auth.d.ts +8 -0
  20. package/dist/cloudflare-auth.d.ts.map +1 -1
  21. package/dist/cloudflare-auth.js +12 -2
  22. package/dist/cloudflare-auth.js.map +1 -1
  23. package/dist/cloudflare-oauth-store.d.ts +9 -1
  24. package/dist/cloudflare-oauth-store.d.ts.map +1 -1
  25. package/dist/cloudflare-oauth-store.js +23 -4
  26. package/dist/cloudflare-oauth-store.js.map +1 -1
  27. package/dist/cloudflare-oauth.d.ts +1 -0
  28. package/dist/cloudflare-oauth.d.ts.map +1 -1
  29. package/dist/cloudflare-oauth.js +6 -2
  30. package/dist/cloudflare-oauth.js.map +1 -1
  31. package/dist/cloudflare-worker-versions.d.ts +184 -0
  32. package/dist/cloudflare-worker-versions.d.ts.map +1 -0
  33. package/dist/cloudflare-worker-versions.js +360 -0
  34. package/dist/cloudflare-worker-versions.js.map +1 -0
  35. package/dist/commands/account.d.ts +28 -13
  36. package/dist/commands/account.d.ts.map +1 -1
  37. package/dist/commands/account.js +219 -69
  38. package/dist/commands/account.js.map +1 -1
  39. package/dist/commands/api.d.ts +1 -1
  40. package/dist/commands/api.d.ts.map +1 -1
  41. package/dist/commands/api.js +6 -10
  42. package/dist/commands/api.js.map +1 -1
  43. package/dist/commands/completion.d.ts.map +1 -1
  44. package/dist/commands/completion.js +13 -7
  45. package/dist/commands/completion.js.map +1 -1
  46. package/dist/commands/connect.d.ts.map +1 -1
  47. package/dist/commands/connect.js +239 -125
  48. package/dist/commands/connect.js.map +1 -1
  49. package/dist/commands/control-plane-read.d.ts +72 -11
  50. package/dist/commands/control-plane-read.d.ts.map +1 -1
  51. package/dist/commands/control-plane-read.js +1035 -58
  52. package/dist/commands/control-plane-read.js.map +1 -1
  53. package/dist/commands/deploy-promote.d.ts +25 -3
  54. package/dist/commands/deploy-promote.d.ts.map +1 -1
  55. package/dist/commands/deploy-promote.js +314 -38
  56. package/dist/commands/deploy-promote.js.map +1 -1
  57. package/dist/commands/deploy.d.ts +67 -4
  58. package/dist/commands/deploy.d.ts.map +1 -1
  59. package/dist/commands/deploy.js +1333 -255
  60. package/dist/commands/deploy.js.map +1 -1
  61. package/dist/commands/dev.d.ts +5 -1
  62. package/dist/commands/dev.d.ts.map +1 -1
  63. package/dist/commands/dev.js +502 -107
  64. package/dist/commands/dev.js.map +1 -1
  65. package/dist/commands/doctor.d.ts +15 -1
  66. package/dist/commands/doctor.d.ts.map +1 -1
  67. package/dist/commands/doctor.js +131 -20
  68. package/dist/commands/doctor.js.map +1 -1
  69. package/dist/commands/flags.d.ts +108 -6
  70. package/dist/commands/flags.d.ts.map +1 -1
  71. package/dist/commands/flags.js +996 -75
  72. package/dist/commands/flags.js.map +1 -1
  73. package/dist/commands/help-command.d.ts +14 -0
  74. package/dist/commands/help-command.d.ts.map +1 -1
  75. package/dist/commands/help-command.js +144 -44
  76. package/dist/commands/help-command.js.map +1 -1
  77. package/dist/commands/history.js +14 -10
  78. package/dist/commands/history.js.map +1 -1
  79. package/dist/commands/init.d.ts +4 -2
  80. package/dist/commands/init.d.ts.map +1 -1
  81. package/dist/commands/init.js +69 -12
  82. package/dist/commands/init.js.map +1 -1
  83. package/dist/commands/link.d.ts +2 -3
  84. package/dist/commands/link.d.ts.map +1 -1
  85. package/dist/commands/link.js +201 -101
  86. package/dist/commands/link.js.map +1 -1
  87. package/dist/commands/login.d.ts +2 -2
  88. package/dist/commands/login.d.ts.map +1 -1
  89. package/dist/commands/login.js +22 -5
  90. package/dist/commands/login.js.map +1 -1
  91. package/dist/commands/migrate.d.ts +23 -3
  92. package/dist/commands/migrate.d.ts.map +1 -1
  93. package/dist/commands/migrate.js +500 -73
  94. package/dist/commands/migrate.js.map +1 -1
  95. package/dist/commands/rollback.d.ts +42 -2
  96. package/dist/commands/rollback.d.ts.map +1 -1
  97. package/dist/commands/rollback.js +422 -58
  98. package/dist/commands/rollback.js.map +1 -1
  99. package/dist/commands/secrets.d.ts +76 -3
  100. package/dist/commands/secrets.d.ts.map +1 -1
  101. package/dist/commands/secrets.js +328 -41
  102. package/dist/commands/secrets.js.map +1 -1
  103. package/dist/commands/status.d.ts +13 -2
  104. package/dist/commands/status.d.ts.map +1 -1
  105. package/dist/commands/status.js +154 -17
  106. package/dist/commands/status.js.map +1 -1
  107. package/dist/commands/unlink.d.ts +2 -2
  108. package/dist/commands/unlink.d.ts.map +1 -1
  109. package/dist/commands/unlink.js +2 -2
  110. package/dist/commands/unlink.js.map +1 -1
  111. package/dist/commands/update.d.ts.map +1 -1
  112. package/dist/commands/update.js +4 -3
  113. package/dist/commands/update.js.map +1 -1
  114. package/dist/commands/validate.d.ts +12 -3
  115. package/dist/commands/validate.d.ts.map +1 -1
  116. package/dist/commands/validate.js +70 -8
  117. package/dist/commands/validate.js.map +1 -1
  118. package/dist/constants.d.ts +1 -1
  119. package/dist/constants.js +1 -1
  120. package/dist/control-plane-fetch.d.ts.map +1 -1
  121. package/dist/control-plane-fetch.js +5 -4
  122. package/dist/control-plane-fetch.js.map +1 -1
  123. package/dist/deploy-revision-capture.d.ts +48 -0
  124. package/dist/deploy-revision-capture.d.ts.map +1 -0
  125. package/dist/deploy-revision-capture.js +125 -0
  126. package/dist/deploy-revision-capture.js.map +1 -0
  127. package/dist/dev/compat-shim.d.ts.map +1 -1
  128. package/dist/dev/compat-shim.js +10 -35
  129. package/dist/dev/compat-shim.js.map +1 -1
  130. package/dist/dev/event-bus.d.ts +5 -2
  131. package/dist/dev/event-bus.d.ts.map +1 -1
  132. package/dist/dev/event-bus.js +4 -1
  133. package/dist/dev/event-bus.js.map +1 -1
  134. package/dist/dev/hubspot-logs-poller.d.ts +35 -0
  135. package/dist/dev/hubspot-logs-poller.d.ts.map +1 -0
  136. package/dist/dev/hubspot-logs-poller.js +94 -0
  137. package/dist/dev/hubspot-logs-poller.js.map +1 -0
  138. package/dist/dev/invoke.d.ts +9 -1
  139. package/dist/dev/invoke.d.ts.map +1 -1
  140. package/dist/dev/invoke.js +69 -20
  141. package/dist/dev/invoke.js.map +1 -1
  142. package/dist/dev/keyboard.d.ts +31 -0
  143. package/dist/dev/keyboard.d.ts.map +1 -0
  144. package/dist/dev/keyboard.js +143 -0
  145. package/dist/dev/keyboard.js.map +1 -0
  146. package/dist/dev/log-server.d.ts +7 -0
  147. package/dist/dev/log-server.d.ts.map +1 -1
  148. package/dist/dev/log-server.js +68 -31
  149. package/dist/dev/log-server.js.map +1 -1
  150. package/dist/dev/migrated-card.d.ts +17 -0
  151. package/dist/dev/migrated-card.d.ts.map +1 -0
  152. package/dist/dev/migrated-card.js +114 -0
  153. package/dist/dev/migrated-card.js.map +1 -0
  154. package/dist/dev/stream-filter.d.ts +40 -0
  155. package/dist/dev/stream-filter.d.ts.map +1 -0
  156. package/dist/dev/stream-filter.js +93 -0
  157. package/dist/dev/stream-filter.js.map +1 -0
  158. package/dist/dev/stream-renderer.d.ts +34 -0
  159. package/dist/dev/stream-renderer.d.ts.map +1 -1
  160. package/dist/dev/stream-renderer.js +222 -8
  161. package/dist/dev/stream-renderer.js.map +1 -1
  162. package/dist/errors-registry.d.ts.map +1 -1
  163. package/dist/errors-registry.js +280 -36
  164. package/dist/errors-registry.js.map +1 -1
  165. package/dist/errors.d.ts.map +1 -1
  166. package/dist/errors.js.map +1 -1
  167. package/dist/help.d.ts.map +1 -1
  168. package/dist/help.js +8 -0
  169. package/dist/help.js.map +1 -1
  170. package/dist/hubspot-app-logs.d.ts +76 -0
  171. package/dist/hubspot-app-logs.d.ts.map +1 -0
  172. package/dist/hubspot-app-logs.js +323 -0
  173. package/dist/hubspot-app-logs.js.map +1 -0
  174. package/dist/hubspot-auth.d.ts +8 -2
  175. package/dist/hubspot-auth.d.ts.map +1 -1
  176. package/dist/hubspot-auth.js +36 -12
  177. package/dist/hubspot-auth.js.map +1 -1
  178. package/dist/hubspot-developer-client.js +119 -11
  179. package/dist/hubspot-developer-client.js.map +1 -1
  180. package/dist/index.d.ts +1 -0
  181. package/dist/index.d.ts.map +1 -1
  182. package/dist/index.js +1 -0
  183. package/dist/index.js.map +1 -1
  184. package/dist/init/templates.d.ts +10 -0
  185. package/dist/init/templates.d.ts.map +1 -1
  186. package/dist/init/templates.js +157 -14
  187. package/dist/init/templates.js.map +1 -1
  188. package/dist/link-migration-journal.d.ts +131 -0
  189. package/dist/link-migration-journal.d.ts.map +1 -0
  190. package/dist/link-migration-journal.js +395 -0
  191. package/dist/link-migration-journal.js.map +1 -0
  192. package/dist/link-preflight.d.ts +78 -0
  193. package/dist/link-preflight.d.ts.map +1 -0
  194. package/dist/link-preflight.js +231 -0
  195. package/dist/link-preflight.js.map +1 -0
  196. package/dist/local-project-picker.d.ts +34 -0
  197. package/dist/local-project-picker.d.ts.map +1 -0
  198. package/dist/local-project-picker.js +121 -0
  199. package/dist/local-project-picker.js.map +1 -0
  200. package/dist/logs-interactive.d.ts +37 -0
  201. package/dist/logs-interactive.d.ts.map +1 -0
  202. package/dist/logs-interactive.js +110 -0
  203. package/dist/logs-interactive.js.map +1 -0
  204. package/dist/output-context.d.ts +13 -0
  205. package/dist/output-context.d.ts.map +1 -0
  206. package/dist/output-context.js +46 -0
  207. package/dist/output-context.js.map +1 -0
  208. package/dist/project-context.d.ts +55 -0
  209. package/dist/project-context.d.ts.map +1 -0
  210. package/dist/project-context.js +115 -0
  211. package/dist/project-context.js.map +1 -0
  212. package/dist/project-picker.d.ts +65 -0
  213. package/dist/project-picker.d.ts.map +1 -0
  214. package/dist/project-picker.js +227 -0
  215. package/dist/project-picker.js.map +1 -0
  216. package/dist/prompt.d.ts +8 -0
  217. package/dist/prompt.d.ts.map +1 -1
  218. package/dist/prompt.js +81 -13
  219. package/dist/prompt.js.map +1 -1
  220. package/dist/reporter/human.d.ts +10 -2
  221. package/dist/reporter/human.d.ts.map +1 -1
  222. package/dist/reporter/human.js +82 -14
  223. package/dist/reporter/human.js.map +1 -1
  224. package/dist/reporter/index.d.ts.map +1 -1
  225. package/dist/reporter/index.js +7 -5
  226. package/dist/reporter/index.js.map +1 -1
  227. package/dist/reporter/json.d.ts +2 -1
  228. package/dist/reporter/json.d.ts.map +1 -1
  229. package/dist/reporter/json.js +10 -7
  230. package/dist/reporter/json.js.map +1 -1
  231. package/dist/reporter/style.d.ts +19 -0
  232. package/dist/reporter/style.d.ts.map +1 -1
  233. package/dist/reporter/style.js +126 -6
  234. package/dist/reporter/style.js.map +1 -1
  235. package/dist/reporter/types.d.ts +34 -4
  236. package/dist/reporter/types.d.ts.map +1 -1
  237. package/dist/reporter/types.js.map +1 -1
  238. package/dist/rollback-traffic.d.ts +85 -0
  239. package/dist/rollback-traffic.d.ts.map +1 -0
  240. package/dist/rollback-traffic.js +204 -0
  241. package/dist/rollback-traffic.js.map +1 -0
  242. package/dist/services/account-store.d.ts +3 -1
  243. package/dist/services/account-store.d.ts.map +1 -1
  244. package/dist/services/account-store.js +2 -1
  245. package/dist/services/account-store.js.map +1 -1
  246. package/dist/services/app-paths.d.ts.map +1 -1
  247. package/dist/services/app-paths.js +3 -1
  248. package/dist/services/app-paths.js.map +1 -1
  249. package/dist/services/cloudflare-auth.d.ts +1 -1
  250. package/dist/services/cloudflare-auth.d.ts.map +1 -1
  251. package/dist/services/cloudflare-auth.js +2 -2
  252. package/dist/services/cloudflare-auth.js.map +1 -1
  253. package/dist/services/cloudflare-kv.d.ts.map +1 -1
  254. package/dist/services/cloudflare-kv.js.map +1 -1
  255. package/dist/services/command-history.d.ts.map +1 -1
  256. package/dist/services/command-history.js.map +1 -1
  257. package/dist/services/config.d.ts.map +1 -1
  258. package/dist/services/config.js +1 -1
  259. package/dist/services/config.js.map +1 -1
  260. package/dist/services/control-plane.d.ts.map +1 -1
  261. package/dist/services/control-plane.js +3 -3
  262. package/dist/services/control-plane.js.map +1 -1
  263. package/dist/services/env-loader.d.ts.map +1 -1
  264. package/dist/services/env-loader.js +1 -3
  265. package/dist/services/env-loader.js.map +1 -1
  266. package/dist/services/http.d.ts.map +1 -1
  267. package/dist/services/http.js.map +1 -1
  268. package/dist/services/hubspot-dev-client.d.ts.map +1 -1
  269. package/dist/services/hubspot-dev-client.js +30 -0
  270. package/dist/services/hubspot-dev-client.js.map +1 -1
  271. package/dist/services/live.d.ts +2 -2
  272. package/dist/services/live.d.ts.map +1 -1
  273. package/dist/services/live.js +1 -1
  274. package/dist/services/live.js.map +1 -1
  275. package/dist/services/machine-id.d.ts.map +1 -1
  276. package/dist/services/machine-id.js.map +1 -1
  277. package/dist/services/reporter.d.ts +8 -5
  278. package/dist/services/reporter.d.ts.map +1 -1
  279. package/dist/services/reporter.js +6 -4
  280. package/dist/services/reporter.js.map +1 -1
  281. package/dist/services/tenant-state.d.ts.map +1 -1
  282. package/dist/services/tenant-state.js.map +1 -1
  283. package/dist/state-store.d.ts +4 -0
  284. package/dist/state-store.d.ts.map +1 -1
  285. package/dist/state-store.js +15 -0
  286. package/dist/state-store.js.map +1 -1
  287. package/dist/status-drilldown.d.ts +24 -0
  288. package/dist/status-drilldown.d.ts.map +1 -0
  289. package/dist/status-drilldown.js +50 -0
  290. package/dist/status-drilldown.js.map +1 -0
  291. package/dist/tenant-state.d.ts.map +1 -1
  292. package/dist/tenant-state.js +3 -2
  293. package/dist/tenant-state.js.map +1 -1
  294. package/dist/token-key-custody.d.ts +91 -0
  295. package/dist/token-key-custody.d.ts.map +1 -0
  296. package/dist/token-key-custody.js +375 -0
  297. package/dist/token-key-custody.js.map +1 -0
  298. package/package.json +13 -14
@@ -4,24 +4,26 @@ import * as Command from '@effect/cli/Command';
4
4
  import { HttpClientRequest, Schema, schemas } from '@hs-x/types';
5
5
  import { Config, Effect, Option } from 'effect';
6
6
  import { activeSession, isLinked, loadStore } from '../account-store.js';
7
- import { CliError, cliError } from '../cli-error.js';
8
- import { accountIdOption, cwdOption, jsonOption, runHandler, yesOption, } from '../cli/kit.js';
7
+ import { cliError, describeError } from '../cli-error.js';
8
+ import { accountIdOption, cwdOption, jsonOption, runHandler, yesOption } from '../cli/kit.js';
9
9
  import { createCloudflareKvClient, resolveCloudflareCredentials } from '../cloudflare-kv.js';
10
10
  import { rewriteCloudflarePointerOwner } from '../cloudflare-pointer.js';
11
11
  import { resolveControlPlaneUrl } from '../config.js';
12
12
  import { executeCliHttp } from '../effect-http.js';
13
13
  import { openInBrowser } from '../hubspot-auth.js';
14
+ import { buildLinkMigrationJournal, linkMigrationJournalId, loadLinkMigrationJournal, runLinkMigration, } from '../link-migration-journal.js';
15
+ import { runLinkPreflight } from '../link-preflight.js';
14
16
  import { getMachineId } from '../machine-id.js';
15
17
  import { isInteractive, promptConfirm } from '../prompt.js';
16
18
  import { createReporter } from '../reporter/index.js';
17
- import { loadTenantStateStore, rewriteTenantOwnerPrefix } from '../tenant-state.js';
18
19
  import { CloudflareAuth } from '../services/cloudflare-auth.js';
19
- import { CloudflareKv } from '../services/cloudflare-kv.js';
20
20
  import { CliConfig } from '../services/config.js';
21
21
  import { ControlPlaneClient } from '../services/control-plane.js';
22
22
  import { Cwd } from '../services/cwd.js';
23
23
  import { MachineId } from '../services/machine-id.js';
24
24
  import { Reporter } from '../services/reporter.js';
25
+ import { loadTenantStateStore, rewriteTenantOwnerPrefix } from '../tenant-state.js';
26
+ import { defaultTokenKeyCustodyAdapter } from '../token-key-custody.js';
25
27
  // ─── Native @effect/cli command (Phase 4) ───────────────────────────────────
26
28
  // `link` claims a `local_*` owner under an HS-X account: preflight the
27
29
  // control-plane notify (via `ControlPlaneClient.fetch`), rewrite the tenant KV
@@ -54,7 +56,7 @@ function linkBody(opts) {
54
56
  const accountIdEnv = yield* Config.string('HSX_ACCOUNT_ID').pipe(Config.withDefault(''), Effect.orDie);
55
57
  const accountId = Option.getOrUndefined(opts.accountId) ?? (accountIdEnv || undefined);
56
58
  // The project must have a `.hs-x/cloudflare.json` pointer to operate on.
57
- let pointer = yield* cloudflare.loadPointer(projectRoot);
59
+ const pointer = yield* cloudflare.loadPointer(projectRoot);
58
60
  if (!pointer) {
59
61
  // Fresh project (no deploy yet): there is no local history to claim, so
60
62
  // link provisions the tenant state store and binds the pointer straight
@@ -117,7 +119,12 @@ function linkBody(opts) {
117
119
  if (!accountId) {
118
120
  // Dashboard claim flow (browser handoff + poll) — stays on the legacy
119
121
  // imperative path (quarantined) until it is migrated separately.
120
- const result = yield* Effect.promise(() => linkViaDashboard({ argv: ['link', '--json'].filter(() => opts.json), json: opts.json, root: projectRoot, pointer }));
122
+ const result = yield* Effect.promise(() => linkViaDashboard({
123
+ argv: ['link', '--json'].filter(() => opts.json),
124
+ json: opts.json,
125
+ root: projectRoot,
126
+ pointer,
127
+ }));
121
128
  if (result.exitCode !== 0) {
122
129
  return yield* Effect.fail(cliError('HSX_E_LINK_REQUIRED', 'link via dashboard failed', {
123
130
  silent: true,
@@ -141,9 +148,22 @@ function linkBody(opts) {
141
148
  : 'Create an account in the dashboard first (app.hs-x.dev).',
142
149
  });
143
150
  }
144
- // Already linked under the target account — idempotent no-op.
145
151
  const targetOwnerId = accountId.startsWith('acct_') ? accountId : `acct_${accountId}`;
146
- if (pointer.ownerId === targetOwnerId) {
152
+ // ADR-022 (T03): a previously interrupted link migration is journaled and
153
+ // resumable. Look it up by the STABLE claim identity (cloudflare account +
154
+ // state namespace + target owner) so a resume finds it even after the local
155
+ // pointer was already rewritten to the target.
156
+ const journalId = linkMigrationJournalId({
157
+ cloudflareAccountId: pointer.cloudflareAccountId,
158
+ stateKvNamespaceId: pointer.stateKvNamespaceId,
159
+ newOwnerId: targetOwnerId,
160
+ });
161
+ const existingJournal = yield* Effect.promise(() => loadLinkMigrationJournal(journalId));
162
+ const resumeJournal = existingJournal && existingJournal.status === 'in-progress' ? existingJournal : undefined;
163
+ const resuming = resumeJournal !== undefined;
164
+ // Already linked under the target account with nothing in flight —
165
+ // idempotent no-op.
166
+ if (pointer.ownerId === targetOwnerId && !resuming) {
147
167
  if (opts.json) {
148
168
  yield* writeJson(reporter, {
149
169
  ok: true,
@@ -160,8 +180,11 @@ function linkBody(opts) {
160
180
  return;
161
181
  }
162
182
  // Only `local_*` owners can be claimed via link. Name the owning account
163
- // so a re-link says WHO holds the link instead of a generic refusal.
164
- if (!pointer.ownerId.startsWith('local_')) {
183
+ // so a re-link says WHO holds the link instead of a generic refusal. A
184
+ // resume is exempt: its pointer may already read the target owner because a
185
+ // prior run got past the pointer-rewrite boundary — that is our own
186
+ // interrupted migration finishing, not a foreign claim.
187
+ if (!resuming && !pointer.ownerId.startsWith('local_')) {
165
188
  const owningAccountId = pointer.ownerId.replace(/^acct_/, '');
166
189
  return yield* linkError(opts.json, reporter, {
167
190
  code: 'HSX_E_LINK_NOT_CLAIMABLE',
@@ -178,8 +201,8 @@ function linkBody(opts) {
178
201
  hint: 'Set CLOUDFLARE_API_TOKEN (or HSX_CLOUDFLARE_API_TOKEN) so the CLI can rewrite tenant KV keys.',
179
202
  });
180
203
  }
181
- // Confirm with the user unless --yes is passed.
182
- if (!opts.json && isInteractive() && !opts.yes) {
204
+ // Confirm with the user unless --yes is passed (a resume already confirmed).
205
+ if (!resuming && !opts.json && isInteractive() && !opts.yes) {
183
206
  const confirmed = yield* Effect.promise(() => promptConfirm({
184
207
  message: `Claim owner ${pointer.ownerId} under HS-X account ${accountId}? Tenant KV keys will be rewritten under owners/${targetOwnerId}/.`,
185
208
  default: true,
@@ -189,51 +212,90 @@ function linkBody(opts) {
189
212
  return yield* Effect.fail(cliError('HSX_E_INTERNAL', 'cancelled', { silent: true, exitCode: 130 }));
190
213
  }
191
214
  }
192
- const claimedAt = yield* Effect.sync(() => new Date().toISOString());
193
215
  const machineIdSvc = yield* MachineId;
194
216
  const machineId = yield* machineIdSvc.get;
195
- const notifyPayload = createLinkNotifyPayload({
217
+ const controlPlaneUrl = (yield* CliConfig).controlPlaneUrl.toString();
218
+ const baseUrl = yield* Config.string('HSX_CLOUDFLARE_API_BASE_URL').pipe(Config.withDefault(''), Effect.orDie);
219
+ let journal;
220
+ let preflight;
221
+ if (resumeJournal) {
222
+ journal = resumeJournal;
223
+ }
224
+ else {
225
+ // Fresh claim: the control-plane preflight (?preflight=1, records
226
+ // nothing) then the ADR-022 (T02) no-mutation continuity preflight —
227
+ // prove every installed app surface (binding records, INSTALL_KV
228
+ // namespace, token-key custody + canary, worker names) can be preserved
229
+ // BEFORE any mutation. A failure here exits with a typed error and zero
230
+ // mutations; on success the plan is frozen into a resumable journal.
231
+ const preflightError = yield* postLinkNotifyEff({
232
+ controlPlaneUrl,
233
+ accountId,
234
+ payload: createLinkNotifyPayload({
235
+ machineId,
236
+ cloudflareAccountId: pointer.cloudflareAccountId,
237
+ claimedAt: new Date().toISOString(),
238
+ priorOwnerId: pointer.ownerId,
239
+ newOwnerId: targetOwnerId,
240
+ }),
241
+ preflight: true,
242
+ });
243
+ if (preflightError) {
244
+ return yield* linkError(opts.json, reporter, {
245
+ code: 'HSX_E_LINK_REQUIRED',
246
+ message: 'Control-plane refused the link claim.',
247
+ hint: preflightError,
248
+ });
249
+ }
250
+ const continuity = yield* Effect.promise(() => runLinkPreflight({
251
+ pointer,
252
+ priorOwnerId: pointer.ownerId,
253
+ newOwnerId: targetOwnerId,
254
+ apiToken,
255
+ ...(baseUrl ? { baseUrl } : {}),
256
+ }).then((plan) => ({ ok: true, plan }), (cause) => ({ ok: false, cause })));
257
+ if (!continuity.ok) {
258
+ const described = describeError(continuity.cause);
259
+ return yield* linkError(opts.json, reporter, {
260
+ code: described.code,
261
+ message: described.message,
262
+ hint: `Link made no changes. See docs/errors/${described.code}.md for recovery steps.`,
263
+ });
264
+ }
265
+ preflight = continuity.plan;
266
+ journal = buildLinkMigrationJournal({ plan: continuity.plan, newOwnerId: targetOwnerId });
267
+ }
268
+ // The CP commit notify carries the prior owner from the JOURNAL, so a resume
269
+ // (whose pointer may already read the target) still reports the true rewrite.
270
+ const commitNotifyPayload = createLinkNotifyPayload({
196
271
  machineId,
197
272
  cloudflareAccountId: pointer.cloudflareAccountId,
198
- claimedAt,
199
- priorOwnerId: pointer.ownerId,
273
+ claimedAt: journal.createdAt,
274
+ priorOwnerId: journal.priorOwnerId,
200
275
  newOwnerId: targetOwnerId,
201
276
  });
202
- const controlPlaneUrl = (yield* CliConfig).controlPlaneUrl.toString();
203
- const preflightError = yield* postLinkNotifyEff({
204
- controlPlaneUrl,
277
+ // Injected-failure seam (tests): fail immediately AFTER the named boundary
278
+ // is persisted, so a re-run resumes from the journal and converges.
279
+ const failAfter = yield* Config.string('HSX_LINK_FAIL_AFTER').pipe(Config.withDefault(''), Effect.orDie);
280
+ const migration = yield* Effect.promise(() => executeLinkMigration({
281
+ journal,
282
+ pointer,
283
+ apiToken,
284
+ ...(baseUrl ? { baseUrl } : {}),
285
+ projectRoot,
205
286
  accountId,
206
- payload: notifyPayload,
207
- preflight: true,
208
- });
209
- if (preflightError) {
287
+ notifyPayload: commitNotifyPayload,
288
+ ...(failAfter ? { failAfter } : {}),
289
+ }).then((r) => ({ ok: true, r }), (cause) => ({ ok: false, cause })));
290
+ if (!migration.ok) {
291
+ const described = describeError(migration.cause);
210
292
  return yield* linkError(opts.json, reporter, {
211
- code: 'HSX_E_LINK_REQUIRED',
212
- message: 'Control-plane refused the link claim.',
213
- hint: preflightError,
293
+ code: described.code,
294
+ message: described.message,
295
+ hint: `See docs/errors/${described.code}.md for recovery steps.`,
214
296
  });
215
297
  }
216
- const baseUrl = yield* Config.string('HSX_CLOUDFLARE_API_BASE_URL').pipe(Config.withDefault(''), Effect.orDie);
217
- const kvSvc = yield* CloudflareKv;
218
- const handle = yield* kvSvc.make({
219
- accountId: pointer.cloudflareAccountId,
220
- apiToken,
221
- namespaceId: pointer.stateKvNamespaceId,
222
- ...(baseUrl ? { baseUrl } : {}),
223
- });
224
- const rewritten = yield* rewriteTenantOwnerPrefixEff({
225
- handle,
226
- from: pointer.ownerId,
227
- to: targetOwnerId,
228
- });
229
- // Update the local pointer.
230
- yield* cloudflare.rewritePointerOwner({ root: projectRoot, ownerId: targetOwnerId });
231
- // Best-effort second notify after the local commit.
232
- const notifyError = yield* postLinkNotifyEff({
233
- controlPlaneUrl,
234
- accountId,
235
- payload: notifyPayload,
236
- });
298
+ const migrationResult = migration.r;
237
299
  // Surface the claimed history: every deploy made while unlinked becomes a
238
300
  // control-plane revision, so `hs-x list` / the dashboard stop reporting
239
301
  // a live project as having no recorded deploys.
@@ -243,13 +305,16 @@ function linkBody(opts) {
243
305
  command: 'link',
244
306
  accountId,
245
307
  cloudflareAccountId: pointer.cloudflareAccountId,
246
- priorOwnerId: pointer.ownerId,
308
+ priorOwnerId: journal.priorOwnerId,
247
309
  newOwnerId: targetOwnerId,
248
- rewrittenKeyCount: rewritten.length,
310
+ rewrittenKeyCount: migrationResult.rewrittenKeyCount,
311
+ rekeyedBindingCount: migrationResult.rekeyedBindingCount,
249
312
  backfilledDeployCount: backfill.recorded,
250
- claimedAt,
313
+ claimedAt: journal.createdAt,
251
314
  machineId,
252
- ...(notifyError ? { notifyWarning: notifyError } : {}),
315
+ ...(resuming ? { resumed: true } : {}),
316
+ ...(preflight ? { preflight } : {}),
317
+ ...(migrationResult.notifyWarning ? { notifyWarning: migrationResult.notifyWarning } : {}),
253
318
  ...(backfill.warning ? { backfillWarning: backfill.warning } : {}),
254
319
  };
255
320
  if (opts.json) {
@@ -257,9 +322,20 @@ function linkBody(opts) {
257
322
  return;
258
323
  }
259
324
  yield* reporter.header(accountId);
260
- yield* reporter.info(`Owner: ${pointer.ownerId} → ${targetOwnerId}`);
325
+ yield* reporter.info(`Owner: ${journal.priorOwnerId} → ${targetOwnerId}`);
261
326
  yield* reporter.info(`Cloudflare account: ${pointer.cloudflareAccountId}`);
262
- yield* reporter.info(`Rewrote ${rewritten.length} tenant KV key${rewritten.length === 1 ? '' : 's'}.`);
327
+ if (resuming) {
328
+ yield* reporter.info('Resumed an interrupted link migration from its journal.');
329
+ }
330
+ if (preflight && preflight.bindings.length > 0) {
331
+ yield* reporter.info(`Preflight: ${preflight.bindings.length} install binding${preflight.bindings.length === 1 ? '' : 's'} verified (Worker names, INSTALL_KV namespaces, token-key custody preserved).`);
332
+ }
333
+ if (migrationResult.rewrittenKeyCount > 0) {
334
+ yield* reporter.info(`Rewrote ${migrationResult.rewrittenKeyCount} tenant KV key${migrationResult.rewrittenKeyCount === 1 ? '' : 's'}.`);
335
+ }
336
+ if (migrationResult.rekeyedBindingCount > 0) {
337
+ yield* reporter.info(`Re-keyed token-key custody for ${migrationResult.rekeyedBindingCount} install binding${migrationResult.rekeyedBindingCount === 1 ? '' : 's'} (same key, new owner id).`);
338
+ }
263
339
  if (backfill.recorded > 0) {
264
340
  yield* reporter.info(`Backfilled ${backfill.recorded} deploy revision${backfill.recorded === 1 ? '' : 's'} from local history (visible in \`hs-x list\` and the dashboard).`);
265
341
  }
@@ -267,12 +343,40 @@ function linkBody(opts) {
267
343
  yield* reporter.info(`Note: deploy-history backfill incomplete (${backfill.warning}). Re-run \`hs-x link\` to retry; it is idempotent.`);
268
344
  }
269
345
  yield* reporter.info('Updated .hs-x/cloudflare.json. Commit the change so teammates inherit the link.');
270
- if (notifyError) {
271
- yield* reporter.info(`Note: dashboard notify failed (${notifyError}). The link itself succeeded; retry by running \`hs-x link\` again (it is idempotent).`);
346
+ if (migrationResult.notifyWarning) {
347
+ yield* reporter.info(`Note: dashboard notify failed (${migrationResult.notifyWarning}). The link itself succeeded; retry by running \`hs-x link\` again (it is idempotent).`);
272
348
  }
273
349
  yield* reporter.done('Linked');
274
350
  });
275
351
  }
352
+ /**
353
+ * Build the Promise-based seams and run (or resume) the ADR-022 T03 journaled
354
+ * link migration. Uses the plain `createCloudflareKvClient` (like the preflight
355
+ * and the dashboard flow) so the whole migration is a self-contained Promise —
356
+ * the KV rewrite, pointer rewrite, pre-commit probe, CP commit and custody
357
+ * re-key are all sequenced and journaled inside `runLinkMigration`.
358
+ */
359
+ function executeLinkMigration(input) {
360
+ const kvOptions = (namespaceId) => ({
361
+ accountId: input.pointer.cloudflareAccountId,
362
+ apiToken: input.apiToken,
363
+ namespaceId,
364
+ ...(input.baseUrl ? { baseUrl: input.baseUrl } : {}),
365
+ });
366
+ return runLinkMigration({
367
+ journal: input.journal,
368
+ seams: {
369
+ stateKv: createCloudflareKvClient(kvOptions(input.pointer.stateKvNamespaceId)),
370
+ makeInstallKv: (namespaceId) => createCloudflareKvClient(kvOptions(namespaceId)),
371
+ custodyAdapter: defaultTokenKeyCustodyAdapter(),
372
+ rewritePointer: async (ownerId) => {
373
+ await rewriteCloudflarePointerOwner({ root: input.projectRoot, ownerId });
374
+ },
375
+ commit: () => postLinkNotify({ argv: [], accountId: input.accountId, payload: input.notifyPayload }),
376
+ },
377
+ ...(input.failAfter ? { failAfter: input.failAfter } : {}),
378
+ });
379
+ }
276
380
  /** Write a bespoke pretty-printed JSON object to stdout (legacy shape). */
277
381
  function writeJson(reporter, value) {
278
382
  return reporter.raw(`${JSON.stringify(value, null, 2)}\n`);
@@ -330,51 +434,6 @@ function postLinkNotifyEff(input) {
330
434
  return `control-plane returned ${response.status}${body ? `: ${body.slice(0, 200)}` : ''}`;
331
435
  });
332
436
  }
333
- /**
334
- * Effect-native owner-prefix rewrite over a raw `CloudflareKvHandle`. Mirrors the
335
- * legacy `rewriteTenantOwnerPrefix`: copy every `owners/{from}/…` key to
336
- * `owners/{to}/…` (rewriting any top-level `ownerId`), then delete sources only
337
- * after all writes succeed.
338
- */
339
- function rewriteTenantOwnerPrefixEff(input) {
340
- return Effect.gen(function* () {
341
- const { handle } = input;
342
- const fromPrefix = `owners/${input.from}/`;
343
- const toPrefix = `owners/${input.to}/`;
344
- const fromKeys = yield* handle.list(fromPrefix);
345
- if (fromKeys.length === 0)
346
- return [];
347
- const rewritten = [];
348
- for (const fromKey of fromKeys) {
349
- const value = yield* handle.get(fromKey);
350
- if (value === undefined)
351
- continue;
352
- const toKey = `${toPrefix}${fromKey.slice(fromPrefix.length)}`;
353
- yield* handle.put(toKey, rewriteOwnerIdValue(value, input.from, input.to));
354
- rewritten.push({ fromKey, toKey });
355
- }
356
- // Delete sources only after every write succeeded.
357
- for (const { fromKey } of rewritten) {
358
- yield* handle.delete(fromKey);
359
- }
360
- return rewritten;
361
- });
362
- }
363
- function rewriteOwnerIdValue(value, from, to) {
364
- try {
365
- const parsed = JSON.parse(value);
366
- if (typeof parsed === 'object' &&
367
- parsed !== null &&
368
- !Array.isArray(parsed) &&
369
- parsed.ownerId === from) {
370
- return JSON.stringify({ ...parsed, ownerId: to });
371
- }
372
- }
373
- catch {
374
- // Non-JSON values keep their bytes.
375
- }
376
- return value;
377
- }
378
437
  // ─── Dashboard claim flow (quarantined legacy path; used by `linkBody`) ──────
379
438
  /**
380
439
  * Account ids the active session belongs to, or undefined when there is no
@@ -598,11 +657,37 @@ async function linkViaDashboard(input) {
598
657
  const ownerIds = tenantState
599
658
  ? (await tenantState.stateStore.listOwners()).filter((ownerId) => ownerId.startsWith('local_'))
600
659
  : [input.pointer.ownerId];
660
+ const claimableOwnerIds = ownerIds.length > 0 ? ownerIds : [input.pointer.ownerId];
661
+ // ADR-022 (T02): prove continuity for EVERY owner this pairing may claim
662
+ // BEFORE the pairing is created (creating a pairing is a control-plane
663
+ // write). A failed preflight exits with a typed error and zero mutations.
664
+ const cloudflareApiBaseUrl = process.env.HSX_CLOUDFLARE_API_BASE_URL;
665
+ const ownerPlans = new Map();
666
+ for (const ownerId of claimableOwnerIds) {
667
+ try {
668
+ ownerPlans.set(ownerId, await runLinkPreflight({
669
+ pointer: input.pointer,
670
+ priorOwnerId: ownerId,
671
+ apiToken,
672
+ ...(cloudflareApiBaseUrl ? { baseUrl: cloudflareApiBaseUrl } : {}),
673
+ }));
674
+ }
675
+ catch (cause) {
676
+ const described = describeError(cause);
677
+ return errorResult({
678
+ argv: input.argv,
679
+ json: input.json,
680
+ code: described.code,
681
+ message: described.message,
682
+ hint: `Link made no changes. See docs/errors/${described.code}.md for recovery steps.`,
683
+ });
684
+ }
685
+ }
601
686
  const pairing = await createLinkPairing({
602
687
  argv: input.argv,
603
688
  machineId,
604
689
  cloudflareAccountId: input.pointer.cloudflareAccountId,
605
- ownerIds: ownerIds.length > 0 ? ownerIds : [input.pointer.ownerId],
690
+ ownerIds: claimableOwnerIds,
606
691
  });
607
692
  const dashboardUrl = linkDashboardUrl(pairing.dashboardUrl);
608
693
  if (!input.json) {
@@ -654,6 +739,17 @@ async function linkViaDashboard(input) {
654
739
  const approvedOwnerIds = approved.approvedOwnerIds?.length
655
740
  ? approved.approvedOwnerIds
656
741
  : [input.pointer.ownerId];
742
+ // ADR-022 fail-closed: never rewrite an owner the preflight did not prove.
743
+ const unprovenOwnerIds = approvedOwnerIds.filter((ownerId) => !ownerPlans.has(ownerId));
744
+ if (unprovenOwnerIds.length > 0) {
745
+ return errorResult({
746
+ argv: input.argv,
747
+ json: input.json,
748
+ code: 'HSX_E_LINK_PREFLIGHT_UNPROVEN',
749
+ message: `The dashboard approved owner(s) ${unprovenOwnerIds.join(', ')} that the link preflight did not cover — claiming them is not yet supported. Link made no changes.`,
750
+ hint: 'Re-run `hs-x link` so the preflight and the pairing cover the same owners.',
751
+ });
752
+ }
657
753
  let rewrittenKeyCount = 0;
658
754
  for (const ownerId of approvedOwnerIds) {
659
755
  rewrittenKeyCount += (await rewriteTenantOwnerPrefix({ kv, from: ownerId, to: targetOwnerId }))
@@ -706,6 +802,10 @@ async function linkViaDashboard(input) {
706
802
  rewrittenKeyCount,
707
803
  backfilledDeployCount: backfill.recorded,
708
804
  pairingId: approved.pairingId,
805
+ preflight: approvedOwnerIds.flatMap((ownerId) => {
806
+ const plan = ownerPlans.get(ownerId);
807
+ return plan ? [plan] : [];
808
+ }),
709
809
  ...(notifyError ? { notifyWarning: notifyError } : {}),
710
810
  ...(project.warning ? { projectWarning: project.warning } : {}),
711
811
  ...(backfill.warning ? { backfillWarning: backfill.warning } : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"link.js","sourceRoot":"","sources":["../../src/commands/link.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EACL,eAAe,EACf,SAAS,EACT,UAAU,EACV,UAAU,EACV,SAAS,GACV,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAC7F,OAAO,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,YAAY,EAA2B,MAAM,8BAA8B,CAAC;AACrF,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,+EAA+E;AAC/E,uEAAuE;AACvE,+EAA+E;AAC/E,2EAA2E;AAC3E,gFAAgF;AAChF,4EAA4E;AAC5E,0EAA0E;AAC1E,EAAE;AACF,2EAA2E;AAC3E,wEAAwE;AACxE,8EAA8E;AAC9E,uDAAuD;AACvD,8EAA8E;AAE9E,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CACjC,MAAM,EACN,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,EAAE,SAAS,EAAE,EAChF,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAClE,CAAC;AAkBF,SAAS,QAAQ,CAAC,IAAc;IAC9B,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QACzB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC;QACvB,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,cAAc,CAAC;QACzC,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC;QACjC,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;QAE1D,sBAAsB;QACtB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,KAAK,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE;gBAC3C,IAAI,EAAE,qBAAqB;gBAC3B,OAAO,EAAE,iDAAiD;gBAC1D,IAAI,EAAE,kGAAkG;aACzG,CAAC,CAAC;QACL,CAAC;QAED,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAC9D,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,EACtB,MAAM,CAAC,KAAK,CACb,CAAC;QACF,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,IAAI,SAAS,CAAC,CAAC;QAEvF,yEAAyE;QACzE,IAAI,OAAO,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,wEAAwE;YACxE,wEAAwE;YACxE,sEAAsE;YACtE,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAClG,MAAM,gBAAgB,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;YAC1C,MAAM,cAAc,GAAG,SAAS,IAAI,gBAAgB,CAAC;YACrD,qEAAqE;YACrE,oEAAoE;YACpE,sDAAsD;YACtD,IAAI,WAAW,KAAK,SAAS,IAAI,CAAC,cAAc,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC1F,OAAO,KAAK,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE;oBAC3C,IAAI,EAAE,uBAAuB;oBAC7B,OAAO,EAAE,2EAA2E;oBACpF,IAAI,EAAE,+FAA+F;iBACtG,CAAC,CAAC;YACL,CAAC;YACD,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;gBAC3C,GAAG,EAAE,KAAK,IAAI,EAAE;oBACd,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;oBACtE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,MAAM,sBAAsB,CAAC;wBAC7D,IAAI,EAAE,CAAC,MAAM,CAAC;wBACd,IAAI,EAAE,WAAW;qBAClB,CAAC,CAAC;oBACH,MAAM,WAAW,GAAG,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC;wBACpD,CAAC,CAAC,cAAc;wBAChB,CAAC,CAAC,QAAQ,cAAc,EAAE,CAAC;oBAC7B,IAAI,YAAY,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;wBACzC,MAAM,6BAA6B,CAAC;4BAClC,IAAI,EAAE,WAAW;4BACjB,OAAO,EAAE,WAAW;yBACrB,CAAC,CAAC;oBACL,CAAC;oBACD,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC;wBACpC,IAAI,EAAE,EAAE;wBACR,IAAI,EAAE,WAAW;wBACjB,SAAS,EAAE,cAAc;qBAC1B,CAAC,CAAC;oBACH,MAAM,SAAS,CACb,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,cAAc,CAAC,EAC1C,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAC5F,CAAC;oBACF,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;gBACvD,CAAC;gBACD,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACf,QAAQ,CACN,qBAAqB,EACrB,mCAAmC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC5F;aACJ,CAAC,CAAC;YACH,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,KAAK,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE;oBACzB,EAAE,EAAE,IAAI;oBACR,OAAO,EAAE,MAAM;oBACf,IAAI,EAAE,OAAO;oBACb,SAAS,EAAE,cAAc;oBACzB,SAAS,EAAE,WAAW,CAAC,SAAS;oBAChC,OAAO,EAAE,WAAW,CAAC,WAAW;iBACjC,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,gCAAgC,cAAc,WAAW,WAAW,CAAC,WAAW,IAAI,CAAC,CAAC;YAC3G,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,WAAW,CAAC,SAAS,eAAe,CAAC,CAAC;YACvE,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC/B,OAAO;QACT,CAAC;QACD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,sEAAsE;YACtE,iEAAiE;YACjE,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CACxC,gBAAgB,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CACpH,CAAC;YACF,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CACvB,QAAQ,CAAC,qBAAqB,EAAE,2BAA2B,EAAE;oBAC3D,MAAM,EAAE,IAAI;oBACZ,QAAQ,EAAE,MAAM,CAAC,QAAQ;iBAC1B,CAAC,CACH,CAAC;YACJ,CAAC;YACD,OAAO;QACT,CAAC;QAED,yEAAyE;QACzE,sEAAsE;QACtE,uEAAuE;QACvE,sEAAsE;QACtE,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAClG,IAAI,WAAW,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAClE,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/C,OAAO,KAAK,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE;gBAC3C,IAAI,EAAE,uBAAuB;gBAC7B,OAAO,EAAE,+CAA+C,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,2CAA2C,GAAG;gBACpI,IAAI,EACF,WAAW,CAAC,MAAM,GAAG,CAAC;oBACpB,CAAC,CAAC,2BAA2B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC,CAAC,4CAA4C,wEAAwE;oBAChO,CAAC,CAAC,0DAA0D;aACjE,CAAC,CAAC;QACL,CAAC;QAED,8DAA8D;QAC9D,MAAM,aAAa,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,SAAS,EAAE,CAAC;QACtF,IAAI,OAAO,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC;YACtC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,KAAK,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE;oBACzB,EAAE,EAAE,IAAI;oBACR,OAAO,EAAE,MAAM;oBACf,IAAI,EAAE,MAAM;oBACZ,SAAS;oBACT,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;iBACjD,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,qBAAqB,SAAS,WAAW,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC;YACnF,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAClC,OAAO;QACT,CAAC;QAED,yEAAyE;QACzE,qEAAqE;QACrE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1C,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC9D,OAAO,KAAK,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE;gBAC3C,IAAI,EAAE,0BAA0B;gBAChC,OAAO,EAAE,oDAAoD,eAAe,aAAa,OAAO,CAAC,OAAO,YAAY,SAAS,KAAK;gBAClI,IAAI,EAAE,yGAAyG;aAChH,CAAC,CAAC;QACL,CAAC;QAED,yDAAyD;QACzD,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,4BAA4B,EAAE,CAAC;QACvD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,KAAK,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE;gBAC3C,IAAI,EAAE,+BAA+B;gBACrC,OAAO,EAAE,+BAA+B;gBACxC,IAAI,EAAE,+FAA+F;aACtG,CAAC,CAAC;QACL,CAAC;QAED,gDAAgD;QAChD,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YAC/C,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAC3C,aAAa,CAAC;gBACZ,OAAO,EAAE,eAAe,OAAO,CAAC,OAAO,uBAAuB,SAAS,mDAAmD,aAAa,IAAI;gBAC3I,OAAO,EAAE,IAAI;aACd,CAAC,CACH,CAAC;YACF,IAAI,SAAS,KAAK,SAAS,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC1C,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACnC,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CACvB,QAAQ,CAAC,gBAAgB,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CACzE,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QACrE,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,SAAS,CAAC;QACtC,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC;QAC1C,MAAM,aAAa,GAAG,uBAAuB,CAAC;YAC5C,SAAS;YACT,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;YAChD,SAAS;YACT,YAAY,EAAE,OAAO,CAAC,OAAO;YAC7B,UAAU,EAAE,aAAa;SAC1B,CAAC,CAAC;QAEH,MAAM,eAAe,GAAG,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;QACtE,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,iBAAiB,CAAC;YAC9C,eAAe;YACf,SAAS;YACT,OAAO,EAAE,aAAa;YACtB,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QACH,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO,KAAK,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE;gBAC3C,IAAI,EAAE,qBAAqB;gBAC3B,OAAO,EAAE,uCAAuC;gBAChD,IAAI,EAAE,cAAc;aACrB,CAAC,CAAC;QACL,CAAC;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC,IAAI,CACtE,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,EACtB,MAAM,CAAC,KAAK,CACb,CAAC;QACF,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,YAAY,CAAC;QAClC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;YAC/B,SAAS,EAAE,OAAO,CAAC,mBAAmB;YACtC,QAAQ;YACR,WAAW,EAAE,OAAO,CAAC,kBAAkB;YACvC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChC,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,2BAA2B,CAAC;YACnD,MAAM;YACN,IAAI,EAAE,OAAO,CAAC,OAAO;YACrB,EAAE,EAAE,aAAa;SAClB,CAAC,CAAC;QAEH,4BAA4B;QAC5B,KAAK,CAAC,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;QAErF,oDAAoD;QACpD,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,iBAAiB,CAAC;YAC3C,eAAe;YACf,SAAS;YACT,OAAO,EAAE,aAAa;SACvB,CAAC,CAAC;QAEH,0EAA0E;QAC1E,wEAAwE;QACxE,gDAAgD;QAChD,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAC1C,qBAAqB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CACnF,CAAC;QAEF,MAAM,MAAM,GAAG;YACb,EAAE,EAAE,IAAI;YACR,OAAO,EAAE,MAAM;YACf,SAAS;YACT,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;YAChD,YAAY,EAAE,OAAO,CAAC,OAAO;YAC7B,UAAU,EAAE,aAAa;YACzB,iBAAiB,EAAE,SAAS,CAAC,MAAM;YACnC,qBAAqB,EAAE,QAAQ,CAAC,QAAQ;YACxC,SAAS;YACT,SAAS;YACT,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnE,CAAC;QAEF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,KAAK,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACnC,OAAO;QACT,CAAC;QACD,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClC,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,OAAO,CAAC,OAAO,MAAM,aAAa,EAAE,CAAC,CAAC;QACrE,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,uBAAuB,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAC3E,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAClB,WAAW,SAAS,CAAC,MAAM,iBAAiB,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CACjF,CAAC;QACF,IAAI,QAAQ,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;YAC1B,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAClB,cAAc,QAAQ,CAAC,QAAQ,mBAAmB,QAAQ,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,mEAAmE,CACxJ,CAAC;QACJ,CAAC;QACD,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACrB,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAClB,6CAA6C,QAAQ,CAAC,OAAO,qDAAqD,CACnH,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAClB,iFAAiF,CAClF,CAAC;QACF,IAAI,WAAW,EAAE,CAAC;YAChB,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAClB,kCAAkC,WAAW,wFAAwF,CACtI,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,2EAA2E;AAC3E,SAAS,SAAS,CAChB,QAAuD,EACvD,KAAc;IAEd,OAAO,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AAC7D,CAAC;AAED,yFAAyF;AACzF,SAAS,SAAS,CAChB,IAAa,EACb,QAAuD,EACvD,KAAiF;IAEjF,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QACzB,IAAI,IAAI,EAAE,CAAC;YACT,KAAK,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE;gBACzB,EAAE,EAAE,KAAK;gBACT,OAAO,EAAE,MAAM;gBACf,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE;aACtE,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACvE,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CACvB,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CACpE,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,4EAA4E;AAC5E,SAAS,4BAA4B;IACnC,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QACzB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;YAC5B,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAChF,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;SAC1E,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtB,OAAO,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,KAAK,IAAI,SAAS,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,KAK1B;IACC,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QACzB,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,kBAAkB,CAAC;QAC/C,MAAM,IAAI,GAAG,gBAAgB,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,eAC9D,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EACrC,EAAE,CAAC;QACH,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,YAAY;aAC/B,KAAK,CAAC;YACL,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,IAAI;YACJ,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,KAAK,CAAC,OAAO;SACpB,CAAC;aACD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACvB,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;QACvD,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC;QAC9B,IAAI,QAAQ,CAAC,EAAE;YAAE,OAAO,SAAS,CAAC;QAClC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1E,OAAO,0BAA0B,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAC7F,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,SAAS,2BAA2B,CAAC,KAIpC;IACC,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QACzB,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;QACzB,MAAM,UAAU,GAAG,UAAU,KAAK,CAAC,IAAI,GAAG,CAAC;QAC3C,MAAM,QAAQ,GAAG,UAAU,KAAK,CAAC,EAAE,GAAG,CAAC;QACvC,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAErC,MAAM,SAAS,GAAyC,EAAE,CAAC;QAC3D,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACzC,IAAI,KAAK,KAAK,SAAS;gBAAE,SAAS;YAClC,MAAM,KAAK,GAAG,GAAG,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YAC3E,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACrC,CAAC;QACD,mDAAmD;QACnD,KAAK,MAAM,EAAE,OAAO,EAAE,IAAI,SAAS,EAAE,CAAC;YACpC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa,EAAE,IAAY,EAAE,EAAU;IAClE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAY,CAAC;QAC5C,IACE,OAAO,MAAM,KAAK,QAAQ;YAC1B,MAAM,KAAK,IAAI;YACf,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YACrB,MAAgC,CAAC,OAAO,KAAK,IAAI,EAClD,CAAC;YACD,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,oCAAoC;IACtC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,gFAAgF;AAEhF;;;;GAIG;AACH,KAAK,UAAU,mBAAmB,CAAC,IAAuB;IACxD,MAAM,KAAK,GAAG,MAAM,SAAS,EAAE,CAAC;IAChC,MAAM,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC;IACxD,IAAI,CAAC,YAAY;QAAE,OAAO,SAAS,CAAC;IACpC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,cAAc,CACnC,iBAAiB,CAAC,GAAG,CACnB,IAAI,GAAG,CAAC,uBAAuB,EAAE,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAC/D,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,YAAY,EAAE,CAAC,CAAC,CAC/E,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,OAAO,SAAS,CAAC;QACnC,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA4C,CAAC;QAChF,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;aACzB,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;aACnC,MAAM,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,KAK7B;IACC,MAAM,KAAK,GAAG,MAAM,SAAS,EAAE,CAAC;IAChC,MAAM,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC;IACxD,IAAI,CAAC,YAAY;QAAE,OAAO,mBAAmB,CAAC;IAC9C,MAAM,GAAG,GAAG,IAAI,GAAG,CACjB,gBAAgB,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,EACjE,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,CACnC,CAAC;IACF,IAAI,KAAK,CAAC,SAAS;QAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAC5D,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,cAAc,CACnC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAC9B,iBAAiB,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,YAAY,EAAE,CAAC,EACtE,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC,CAC9E,CACF,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YACnD,OAAO,0BAA0B,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC7F,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAChE,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,qBAAqB,CAAC,KAKpC;IACC,MAAM,KAAK,GAAG,MAAM,SAAS,EAAE,CAAC;IAChC,MAAM,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC;IACxD,IAAI,CAAC,YAAY;QAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;IACrF,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,oBAAoB,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACvF,IAAI,CAAC,WAAW;YAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC;QACxF,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;QAC/D,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,mBAAmB,GAAG,CAAC,CAAC;QAC5B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;YACxE,MAAM,OAAO,GAAG,OAAO;iBACpB,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,UAAU,CAAC;iBAChD,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBAChB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,UAAU,EAAE,MAAM,CAAC,SAAS;aAC7B,CAAC,CAAC,CAAC;YACN,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YACnC,mBAAmB,IAAI,CAAC,CAAC;YACzB,gEAAgE;YAChE,6DAA6D;YAC7D,MAAM,cAAc,CAClB,iBAAiB,CAAC,IAAI,CACpB,IAAI,GAAG,CAAC,gBAAgB,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,eAAe,CAAC,CAC/F,CAAC,IAAI,CACJ,iBAAiB,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,YAAY,EAAE,CAAC,EACtE,iBAAiB,CAAC,QAAQ,CACxB,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,EACrD,kBAAkB,CACnB,CACF,CACF,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACzB,MAAM,QAAQ,GAAG,MAAM,cAAc,CACnC,iBAAiB,CAAC,IAAI,CACpB,IAAI,GAAG,CAAC,gBAAgB,kBAAkB,CAAC,SAAS,CAAC,mBAAmB,EAAE,KAAK,CAAC,eAAe,CAAC,CACjG,CAAC,IAAI,CACJ,iBAAiB,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,YAAY,EAAE,CAAC,EACtE,iBAAiB,CAAC,QAAQ,CACxB,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAChE,kBAAkB,CACnB,CACF,CACF,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;gBACnD,OAAO;oBACL,QAAQ;oBACR,QAAQ,EAAE,mBAAmB;oBAC7B,OAAO,EAAE,uBAAuB,SAAS,aAAa,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;iBAChH,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAqC,CAAC;YACzE,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IACrD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,CAAC;YACX,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAChE,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,KAIrC;IACC,MAAM,WAAW,GAAG,MAAM,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3D,MAAM,SAAS,GAAG,WAAW;SAC1B,WAAW,EAAE;SACb,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC;SAC5B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAChB,MAAM,KAAK,GAAG,MAAM,SAAS,EAAE,CAAC;IAChC,MAAM,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC;IACxD,IAAI,CAAC,YAAY;QAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;IACtE,MAAM,GAAG,GAAG,IAAI,GAAG,CACjB,gBAAgB,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,EAC9D,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,CACnC,CAAC;IACF,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,cAAc,CACnC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAC9B,iBAAiB,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,YAAY,EAAE,CAAC,EACtE,iBAAiB,CAAC,QAAQ,CACxB,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,EACvD,kBAAkB,CACnB,CACF,CACF,CAAC;QACF,uEAAuE;QACvE,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5C,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YACnD,OAAO;gBACL,SAAS;gBACT,OAAO,EAAE,iCAAiC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;aACpG,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,SAAS,EAAE,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IACxF,CAAC;AACH,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,IAAY;IAC9C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CACzB,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,eAAe,CAAC,EAAE,MAAM,CAAC,CAC1B,CAAC;QACrC,IAAI,QAAQ,CAAC,OAAO,EAAE,IAAI;YAAE,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3D,CAAC;IAAC,MAAM,CAAC;QACP,eAAe;IACjB,CAAC;IACD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,MAAM,CAAC,CAAC;QAChE,MAAM,KAAK,GAAG,gCAAgC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzD,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,eAAe;IACjB,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,KAK/B;IACC,MAAM,QAAQ,GAAG,cAAc,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACvE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChD,yEAAyE;QACzE,wEAAwE;QACxE,mEAAmE;QACnE,uEAAuE;QACvE,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACrE,MAAM,WAAW,GAAG,MAAM,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1D,IAAI,WAAW,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC5C,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC;gBACpC,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,SAAS,EAAE,gBAAgB;aAC5B,CAAC,CAAC;YACH,IAAI,CAAC;gBACH,MAAM,SAAS,CACb,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,cAAc,CAAC,EACzC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAC9F,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,WAAW;YACb,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,IAAI,CAAC,SAAS,CACf;oBACE,EAAE,EAAE,IAAI;oBACR,OAAO,EAAE,MAAM;oBACf,IAAI,EAAE,YAAY;oBAClB,SAAS,EAAE,gBAAgB;oBAC3B,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;oBAC9B,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAChE,EACD,IAAI,EACJ,CAAC,CACF,IAAI,CACN,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,IAAI,CAAC,qBAAqB,gBAAgB,WAAW,KAAK,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC;gBACzF,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBACpB,QAAQ,CAAC,IAAI,CAAC,yBAAyB,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC5D,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,SAAS,eAAe,CAAC,CAAC;gBAC9D,CAAC;gBACD,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC9B,CAAC;YACD,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QACzB,CAAC;QACD,OAAO,WAAW,CAAC;YACjB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,0BAA0B;YAChC,OAAO,EAAE,oDAAoD,gBAAgB,aAAa,KAAK,CAAC,OAAO,CAAC,OAAO,2CAA2C;YAC1J,IAAI,EAAE,6FAA6F;SACpG,CAAC,CAAC;IACL,CAAC;IACD,MAAM,EAAE,QAAQ,EAAE,GAAG,4BAA4B,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,WAAW,CAAC;YACjB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,+BAA+B;YACrC,OAAO,EAAE,+BAA+B;YACxC,IAAI,EAAE,+FAA+F;SACtG,CAAC,CAAC;IACL,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,YAAY,EAAE,CAAC;IACvC,MAAM,WAAW,GAAG,MAAM,oBAAoB,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACvF,MAAM,QAAQ,GAAG,WAAW;QAC1B,CAAC,CAAC,CAAC,MAAM,WAAW,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC/F,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5B,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC;QACtC,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,SAAS;QACT,mBAAmB,EAAE,KAAK,CAAC,OAAO,CAAC,mBAAmB;QACtD,QAAQ,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;KACnE,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,gBAAgB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC5D,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAChB,QAAQ,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACnC,QAAQ,CAAC,IAAI,CAAC,YAAY,SAAS,EAAE,CAAC,CAAC;QACvC,QAAQ,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChE,QAAQ,CAAC,IAAI,CAAC,SAAS,YAAY,EAAE,CAAC,CAAC;QACvC,0EAA0E;QAC1E,gEAAgE;QAChE,IAAI,aAAa,EAAE;YAAE,MAAM,aAAa,CAAC,YAAY,CAAC,CAAC;QACvD,QAAQ,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,QAA6D,CAAC;IAClE,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,eAAe,CAAC;YAC/B,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS;SACrC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,WAAW,CAAC;YACjB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,oCAAoC;YAC7C,IAAI,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC7D,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QAC1D,OAAO,WAAW,CAAC;YACjB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,oCAAoC;YAC7C,IAAI,EAAE,QAAQ,YAAY,gDAAgD;SAC3E,CAAC,CAAC;IACL,CAAC;IACD,MAAM,aAAa,GAAG,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC;QAC1D,CAAC,CAAC,QAAQ,CAAC,SAAS;QACpB,CAAC,CAAC,QAAQ,QAAQ,CAAC,SAAS,EAAE,CAAC;IACjC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC;IACxD,MAAM,EAAE,GAAG,wBAAwB,CAAC;QAClC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,mBAAmB;QAC5C,QAAQ;QACR,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,kBAAkB;QAC7C,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChC,CAAC,CAAC;IACH,MAAM,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,EAAE,MAAM;QACxD,CAAC,CAAC,QAAQ,CAAC,gBAAgB;QAC3B,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5B,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE,CAAC;QACvC,iBAAiB,IAAI,CAAC,MAAM,wBAAwB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;aAC5F,MAAM,CAAC;IACZ,CAAC;IACD,IAAI,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACrD,MAAM,6BAA6B,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;IACpF,CAAC;IACD,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAClE,MAAM,aAAa,GAAG,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACxE,SAAS;QACT,mBAAmB,EAAE,KAAK,CAAC,OAAO,CAAC,mBAAmB;QACtD,SAAS;QACT,aAAa,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YACrD,YAAY;YACZ,UAAU,EAAE,aAAa;SAC1B,CAAC,CAAC;KACJ,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC;QACvC,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,OAAO,EAAE,aAAa;KACvB,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC;QACpC,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,SAAS,EAAE,QAAQ,CAAC,SAAS;KAC9B,CAAC,CAAC;IACH,0EAA0E;IAC1E,IAAI,CAAC;QACH,MAAM,SAAS,CACb,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,cAAc,CAAC,EACzC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAChG,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,WAAW;IACb,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC;QAC3C,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,eAAe,EAAE,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC;KACpD,CAAC,CAAC;IACH,MAAM,MAAM,GAAG;QACb,EAAE,EAAE,IAAI;QACR,OAAO,EAAE,MAAM;QACf,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,aAAa,EAAE,gBAAgB;QAC/B,UAAU,EAAE,aAAa;QACzB,iBAAiB;QACjB,qBAAqB,EAAE,QAAQ,CAAC,QAAQ;QACxC,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACnE,CAAC;IACF,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,IAAI,CAAC,UAAU,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,aAAa,EAAE,CAAC,CAAC;QAC1E,QAAQ,CAAC,IAAI,CACX,WAAW,iBAAiB,iBAAiB,iBAAiB,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CACnF,CAAC;QACF,IAAI,QAAQ,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;YAC1B,QAAQ,CAAC,IAAI,CACX,cAAc,QAAQ,CAAC,QAAQ,mBAAmB,QAAQ,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,sBAAsB,CAC3G,CAAC;QACJ,CAAC;QACD,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACrB,QAAQ,CAAC,IAAI,CAAC,uCAAuC,QAAQ,CAAC,OAAO,mCAAmC,CAAC,CAAC;QAC5G,CAAC;QACD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,QAAQ,CAAC,IAAI,CAAC,yBAAyB,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,SAAS,eAAe,CAAC,CAAC;QAC9D,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;AACzB,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,KAKhC;IACC,MAAM,KAAK,GAAG,MAAM,SAAS,EAAE,CAAC;IAChC,MAAM,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC;IACxD,IAAI,CAAC,YAAY;QAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACxD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7E,MAAM,OAAO,GAAG,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;QAC9E,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;QAC9C,QAAQ,EAAE,KAAK,CAAC,QAAQ;KACzB,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,MAAM,cAAc,CACnC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAC9B,iBAAiB,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,YAAY,EAAE,CAAC,EACtE,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC,CACxE,CACF,CAAC;IACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACb,0BAA0B,QAAQ,CAAC,MAAM,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CACtF,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;AACjG,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,KAG9B;IACC,MAAM,KAAK,GAAG,MAAM,SAAS,EAAE,CAAC;IAChC,MAAM,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC;IACxD,IAAI,CAAC,YAAY;QAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACxD,MAAM,GAAG,GAAG,IAAI,GAAG,CACjB,qBAAqB,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAC1D,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,CACnC,CAAC;IACF,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,GAAG,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;QAClD,MAAM,QAAQ,GAAG,MAAM,cAAc,CACnC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAC7B,iBAAiB,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,YAAY,EAAE,CAAC,CACvE,CACF,CAAC;QACF,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;YAChB,MAAM,IAAI,GAAG,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,4BAA4B,CAAC,CACzE,MAAM,QAAQ,CAAC,IAAI,EAAE,CACtB,CAAC;YACF,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAC,OAAO,CAAC;QAC7D,CAAC;QACD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY;IACpC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,sBAAsB,CAAC;IACrE,OAAO,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;AACxC,CAAC;AAED,SAAS,uBAAuB,CAAC,KAMhC;IACC,OAAO,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACzD,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;QAC9C,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,aAAa,EAAE,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;KACpF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,WAAW,CAAC,KAMpB;IACC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,IAAI,CAAC,SAAS,CACf;YACE,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE;SACtE,EACD,IAAI,EACJ,CAAC,CACF,IAAI,CACN,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,QAAQ,GAAG,cAAc,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACvE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"link.js","sourceRoot":"","sources":["../../src/commands/link.ts"],"names":[],"mappings":"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"}
@@ -3,13 +3,13 @@ import { Option } from 'effect';
3
3
  import { type CliError } from '../cli-error.js';
4
4
  import { AccountStore } from '../services/account-store.js';
5
5
  import { CliHttp } from '../services/http.js';
6
- export declare const loginCmd: Command.Command<"login", CliHttp | AccountStore, CliError, {
6
+ export declare const loginCmd: Command.Command<"login", AccountStore | CliHttp, CliError, {
7
7
  readonly json: boolean;
8
8
  readonly account: Option.Option<string>;
9
9
  readonly token: Option.Option<string>;
10
10
  readonly controlPlaneUrl: Option.Option<string>;
11
11
  }>;
12
- export declare const logoutCmd: Command.Command<"logout", CliHttp | AccountStore, CliError, {
12
+ export declare const logoutCmd: Command.Command<"logout", AccountStore | CliHttp, CliError, {
13
13
  readonly json: boolean;
14
14
  readonly controlPlaneUrl: Option.Option<string>;
15
15
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC;AAG/C,OAAO,EAAiB,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE/C,OAAO,EAAE,KAAK,QAAQ,EAAsB,MAAM,iBAAiB,CAAC;AAKpE,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAmB,MAAM,qBAAqB,CAAC;AAqQ/D,eAAO,MAAM,QAAQ;;;;;EAmBpB,CAAC;AAEF,eAAO,MAAM,SAAS;;;EAIrB,CAAC"}
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC;AAG/C,OAAO,EAAiB,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE/C,OAAO,EAAE,KAAK,QAAQ,EAAsB,MAAM,iBAAiB,CAAC;AAKpE,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAmB,MAAM,qBAAqB,CAAC;AA2R/D,eAAO,MAAM,QAAQ;;;;;EAmBpB,CAAC;AAEF,eAAO,MAAM,SAAS;;;EAIrB,CAAC"}