@detergent-software/conductor 3.0.0-dev.2 → 3.0.0-dev.21

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 (137) hide show
  1. package/CHANGELOG.md +169 -0
  2. package/README.md +158 -45
  3. package/build/brief-cli.js +1 -1
  4. package/build/brief-cli.js.map +1 -1
  5. package/build/broker-cli.js +24 -25
  6. package/build/broker-cli.js.map +1 -1
  7. package/build/broker.js +66 -92
  8. package/build/broker.js.map +1 -1
  9. package/build/claude.js +50 -7
  10. package/build/claude.js.map +1 -1
  11. package/build/cli.js +119 -54
  12. package/build/cli.js.map +1 -1
  13. package/build/clones.js +92 -0
  14. package/build/clones.js.map +1 -0
  15. package/build/code-host-cli.js +101 -26
  16. package/build/code-host-cli.js.map +1 -1
  17. package/build/code-host.js +13 -8
  18. package/build/code-host.js.map +1 -1
  19. package/build/config.js +31 -12
  20. package/build/config.js.map +1 -1
  21. package/build/console.js +40 -24
  22. package/build/console.js.map +1 -1
  23. package/build/credentials.js +26 -24
  24. package/build/credentials.js.map +1 -1
  25. package/build/daemon.js +35 -21
  26. package/build/daemon.js.map +1 -1
  27. package/build/help.js +141 -30
  28. package/build/help.js.map +1 -1
  29. package/build/host/credential-manager.js +109 -0
  30. package/build/host/credential-manager.js.map +1 -0
  31. package/build/host/keychain.js +44 -0
  32. package/build/host/keychain.js.map +1 -0
  33. package/build/host/libsecret.js +40 -0
  34. package/build/host/libsecret.js.map +1 -0
  35. package/build/host/macos-terminal.js +63 -0
  36. package/build/host/macos-terminal.js.map +1 -0
  37. package/build/host/platform.js +4 -0
  38. package/build/host/platform.js.map +1 -0
  39. package/build/host/secrets.js +46 -0
  40. package/build/host/secrets.js.map +1 -0
  41. package/build/host/shell.js +26 -0
  42. package/build/host/shell.js.map +1 -0
  43. package/build/host/terminal.js +46 -0
  44. package/build/host/terminal.js.map +1 -0
  45. package/build/host/tmux.js +39 -0
  46. package/build/host/tmux.js.map +1 -0
  47. package/build/host/windows-terminal.js +46 -0
  48. package/build/host/windows-terminal.js.map +1 -0
  49. package/build/in-process.js +6 -5
  50. package/build/in-process.js.map +1 -1
  51. package/build/inbox.js +50 -5
  52. package/build/inbox.js.map +1 -1
  53. package/build/init.js +508 -0
  54. package/build/init.js.map +1 -0
  55. package/build/lib/providers/ado/pipelines.js +102 -17
  56. package/build/lib/providers/ado/pipelines.js.map +1 -1
  57. package/build/lib/providers/ado/trigger.js +5 -0
  58. package/build/lib/providers/ado/trigger.js.map +1 -1
  59. package/build/lib/providers/github/actions.js +85 -2
  60. package/build/lib/providers/github/actions.js.map +1 -1
  61. package/build/lib/providers/index.js +3 -2
  62. package/build/lib/providers/index.js.map +1 -1
  63. package/build/lib/providers/npm/stage.js +14 -4
  64. package/build/lib/providers/npm/stage.js.map +1 -1
  65. package/build/lib/providers/timing.js +10 -0
  66. package/build/lib/providers/timing.js.map +1 -0
  67. package/build/lib/providers/verdicts/runs.js +12 -2
  68. package/build/lib/providers/verdicts/runs.js.map +1 -1
  69. package/build/local-files.js +95 -0
  70. package/build/local-files.js.map +1 -0
  71. package/build/manager.js +171 -47
  72. package/build/manager.js.map +1 -1
  73. package/build/note.js +1 -1
  74. package/build/note.js.map +1 -1
  75. package/build/npm-reads.js +323 -0
  76. package/build/npm-reads.js.map +1 -0
  77. package/build/paths.js +44 -1
  78. package/build/paths.js.map +1 -1
  79. package/build/plugin.js +10 -0
  80. package/build/plugin.js.map +1 -1
  81. package/build/profile-fields.js +149 -0
  82. package/build/profile-fields.js.map +1 -0
  83. package/build/profile-layers.js +264 -0
  84. package/build/profile-layers.js.map +1 -0
  85. package/build/profile.js +60 -38
  86. package/build/profile.js.map +1 -1
  87. package/build/project-check-cli.js +18 -10
  88. package/build/project-check-cli.js.map +1 -1
  89. package/build/project-check.js +179 -97
  90. package/build/project-check.js.map +1 -1
  91. package/build/pushover.js +5 -5
  92. package/build/pushover.js.map +1 -1
  93. package/build/registry.js +195 -36
  94. package/build/registry.js.map +1 -1
  95. package/build/rule-actions.js +3 -1
  96. package/build/rule-actions.js.map +1 -1
  97. package/build/rules-service.js +101 -44
  98. package/build/rules-service.js.map +1 -1
  99. package/build/rules.js +11 -2
  100. package/build/rules.js.map +1 -1
  101. package/build/runs.js +88 -14
  102. package/build/runs.js.map +1 -1
  103. package/build/scheduler.js +11 -1
  104. package/build/scheduler.js.map +1 -1
  105. package/build/server.js +4 -25
  106. package/build/server.js.map +1 -1
  107. package/build/spend.js +4 -0
  108. package/build/spend.js.map +1 -1
  109. package/build/store.js +82 -25
  110. package/build/store.js.map +1 -1
  111. package/build/timeline.js +104 -0
  112. package/build/timeline.js.map +1 -0
  113. package/build/tracker-reads-cli.js +4 -5
  114. package/build/tracker-reads-cli.js.map +1 -1
  115. package/build/train-cli.js +6 -5
  116. package/build/train-cli.js.map +1 -1
  117. package/build/upgrade.js +16 -1
  118. package/build/upgrade.js.map +1 -1
  119. package/build/wait.js +6 -6
  120. package/build/wait.js.map +1 -1
  121. package/build/watchers/ado.js +3 -2
  122. package/build/watchers/ado.js.map +1 -1
  123. package/build/watchers/github.js +3 -2
  124. package/build/watchers/github.js.map +1 -1
  125. package/build/watchers/npm.js +6 -4
  126. package/build/watchers/npm.js.map +1 -1
  127. package/build/worktrees.js +199 -92
  128. package/build/worktrees.js.map +1 -1
  129. package/package.json +61 -61
  130. package/plugin/skills/conductor-console/SKILL.md +3 -3
  131. package/plugin/skills/work-item/SKILL.md +8 -6
  132. package/build/checkout-sync.js +0 -249
  133. package/build/checkout-sync.js.map +0 -1
  134. package/build/credential.js +0 -66
  135. package/build/credential.js.map +0 -1
  136. package/build/tab.js +0 -32
  137. package/build/tab.js.map +0 -1
@@ -10,11 +10,13 @@ import { LoginNeeded, providerCredentials, PROVIDERS } from "./credentials.js";
10
10
  import { ConductorError, LOGIN_NEEDED_EXIT } from "./errors.js";
11
11
  import { followUpOf } from "./follow-ups.js";
12
12
  import { landPr } from "./landing.js";
13
- import { githubRepoRef } from "./lib/providers/index.js";
13
+ import { githubRepoRef, heldBack } from "./lib/providers/index.js";
14
14
  import { branchName, itemKey, landingMode } from "./ownership.js";
15
- import { PROFILE_FILE, readProfile, trackerKey } from "./profile.js";
15
+ import { profileHere } from "./profile-layers.js";
16
+ import { trackerKey } from "./profile.js";
16
17
  import { outputOf } from "./run.js";
17
- import { ciRefusal, failedLogs, gitMergeFacts, gitReader, hostMergeFacts, isOwnRepo, mergeRuns, NO_GIT, releaseStages, requeueHint, requeueRun, } from "./runs.js";
18
+ import { batchedBehind, ciRefusal, failedLogs, gitMergeFacts, gitReader, grepLogs, hostMergeFacts, isOwnRepo, mergeRuns, NO_GIT, releaseStages, requeueHint, requeueRun, } from "./runs.js";
19
+ import { MAX_RUNS, pipelineTimelines, runTimeline } from "./timeline.js";
18
20
  import {} from "./tracker-writes.js";
19
21
  import { trackerWrites } from "./trackers.js";
20
22
  import { daemonWorker, gitToplevel } from "./wait.js";
@@ -52,9 +54,9 @@ const openedBody = z.looseObject({
52
54
  const filedBody = z.looseObject({ key: z.string(), url: z.string().nullable(), warnings: z.array(z.string()) });
53
55
  const requeuedBody = z.looseObject({ pipeline: z.string(), run: z.number(), sha: z.string() });
54
56
  // `conduct branch <type> <slug> [--item KEY-n]`: worktree-KEY-n becomes <type>/key-n-<slug>.
55
- export async function branchCommand(type, slug, { item }, io) {
57
+ export async function branchCommand(paths, type, slug, { item }, io) {
56
58
  return verb(io, async () => {
57
- const { checkout, git, profile } = await here(io);
59
+ const { checkout, git, profile } = await here(paths, io);
58
60
  const from = await branchOf(git, checkout);
59
61
  const key = await itemFor(checkout, profile, git, item);
60
62
  const next = branchName(type, slug, key);
@@ -79,9 +81,9 @@ export async function branchCommand(type, slug, { item }, io) {
79
81
  // `conduct checkout <owner>/<repo> <type> <slug> [--item KEY-n]`: another GitHub repo cloned into
80
82
  // .scratch/repos/<repo> on <type>/key-n-<slug> from its default branch, with no upstream until the
81
83
  // first push. Again on an existing checkout, it says where it is and changes nothing.
82
- export async function checkoutCommand(name, type, slug, { item }, io) {
84
+ export async function checkoutCommand(paths, name, type, slug, { item }, io) {
83
85
  return verb(io, async () => {
84
- const { checkout, git, profile } = await here(io);
86
+ const { checkout, git, profile } = await here(paths, io);
85
87
  const repo = githubRepoRef(name.replace(/^github:/, ''));
86
88
  if (!repo)
87
89
  throw new ConductorError(`conduct checkout takes a GitHub repo as <owner>/<repo>, not "${name}"`);
@@ -129,7 +131,7 @@ export async function checkoutCommand(name, type, slug, { item }, io) {
129
131
  // for a duplicate first.
130
132
  export async function fileCommand(paths, options, io) {
131
133
  return verb(io, async () => {
132
- const { checkout, git, profile } = await here(io);
134
+ const { checkout, git, profile } = await here(paths, io);
133
135
  const item = await itemFor(checkout, profile, git, options.item);
134
136
  const { bodyFile, item: _item, ...fields } = options;
135
137
  // The item goes with the request, so the daemon refuses one that isn't its worker's.
@@ -169,7 +171,7 @@ export async function itemFor(checkout, profile, git, item) {
169
171
  // watchers keep it armed; else here, with --tier for the landing rules.
170
172
  export async function landCommand(paths, options, io) {
171
173
  return verb(io, async () => {
172
- const { checkout, git, profile } = await here(io);
174
+ const { checkout, git, profile } = await here(paths, io);
173
175
  const item = await itemFor(checkout, profile, git, options.item);
174
176
  const request = {
175
177
  pr: options.pr,
@@ -200,9 +202,9 @@ export async function landCommand(paths, options, io) {
200
202
  // `conduct mode --tier S|M|L --files a,b`: the landing mode a plan states before its PR exists, by
201
203
  // the rule `conduct land` holds the PR to (landingMode, over the profile's work.landing). A read of
202
204
  // the profile, so it runs here.
203
- export async function modeCommand(options, io) {
205
+ export async function modeCommand(paths, options, io) {
204
206
  return verb(io, async () => {
205
- const { profile } = await here(io);
207
+ const { profile } = await here(paths, io);
206
208
  const files = options.files
207
209
  .split(',')
208
210
  .map((f) => f.trim().replace(/\\/g, '/').replace(/^\.\//, ''))
@@ -220,7 +222,7 @@ export async function modeCommand(options, io) {
220
222
  // ownership again and records the PR on the worker, else here.
221
223
  export async function prCreateCommand(paths, options, io) {
222
224
  return verb(io, async () => {
223
- const { checkout, git, profile } = await here(io);
225
+ const { checkout, git, profile } = await here(paths, io);
224
226
  const item = await itemFor(checkout, profile, git, options.item);
225
227
  const target = { git, item, profile, worktree: checkout };
226
228
  const { base, dir, head, repo } = await prTarget(target, { title: options.title, ...repoOption(options.repo) });
@@ -273,7 +275,7 @@ export async function prCreateCommand(paths, options, io) {
273
275
  // it runs here.
274
276
  export async function prThreadsCommand(paths, options, io) {
275
277
  return verb(io, async () => {
276
- const { profile } = await here(io);
278
+ const { profile } = await here(paths, io);
277
279
  const threads = await prThreads(hostsHere(paths, profile, io), profile, {
278
280
  pr: options.pr,
279
281
  ...repoOption(options.repo),
@@ -285,7 +287,7 @@ export async function prThreadsCommand(paths, options, io) {
285
287
  // thread or as a note on the PR, headed as a note (`## <skill> · Reply`) unless it is one.
286
288
  export async function replyCommand(paths, options, io) {
287
289
  return verb(io, async () => {
288
- const { checkout, git, profile } = await here(io);
290
+ const { checkout, git, profile } = await here(paths, io);
289
291
  const item = await itemFor(checkout, profile, git, options.item);
290
292
  const request = {
291
293
  body: readBody(options.bodyFile),
@@ -308,13 +310,22 @@ export async function replyCommand(paths, options, io) {
308
310
  // `conduct runs <sha> [--for a,b] [--repo …]`: one look at a merge's runs on its repo's CI (Azure
309
311
  // Pipelines for the project's ADO repo, GitHub Actions for a GitHub one), the verdict over them, why
310
312
  // each failed one failed, and what each of the project's release runs staged on npm. A read, so it
311
- // runs here. With `--requeue <pipeline>` it is a write instead (requeueRun): the item's merge's
312
- // cancelled run queued again, by the daemon for the worker that owns the checkout, else here.
313
+ // runs here. With `--grep <pattern>` it also gives the lines of the --for pipelines' runs that match,
314
+ // whatever their result. With `--requeue <pipeline>` it is a write instead (requeueRun): the item's
315
+ // merge's cancelled or missing run queued, by the daemon for the worker that owns the checkout, else here.
313
316
  export async function runsCommand(paths, options, io) {
314
317
  return verb(io, async () => {
315
318
  if (!/^[0-9a-f]{7,40}$/i.test(options.sha))
316
319
  throw new ConductorError(`<sha> takes a commit, not "${options.sha}"`);
317
- const { checkout, git, profile } = await here(io);
320
+ // A JavaScript regular expression, case-sensitive like grep.
321
+ const pattern = options.grep === undefined ? null : regexOption('--grep', options.grep);
322
+ if (pattern !== null && options.requeue !== undefined) {
323
+ throw new ConductorError('--requeue queues a run and reads no log: leave --grep out');
324
+ }
325
+ if (pattern !== null && options.for === undefined) {
326
+ throw new ConductorError('--grep reads every task log of a run: name its pipeline with --for');
327
+ }
328
+ const { checkout, git, profile } = await here(paths, io);
318
329
  if (options.requeue !== undefined) {
319
330
  if (options.for !== undefined)
320
331
  throw new ConductorError('--requeue takes one pipeline: leave --for out');
@@ -355,20 +366,22 @@ export async function runsCommand(paths, options, io) {
355
366
  // merge's commit.
356
367
  const dir = repo.host === 'github' ? null : isOwnRepo(profile, repo) ? checkout : checkoutDir(checkout, profile, repo);
357
368
  const facts = dir === null ? hostMergeFacts(await host.commit(options.sha)) : await gitMergeFacts(git, dir, base, options.sha);
369
+ const now = (io.now ?? Date.now)();
358
370
  const report = await mergeRuns({
359
371
  base,
360
372
  ci: host.ci,
361
373
  facts,
362
374
  git: dir === null ? NO_GIT : gitReader(git, dir, base),
363
- now: (io.now ?? Date.now)(),
375
+ now,
364
376
  only,
365
377
  repo,
366
378
  });
367
- const [logs, stages] = await Promise.all([
379
+ const [logs, stages, grep] = await Promise.all([
368
380
  failedLogs(host.ci, report),
369
381
  releaseStages(host.ci, profile, repo, report),
382
+ pattern === null ? null : grepLogs(host.ci, report, pattern).then((runs) => ({ pattern: pattern.source, runs })),
370
383
  ]);
371
- const still = (report.others ?? []).filter((r) => r.state === 'queued' || r.state === 'running');
384
+ const still = (report.others ?? []).filter((r) => r.state === 'queued' || r.state === 'running' || heldBack(r, now));
372
385
  const wait = [
373
386
  `conduct wait merge ${report.sha.slice(0, 8)}`,
374
387
  ...(only ? [`--for ${only.join(',')}`] : []),
@@ -377,14 +390,16 @@ export async function runsCommand(paths, options, io) {
377
390
  const settled = still.length > 0
378
391
  ? `settled on ${only?.join(', ') ?? 'the named pipelines'}; ${still.map((r) => r.pipeline.name).join(', ')} still run`
379
392
  : null;
393
+ const held = batchedBehind(report.pipelines, now);
380
394
  const note = report.outcome === 'waiting'
381
- ? `still settling: ${wait}, then conduct runs again`
395
+ ? `still settling${held === null ? '' : ` (${held})`}: ${wait}, then conduct runs again`
382
396
  : [requeueHint(report), settled].filter((n) => n !== null).join('; ') || null;
383
397
  return {
384
398
  ...report,
385
399
  ...(logs.length > 0 ? { logs } : {}),
386
400
  ...(note === null ? {} : { note }),
387
401
  ...(Object.keys(stages).length > 0 ? { stages } : {}),
402
+ ...(grep === null ? {} : { grep }),
388
403
  via: 'local',
389
404
  };
390
405
  });
@@ -393,7 +408,7 @@ export async function runsCommand(paths, options, io) {
393
408
  // files and its branch's PR, and the same for each other repo checked out under .scratch/repos.
394
409
  export async function stateCommand(paths, options, io) {
395
410
  return verb(io, async () => {
396
- const { checkout, git, profile } = await here(io);
411
+ const { checkout, git, profile } = await here(paths, io);
397
412
  const hosts = hostsHere(paths, profile, io);
398
413
  if (options.repo !== undefined) {
399
414
  const repo = repoOf(profile, options.repo);
@@ -426,6 +441,59 @@ export async function stateCommand(paths, options, io) {
426
441
  };
427
442
  });
428
443
  }
444
+ // `conduct timeline <run>` or `conduct timeline --for <pipeline> [--branch <b>] [--count <n>]`, with
445
+ // [--task <regex>] [--grep <regex>] [--repo …]: a run's tasks with when each started and finished,
446
+ // or the same for a pipeline's last finished runs on a branch (the base by default), and with --grep
447
+ // the named tasks' log lines that match. A read, so it runs here.
448
+ export async function timelineCommand(paths, options, io) {
449
+ return verb(io, async () => {
450
+ if ((options.run === undefined) === (options.for === undefined)) {
451
+ throw new ConductorError('timeline takes a <run> or --for <pipeline>, not both or neither');
452
+ }
453
+ if (options.run !== undefined && !/^\d+$/.test(options.run)) {
454
+ throw new ConductorError(`<run> takes a run id, not "${options.run}"`);
455
+ }
456
+ if (options.run !== undefined && (options.branch !== undefined || options.count !== undefined)) {
457
+ throw new ConductorError('--branch and --count go with --for <pipeline>, not a <run>');
458
+ }
459
+ const names = options.for === undefined ? [] : pipelineNames(options.for);
460
+ const [name = null] = names;
461
+ if (options.for !== undefined && (name === null || names.length > 1)) {
462
+ throw new ConductorError(`--for takes one pipeline, such as deploy-web; not "${options.for}"`);
463
+ }
464
+ const count = options.count === undefined ? 3 : Number(options.count);
465
+ if (!/^\d+$/.test(options.count ?? '3') || count < 1 || count > MAX_RUNS) {
466
+ throw new ConductorError(`--count takes a number of runs from 1 to ${MAX_RUNS}, not "${options.count}"`);
467
+ }
468
+ const task = options.task === undefined ? null : regexOption('--task', options.task, 'i');
469
+ const grep = options.grep === undefined ? null : regexOption('--grep', options.grep);
470
+ if (grep !== null && task === null) {
471
+ throw new ConductorError("--grep reads the named tasks' logs: name them with --task");
472
+ }
473
+ const { profile } = await here(paths, io);
474
+ const repo = repoOf(profile, options.repo);
475
+ const refusal = ciRefusal(profile, repo);
476
+ if (refusal !== null)
477
+ throw new ConductorError(`refused: ${refusal}`);
478
+ const { ci } = hostsHere(paths, profile, io)(repo);
479
+ const filter = { grep, task };
480
+ if (name === null) {
481
+ return { repo: repoKey(repo), ...(await runTimeline(ci, Number(options.run), filter)), via: 'local' };
482
+ }
483
+ // Another repo's base isn't the profile's (the registry builds on main).
484
+ if (options.branch === undefined && !isOwnRepo(profile, repo)) {
485
+ throw new ConductorError(`--for on ${repoKey(repo)}: name its branch with --branch, such as main`);
486
+ }
487
+ const branch = (options.branch ?? profile.baseBranch).replace(/^refs\/heads\//, '');
488
+ const read = await pipelineTimelines(ci, { ...filter, branch, count, name });
489
+ return {
490
+ repo: repoKey(repo),
491
+ ...read,
492
+ ...(read.count < count ? { note: `${branch} has ${read.count} finished runs of it, not ${count}` } : {}),
493
+ via: 'local',
494
+ };
495
+ });
496
+ }
429
497
  function escapeRegExp(text) {
430
498
  return text.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
431
499
  }
@@ -442,7 +510,7 @@ async function excludeScratch(git, checkout) {
442
510
  }
443
511
  // The project checkout around the working directory and its profile. Refused inside another repo's
444
512
  // clone (.scratch/repos/<repo>), whose branch would read as the item's.
445
- async function here(io) {
513
+ async function here(paths, io) {
446
514
  const checkout = await gitToplevel(io.cwd);
447
515
  if (checkout === null)
448
516
  throw new ConductorError("not in a git checkout: run it in the item's worktree");
@@ -451,9 +519,7 @@ async function here(io) {
451
519
  "that is another repo's checkout, which --repo reaches from the worktree",
452
520
  ]);
453
521
  }
454
- if (!existsSync(join(checkout, PROFILE_FILE)))
455
- throw new ConductorError(`no ${PROFILE_FILE} in ${checkout}`);
456
- return { checkout, git: io.git ?? runGit, profile: readProfile(checkout).profile };
522
+ return { checkout, git: io.git ?? runGit, profile: profileHere(checkout, paths) };
457
523
  }
458
524
  function hostsHere(paths, profile, io) {
459
525
  return io.hosts ?? projectHosts(providerCredentials({ projects: loadConfig(paths.config).projects }), profile.name);
@@ -469,6 +535,15 @@ function readBody(file) {
469
535
  throw new ConductorError(`can't read ${file}`, [messageOf(error)]);
470
536
  }
471
537
  }
538
+ // An option's JavaScript regular expression, refused with the reason when it doesn't parse.
539
+ function regexOption(flag, text, flags) {
540
+ try {
541
+ return new RegExp(text, flags);
542
+ }
543
+ catch (error) {
544
+ throw new ConductorError(`${flag} takes a regular expression: ${messageOf(error)}`);
545
+ }
546
+ }
472
547
  // --repo as a request's optional field.
473
548
  function repoOption(repo) {
474
549
  return repo === undefined ? {} : { repo };
@@ -1 +1 @@
1
- {"version":3,"file":"code-host-cli.js","sourceRoot":"","sources":["../src/code-host-cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACrE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EACL,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,UAAU,EAEV,SAAS,EACT,cAAc,EACd,IAAI,EACJ,SAAS,EACT,SAAS,EACT,MAAM,GACP,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EACL,MAAM,EACN,WAAW,EAGX,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,SAAS,EACT,OAAO,EACP,MAAM,GACP,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAiB,mBAAmB,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9F,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAoB,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,aAAa,EAAkC,MAAM,0BAA0B,CAAC;AACzF,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAa,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAAgB,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EACL,SAAS,EACT,UAAU,EACV,aAAa,EACb,SAAS,EACT,cAAc,EACd,SAAS,EACT,SAAS,EACT,MAAM,EACN,aAAa,EAEb,WAAW,EACX,UAAU,GACX,MAAM,WAAW,CAAC;AACnB,OAAO,EAAsB,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAyBtD,mGAAmG;AACnG,MAAM,iBAAkB,SAAQ,cAAc;IACnC,QAAQ,CAAW;IAE5B,YAAY,OAAe,EAAE,QAAkB;QAC7C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF;AAED,8FAA8F;AAC9F,MAAM,gBAAgB,GAAG,OAAO,CAAC;AACjC,kGAAkG;AAClG,MAAM,eAAe,GAAG,OAAO,CAAC;AAEhC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACvC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;CACjF,CAAC,CAAC;AACH,MAAM,UAAU,GAAG,CAAC,CAAC,WAAW,CAAC;IAC/B,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE;IAClB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,OAAO,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;CAChD,CAAC,CAAC;AACH,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACjG,MAAM,UAAU,GAAG,CAAC,CAAC,WAAW,CAAC;IAC/B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;IAC1D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;CACjB,CAAC,CAAC;AACH,MAAM,SAAS,GAAG,CAAC,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;AAChH,MAAM,YAAY,GAAG,CAAC,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAE/F,6FAA6F;AAC7F,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,IAAY,EACZ,IAAY,EACZ,EAAE,IAAI,EAAqB,EAC3B,EAAU;IAEV,OAAO,IAAI,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;QACzB,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QACzC,IAAI,IAAI,KAAK,IAAI;YACf,MAAM,IAAI,cAAc,CAAC,mFAAmF,CAAC,CAAC;QAChH,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC3D,yFAAyF;QACzF,IAAI,IAAI,KAAK,IAAI;YAAE,MAAM,IAAI,cAAc,CAAC,gDAAgD,CAAC,CAAC;QAC9F,IAAI,IAAI,KAAK,OAAO,CAAC,UAAU,IAAI,IAAI,KAAK,MAAM;YAAE,MAAM,IAAI,cAAc,CAAC,YAAY,IAAI,mBAAmB,CAAC,CAAC;QAClH,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;QACjD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,GAAG;YACjC,MAAM,IAAI,cAAc,CAAC,YAAY,IAAI,OAAO,KAAK,kBAAkB,GAAG,IAAI,CAAC,CAAC;QAClF,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC5D,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC;YAAE,MAAM,IAAI,cAAc,CAAC,iBAAiB,IAAI,SAAS,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QAC3G,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,kGAAkG;AAClG,mGAAmG;AACnG,sFAAsF;AACtF,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,IAAY,EACZ,IAAY,EACZ,IAAY,EACZ,EAAE,IAAI,EAAqB,EAC3B,EAAU;IAEV,OAAO,IAAI,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;QACzB,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,cAAc,CAAC,gEAAgE,IAAI,GAAG,CAAC,CAAC;QAC7G,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QAC3C,IAAI,MAAM,KAAK,IAAI;YAAE,MAAM,IAAI,cAAc,CAAC,sDAAsD,CAAC,CAAC;QACtG,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QACjD,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAC/E,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;YACpC,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/C,MAAM,IAAI,cAAc,CAAC,GAAG,GAAG,qBAAqB,MAAM,IAAI,gBAAgB,SAAS,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC1G,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACzC,OAAO;gBACL,IAAI,EAAE,MAAM,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC;gBAClC,MAAM,EAAE,OAAO;gBACf,QAAQ,EAAE,GAAG;gBACb,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;gBACnB,GAAG,CAAC,OAAO,KAAK,MAAM;oBACpB,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,OAAO,IAAI,WAAW,SAAS,MAAM,sCAAsC,EAAE,CAAC;aACjG,CAAC;QACJ,CAAC;QACD,MAAM,cAAc,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACpC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,2FAA2F;QAC3F,MAAM,GAAG,GAAG,sBAAsB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,MAAM,CAAC;QAChE,MAAM,MAAM,GAAG,MAAM,GAAG,CACtB,CAAC,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,IAAI,EAAE,qBAAqB,EAAE,GAAG,EAAE,GAAG,CAAC,EACjF,QAAQ,CACT,CAAC;QACF,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC;YAAE,MAAM,IAAI,cAAc,CAAC,aAAa,GAAG,SAAS,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QACpG,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QACrG,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC;YAAE,MAAM,IAAI,cAAc,CAAC,iBAAiB,MAAM,SAAS,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QAC/G,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;IAC7E,CAAC,CAAC,CAAC;AACL,CAAC;AAED,0FAA0F;AAC1F,sGAAsG;AACtG,mGAAmG;AACnG,oGAAoG;AACpG,yBAAyB;AACzB,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,KAAqB,EACrB,OAAwE,EACxE,EAAU;IAEV,OAAO,IAAI,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;QACzB,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACjE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC;QACrD,qFAAqF;QACrF,MAAM,OAAO,GAAgB,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC;QAC3E,uFAAuF;QACvF,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE;YAC9C,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,kEAAkE,QAAQ,CAAC,KAAK,uBAAuB;YAC7G,KAAK,EAAE,YAAY;YACnB,MAAM,EAAE,SAAS;YACjB,oEAAoE;YACpE,SAAS,EAAE,eAAe;SAC3B,CAAC,CAAC;QACH,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;QACtD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;IAChG,CAAC,CAAC,CAAC;AACL,CAAC;AAED,iGAAiG;AACjG,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,QAAgB,EAAE,OAAgB,EAAE,GAAQ,EAAE,IAAa;IACvF,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IACnC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAClC,IAAI,GAAG,KAAK,IAAI;YAAE,MAAM,IAAI,cAAc,CAAC,kBAAkB,MAAM,kBAAkB,IAAI,GAAG,CAAC,CAAC;QAC9F,OAAO,GAAG,CAAC;IACb,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;IAC5G,IAAI,KAAK,KAAK,IAAI;QAAE,MAAM,IAAI,cAAc,CAAC,MAAM,MAAM,wDAAwD,CAAC,CAAC;IACnH,OAAO,KAAK,CAAC;AACf,CAAC;AAED,sGAAsG;AACtG,4FAA4F;AAC5F,iGAAiG;AACjG,wEAAwE;AACxE,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,KAAqB,EACrB,OAQC,EACD,EAAU;IAEV,OAAO,IAAI,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;QACzB,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACjE,MAAM,OAAO,GAAG;YACd,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;YAC7D,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzC,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC;SAC5B,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE;YAC9C,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,oFAAoF;YAC1F,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,UAAU;SACnB,CAAC,CAAC;QACH,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,MAAM,CAAC;QACnC,MAAM,GAAG,GAAG;YACV,GAAG;YACH,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC;YACpC,IAAI;YACJ,OAAO;YACP,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;YAC1B,QAAQ,EAAE,QAAQ;SACnB,CAAC;QACF,OAAO,EAAE,GAAG,CAAC,MAAM,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;IAC3D,CAAC,CAAC,CAAC;AACL,CAAC;AAED,mGAAmG;AACnG,oGAAoG;AACpG,gCAAgC;AAChC,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAsC,EAAE,EAAU;IAClF,OAAO,IAAI,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;QACzB,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC;QACnC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK;aACxB,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;aAC7D,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAC3B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,cAAc,CAAC,2DAA2D,CAAC,CAAC;QAC9G,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;QACnC,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/G,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;IACpF,CAAC,CAAC,CAAC;AACL,CAAC;AAED,mGAAmG;AACnG,sGAAsG;AACtG,oGAAoG;AACpG,+DAA+D;AAC/D,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,KAAqB,EACrB,OAA2F,EAC3F,EAAU;IAEV,OAAO,IAAI,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;QACzB,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;QAC1D,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChH,iGAAiG;QACjG,8BAA8B;QAC9B,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC9E,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC3C,+DAA+D;QAC/D,MAAM,KAAK,GAAG,SAAS,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpG,MAAM,IAAI,GAAG,SAAS,KAAK,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,OAAO,SAAS,IAAI,CAAC;QAC9F,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QAC5C,MAAM,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACxC,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC5D,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAClB,MAAM,IAAI,cAAc,CAAC,0BAA0B,GAAG,gCAAgC,EAAE,KAAK,CAAC,CAAC;QACjG,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACpD,IAAI,KAAK,KAAK,CAAC;YAAE,MAAM,IAAI,cAAc,CAAC,8BAA8B,IAAI,EAAE,CAAC,CAAC;QAChF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC3C,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG;YACd,KAAK;YACL,IAAI;YACJ,UAAU,EAAE,MAAM;YAClB,gBAAgB,EAAE,IAAI,CAAC,MAAM;YAC7B,IAAI;YACJ,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;YACnB,GAAG,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzD,CAAC;QACF,IAAI,OAAO,CAAC,MAAM;YAAE,OAAO,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC;QACzF,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7D,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5E,MAAM,MAAM,GACV,CAAC,MAAM,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE;YAChC,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,sEAAsE;YAC5E,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,UAAU;SACnB,CAAC,CAAC,IAAK,EAAE,GAAG,CAAC,MAAM,MAAM,CAAC,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAyC,CAAC;QACpH,OAAO;YACL,GAAG,OAAO;YACV,GAAG,MAAM;YACT,GAAG,CAAC,MAAM,EAAE,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrE,MAAM,EAAE,MAAM,KAAK,IAAI;SACxB,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,mGAAmG;AACnG,oGAAoG;AACpG,gBAAgB;AAChB,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,KAAqB,EACrB,OAAsC,EACtC,EAAU;IAEV,OAAO,IAAI,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;QACzB,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE;YACtE,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC;SAC5B,CAAC,CAAC;QACH,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;IACjG,CAAC,CAAC,CAAC;AACL,CAAC;AAED,oGAAoG;AACpG,2FAA2F;AAC3F,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,KAAqB,EACrB,OAA8F,EAC9F,EAAU;IAEV,OAAO,IAAI,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;QACzB,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACjE,MAAM,OAAO,GAAG;YACd,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC;YAChC,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC;SAC5B,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE;YAC9C,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,wEAAwE;YAC9E,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,WAAW;SACpB,CAAC,CAAC;QACH,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,MAAM,CAAC;QACnC,MAAM,GAAG,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;QAC7F,OAAO,EAAE,GAAG,CAAC,MAAM,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;IAC9D,CAAC,CAAC,CAAC;AACL,CAAC;AAED,kGAAkG;AAClG,qGAAqG;AACrG,mGAAmG;AACnG,gGAAgG;AAChG,8FAA8F;AAC9F,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,KAAqB,EACrB,OAAsF,EACtF,EAAU;IAEV,OAAO,IAAI,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;QACzB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;YAAE,MAAM,IAAI,cAAc,CAAC,8BAA8B,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC;QACnH,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC;QAClD,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAClC,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS;gBAAE,MAAM,IAAI,cAAc,CAAC,+CAA+C,CAAC,CAAC;YACzG,MAAM,CAAC,QAAQ,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAClD,IAAI,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5D,MAAM,IAAI,cAAc,CAAC,iEAAiE,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC;YAChH,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YACjE,MAAM,OAAO,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5E,MAAM,MAAM,GACV,CAAC,MAAM,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE;gBAChC,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,sDAAsD,OAAO,CAAC,GAAG,2BAA2B;gBAClG,KAAK,EAAE,UAAU;gBACjB,MAAM,EAAE,YAAY;aACrB,CAAC,CAAC;gBACF;oBACC,GAAG,CAAC,MAAM,UAAU,CAClB;wBACE,GAAG;wBACH,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC;wBACpC,IAAI;wBACJ,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE;wBAC3B,OAAO;wBACP,QAAQ,EAAE,QAAQ;qBACnB,EACD,OAAO,CACR,CAAC;oBACF,GAAG,EAAE,OAAO;iBAC0B,CAAC;YAC3C,MAAM,IAAI,GAAG,CAAC,sBAAsB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,SAAS,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC9F,OAAO,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,WAAW,IAAI,sBAAsB,EAAE,CAAC;QACpE,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACzC,IAAI,OAAO,KAAK,IAAI;YAAE,MAAM,IAAI,cAAc,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;QACtE,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC3E,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;QAChC,iGAAiG;QACjG,kBAAkB;QAClB,MAAM,GAAG,GACP,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAC7G,MAAM,KAAK,GACT,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QACnH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC;YAC7B,IAAI;YACJ,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,KAAK;YACL,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC;YACtD,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE;YAC3B,IAAI;YACJ,IAAI;SACL,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACvC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC;YAC3B,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC;SAC9C,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;QACjG,MAAM,IAAI,GAAG;YACX,sBAAsB,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;YAC9C,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5C,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;SAClE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACZ,MAAM,OAAO,GACX,KAAK,CAAC,MAAM,GAAG,CAAC;YACd,CAAC,CAAC,cAAc,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,qBAAqB,KAAK,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY;YACtH,CAAC,CAAC,IAAI,CAAC;QACX,MAAM,IAAI,GACR,MAAM,CAAC,OAAO,KAAK,SAAS;YAC1B,CAAC,CAAC,mBAAmB,IAAI,2BAA2B;YACpD,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;QAClF,OAAO;YACL,GAAG,MAAM;YACT,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;YAClC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,GAAG,EAAE,OAAO;SACb,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,kGAAkG;AAClG,gGAAgG;AAChG,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,KAAqB,EAAE,OAA0B,EAAE,EAAU;IAC9F,OAAO,IAAI,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;QACzB,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QAC5C,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YAC3C,OAAO;gBACL,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;gBAC7F,GAAG,EAAE,OAAO;aACb,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QACpF,MAAM,MAAM,GAAG,CAAC,MAAM,cAAc,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpH,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE;YACjC,IAAI,CAAC;gBACH,OAAO,MAAM,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;YACjE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,WAAW;oBAAE,MAAM,KAAK,CAAC;gBAC9C,qEAAqE;gBACrE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACzE,CAAC;QACH,CAAC,CAAC,CACH,CAAC;QACF,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACzF,OAAO;YACL,GAAG,GAAG;YACN,eAAe,EAAE,GAAG,CAAC,MAAM,KAAK,YAAY,QAAQ,CAAC,QAAQ,CAAC,EAAE;YAChE,IAAI,EAAE,MAAM,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;YAC7D,KAAK;YACL,GAAG,EAAE,OAAO;YACZ,QAAQ;SACT,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACrD,CAAC;AAED,6FAA6F;AAC7F,8DAA8D;AAC9D,KAAK,UAAU,cAAc,CAAC,GAAQ,EAAE,QAAgB;IACtD,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChD,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,cAAc,EAAE,IAAI,EAAE,GAAG,QAAQ,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO;IACtF,MAAM,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,WAAW,EAAE,kBAAkB,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACtF,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;IAChF,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,MAAM,QAAQ,KAAK,CAAC,CAAC;AAC7D,CAAC;AAED,mGAAmG;AACnG,wEAAwE;AACxE,KAAK,UAAU,IAAI,CAAC,EAAU;IAC5B,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,QAAQ,KAAK,IAAI;QAAE,MAAM,IAAI,cAAc,CAAC,sDAAsD,CAAC,CAAC;IACxG,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,SAAS,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,cAAc,CAAC,+CAA+C,QAAQ,EAAE,EAAE;YAClF,yEAAyE;SAC1E,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAAE,MAAM,IAAI,cAAc,CAAC,MAAM,YAAY,OAAO,QAAQ,EAAE,CAAC,CAAC;IAC7G,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;AACrF,CAAC;AAED,SAAS,SAAS,CAAC,KAAqB,EAAE,OAAgB,EAAE,EAAU;IACpE,OAAO,EAAE,CAAC,KAAK,IAAI,YAAY,CAAC,mBAAmB,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;AACtH,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY;IAC5B,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,cAAc,CAAC,cAAc,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACrE,CAAC;AACH,CAAC;AAED,wCAAwC;AACxC,SAAS,UAAU,CAAC,IAAwB;IAC1C,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;AAC5C,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,GAAQ,EAAE,KAAe,EAAE,IAAa,EAAE,QAAgB,EAAE,GAAW,EAAE,OAAgB;IAC9G,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAAE,MAAM,IAAI,cAAc,CAAC,kBAAkB,OAAO,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IAC1G,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IACvD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IAC5D,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC5D,IAAI,EAAE,GAAG,IAAI,CAAC;IACd,IAAI,OAA2B,CAAC;IAChC,0FAA0F;IAC1F,IAAI,MAAM,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACnD,IAAI,CAAC;YACH,EAAE,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,WAAW;gBAAE,MAAM,KAAK,CAAC;YAC9C,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IACD,OAAO;QACL,KAAK;QACL,IAAI;QACJ,MAAM;QACN,MAAM;QACN,QAAQ,EAAE,GAAG;QACb,KAAK;QACL,GAAG,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,EAAE;QACF,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;QAC7C,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;KACpB,CAAC;AACJ,CAAC;AAED,gGAAgG;AAChG,wCAAwC;AACxC,KAAK,UAAU,IAAI,CAAC,EAAU,EAAE,GAA2C;IACzE,IAAI,CAAC;QACH,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7C,OAAO,CAAC,CAAC;IACX,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;YACjC,EAAE,CAAC,GAAG,CAAC,YAAY,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACjC,EAAE,CAAC,GAAG,CAAC,4BAA4B,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC7D,OAAO,iBAAiB,CAAC;QAC3B,CAAC;QACD,IAAI,KAAK,YAAY,iBAAiB,EAAE,CAAC;YACvC,EAAE,CAAC,GAAG,CAAC,YAAY,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACpC,EAAE,CAAC,GAAG,CAAC,4BAA4B,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YACrD,OAAO,iBAAiB,CAAC;QAC3B,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,oGAAoG;AACpG,+DAA+D;AAC/D,KAAK,UAAU,SAAS,CACtB,KAAqB,EACrB,QAAgB,EAChB,KAMC;IAED,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC9D,IAAI,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,aAAa,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACvF,IAAI,MAAyC,CAAC;IAC9C,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE;YAC5B,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,YAAY,MAAM,CAAC,EAAE,IAAI,KAAK,CAAC,KAAK,EAAE;YAC5C,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,gBAAgB;SAC/C,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,eAAe;YAAE,OAAO,IAAI,CAAC;QAClD,0DAA0D;QAC1D,MAAM,IAAI,cAAc,CAAC,gCAAgC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7F,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG;QAAE,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;IACjH,iGAAiG;IACjG,gBAAgB;IAChB,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,OAAO,GAAG,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;IACxD,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5C,MAAM,IAAI,iBAAiB,CAAC,GAAG,OAAO,CAAC,KAAK,iBAAiB,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAChH,CAAC;IACD,MAAM,IAAI,cAAc,CAAC,OAAO,EAAE,KAAK,IAAI,0BAA0B,MAAM,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;AAChH,CAAC;AAED,SAAS,UAAU,CAAC,KAAqB,EAAE,EAAU;IACnD,OAAO,CACL,EAAE,CAAC,MAAM,IAAI,aAAa,CAAC,EAAE,WAAW,EAAE,mBAAmB,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAClH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"code-host-cli.js","sourceRoot":"","sources":["../src/code-host-cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACrE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EACL,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,UAAU,EAEV,SAAS,EACT,cAAc,EACd,IAAI,EACJ,SAAS,EACT,SAAS,EACT,MAAM,GACP,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EACL,MAAM,EACN,WAAW,EAGX,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,SAAS,EACT,OAAO,EACP,MAAM,GACP,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAiB,mBAAmB,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9F,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAoB,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAkC,MAAM,0BAA0B,CAAC;AACnG,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAa,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAgB,UAAU,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EACL,aAAa,EACb,SAAS,EACT,UAAU,EACV,aAAa,EACb,SAAS,EACT,QAAQ,EACR,cAAc,EACd,SAAS,EACT,SAAS,EACT,MAAM,EACN,aAAa,EAEb,WAAW,EACX,UAAU,GACX,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,EAAsB,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAyBtD,mGAAmG;AACnG,MAAM,iBAAkB,SAAQ,cAAc;IACnC,QAAQ,CAAW;IAE5B,YAAY,OAAe,EAAE,QAAkB;QAC7C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF;AAED,8FAA8F;AAC9F,MAAM,gBAAgB,GAAG,OAAO,CAAC;AACjC,kGAAkG;AAClG,MAAM,eAAe,GAAG,OAAO,CAAC;AAEhC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACvC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;CACjF,CAAC,CAAC;AACH,MAAM,UAAU,GAAG,CAAC,CAAC,WAAW,CAAC;IAC/B,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE;IAClB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,OAAO,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;CAChD,CAAC,CAAC;AACH,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACjG,MAAM,UAAU,GAAG,CAAC,CAAC,WAAW,CAAC;IAC/B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;IAC1D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;CACjB,CAAC,CAAC;AACH,MAAM,SAAS,GAAG,CAAC,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;AAChH,MAAM,YAAY,GAAG,CAAC,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAE/F,6FAA6F;AAC7F,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,KAAqB,EACrB,IAAY,EACZ,IAAY,EACZ,EAAE,IAAI,EAAqB,EAC3B,EAAU;IAEV,OAAO,IAAI,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;QACzB,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACzD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QACzC,IAAI,IAAI,KAAK,IAAI;YACf,MAAM,IAAI,cAAc,CAAC,mFAAmF,CAAC,CAAC;QAChH,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC3D,yFAAyF;QACzF,IAAI,IAAI,KAAK,IAAI;YAAE,MAAM,IAAI,cAAc,CAAC,gDAAgD,CAAC,CAAC;QAC9F,IAAI,IAAI,KAAK,OAAO,CAAC,UAAU,IAAI,IAAI,KAAK,MAAM;YAAE,MAAM,IAAI,cAAc,CAAC,YAAY,IAAI,mBAAmB,CAAC,CAAC;QAClH,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;QACjD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,GAAG;YACjC,MAAM,IAAI,cAAc,CAAC,YAAY,IAAI,OAAO,KAAK,kBAAkB,GAAG,IAAI,CAAC,CAAC;QAClF,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC5D,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC;YAAE,MAAM,IAAI,cAAc,CAAC,iBAAiB,IAAI,SAAS,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QAC3G,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,kGAAkG;AAClG,mGAAmG;AACnG,sFAAsF;AACtF,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,KAAqB,EACrB,IAAY,EACZ,IAAY,EACZ,IAAY,EACZ,EAAE,IAAI,EAAqB,EAC3B,EAAU;IAEV,OAAO,IAAI,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;QACzB,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACzD,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,cAAc,CAAC,gEAAgE,IAAI,GAAG,CAAC,CAAC;QAC7G,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QAC3C,IAAI,MAAM,KAAK,IAAI;YAAE,MAAM,IAAI,cAAc,CAAC,sDAAsD,CAAC,CAAC;QACtG,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QACjD,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAC/E,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;YACpC,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/C,MAAM,IAAI,cAAc,CAAC,GAAG,GAAG,qBAAqB,MAAM,IAAI,gBAAgB,SAAS,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC1G,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACzC,OAAO;gBACL,IAAI,EAAE,MAAM,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC;gBAClC,MAAM,EAAE,OAAO;gBACf,QAAQ,EAAE,GAAG;gBACb,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;gBACnB,GAAG,CAAC,OAAO,KAAK,MAAM;oBACpB,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,OAAO,IAAI,WAAW,SAAS,MAAM,sCAAsC,EAAE,CAAC;aACjG,CAAC;QACJ,CAAC;QACD,MAAM,cAAc,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACpC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,2FAA2F;QAC3F,MAAM,GAAG,GAAG,sBAAsB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,MAAM,CAAC;QAChE,MAAM,MAAM,GAAG,MAAM,GAAG,CACtB,CAAC,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,IAAI,EAAE,qBAAqB,EAAE,GAAG,EAAE,GAAG,CAAC,EACjF,QAAQ,CACT,CAAC;QACF,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC;YAAE,MAAM,IAAI,cAAc,CAAC,aAAa,GAAG,SAAS,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QACpG,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QACrG,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC;YAAE,MAAM,IAAI,cAAc,CAAC,iBAAiB,MAAM,SAAS,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QAC/G,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;IAC7E,CAAC,CAAC,CAAC;AACL,CAAC;AAED,0FAA0F;AAC1F,sGAAsG;AACtG,mGAAmG;AACnG,oGAAoG;AACpG,yBAAyB;AACzB,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,KAAqB,EACrB,OAAwE,EACxE,EAAU;IAEV,OAAO,IAAI,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;QACzB,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACzD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACjE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC;QACrD,qFAAqF;QACrF,MAAM,OAAO,GAAgB,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC;QAC3E,uFAAuF;QACvF,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE;YAC9C,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,kEAAkE,QAAQ,CAAC,KAAK,uBAAuB;YAC7G,KAAK,EAAE,YAAY;YACnB,MAAM,EAAE,SAAS;YACjB,oEAAoE;YACpE,SAAS,EAAE,eAAe;SAC3B,CAAC,CAAC;QACH,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;QACtD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;IAChG,CAAC,CAAC,CAAC;AACL,CAAC;AAED,iGAAiG;AACjG,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,QAAgB,EAAE,OAAgB,EAAE,GAAQ,EAAE,IAAa;IACvF,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IACnC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAClC,IAAI,GAAG,KAAK,IAAI;YAAE,MAAM,IAAI,cAAc,CAAC,kBAAkB,MAAM,kBAAkB,IAAI,GAAG,CAAC,CAAC;QAC9F,OAAO,GAAG,CAAC;IACb,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;IAC5G,IAAI,KAAK,KAAK,IAAI;QAAE,MAAM,IAAI,cAAc,CAAC,MAAM,MAAM,wDAAwD,CAAC,CAAC;IACnH,OAAO,KAAK,CAAC;AACf,CAAC;AAED,sGAAsG;AACtG,4FAA4F;AAC5F,iGAAiG;AACjG,wEAAwE;AACxE,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,KAAqB,EACrB,OAQC,EACD,EAAU;IAEV,OAAO,IAAI,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;QACzB,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACzD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACjE,MAAM,OAAO,GAAG;YACd,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;YAC7D,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzC,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC;SAC5B,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE;YAC9C,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,oFAAoF;YAC1F,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,UAAU;SACnB,CAAC,CAAC;QACH,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,MAAM,CAAC;QACnC,MAAM,GAAG,GAAG;YACV,GAAG;YACH,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC;YACpC,IAAI;YACJ,OAAO;YACP,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;YAC1B,QAAQ,EAAE,QAAQ;SACnB,CAAC;QACF,OAAO,EAAE,GAAG,CAAC,MAAM,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;IAC3D,CAAC,CAAC,CAAC;AACL,CAAC;AAED,mGAAmG;AACnG,oGAAoG;AACpG,gCAAgC;AAChC,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,KAAqB,EACrB,OAAsC,EACtC,EAAU;IAEV,OAAO,IAAI,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;QACzB,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK;aACxB,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;aAC7D,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAC3B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,cAAc,CAAC,2DAA2D,CAAC,CAAC;QAC9G,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;QACnC,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/G,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;IACpF,CAAC,CAAC,CAAC;AACL,CAAC;AAED,mGAAmG;AACnG,sGAAsG;AACtG,oGAAoG;AACpG,+DAA+D;AAC/D,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,KAAqB,EACrB,OAA2F,EAC3F,EAAU;IAEV,OAAO,IAAI,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;QACzB,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACzD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;QAC1D,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChH,iGAAiG;QACjG,8BAA8B;QAC9B,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC9E,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC3C,+DAA+D;QAC/D,MAAM,KAAK,GAAG,SAAS,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpG,MAAM,IAAI,GAAG,SAAS,KAAK,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,OAAO,SAAS,IAAI,CAAC;QAC9F,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QAC5C,MAAM,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACxC,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC5D,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAClB,MAAM,IAAI,cAAc,CAAC,0BAA0B,GAAG,gCAAgC,EAAE,KAAK,CAAC,CAAC;QACjG,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACpD,IAAI,KAAK,KAAK,CAAC;YAAE,MAAM,IAAI,cAAc,CAAC,8BAA8B,IAAI,EAAE,CAAC,CAAC;QAChF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC3C,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG;YACd,KAAK;YACL,IAAI;YACJ,UAAU,EAAE,MAAM;YAClB,gBAAgB,EAAE,IAAI,CAAC,MAAM;YAC7B,IAAI;YACJ,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;YACnB,GAAG,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzD,CAAC;QACF,IAAI,OAAO,CAAC,MAAM;YAAE,OAAO,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC;QACzF,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7D,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5E,MAAM,MAAM,GACV,CAAC,MAAM,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE;YAChC,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,sEAAsE;YAC5E,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,UAAU;SACnB,CAAC,CAAC,IAAK,EAAE,GAAG,CAAC,MAAM,MAAM,CAAC,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAyC,CAAC;QACpH,OAAO;YACL,GAAG,OAAO;YACV,GAAG,MAAM;YACT,GAAG,CAAC,MAAM,EAAE,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrE,MAAM,EAAE,MAAM,KAAK,IAAI;SACxB,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,mGAAmG;AACnG,oGAAoG;AACpG,gBAAgB;AAChB,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,KAAqB,EACrB,OAAsC,EACtC,EAAU;IAEV,OAAO,IAAI,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;QACzB,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE;YACtE,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC;SAC5B,CAAC,CAAC;QACH,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;IACjG,CAAC,CAAC,CAAC;AACL,CAAC;AAED,oGAAoG;AACpG,2FAA2F;AAC3F,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,KAAqB,EACrB,OAA8F,EAC9F,EAAU;IAEV,OAAO,IAAI,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;QACzB,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACzD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACjE,MAAM,OAAO,GAAG;YACd,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC;YAChC,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC;SAC5B,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE;YAC9C,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,wEAAwE;YAC9E,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,WAAW;SACpB,CAAC,CAAC;QACH,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,MAAM,CAAC;QACnC,MAAM,GAAG,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;QAC7F,OAAO,EAAE,GAAG,CAAC,MAAM,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;IAC9D,CAAC,CAAC,CAAC;AACL,CAAC;AAED,kGAAkG;AAClG,qGAAqG;AACrG,mGAAmG;AACnG,sGAAsG;AACtG,oGAAoG;AACpG,2GAA2G;AAC3G,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,KAAqB,EACrB,OAAqG,EACrG,EAAU;IAEV,OAAO,IAAI,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;QACzB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;YAAE,MAAM,IAAI,cAAc,CAAC,8BAA8B,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC;QACnH,6DAA6D;QAC7D,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACxF,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACtD,MAAM,IAAI,cAAc,CAAC,2DAA2D,CAAC,CAAC;QACxF,CAAC;QACD,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAClD,MAAM,IAAI,cAAc,CAAC,oEAAoE,CAAC,CAAC;QACjG,CAAC;QACD,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACzD,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAClC,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS;gBAAE,MAAM,IAAI,cAAc,CAAC,+CAA+C,CAAC,CAAC;YACzG,MAAM,CAAC,QAAQ,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAClD,IAAI,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5D,MAAM,IAAI,cAAc,CAAC,iEAAiE,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC;YAChH,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YACjE,MAAM,OAAO,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5E,MAAM,MAAM,GACV,CAAC,MAAM,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE;gBAChC,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,sDAAsD,OAAO,CAAC,GAAG,2BAA2B;gBAClG,KAAK,EAAE,UAAU;gBACjB,MAAM,EAAE,YAAY;aACrB,CAAC,CAAC;gBACF;oBACC,GAAG,CAAC,MAAM,UAAU,CAClB;wBACE,GAAG;wBACH,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC;wBACpC,IAAI;wBACJ,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE;wBAC3B,OAAO;wBACP,QAAQ,EAAE,QAAQ;qBACnB,EACD,OAAO,CACR,CAAC;oBACF,GAAG,EAAE,OAAO;iBAC0B,CAAC;YAC3C,MAAM,IAAI,GAAG,CAAC,sBAAsB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,SAAS,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC9F,OAAO,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,WAAW,IAAI,sBAAsB,EAAE,CAAC;QACpE,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACzC,IAAI,OAAO,KAAK,IAAI;YAAE,MAAM,IAAI,cAAc,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;QACtE,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC3E,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;QAChC,iGAAiG;QACjG,kBAAkB;QAClB,MAAM,GAAG,GACP,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAC7G,MAAM,KAAK,GACT,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QACnH,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC;YAC7B,IAAI;YACJ,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,KAAK;YACL,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC;YACtD,GAAG;YACH,IAAI;YACJ,IAAI;SACL,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC7C,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC;YAC3B,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC;YAC7C,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;SACjH,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,CACxC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CACzE,CAAC;QACF,MAAM,IAAI,GAAG;YACX,sBAAsB,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;YAC9C,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5C,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;SAClE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACZ,MAAM,OAAO,GACX,KAAK,CAAC,MAAM,GAAG,CAAC;YACd,CAAC,CAAC,cAAc,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,qBAAqB,KAAK,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY;YACtH,CAAC,CAAC,IAAI,CAAC;QACX,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAClD,MAAM,IAAI,GACR,MAAM,CAAC,OAAO,KAAK,SAAS;YAC1B,CAAC,CAAC,iBAAiB,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,KAAK,IAAI,2BAA2B;YACxF,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;QAClF,OAAO;YACL,GAAG,MAAM;YACT,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;YAClC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;YAClC,GAAG,EAAE,OAAO;SACb,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,kGAAkG;AAClG,gGAAgG;AAChG,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,KAAqB,EAAE,OAA0B,EAAE,EAAU;IAC9F,OAAO,IAAI,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;QACzB,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACzD,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QAC5C,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YAC3C,OAAO;gBACL,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;gBAC7F,GAAG,EAAE,OAAO;aACb,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QACpF,MAAM,MAAM,GAAG,CAAC,MAAM,cAAc,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpH,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE;YACjC,IAAI,CAAC;gBACH,OAAO,MAAM,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;YACjE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,WAAW;oBAAE,MAAM,KAAK,CAAC;gBAC9C,qEAAqE;gBACrE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACzE,CAAC;QACH,CAAC,CAAC,CACH,CAAC;QACF,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACzF,OAAO;YACL,GAAG,GAAG;YACN,eAAe,EAAE,GAAG,CAAC,MAAM,KAAK,YAAY,QAAQ,CAAC,QAAQ,CAAC,EAAE;YAChE,IAAI,EAAE,MAAM,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;YAC7D,KAAK;YACL,GAAG,EAAE,OAAO;YACZ,QAAQ;SACT,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,qGAAqG;AACrG,mGAAmG;AACnG,qGAAqG;AACrG,kEAAkE;AAClE,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,KAAqB,EACrB,OAAqH,EACrH,EAAU;IAEV,OAAO,IAAI,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;QACzB,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,EAAE,CAAC;YAChE,MAAM,IAAI,cAAc,CAAC,iEAAiE,CAAC,CAAC;QAC9F,CAAC;QACD,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAI,cAAc,CAAC,8BAA8B,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,EAAE,CAAC;YAC/F,MAAM,IAAI,cAAc,CAAC,4DAA4D,CAAC,CAAC;QACzF,CAAC;QACD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC1E,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC;QAC5B,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;YACrE,MAAM,IAAI,cAAc,CAAC,sDAAsD,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC;QACjG,CAAC;QACD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACtE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,QAAQ,EAAE,CAAC;YACzE,MAAM,IAAI,cAAc,CAAC,4CAA4C,QAAQ,UAAU,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;QAC3G,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC1F,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACrF,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YACnC,MAAM,IAAI,cAAc,CAAC,2DAA2D,CAAC,CAAC;QACxF,CAAC;QACD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACzC,IAAI,OAAO,KAAK,IAAI;YAAE,MAAM,IAAI,cAAc,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;QACtE,MAAM,EAAE,EAAE,EAAE,GAAG,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC9B,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,MAAM,WAAW,CAAC,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;QACxG,CAAC;QACD,yEAAyE;QACzE,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,cAAc,CAAC,YAAY,OAAO,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;QACrG,CAAC;QACD,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;QACpF,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7E,OAAO;YACL,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;YACnB,GAAG,IAAI;YACP,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,MAAM,QAAQ,IAAI,CAAC,KAAK,6BAA6B,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxG,GAAG,EAAE,OAAO;SACb,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACrD,CAAC;AAED,6FAA6F;AAC7F,8DAA8D;AAC9D,KAAK,UAAU,cAAc,CAAC,GAAQ,EAAE,QAAgB;IACtD,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChD,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,cAAc,EAAE,IAAI,EAAE,GAAG,QAAQ,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO;IACtF,MAAM,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,WAAW,EAAE,kBAAkB,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACtF,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;IAChF,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,MAAM,QAAQ,KAAK,CAAC,CAAC;AAC7D,CAAC;AAED,mGAAmG;AACnG,wEAAwE;AACxE,KAAK,UAAU,IAAI,CAAC,KAAqB,EAAE,EAAU;IACnD,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,QAAQ,KAAK,IAAI;QAAE,MAAM,IAAI,cAAc,CAAC,sDAAsD,CAAC,CAAC;IACxG,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,SAAS,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,cAAc,CAAC,+CAA+C,QAAQ,EAAE,EAAE;YAClF,yEAAyE;SAC1E,CAAC,CAAC;IACL,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;AACpF,CAAC;AAED,SAAS,SAAS,CAAC,KAAqB,EAAE,OAAgB,EAAE,EAAU;IACpE,OAAO,EAAE,CAAC,KAAK,IAAI,YAAY,CAAC,mBAAmB,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;AACtH,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY;IAC5B,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,cAAc,CAAC,cAAc,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACrE,CAAC;AACH,CAAC;AAED,4FAA4F;AAC5F,SAAS,WAAW,CAAC,IAAY,EAAE,IAAY,EAAE,KAAc;IAC7D,IAAI,CAAC;QACH,OAAO,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,cAAc,CAAC,GAAG,IAAI,gCAAgC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACtF,CAAC;AACH,CAAC;AAED,wCAAwC;AACxC,SAAS,UAAU,CAAC,IAAwB;IAC1C,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;AAC5C,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,GAAQ,EAAE,KAAe,EAAE,IAAa,EAAE,QAAgB,EAAE,GAAW,EAAE,OAAgB;IAC9G,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAAE,MAAM,IAAI,cAAc,CAAC,kBAAkB,OAAO,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IAC1G,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IACvD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IAC5D,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC5D,IAAI,EAAE,GAAG,IAAI,CAAC;IACd,IAAI,OAA2B,CAAC;IAChC,0FAA0F;IAC1F,IAAI,MAAM,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACnD,IAAI,CAAC;YACH,EAAE,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,WAAW;gBAAE,MAAM,KAAK,CAAC;YAC9C,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IACD,OAAO;QACL,KAAK;QACL,IAAI;QACJ,MAAM;QACN,MAAM;QACN,QAAQ,EAAE,GAAG;QACb,KAAK;QACL,GAAG,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,EAAE;QACF,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;QAC7C,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;KACpB,CAAC;AACJ,CAAC;AAED,gGAAgG;AAChG,wCAAwC;AACxC,KAAK,UAAU,IAAI,CAAC,EAAU,EAAE,GAA2C;IACzE,IAAI,CAAC;QACH,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7C,OAAO,CAAC,CAAC;IACX,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;YACjC,EAAE,CAAC,GAAG,CAAC,YAAY,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACjC,EAAE,CAAC,GAAG,CAAC,4BAA4B,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC7D,OAAO,iBAAiB,CAAC;QAC3B,CAAC;QACD,IAAI,KAAK,YAAY,iBAAiB,EAAE,CAAC;YACvC,EAAE,CAAC,GAAG,CAAC,YAAY,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACpC,EAAE,CAAC,GAAG,CAAC,4BAA4B,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YACrD,OAAO,iBAAiB,CAAC;QAC3B,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,oGAAoG;AACpG,+DAA+D;AAC/D,KAAK,UAAU,SAAS,CACtB,KAAqB,EACrB,QAAgB,EAChB,KAMC;IAED,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC9D,IAAI,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,aAAa,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACvF,IAAI,MAAyC,CAAC;IAC9C,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE;YAC5B,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,YAAY,MAAM,CAAC,EAAE,IAAI,KAAK,CAAC,KAAK,EAAE;YAC5C,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,gBAAgB;SAC/C,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,eAAe;YAAE,OAAO,IAAI,CAAC;QAClD,0DAA0D;QAC1D,MAAM,IAAI,cAAc,CAAC,gCAAgC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7F,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG;QAAE,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;IACjH,iGAAiG;IACjG,gBAAgB;IAChB,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,OAAO,GAAG,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;IACxD,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5C,MAAM,IAAI,iBAAiB,CAAC,GAAG,OAAO,CAAC,KAAK,iBAAiB,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAChH,CAAC;IACD,MAAM,IAAI,cAAc,CAAC,OAAO,EAAE,KAAK,IAAI,0BAA0B,MAAM,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;AAChH,CAAC;AAED,SAAS,UAAU,CAAC,KAAqB,EAAE,EAAU;IACnD,OAAO,CACL,EAAE,CAAC,MAAM,IAAI,aAAa,CAAC,EAAE,WAAW,EAAE,mBAAmB,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAClH,CAAC;AACJ,CAAC"}
@@ -3,6 +3,7 @@ import { join } from 'node:path';
3
3
  import { branchOf, checkoutBase, REPOS_DIR } from "./checkout.js";
4
4
  import { ConductorError } from "./errors.js";
5
5
  import { adoCodeHost, adoCodeHostWrites, adoHttp, adoPipelines, adoSend, githubActions, githubCodeHost, githubCodeHostWrites, githubRepoRef, needsAnswer, noteHeading, npmStage, repoName, } from "./lib/providers/index.js";
6
+ import { sharedNpmReads } from "./npm-reads.js";
6
7
  import { prRefusal } from "./ownership.js";
7
8
  import { notePrefixes, trackerKey } from "./profile.js";
8
9
  import { linkedPr } from "./tracker-writes.js";
@@ -17,15 +18,19 @@ export function asNote(profile, body) {
17
18
  export async function baseOf(git, worktree, profile, dir) {
18
19
  return dir === worktree ? profile.baseBranch : checkoutBase(git, dir);
19
20
  }
20
- // A repo's CI bound to it, with the npm stages its release runs leave (read from their logs).
21
- export function bindCi(repo, ci, fetcher = globalThis.fetch) {
22
- const release = npmStage({ ci, fetch: fetcher });
21
+ // A repo's CI bound to it, with the npm stages its release runs leave (read from their logs), and
22
+ // whether a version is on npm yet, read as npm's settings say (npm-reads.ts).
23
+ export function bindCi(repo, ci, npm = sharedNpmReads()) {
24
+ const release = npmStage({ ci, ...npm });
23
25
  return {
24
26
  failureLog: (run) => ci.failureLog({ id: run, repo }),
25
27
  pipelines: () => ci.pipelines(repo),
26
28
  published: (pkg, version) => release.published(pkg, version),
29
+ recentRuns: (pipeline, options) => ci.recentRuns(repo, pipeline, options),
27
30
  runsForMerge: (merge, options) => ci.runsForMerge(repo, merge, options),
28
31
  staged: (run) => release.staged({ id: run, repo }),
32
+ taskLogs: (run, options) => ci.taskLogs({ id: run, repo }, options),
33
+ timeline: (run) => ci.timeline({ id: run, repo }),
29
34
  triggersKnown: ci.triggersKnown,
30
35
  };
31
36
  }
@@ -60,18 +65,18 @@ export async function prChecks(host, head, body) {
60
65
  throw new ConductorError(`PR ${existing.number} is already open for ${head}: ${existing.url}`);
61
66
  }
62
67
  // The project's hosts as its accounts (credentials.ts): the az token of its tenant, its gh account.
63
- export function projectHosts(credentials, project, fetcher = globalThis.fetch) {
68
+ export function projectHosts(credentials, project, fetcher = globalThis.fetch, npm = sharedNpmReads()) {
64
69
  return (repo) => {
65
70
  if (repo.host === 'ado') {
66
71
  const token = credentials.ado(project);
67
72
  const http = adoHttp({ fetch: fetcher, token });
68
73
  const writes = adoCodeHostWrites({ http, send: adoSend({ fetch: fetcher, token }) });
69
- return bind(repo, adoCodeHost(http), writes, adoPipelines(http), fetcher);
74
+ return bind(repo, adoCodeHost(http), writes, adoPipelines(http), npm);
70
75
  }
71
76
  const api = credentials.gh(project);
72
77
  const write = credentials.ghWrite(project);
73
78
  const ci = githubActions({ api, run: credentials.ghRun(project) });
74
- return bind(repo, githubCodeHost({ api }), githubCodeHostWrites({ api, write }), ci, fetcher);
79
+ return bind(repo, githubCodeHost({ api }), githubCodeHostWrites({ api, write }), ci, npm);
75
80
  };
76
81
  }
77
82
  // The PR status reader over the projects' hosts.
@@ -143,13 +148,13 @@ export function repoOf(profile, option) {
143
148
  }
144
149
  return github;
145
150
  }
146
- function bind(repo, read, writes, ci, fetcher) {
151
+ function bind(repo, read, writes, ci, npm) {
147
152
  const ref = (number) => ({ number, repo });
148
153
  return {
149
154
  arm: (pr, mode) => writes.arm(ref(pr), mode),
150
155
  branchTip: (branch) => read.branchTip(repo, branch),
151
156
  capabilities: read.capabilities(repo),
152
- ci: bindCi(repo, ci, fetcher),
157
+ ci: bindCi(repo, ci, npm),
153
158
  commit: (sha) => read.commit(repo, sha),
154
159
  createPr: (pr) => writes.createPr(repo, pr),
155
160
  identity: () => writes.identity(repo),
@@ -1 +1 @@
1
- {"version":3,"file":"code-host.js","sourceRoot":"","sources":["../src/code-host.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"code-host.js","sourceRoot":"","sources":["../src/code-host.ts"],"names":[],"mappings":"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"}
package/build/config.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { readFileSync } from 'node:fs';
2
2
  import { z } from 'zod';
3
3
  import { isMissing } from "./errors.js";
4
+ import { TERMINALS } from "./host/terminal.js";
4
5
  import { parseJsonc } from "./jsonc.js";
5
6
  import { renamedHint, renamedTo } from "./protocol.js";
6
7
  import { INBOX_KINDS } from "./store.js";
@@ -50,8 +51,8 @@ export const BUILT_IN_PROFILES = {
50
51
  ],
51
52
  };
52
53
  // The credentials one project's provider calls use (credentials.ts), least privilege first: `token`
53
- // (Linear's `credential`) names the generic credential (Credential Manager) whose password is a token
54
- // scoped to this project, and wins over the machine's token and over the CLI login. `tenant` and
54
+ // (Linear's `credential`) names the credential in the machine's secret store (host/secrets.ts) whose
55
+ // password is a token scoped to this project, and wins over the machine's token and over the CLI login. `tenant` and
55
56
  // `user` pick the CLI login (az's tenant, gh's account) when there is no token. Each is optional.
56
57
  // The tenant reaches `az` through a shell on Windows, so it is a tenant id or domain and nothing else.
57
58
  const credentialTarget = z.string().trim().min(1);
@@ -79,14 +80,12 @@ const projectAccountsSchema = z.strictObject({
79
80
  // ~/.conductor/config.json: machine settings. Strict, so a misspelt key fails startup instead of
80
81
  // being ignored. Rules live beside it, in rules.json (rules-service.ts).
81
82
  export const configSchema = z.strictObject({
82
- // Skill bumps reach the main checkout (checkout-sync.ts, ATK-271).
83
- checkout: z
83
+ // The projects' clones the daemon owns (clones.ts, design note v2, section 2).
84
+ clones: z
84
85
  .strictObject({
85
- // How often each project's main checkout is compared with origin/<base> (a git fetch).
86
- intervalMinutes: z.number().min(1).max(1440).default(10),
87
- // update: fast-forward the main checkout and `atk install` when origin's pins change;
88
- // notify: only raise the inbox item that says so; off: no check.
89
- mode: z.enum(['update', 'notify', 'off']).default('update'),
86
+ // How often each clone fetches origin, after which a changed .claude/conductor.json on the base
87
+ // branch is taken. A worktree's create fetches its base branch as well.
88
+ fetchMinutes: z.number().min(1).max(1440).default(10),
90
89
  })
91
90
  .prefault({}),
92
91
  // The inbox (design note, section 7).
@@ -119,11 +118,11 @@ export const configSchema = z.strictObject({
119
118
  profiles: z
120
119
  .record(z.string().regex(/^[a-z][a-z0-9-]*$/, 'a profile name in lower case, such as away'), z.array(notifyRuleSchema))
121
120
  .default({}),
122
- // The app token and user key are secrets, so they live in Credential Manager (the credential's
123
- // password and user name) or in PUSHOVER_TOKEN and PUSHOVER_USER, never here.
121
+ // The app token and user key are secrets, so they live in the machine's secret store (the
122
+ // credential's password and user name) or in PUSHOVER_TOKEN and PUSHOVER_USER, never here.
124
123
  pushover: z
125
124
  .strictObject({
126
- // Absent: atk-conductor-pushover in ~/.conductor, none in a scratch home (pushoverCredential),
125
+ // Absent: conductor-pushover in ~/.conductor, none in a scratch home (pushoverCredential),
127
126
  // so a daemon run for a test can't push to the machine's phone (ATK-506).
128
127
  credential: z.string().min(1).optional(),
129
128
  // Pushover's priority: -2 (no alert) to 1 (high). 2 (emergency) needs receipts, not built.
@@ -144,6 +143,16 @@ export const configSchema = z.strictObject({
144
143
  operator: z.strictObject({ name: z.string().trim().min(1).default('the operator') }).prefault({}),
145
144
  // The API's port on 127.0.0.1. 0 lets the OS pick one; clients find it in the port file.
146
145
  port: z.int().min(0).max(65535).default(0),
146
+ // The pool the port broker gives worktrees their named ports from (design note v2, section 2),
147
+ // for every project on the machine. Away from the usual dev ports (3000, 5173, 7071, 8080) and
148
+ // their slot schemes, so a person's own worktree can't take one a worker was given.
149
+ ports: z
150
+ .strictObject({
151
+ first: z.int().min(1024).max(65535).default(41_000),
152
+ last: z.int().min(1024).max(65535).default(41_999),
153
+ })
154
+ .prefault({})
155
+ .refine((p) => p.first <= p.last, { message: 'ports.first must not be above ports.last', path: ['first'] }),
147
156
  // Each project's accounts, by its profile's name (providers design note, section 6). They are
148
157
  // the machine's, not the repo's, so they live here and not in .claude/conductor.json.
149
158
  projects: z
@@ -209,6 +218,16 @@ export const configSchema = z.strictObject({
209
218
  statsMinutes: z.number().min(1).max(1440).default(10),
210
219
  })
211
220
  .prefault({}),
221
+ // Workers run headless, as background sessions. `tab` also opens a tab on each launch, attached
222
+ // to the session; `conduct attach` opens one either way. `terminal` is where tabs and the console
223
+ // open (host/terminal.ts): auto is Windows Terminal, iTerm or Terminal on macOS, and tmux elsewhere.
224
+ // Was the profile's `workers.tab` until ATK-529: a machine's choice, not the repo's.
225
+ workers: z
226
+ .strictObject({
227
+ tab: z.boolean().default(false),
228
+ terminal: z.enum(TERMINALS).default('auto'),
229
+ })
230
+ .prefault({}),
212
231
  });
213
232
  // A missing file means every default; any other read error is a real problem.
214
233
  export function loadConfig(file) {