@humanbased/crosscheck 1.6.0-beta.8 → 1.6.1-beta.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 (108) hide show
  1. package/README.md +2 -0
  2. package/crosscheck.config.example.yml +17 -4
  3. package/dist/__tests__/board.test.js +68 -30
  4. package/dist/__tests__/board.test.js.map +1 -1
  5. package/dist/__tests__/lock-ownership.test.d.ts +2 -0
  6. package/dist/__tests__/lock-ownership.test.d.ts.map +1 -0
  7. package/dist/__tests__/lock-ownership.test.js +167 -0
  8. package/dist/__tests__/lock-ownership.test.js.map +1 -0
  9. package/dist/__tests__/optimize.test.js +4 -3
  10. package/dist/__tests__/optimize.test.js.map +1 -1
  11. package/dist/__tests__/repository-cache.test.d.ts +2 -0
  12. package/dist/__tests__/repository-cache.test.d.ts.map +1 -0
  13. package/dist/__tests__/repository-cache.test.js +91 -0
  14. package/dist/__tests__/repository-cache.test.js.map +1 -0
  15. package/dist/__tests__/repository-guidance.test.js +1 -1
  16. package/dist/__tests__/repository-guidance.test.js.map +1 -1
  17. package/dist/__tests__/review-command-strategy.test.d.ts +2 -0
  18. package/dist/__tests__/review-command-strategy.test.d.ts.map +1 -0
  19. package/dist/__tests__/review-command-strategy.test.js +194 -0
  20. package/dist/__tests__/review-command-strategy.test.js.map +1 -0
  21. package/dist/__tests__/review-efficiency-config.test.d.ts +2 -0
  22. package/dist/__tests__/review-efficiency-config.test.d.ts.map +1 -0
  23. package/dist/__tests__/review-efficiency-config.test.js +16 -0
  24. package/dist/__tests__/review-efficiency-config.test.js.map +1 -0
  25. package/dist/__tests__/review-memory.test.d.ts +2 -0
  26. package/dist/__tests__/review-memory.test.d.ts.map +1 -0
  27. package/dist/__tests__/review-memory.test.js +252 -0
  28. package/dist/__tests__/review-memory.test.js.map +1 -0
  29. package/dist/__tests__/review-models.test.js +1 -0
  30. package/dist/__tests__/review-models.test.js.map +1 -1
  31. package/dist/__tests__/review-strategy.test.js +78 -3
  32. package/dist/__tests__/review-strategy.test.js.map +1 -1
  33. package/dist/__tests__/vendor-error-summary.test.d.ts +2 -0
  34. package/dist/__tests__/vendor-error-summary.test.d.ts.map +1 -0
  35. package/dist/__tests__/vendor-error-summary.test.js +74 -0
  36. package/dist/__tests__/vendor-error-summary.test.js.map +1 -0
  37. package/dist/__tests__/watch-concurrency.test.d.ts +2 -0
  38. package/dist/__tests__/watch-concurrency.test.d.ts.map +1 -0
  39. package/dist/__tests__/watch-concurrency.test.js +53 -0
  40. package/dist/__tests__/watch-concurrency.test.js.map +1 -0
  41. package/dist/cli.js +18 -2
  42. package/dist/cli.js.map +1 -1
  43. package/dist/commands/onboard.js +2 -2
  44. package/dist/commands/onboard.js.map +1 -1
  45. package/dist/commands/review.d.ts +3 -1
  46. package/dist/commands/review.d.ts.map +1 -1
  47. package/dist/commands/review.js +146 -7
  48. package/dist/commands/review.js.map +1 -1
  49. package/dist/commands/run.d.ts.map +1 -1
  50. package/dist/commands/run.js +24 -6
  51. package/dist/commands/run.js.map +1 -1
  52. package/dist/commands/watch.d.ts +3 -0
  53. package/dist/commands/watch.d.ts.map +1 -1
  54. package/dist/commands/watch.js +170 -25
  55. package/dist/commands/watch.js.map +1 -1
  56. package/dist/config/schema.d.ts +27 -0
  57. package/dist/config/schema.d.ts.map +1 -1
  58. package/dist/config/schema.js +12 -1
  59. package/dist/config/schema.js.map +1 -1
  60. package/dist/github/review-status.d.ts +33 -0
  61. package/dist/github/review-status.d.ts.map +1 -1
  62. package/dist/github/review-status.js +94 -9
  63. package/dist/github/review-status.js.map +1 -1
  64. package/dist/lib/board.d.ts +1 -0
  65. package/dist/lib/board.d.ts.map +1 -1
  66. package/dist/lib/board.js +42 -37
  67. package/dist/lib/board.js.map +1 -1
  68. package/dist/lib/clone.d.ts +3 -0
  69. package/dist/lib/clone.d.ts.map +1 -1
  70. package/dist/lib/clone.js +21 -1
  71. package/dist/lib/clone.js.map +1 -1
  72. package/dist/lib/pr-lock.d.ts +37 -1
  73. package/dist/lib/pr-lock.d.ts.map +1 -1
  74. package/dist/lib/pr-lock.js +176 -29
  75. package/dist/lib/pr-lock.js.map +1 -1
  76. package/dist/lib/pr-workflow-state.d.ts +2 -0
  77. package/dist/lib/pr-workflow-state.d.ts.map +1 -1
  78. package/dist/lib/pr-workflow-state.js +15 -0
  79. package/dist/lib/pr-workflow-state.js.map +1 -1
  80. package/dist/lib/repository-cache.d.ts +18 -0
  81. package/dist/lib/repository-cache.d.ts.map +1 -0
  82. package/dist/lib/repository-cache.js +125 -0
  83. package/dist/lib/repository-cache.js.map +1 -0
  84. package/dist/lib/review-memory.d.ts +212 -0
  85. package/dist/lib/review-memory.d.ts.map +1 -0
  86. package/dist/lib/review-memory.js +305 -0
  87. package/dist/lib/review-memory.js.map +1 -0
  88. package/dist/lib/review-models.d.ts +2 -2
  89. package/dist/lib/review-models.js +2 -2
  90. package/dist/lib/runner.d.ts +37 -2
  91. package/dist/lib/runner.d.ts.map +1 -1
  92. package/dist/lib/runner.js +81 -28
  93. package/dist/lib/runner.js.map +1 -1
  94. package/dist/lib/tips.js +1 -1
  95. package/dist/lib/tips.js.map +1 -1
  96. package/dist/lib/vendor-error-summary.d.ts +19 -0
  97. package/dist/lib/vendor-error-summary.d.ts.map +1 -0
  98. package/dist/lib/vendor-error-summary.js +95 -0
  99. package/dist/lib/vendor-error-summary.js.map +1 -0
  100. package/dist/reviewers/claude.d.ts.map +1 -1
  101. package/dist/reviewers/claude.js +2 -1
  102. package/dist/reviewers/claude.js.map +1 -1
  103. package/dist/reviewers/codex.d.ts.map +1 -1
  104. package/dist/reviewers/codex.js +2 -1
  105. package/dist/reviewers/codex.js.map +1 -1
  106. package/docs/dynamic-thoroughness.md +7 -4
  107. package/get-started.md +83 -9
  108. package/package.json +1 -1
@@ -1,6 +1,39 @@
1
1
  import type { Octokit } from 'octokit';
2
+ /** Parse the instance id out of a claim description. Null for a foreign or legacy status. */
3
+ export declare function parseClaimOwner(description: string | null | undefined): string | null;
4
+ /**
5
+ * Is another instance actively reviewing this commit?
6
+ *
7
+ * Our own claim does not count: a retry inside the same process must not be
8
+ * blocked by the pending status that process itself just wrote.
9
+ */
2
10
  export declare function checkRemoteLock(octokit: Octokit, owner: string, repo: string, sha: string): Promise<boolean>;
3
11
  export declare function acquireRemoteLock(octokit: Octokit, owner: string, repo: string, sha: string): Promise<void>;
12
+ /**
13
+ * Claim the commit and confirm the claim held. Returns false when another instance
14
+ * won, in which case this caller must not review.
15
+ *
16
+ * `checkRemoteLock` then `acquireRemoteLock` is a check-then-act race: two instances
17
+ * that receive the same webhook within a round-trip of each other both see no pending
18
+ * status, both write one, and both review the same commit — the duplicate same-SHA
19
+ * reviews this arbitration exists to stop. GitHub has no conditional status write, so
20
+ * instead of pretending the write was exclusive, both writers read back after a settle
21
+ * window and only the instance whose id survived as the newest status proceeds. Last
22
+ * write wins, deterministically, rather than nobody losing.
23
+ *
24
+ * This is arbitration, not a mutex: a peer writing after the read-back still gets in.
25
+ * The window is milliseconds against a review measured in minutes, and the local lock
26
+ * covers same-machine collisions outright.
27
+ */
28
+ export declare function claimRemoteLock(octokit: Octokit, owner: string, repo: string, sha: string, settleMs?: number): Promise<boolean>;
4
29
  export declare function startRemoteLockHeartbeat(octokit: Octokit, owner: string, repo: string, sha: string): () => void;
30
+ /**
31
+ * Publish the review outcome and drop the claim — but only if the claim is still ours.
32
+ *
33
+ * Writing unconditionally let any instance clear any other instance's lock. Worse than
34
+ * the lost mutual exclusion, `crosscheck/review` is a status a repo can require for
35
+ * merge: a late `success` from an instance that reviewed an older commit, or one whose
36
+ * claim was superseded, marks a commit green that nothing has actually reviewed.
37
+ */
5
38
  export declare function releaseRemoteLock(octokit: Octokit, owner: string, repo: string, sha: string, outcome: 'success' | 'failure'): Promise<void>;
6
39
  //# sourceMappingURL=review-status.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"review-status.d.ts","sourceRoot":"","sources":["../../src/github/review-status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAWtC,wBAAsB,eAAe,CACnC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,OAAO,CAAC,CAYlB;AAED,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,IAAI,CAAC,CAOf;AAKD,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GACV,MAAM,IAAI,CAUZ;AAED,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,SAAS,GAAG,SAAS,GAC7B,OAAO,CAAC,IAAI,CAAC,CAMf"}
1
+ {"version":3,"file":"review-status.d.ts","sourceRoot":"","sources":["../../src/github/review-status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAyBtC,6FAA6F;AAC7F,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAIrF;AA0BD;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,OAAO,CAAC,CASlB;AAED,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,IAAI,CAAC,CAOf;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,QAAQ,GAAE,MAAwB,GACjC,OAAO,CAAC,OAAO,CAAC,CAelB;AAKD,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GACV,MAAM,IAAI,CAUZ;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,SAAS,GAAG,SAAS,GAC7B,OAAO,CAAC,IAAI,CAAC,CAYf"}
@@ -1,3 +1,4 @@
1
+ import { INSTANCE_ID } from '../lib/pr-lock.js';
1
2
  const CONTEXT = 'crosscheck/review';
2
3
  // Lock is stale when the process hasn't heartbeated within this window.
3
4
  // Shorter = faster self-heal after a crash; must exceed HEARTBEAT_INTERVAL_MS
@@ -6,16 +7,51 @@ const STALE_MS = 5 * 60 * 1000;
6
7
  // Heartbeat keeps the pending status fresh so long-running reviews don't look
7
8
  // abandoned. Must be well under STALE_MS so a live review never goes stale.
8
9
  const HEARTBEAT_INTERVAL_MS = 2 * 60 * 1000;
10
+ // How long to let concurrent claims settle before reading back who won.
11
+ // createCommitStatus is an upsert, not a compare-and-swap — GitHub offers no
12
+ // conditional create for a commit status — so two instances can both write. The
13
+ // settle-then-read-back below is what turns that into a decision instead of two
14
+ // instances both proceeding. It must comfortably exceed a write round-trip.
15
+ const CLAIM_SETTLE_MS = 2_500;
16
+ // The claim marker. Kept short: GitHub truncates a status description at 140 chars,
17
+ // and the instance id has to survive that intact to be readable on the way back.
18
+ function claimDescription(id) {
19
+ return `crosscheck ${id}`;
20
+ }
21
+ /** Parse the instance id out of a claim description. Null for a foreign or legacy status. */
22
+ export function parseClaimOwner(description) {
23
+ if (!description)
24
+ return null;
25
+ const m = description.match(/^crosscheck ([^\s]+)/);
26
+ return m ? (m[1] ?? null) : null;
27
+ }
28
+ async function readClaim(octokit, owner, repo, sha) {
29
+ const { data } = await octokit.rest.repos.getCombinedStatusForRef({ owner, repo, ref: sha });
30
+ const status = data.statuses
31
+ .filter(s => s.context === CONTEXT)
32
+ .sort((a, b) => new Date(b.updated_at).getTime() - new Date(a.updated_at).getTime())[0];
33
+ if (!status)
34
+ return null;
35
+ return {
36
+ state: status.state,
37
+ owner: parseClaimOwner(status.description),
38
+ updatedAt: new Date(status.updated_at).getTime(),
39
+ };
40
+ }
41
+ /**
42
+ * Is another instance actively reviewing this commit?
43
+ *
44
+ * Our own claim does not count: a retry inside the same process must not be
45
+ * blocked by the pending status that process itself just wrote.
46
+ */
9
47
  export async function checkRemoteLock(octokit, owner, repo, sha) {
10
48
  try {
11
- const { data } = await octokit.rest.repos.getCombinedStatusForRef({ owner, repo, ref: sha });
12
- const status = data.statuses
13
- .filter(s => s.context === CONTEXT)
14
- .sort((a, b) => new Date(b.updated_at).getTime() - new Date(a.updated_at).getTime())[0];
15
- if (!status || status.state !== 'pending')
49
+ const claim = await readClaim(octokit, owner, repo, sha);
50
+ if (!claim || claim.state !== 'pending')
16
51
  return false;
17
- const age = Date.now() - new Date(status.updated_at).getTime();
18
- return age < STALE_MS;
52
+ if (claim.owner === INSTANCE_ID)
53
+ return false;
54
+ return Date.now() - claim.updatedAt < STALE_MS;
19
55
  }
20
56
  catch {
21
57
  return false;
@@ -26,9 +62,43 @@ export async function acquireRemoteLock(octokit, owner, repo, sha) {
26
62
  owner, repo, sha,
27
63
  state: 'pending',
28
64
  context: CONTEXT,
29
- description: `Review started at ${new Date().toISOString()}`,
65
+ description: `${claimDescription(INSTANCE_ID)} started ${new Date().toISOString()}`,
30
66
  });
31
67
  }
68
+ /**
69
+ * Claim the commit and confirm the claim held. Returns false when another instance
70
+ * won, in which case this caller must not review.
71
+ *
72
+ * `checkRemoteLock` then `acquireRemoteLock` is a check-then-act race: two instances
73
+ * that receive the same webhook within a round-trip of each other both see no pending
74
+ * status, both write one, and both review the same commit — the duplicate same-SHA
75
+ * reviews this arbitration exists to stop. GitHub has no conditional status write, so
76
+ * instead of pretending the write was exclusive, both writers read back after a settle
77
+ * window and only the instance whose id survived as the newest status proceeds. Last
78
+ * write wins, deterministically, rather than nobody losing.
79
+ *
80
+ * This is arbitration, not a mutex: a peer writing after the read-back still gets in.
81
+ * The window is milliseconds against a review measured in minutes, and the local lock
82
+ * covers same-machine collisions outright.
83
+ */
84
+ export async function claimRemoteLock(octokit, owner, repo, sha, settleMs = CLAIM_SETTLE_MS) {
85
+ await acquireRemoteLock(octokit, owner, repo, sha);
86
+ await new Promise(resolve => setTimeout(resolve, settleMs));
87
+ try {
88
+ const claim = await readClaim(octokit, owner, repo, sha);
89
+ // No claim readable, or one with no owner (a legacy status, or a description
90
+ // GitHub truncated): nothing proves we lost, and refusing to review on an
91
+ // unreadable status would strand the PR. Proceed — the local lock still holds.
92
+ if (!claim || claim.owner === null)
93
+ return true;
94
+ return claim.owner === INSTANCE_ID;
95
+ }
96
+ catch {
97
+ // The read-back is the optional half. Failing it leaves us exactly where the
98
+ // old unconditional acquire always was, which is still safe enough to review.
99
+ return true;
100
+ }
101
+ }
32
102
  // Starts a repeating interval that refreshes the pending status timestamp so
33
103
  // checkRemoteLock never treats an active review as stale. Returns a stop
34
104
  // function that must be called in the finally block after the review completes.
@@ -38,15 +108,30 @@ export function startRemoteLockHeartbeat(octokit, owner, repo, sha) {
38
108
  owner, repo, sha,
39
109
  state: 'pending',
40
110
  context: CONTEXT,
41
- description: `Review active at ${new Date().toISOString()}`,
111
+ description: `${claimDescription(INSTANCE_ID)} active ${new Date().toISOString()}`,
42
112
  }).catch(() => { });
43
113
  }, HEARTBEAT_INTERVAL_MS);
44
114
  return () => clearInterval(id);
45
115
  }
116
+ /**
117
+ * Publish the review outcome and drop the claim — but only if the claim is still ours.
118
+ *
119
+ * Writing unconditionally let any instance clear any other instance's lock. Worse than
120
+ * the lost mutual exclusion, `crosscheck/review` is a status a repo can require for
121
+ * merge: a late `success` from an instance that reviewed an older commit, or one whose
122
+ * claim was superseded, marks a commit green that nothing has actually reviewed.
123
+ */
46
124
  export async function releaseRemoteLock(octokit, owner, repo, sha, outcome) {
47
125
  try {
126
+ const claim = await readClaim(octokit, owner, repo, sha);
127
+ // A claim owned by someone else is theirs to resolve. An unowned claim (legacy
128
+ // or truncated) is indistinguishable from our own predecessor's, so resolve it
129
+ // rather than leaving a pending status behind forever.
130
+ if (claim && claim.owner !== null && claim.owner !== INSTANCE_ID)
131
+ return;
48
132
  await octokit.rest.repos.createCommitStatus({
49
133
  owner, repo, sha, state: outcome, context: CONTEXT,
134
+ description: `${claimDescription(INSTANCE_ID)} ${outcome}`,
50
135
  });
51
136
  }
52
137
  catch { /* best-effort */ }
@@ -1 +1 @@
1
- {"version":3,"file":"review-status.js","sourceRoot":"","sources":["../../src/github/review-status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"review-status.js","sourceRoot":"","sources":["../../src/github/review-status.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,7 @@ export interface PRCompletionData {
33
33
  export type Outcome = 'APPROVE' | 'NEEDS WORK' | 'BLOCK' | 'no verdict' | 'skipped' | 'error';
34
34
  export declare function fmtTime(d?: Date): string;
35
35
  export declare const FMT_TIME_WIDTH = 11;
36
+ export declare function fmtEnteredAt(epochMs: number): string;
36
37
  export declare function fmtUptime(ms: number): string;
37
38
  /**
38
39
  * Whole percentages summing to exactly 100, by the largest-remainder method.
@@ -1 +1 @@
1
- {"version":3,"file":"board.d.ts","sourceRoot":"","sources":["../../src/lib/board.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"board.d.ts","sourceRoot":"","sources":["../../src/lib/board.ts"],"names":[],"mappings":"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"}
package/dist/lib/board.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import chalk from 'chalk';
2
2
  import { selectTip } from './tips.js';
3
+ import { oneLine } from './vendor-error-summary.js';
3
4
  const OUTCOME_ORDER = ['APPROVE', 'NEEDS WORK', 'BLOCK', 'no verdict', 'skipped', 'error'];
4
5
  // ── Constants ─────────────────────────────────────────────────────────────────
5
6
  const FRAMES = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'];
@@ -24,6 +25,13 @@ function fmtDuration(ms) {
24
25
  return `${m}m${String(s).padStart(2, '0')}s`;
25
26
  return `${s}s`;
26
27
  }
28
+ // When a PR entered the board, in the operator's locale: "09/22, 03:50 PM" in
29
+ // en-US. Every part is 2-digit so the column keeps one width within a session.
30
+ export function fmtEnteredAt(epochMs) {
31
+ return new Date(epochMs).toLocaleString(undefined, {
32
+ month: '2-digit', day: '2-digit', hour: '2-digit', minute: '2-digit',
33
+ });
34
+ }
27
35
  // Short HH:MM timestamp (no seconds) for the "started" label
28
36
  function fmtStartTime(epochMs) {
29
37
  return new Date(epochMs).toLocaleTimeString('en-US', { hour: '2-digit', minute: '2-digit', hour12: true });
@@ -133,35 +141,20 @@ const NOTICE_PREFIX = /^(?:\x1B\[[0-9;]*m)*\s*[⚠✗]/;
133
141
  export function isNoticeLine(msg) {
134
142
  return NOTICE_PREFIX.test(msg) || msg.includes('\n');
135
143
  }
136
- // Bare `<`/`>` (and their unshifted `,`/`.`) always work. Terminals cannot agree
137
- // on how to report ctrl/cmd with a punctuation key, so every encoding they do
138
- // emit is accepted: meta-prefixed, CSI-u (kitty / xterm modifyOtherKeys) and
139
- // modified arrows. macOS Terminal swallows cmd entirely — there the bare keys,
140
- // or ctrl+arrow, are the way through.
141
- const PAGE_OLDER_KEYS = new Set(['<', ',', '\u001b<', '\u001b,', '\u001b[D', '\u001b[5~']);
142
- const PAGE_NEWER_KEYS = new Set(['>', '.', '\u001b>', '\u001b.', '\u001b[C', '\u001b[6~']);
143
- // eslint-disable-next-line no-control-regex -- the ESC byte is the sequence
144
- const CSI_U = /^\u001b\[(\d+);\d+u$/; // ESC [ <codepoint> ; <modifiers> u
145
- // eslint-disable-next-line no-control-regex -- the ESC byte is the sequence
146
- const CSI_ARROW = /^\u001b\[1;\d+([DC])$/; // ESC [ 1 ; <modifiers> D|C
144
+ // ← / → are the only page keys, on Windows, Linux and macOS alike: every
145
+ // terminal forwards a bare arrow, where modifier and punctuation combinations
146
+ // arrive inconsistently or not at all (macOS never forwards cmd). Each arrow has
147
+ // two encodings: normal cursor mode (`ESC [ D`) and application cursor mode
148
+ // (`ESC O D`), which Terminal.app emits while an alternate-screen app owns the tty.
149
+ // ← moves toward newer PRs (the live page), → toward older history.
150
+ const PAGE_NEWER_KEYS = new Set(['\u001b[D', '\u001bOD']);
151
+ const PAGE_OLDER_KEYS = new Set(['\u001b[C', '\u001bOC']);
147
152
  /** Map a raw stdin key sequence to a page direction, or null when it is not a page key. */
148
153
  export function pageKeyAction(seq) {
149
154
  if (PAGE_OLDER_KEYS.has(seq))
150
155
  return 'older';
151
156
  if (PAGE_NEWER_KEYS.has(seq))
152
157
  return 'newer';
153
- const csiU = CSI_U.exec(seq);
154
- if (csiU) {
155
- const codepoint = Number(csiU[1]);
156
- if (codepoint === 44 || codepoint === 60)
157
- return 'older'; // , <
158
- if (codepoint === 46 || codepoint === 62)
159
- return 'newer'; // . >
160
- return null;
161
- }
162
- const arrow = CSI_ARROW.exec(seq);
163
- if (arrow)
164
- return arrow[1] === 'D' ? 'older' : 'newer';
165
158
  return null;
166
159
  }
167
160
  // Keep every active slot plus the newest `budget` settled ones. Anything older
@@ -277,6 +270,7 @@ function buildTheme(cfg) {
277
270
  warning: chalk.yellow,
278
271
  error: chalk.red,
279
272
  dim: chalk.dim,
273
+ muted: chalk.gray.dim,
280
274
  accent: chalk.cyan,
281
275
  barPRFill: resolveColor(cfg.bar_fill),
282
276
  barEmpty: empty,
@@ -450,7 +444,12 @@ export class PRBoard {
450
444
  if (!slot || slot.completedAt !== undefined)
451
445
  return;
452
446
  slot.completedAt = Date.now();
453
- slot.error = error;
447
+ // A failure message is whatever the thrower had — a subprocess dump can
448
+ // arrive with embedded newlines and hundreds of columns. The folded row is
449
+ // clamped to one terminal row and history pagination counts on that, so the
450
+ // text is flattened here rather than at render time. The untouched error is
451
+ // in the file log.
452
+ slot.error = oneLine(error, 160);
454
453
  slot.label = 'failed';
455
454
  this.stats.outcomes.error++;
456
455
  if (!this.isTTY) {
@@ -573,7 +572,7 @@ export class PRBoard {
573
572
  : '';
574
573
  return `PRs: ${prsReceived} · CRs: ${crsCompleted}${errorPart} · fixes: ${fixesApplied}${avgCr}`;
575
574
  }
576
- renderPRSlot(slot, frame) {
575
+ renderPRSlot(slot, frame, numWidth = 0) {
577
576
  const t = this.theme;
578
577
  const w = process.stdout.columns || 80;
579
578
  const isCompleted = slot.completedAt !== undefined;
@@ -585,15 +584,15 @@ export class PRBoard {
585
584
  const branch = truncate(slot.branch, 22);
586
585
  const icon = isCompleted ? t.success('✓') : t.spinner(frame);
587
586
  const phaseLabel = this.phaseLine1Label(slot, frame);
588
- const timePart = isCompleted
589
- ? t.dim(eSuffix)
590
- : `${t.dim('started ' + fmtStartTime(slot.startedAt))} ${t.dim(eSuffix)}`;
591
- const rightPart = `${timePart} ${phaseLabel}`;
592
- const identityPlain = ` #${slot.prNumber} ${slot.repo} ${branch}`;
587
+ // The entered-at column after the PR number already says when it started.
588
+ const rightPart = `${t.dim(eSuffix)} ${phaseLabel}`;
589
+ const numText = `#${slot.prNumber}`.padEnd(numWidth);
590
+ const entered = fmtEnteredAt(slot.startedAt);
591
+ const identityPlain = ` ${numText} ${entered} ${slot.repo} ${branch}`;
593
592
  const l1Pad = Math.max(2, w - stripAnsi(identityPlain).length - stripAnsi(rightPart).length - 2);
594
- const prNum = isCompleted ? t.dim(`#${slot.prNumber}`) : chalk.bold(`#${slot.prNumber}`);
593
+ const prNum = isCompleted ? t.dim(numText) : chalk.bold(numText);
595
594
  const repoStr = isCompleted ? t.dim(slot.repo) : chalk.white(slot.repo);
596
- const l1 = ` ${icon} ${prNum} ${repoStr} ${t.dim(branch)}` +
595
+ const l1 = ` ${icon} ${prNum} ${t.dim(entered)} ${repoStr} ${t.dim(branch)}` +
597
596
  ' '.repeat(l1Pad) + rightPart;
598
597
  // ── Line 2: PR | CR | Fix | Recheck pipeline ────────────────────────────────
599
598
  const pipe = t.dim(' | ');
@@ -885,6 +884,8 @@ export class PRBoard {
885
884
  completedCount++;
886
885
  }
887
886
  const foldByCount = completedCount > FOLD_THRESHOLD;
887
+ // Pad the PR number to the page's widest so the entered-at column lines up.
888
+ const numWidth = Math.max(...visible.map(s => `#${s.prNumber}`.length));
888
889
  const lines = [];
889
890
  let prevWasExpanded = false;
890
891
  let first = true;
@@ -905,13 +906,13 @@ export class PRBoard {
905
906
  if (useFolded) {
906
907
  // Clamped so the row never wraps: history pagination sizes a page by
907
908
  // counting one terminal row per folded slot.
908
- lines.push(truncateVisible(this.renderPRSlotFolded(slot), w - 1));
909
+ lines.push(truncateVisible(this.renderPRSlotFolded(slot, numWidth), w - 1));
909
910
  prevWasExpanded = false;
910
911
  }
911
912
  else {
912
913
  if (!first && prevWasExpanded)
913
914
  lines.push('');
914
- lines.push(this.renderPRSlot(slot, frame));
915
+ lines.push(this.renderPRSlot(slot, frame, numWidth));
915
916
  prevWasExpanded = true;
916
917
  }
917
918
  first = false;
@@ -929,13 +930,16 @@ export class PRBoard {
929
930
  // "shown of retained", not of stats.prsReceived: rounds add rows, and the
930
931
  // history cap eventually drops the oldest, so the two counts diverge.
931
932
  const counts = t.dim(`showing ${shown} of ${total}`);
933
+ // A key with nowhere to go fades to the muted colour: ← on the live page,
934
+ // → on the oldest history page.
935
+ const key = (arrow, label, live) => live ? `${t.accent(arrow)} ${t.dim(label)}` : t.muted(`${arrow} ${label}`);
932
936
  const keys = this.pageCount > 1
933
- ? ` ${t.dim('│')} ${t.accent('ctrl+<')} ${t.dim('older')} ${t.accent('ctrl+>')} ${t.dim('newer')}`
937
+ ? ` ${t.dim('│')} ${key('←', 'newer', this.page > 0)} ${key('→', 'older', this.page < this.pageCount - 1)}`
934
938
  : '';
935
939
  return ` ${position} ${t.dim('│')} ${counts}${keys}`;
936
940
  }
937
941
  // ── Folded PR slot ─────────────────────────────────────────────────────────
938
- renderPRSlotFolded(slot) {
942
+ renderPRSlotFolded(slot, numWidth = 0) {
939
943
  const t = this.theme;
940
944
  const elapsedMs = (slot.completedAt ?? Date.now()) - slot.startedAt;
941
945
  const elapsed = fmtDuration(elapsedMs);
@@ -970,7 +974,8 @@ export class PRBoard {
970
974
  const urlPart = slot.url ? ` ${t.dim('→')} ${t.accent(slot.url)}` : '';
971
975
  const partsStr = parts.length > 0 ? parts.join(t.dim(' · ')) : t.dim('—');
972
976
  const icon = slot.error !== undefined ? t.error('✗') : t.success('✓');
973
- return ` ${icon} ${t.dim(`#${slot.prNumber}`)} ${t.dim(slot.repo)} ${t.dim(branch)} ${partsStr} ${t.dim(`(${elapsed})`)}${urlPart}`;
977
+ const numText = `#${slot.prNumber}`.padEnd(numWidth);
978
+ return ` ${icon} ${t.dim(numText)} ${t.dim(fmtEnteredAt(slot.startedAt))} ${t.dim(slot.repo)} ${t.dim(branch)} ${partsStr} ${t.dim(`(${elapsed})`)}${urlPart}`;
974
979
  }
975
980
  redraw() {
976
981
  const content = this.render();
@@ -1 +1 @@
1
- {"version":3,"file":"board.js","sourceRoot":"","sources":["../../src/lib/board.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AA4FrC,MAAM,aAAa,GAAuB,CAAC,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;AAa9G,iFAAiF;AAEjF,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AACjE,MAAM,UAAU,GAAG,GAAG,CAAA;AACtB,MAAM,SAAS,GAAG,GAAG,CAAA;AAErB,iFAAiF;AAEjF,4FAA4F;AAC5F,MAAM,UAAU,OAAO,CAAC,CAAC,GAAG,IAAI,IAAI,EAAE;IACpC,OAAO,CAAC,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;AAC/G,CAAC;AAED,+FAA+F;AAC/F,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAA;AAEhC,iEAAiE;AACjE,SAAS,WAAW,CAAC,EAAU;IAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAA;IACtC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAA;IACrC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;IAC5C,MAAM,CAAC,GAAG,QAAQ,GAAG,EAAE,CAAA;IACvB,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAA;IACvD,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAA;IACvD,OAAO,GAAG,CAAC,GAAG,CAAA;AAChB,CAAC;AAED,6DAA6D;AAC7D,SAAS,YAAY,CAAC,OAAe;IACnC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;AAC5G,CAAC;AAED,mFAAmF;AACnF,kFAAkF;AAClF,4EAA4E;AAC5E,MAAM,UAAU,SAAS,CAAC,EAAU;IAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAA;IACrD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAA;IACnC,MAAM,CAAC,GAAG,QAAQ,GAAG,EAAE,CAAA;IACvB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAA;AAChE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,UAAU,CAAC,MAAyB;IAClD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;IAC/C,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;IAE3C,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,CAAA;IAChD,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACjC,6EAA6E;IAC7E,yEAAyE;IACzE,IAAI,SAAS,GAAG,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;IAEpD,MAAM,WAAW,GAAG,KAAK;SACtB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SAC9C,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;SAChC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;IAEhC,KAAK,MAAM,EAAE,CAAC,EAAE,IAAI,WAAW,EAAE,CAAC;QAChC,IAAI,SAAS,IAAI,CAAC;YAAE,MAAK;QACzB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;QACR,SAAS,EAAE,CAAA;IACb,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,SAAS,CAAC,CAAU;IAClC,IAAI,CAAC,IAAI,IAAI;QAAE,OAAO,EAAE,CAAA;IACxB,IAAI,CAAC,GAAG,KAAK;QAAE,OAAO,IAAI,CAAC,GAAG,CAAA;IAC9B,IAAI,CAAC,GAAG,SAAS;QAAE,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAA;IAC5E,OAAO,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAA;AAC/D,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,YAAY,CAAC,CAAU;IACrC,IAAI,CAAC,IAAI,IAAI;QAAE,OAAO,EAAE,CAAA;IACxB,IAAI,CAAC,GAAG,KAAK;QAAE,OAAO,GAAG,CAAC,EAAE,CAAA;IAC5B,IAAI,CAAC,GAAG,SAAS;QAAE,OAAO,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAA;IAC1E,OAAO,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAA;AAC7D,CAAC;AAED,yDAAyD;AACzD,SAAS,SAAS,CAAC,CAAS;IAC1B,4CAA4C;IAC5C,OAAO,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAA;AACzC,CAAC;AAED,SAAS,QAAQ,CAAC,CAAS,EAAE,GAAW;IACtC,OAAO,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;AACxD,CAAC;AAED,8EAA8E;AAC9E,gFAAgF;AAChF,6EAA6E;AAC7E,4EAA4E;AAC5E,SAAS,eAAe,CAAC,CAAS,EAAE,GAAW;IAC7C,IAAI,GAAG,IAAI,CAAC;QAAE,OAAO,EAAE,CAAA;IACvB,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,GAAG;QAAE,OAAO,CAAC,CAAA;IACxC,IAAI,GAAG,GAAG,EAAE,CAAA;IACZ,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QACf,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;YAClB,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;YAC7B,IAAI,GAAG,KAAK,CAAC,CAAC;gBAAE,MAAK;YACrB,GAAG,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAA;YAC1B,CAAC,GAAG,GAAG,CAAA;YACP,SAAQ;QACV,CAAC;QACD,IAAI,KAAK,IAAI,GAAG,GAAG,CAAC;YAAE,MAAK;QAC3B,GAAG,IAAI,EAAE,CAAA;QACT,KAAK,EAAE,CAAA;IACT,CAAC;IACD,OAAO,GAAG,GAAG,UAAU,CAAA;AACzB,CAAC;AAED,2EAA2E;AAC3E,wEAAwE;AACxE,yEAAyE;AACzE,wEAAwE;AACxE,8EAA8E;AAC9E,mDAAmD;AACnD,kFAAkF;AAClF,MAAM,aAAa,GAAG,6BAA6B,CAAA;AAEnD,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,OAAO,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;AACtD,CAAC;AAMD,iFAAiF;AACjF,8EAA8E;AAC9E,6EAA6E;AAC7E,+EAA+E;AAC/E,sCAAsC;AACtC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,CAAA;AAC1F,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,CAAA;AAC1F,4EAA4E;AAC5E,MAAM,KAAK,GAAG,sBAAsB,CAAA,CAAU,oCAAoC;AAClF,4EAA4E;AAC5E,MAAM,SAAS,GAAG,uBAAuB,CAAA,CAAM,4BAA4B;AAE3E,2FAA2F;AAC3F,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,IAAI,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO,OAAO,CAAA;IAC5C,IAAI,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO,OAAO,CAAA;IAE5C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC5B,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QACjC,IAAI,SAAS,KAAK,EAAE,IAAI,SAAS,KAAK,EAAE;YAAE,OAAO,OAAO,CAAA,CAAE,MAAM;QAChE,IAAI,SAAS,KAAK,EAAE,IAAI,SAAS,KAAK,EAAE;YAAE,OAAO,OAAO,CAAA,CAAE,MAAM;QAChE,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACjC,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAA;IAEtD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,+EAA+E;AAC/E,gFAAgF;AAChF,qBAAqB;AACrB,SAAS,YAAY,CAAC,IAAc,EAAE,MAAc;IAClD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,SAAS,CAAC,CAAA;IAC7D,IAAI,OAAO,CAAC,MAAM,IAAI,MAAM;QAAE,OAAO,IAAI,CAAC,KAAK,EAAE,CAAA;IACjD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAA;IAC5D,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;AACrE,CAAC;AAED;;;;;GAKG;AACH,SAAS,SAAS,CAAC,IAAY;IAC7B,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO,OAAO,CAAA;IAC5C,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,cAAc,KAAK,QAAQ;QACnD,CAAC,CAAC,IAAI,CAAC,cAAc;QACrB,CAAC,CAAC,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAA;IAC1D,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,YAAY,IAAI,KAAK,KAAK,OAAO;QAAE,OAAO,KAAK,CAAA;IACpF,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI;QAAE,OAAO,YAAY,CAAA;IAC9E,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAS,OAAO,CAAC,MAAc,EAAE,KAAa,EAAE,MAAe,EAAE,OAAgB;IAC/E,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAC1D,OAAO,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAA;AAC5E,CAAC;AAED,uEAAuE;AACvE,SAAS,cAAc,CAAC,QAAiB,EAAE,IAAa;IACtD,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAA;IACjC,IAAI,QAAQ,IAAI,IAAI;QAAE,OAAO,GAAG,QAAQ,MAAM,IAAI,EAAE,CAAA;IACpD,OAAO,QAAQ,IAAI,IAAI,IAAI,EAAE,CAAA;AAC/B,CAAC;AAED,SAAS,WAAW,CAAC,GAAW;IAC9B,IAAI,GAAG,IAAI,CAAC;QAAE,OAAO,CAAC,CAAA;IACtB,IAAI,GAAG,IAAI,EAAE;QAAE,OAAO,CAAC,CAAA;IACvB,IAAI,GAAG,IAAI,EAAE;QAAE,OAAO,CAAC,CAAA;IACvB,IAAI,GAAG,IAAI,GAAG;QAAE,OAAO,CAAC,CAAA;IACxB,IAAI,GAAG,IAAI,GAAG;QAAE,OAAO,CAAC,CAAA;IACxB,IAAI,GAAG,IAAI,GAAG;QAAE,OAAO,CAAC,CAAA;IACxB,IAAI,GAAG,IAAI,IAAI;QAAE,OAAO,CAAC,CAAA;IACzB,IAAI,GAAG,IAAI,IAAI;QAAE,OAAO,CAAC,CAAA;IACzB,IAAI,GAAG,IAAI,IAAI;QAAE,OAAO,CAAC,CAAA;IACzB,OAAO,EAAE,CAAA;AACX,CAAC;AAED,SAAS,oBAAoB,CAAC,CAAS;IACrC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAA;IACrB,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAA;IACpB,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAA;IACpB,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAA;IACpB,IAAI,CAAC,IAAI,EAAE;QAAE,OAAO,CAAC,CAAA;IACrB,IAAI,CAAC,IAAI,EAAE;QAAE,OAAO,CAAC,CAAA;IACrB,IAAI,CAAC,IAAI,EAAE;QAAE,OAAO,CAAC,CAAA;IACrB,OAAO,CAAC,CAAA;AACV,CAAC;AAED,SAAS,gBAAgB,CAAC,CAAS;IACjC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAA;IACrB,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAA;IACrB,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAA;IACpB,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAA;IACpB,IAAI,CAAC,IAAI,EAAE;QAAE,OAAO,CAAC,CAAA;IACrB,IAAI,CAAC,IAAI,EAAE;QAAE,OAAO,CAAC,CAAA;IACrB,OAAO,CAAC,CAAA;AACV,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,IAAI,IAAI,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC,GAAG,CAAA;IACpC,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC,IAAI,CAAA;IACtC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAChD,MAAM,MAAM,GAAI,KAA4C,CAAC,IAAI,CAAC,CAAA;IAClE,IAAI,OAAO,MAAM,KAAK,UAAU;QAAE,OAAO,MAAiB,CAAA;IAC1D,OAAO,KAAK,CAAC,KAAK,CAAA;AACpB,CAAC;AAED,SAAS,UAAU,CAAC,GAAiB;IACnC,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IACzC,OAAO;QACL,OAAO,EAAE,KAAK,CAAC,WAAW;QAC1B,OAAO,EAAE,KAAK,CAAC,KAAK;QACpB,OAAO,EAAE,KAAK,CAAC,MAAM;QACrB,KAAK,EAAE,KAAK,CAAC,GAAG;QAChB,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,CAAC,IAAI;QAClB,SAAS,EAAE,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC;QACrC,QAAQ,EAAE,KAAK;QACf,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC;QAC1C,cAAc,EAAE,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC;QAC/C,UAAU,EAAE,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC;QACtC,UAAU,EAAE,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC;QACtC,SAAS,EAAE,KAAK,CAAC,GAAG;KACrB,CAAA;AACH,CAAC;AAED,iFAAiF;AAEjF,MAAM,YAAY,GAAG,CAAC,CAAA,CAAE,4CAA4C;AACpE,MAAM,sBAAsB,GAAG,CAAC,CAAA,CAAE,2EAA2E;AAC7G,MAAM,cAAc,GAAG,CAAC,CAAA,CAAE,sEAAsE;AAChG,MAAM,WAAW,GAAG,IAAI,CAAA,CAAE,sEAAsE;AAQhG,MAAM,aAAa,GAAe,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;AAC/F,MAAM,cAAc,GAAe,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,sBAAsB,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;AAE1G,MAAM,OAAO,OAAO;IACV,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAA;IACjC,QAAQ,GAAG,CAAC,CAAA;IACZ,KAAK,GAA0C,IAAI,CAAA;IACnD,SAAS,GAAG,CAAC,CAAA;IACb,WAAW,GAAG,EAAE,CAAA;IACP,KAAK,GAAY,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACvD,OAAO,GAAa,EAAE,CAAA;IACtB,IAAI,GAAG,CAAC,CAAA,CAAQ,2DAA2D;IAC3E,SAAS,GAAG,CAAC,CAAA,CAAG,sDAAsD;IACtE,UAAU,GAAoC,IAAI,CAAA;IAClD,WAAW,GAAG,KAAK,CAAA;IAEnB,KAAK,GAAU;QACrB,WAAW,EAAE,CAAC;QACd,YAAY,EAAE,CAAC;QACf,YAAY,EAAE,CAAC;QACf,cAAc,EAAE,CAAC;QACjB,SAAS,EAAE,CAAC;QACZ,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE;QACxB,QAAQ,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;KACnG,CAAA;IAEO,MAAM,GAAyD;QACrE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK;KACtC,CAAA;IAEO,MAAM,GAAkB,IAAI,CAAA;IAC5B,KAAK,GAAmB,EAAE,CAAA;IAC1B,KAAK,GAAU,UAAU,CAAC;QAChC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK;QAClC,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK;QAC7D,QAAQ,EAAE,MAAM;KACjB,CAAC,CAAA;IAEF,8EAA8E;IAE9E,SAAS,CAAC,MAAc,EAAE,KAAqB;QAC7C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC/C,CAAC;IAED,SAAS,CAAC,IAAY,EAAE,GAAkB,EAAE,KAAc;QACxD,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAA;IACpC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAM;QACvB,IAAI,CAAC,UAAU,EAAE,CAAA;QACjB,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAA;YACnD,IAAI,CAAC,MAAM,EAAE,CAAA;QACf,CAAC,EAAE,EAAE,CAAC,CAAA;IACR,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;QAAC,CAAC;QAChE,IAAI,CAAC,UAAU,EAAE,CAAA;QACjB,IAAI,CAAC,SAAS,EAAE,CAAA;IAClB,CAAC;IAED,iFAAiF;IACjF,SAAS;QACP,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAA;QACrE,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI;YAAE,OAAM;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,MAAM,EAAE,CAAA;IACf,CAAC;IAED,oEAAoE;IACpE,SAAS;QACP,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC;YAAE,OAAM;QAC3B,IAAI,CAAC,IAAI,EAAE,CAAA;QACX,IAAI,CAAC,MAAM,EAAE,CAAA;IACf,CAAC;IAED,KAAK,CAAC,GAAW,EAAE,QAAgB,EAAE,IAAY,EAAE,MAAc,EAAE,KAAc;QAC/E,4EAA4E;QAC5E,4EAA4E;QAC5E,6EAA6E;QAC7E,2EAA2E;QAC3E,wCAAwC;QACxC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,KAAK,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC7C,IAAI,WAAW,KAAK,GAAG,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;oBAC9G,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;gBACxB,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAA;QAC/H,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAA;IAC1B,CAAC;IAED,QAAQ,CAAC,GAAW,EAAE,OAAiB;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAChC,IAAI,CAAC,IAAI;YAAE,OAAM;QACjB,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;YAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QAC3D,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;YAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QAC3D,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;YAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QAC3D,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS;YAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;QACjE,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS;YAAE,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAA;QAChF,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;YAAE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;QACpE,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS;YAAE,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAA;QACtF,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;YAAE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;QACpE,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS;YAAE,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAA;QACnF,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS;YAAE,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;QACvE,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;YAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QAC3D,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS;YAAE,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAA;QAC1E,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS;YAAE,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAA;QACzF,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS;YAAE,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAA;IAC/E,CAAC;IAED,UAAU,CAAC,GAAW,EAAE,IAAsB;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAChC,IAAI,CAAC,IAAI;YAAE,OAAM;QAEjB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC7B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;QACnB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,MAAM,CAAA;QAEjC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAA;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QAE9B,IAAI,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,UAAU,IAAI,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;YAC1G,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAA;YACzB,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAA;QACxC,CAAC;QACD,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,GAAG,CAAC;YAAE,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAA;QACrE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,CAAA;QAEtC,iGAAiG;QACjG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;YAC1D,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,GAAW,EAAE,KAAa;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAChC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAA;QAC3B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS;YAAE,OAAM;QAEnD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAA;QACrB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;QAE3B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;YAC1D,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;IACH,CAAC;IAED,mEAAmE;IACnE,GAAG,CAAC,KAAa,EAAE,KAAc;QAC/B,oFAAoF;QACpF,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IAC1D,CAAC;IAED,+EAA+E;IAC/E,eAAe,CAAC,IAAY;QAC1B,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;QAC/B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,CAAA;QACrC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,YAAY;YAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;IAC9D,CAAC;IAED,8EAA8E;IAEtE,WAAW,CAAC,OAAe;QACjC,IAAI,CAAC,SAAS,EAAE,CAAA;QAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAA;IACtC,CAAC;IAEO,kBAAkB,CAAC,OAAe,EAAE,OAAe;QACzD,MAAM,CAAC,GAAG,OAAO,IAAI,EAAE,CAAA;QACvB,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YAC9C,OAAO,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;QACjE,CAAC,EAAE,CAAC,CAAC,CAAA;IACP,CAAC;IAEO,SAAS;QACf,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACrC,gFAAgF;YAChF,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;YACrF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAA;YAC7C,IAAI,CAAC,SAAS,GAAG,CAAC,CAAA;YAClB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAA;QACvB,CAAC;IACH,CAAC;IAEO,SAAS,CAAC,OAAe;QAC/B,IAAI,CAAC,SAAS,EAAE,CAAA;QAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAA;QACpC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAA;QACtC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAA;QAC1B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;IACtD,CAAC;IAED,8EAA8E;IAEtE,YAAY,CAAC,CAAgB;QACnC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAA;QACpB,IAAI,CAAC,KAAK,SAAS;YAAE,OAAO,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;QAClD,IAAI,CAAC,KAAK,YAAY;YAAE,OAAO,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;QACzD,IAAI,CAAC,KAAK,OAAO;YAAE,OAAO,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QAC7C,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACnB,CAAC;IAEO,QAAQ,CAAC,OAAsB;QACrC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAA;QACpB,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,CAAC,CAAC,YAAY,CAAA;QAChD,IAAI,OAAO,KAAK,OAAO;YAAE,OAAO,CAAC,CAAC,UAAU,CAAA;QAC5C,OAAO,CAAC,CAAC,cAAc,CAAA;IACzB,CAAC;IAEO,SAAS,CAAC,OAAsB;QACtC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAA;QACpB,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,CAAC,CAAC,YAAY,CAAA;QAChD,IAAI,OAAO,KAAK,OAAO;YAAE,OAAO,CAAC,CAAC,UAAU,CAAA;QAC5C,OAAO,CAAC,CAAC,cAAc,CAAA;IACzB,CAAC;IAED,8EAA8E;IAE9E,iFAAiF;IACzE,UAAU;QAChB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAA;QACpB,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;QACrD,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;QAC3D,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,OAAO,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAA;IAC7E,CAAC;IAED;;;OAGG;IACK,UAAU;QAChB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAA;QACpB,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;QAC7D,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;QAC/C,IAAI,KAAK,KAAK,CAAC;YAAE,OAAO,EAAE,CAAA;QAE1B,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;QAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;QAClD,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE;YAC7C,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAA;YAChC,wEAAwE;YACxE,yEAAyE;YACzE,yEAAyE;YACzE,0EAA0E;YAC1E,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK;gBAC/B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,MAAM;oBACnC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAA;YACjB,MAAM,KAAK,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY;gBAClD,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU;oBACpC,CAAC,CAAC,OAAO,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc;wBAC7C,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK;4BAC/B,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;YACT,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAA;QAC1C,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAA;QAEzC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;IACjC,CAAC;IAEO,QAAQ;QACd,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QACzF,MAAM,KAAK,GAAG,YAAY,GAAG,CAAC;YAC5B,CAAC,CAAC,gBAAgB,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,YAAY,CAAC,CAAC,EAAE;YACrE,CAAC,CAAC,EAAE,CAAA;QACN,MAAM,SAAS,GAAG,cAAc,GAAG,CAAC;YAClC,CAAC,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,WAAW,cAAc,EAAE,CAAC,EAAE;YAChD,CAAC,CAAC,EAAE,CAAA;QACN,OAAO,QAAQ,WAAW,WAAW,YAAY,GAAG,SAAS,aAAa,YAAY,GAAG,KAAK,EAAE,CAAA;IAClG,CAAC;IAEO,YAAY,CAAC,IAAY,EAAE,KAAa;QAC9C,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAA;QACpB,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAA;QACtC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,KAAK,SAAS,CAAA;QAClD,MAAM,cAAc,GAAG,WAAW;YAChC,CAAC,CAAC,IAAI,CAAC,WAAY,GAAG,IAAI,CAAC,SAAS;YACpC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAA;QAC/B,MAAM,OAAO,GAAG,WAAW,CAAC,cAAc,CAAC,CAAA;QAE3C,4EAA4E;QAC5E,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QACxC,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QACpD,MAAM,QAAQ,GAAG,WAAW;YAC1B,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC;YAChB,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAA;QAC5E,MAAM,SAAS,GAAG,GAAG,QAAQ,KAAK,UAAU,EAAE,CAAA;QAC9C,MAAM,aAAa,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAA;QACrE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAChG,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;QACxF,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACvE,MAAM,EAAE,GAAG,KAAK,IAAI,IAAI,KAAK,KAAK,OAAO,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YAC3D,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,SAAS,CAAA;QAE/B,+EAA+E;QAC/E,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAEzB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,KAAK,SAAS;YACxC,CAAC,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,EAAE;YAC5G,CAAC,CAAC,MAAM,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAA;QAEjE,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QAEnD,2EAA2E;QAC3E,2EAA2E;QAC3E,qEAAqE;QACrE,MAAM,OAAO,GAAG,WAAW,IAAI,IAAI,CAAC,GAAG;YACrC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YAC7C,CAAC,CAAC,EAAE,CAAA;QAEN,4DAA4D;QAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAA;QAC7B,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACf,MAAM,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;YAC7D,MAAM,KAAK,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;YACpC,IAAI,cAAc,KAAK,IAAI;gBAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;YACvD,OAAO,GAAG,EAAE,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,EAAE,CAAA;QAC/C,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QACrD,MAAM,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QAE7D,MAAM,KAAK,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,CAAA;QAChD,IAAI,cAAc,KAAK,IAAI;YAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QAEvD,OAAO,GAAG,EAAE,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,EAAE,CAAA;IAC/C,CAAC;IAEO,eAAe,CAAC,IAAY,EAAE,KAAa;QACjD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAA;QACpB,sEAAsE;QACtE,uDAAuD;QACvD,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS;YAAE,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC5D,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;YACnB,KAAK,WAAW,CAAC;YACjB,KAAK,YAAY,CAAC;YAClB,KAAK,QAAQ;gBACX,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAA;YACnD;gBACE,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC5B,CAAC;IACH,CAAC;IAEO,eAAe,CAAC,IAAY,EAAE,KAAa;QACjD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAA;QACpB,IAAI,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;YAC/B,OAAO,MAAM,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAA;QAClG,CAAC;QACD,oFAAoF;QACpF,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACzD,OAAO,MAAM,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAA;QAC1D,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,MAAM,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAA;QAC1E,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC1B,OAAO,MAAM,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAA;QACnF,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,IAAI,CAAC,CAAA;QACpC,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC1C,MAAM,KAAK,GAAG,MAAM;YAClB,CAAC,CAAC,GAAG,KAAK,YAAY,IAAI,CAAC,OAAO,KAAK,MAAM,GAAG;YAChD,CAAC,CAAC,GAAG,KAAK,YAAY,IAAI,CAAC,OAAO,GAAG,CAAA;QACvC,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;QACrE,OAAO,MAAM,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;IAC5I,CAAC;IAEO,gBAAgB,CAAC,IAAY,EAAE,KAAa;QAClD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAA;QACpB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAA;QAC1F,IAAI,CAAC,UAAU;YAAE,OAAO,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAA;QAC3C,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,OAAO,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAA;QACnG,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAChC,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC;gBAAE,OAAO,OAAO,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAA;YACtG,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAC3C,OAAO,OAAO,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;QACpM,CAAC;QACD,OAAO,OAAO,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAA;IAC5E,CAAC;IAEO,oBAAoB,CAAC,IAAY,EAAE,KAAa;QACtD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAA;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAA;QAE7B,oEAAoE;QACpE,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACf,MAAM,WAAW,GAAG,GAAG,KAAK,SAAS,CAAA;YACrC,IAAI,IAAI,CAAC,KAAK,KAAK,YAAY,IAAI,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;gBAC9D,OAAO,GAAG,WAAW,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,KAAK,GAAG,CAAC,EAAE,CAAA;YACnH,CAAC;YACD,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;gBACtE,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;gBAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;gBACjD,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;gBAC/C,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAA;gBACrF,mFAAmF;gBACnF,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;gBACtG,OAAO,GAAG,WAAW,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,EAAE,CAAA;YACzF,CAAC;YACD,OAAO,GAAG,WAAW,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAA;QACtF,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAA;QACjE,IAAI,CAAC,cAAc;YAAE,OAAO,IAAI,CAAA;QAChC,IAAI,IAAI,CAAC,KAAK,KAAK,YAAY,EAAE,CAAC;YAChC,OAAO,WAAW,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAA;QACvG,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;gBACtC,OAAO,WAAW,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAA;YACnF,CAAC;YACD,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;gBACjC,OAAO,WAAW,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAA;YACxF,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;YAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;YACjD,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;YAC/C,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAA;YACvF,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;YAC1E,OAAO,WAAW,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;QAC1H,CAAC;QACD,OAAO,WAAW,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAA;IAC/E,CAAC;IAEO,MAAM;QACZ,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAA;QAE3B,IAAI,CAAC,WAAW,EAAE,CAAA;QAElB,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAA;QACtC,2EAA2E;QAC3E,0EAA0E;QAC1E,yEAAyE;QACzE,kDAAkD;QAClD,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG,CAAC,CAAA;QAC9C,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;QAExC,4EAA4E;QAC5E,6EAA6E;QAC7E,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAA;QACpF,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACxC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA,CAAE,kBAAkB;QAE3E,qEAAqE;QACrE,2EAA2E;QAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAA;QACxE,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,CAAA;QACxD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAA;QAEhE,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAA;QAEtH,4EAA4E;QAC5E,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,CAAA;QACtD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,EAAE,GAAG,CAAC,CAAA;QAC5D,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAA;IACjG,CAAC;IAED;;;;;OAKG;IACK,WAAW,CAAC,IAAc,EAAE,CAAS,EAAE,MAAc;QAC3D,yEAAyE;QACzE,wEAAwE;QACxE,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QAE1C,MAAM,IAAI,GAAG,CAAC,IAAgB,EAAW,EAAE,CACzC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAA;QAExF,IAAI,IAAI,CAAC,aAAa,CAAC;YAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,CAAA;QAEhE,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;YAC7B,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,SAAS,CAAC,CAAA;YACzE,IAAI,aAAa,KAAK,CAAC,CAAC;gBAAE,MAAK,CAAE,0DAA0D;YAC3F,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAA;QAClC,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,CAAA;IAC1C,CAAC;IAED,wEAAwE;IAChE,UAAU,CAAC,CAAS,EAAE,IAAgB;QAC5C,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;IACpF,CAAC;IAEO,WAAW,CAAC,OAAe,EAAE,CAAS,EAAE,MAAc;QAC5D,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,MAAM;YAClD,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,EAAE,MAAM,CAAC,CAAA;IAC1C,CAAC;IAEO,YAAY,CAAC,CAAS,EAAE,IAAgB,EAAE,OAAiB,EAAE,KAAa;QAChF,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAA;QACpB,yEAAyE;QACzE,gFAAgF;QAChF,MAAM,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QAE1C,OAAO;YACL,GAAG,IAAI,CAAC,iBAAiB,EAAE;YAC3B,GAAG;YACH,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC;YACzD,GAAG;YACH,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YACnD,GAAG;YACH,wEAAwE;YACxE,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;SACjE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACd,CAAC;IAED,+EAA+E;IACvE,WAAW;QACjB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,WAAW;YAAE,OAAM;QAC1C,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,WAAW,CAAA;QAC1C,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACrC,IAAI,MAAM,IAAI,CAAC;gBAAE,MAAK;YACtB,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS;gBAAE,SAAQ,CAAE,4BAA4B;YAC1E,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YACtB,MAAM,EAAE,CAAA;QACV,CAAC;IACH,CAAC;IAED,yFAAyF;IACjF,WAAW,CAAC,OAAe,EAAE,CAAS,EAAE,MAAc;QAC5D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACjC,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QAC/E,IAAI,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;QAC9C,IAAI,KAAK,GAAG,CAAC,CAAA;QACb,OAAO,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC;YACtD,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,CAAA;YACvB,KAAK,EAAE,CAAA;QACT,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAClE,CAAC;IAED,8EAA8E;IAEtE,iBAAiB;QACvB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAA;QACpB,MAAM,GAAG,GAAG,IAAI,CAAC,MAAO,CAAA;QACxB,MAAM,KAAK,GAAa,EAAE,CAAA;QAE1B,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAA;QAEpH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;QAC/D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAA;QAEjD,MAAM,OAAO,GAAa,EAAE,CAAA;QAC5B,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACtD,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO;YAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACpD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAA;QAEnE,OAAO,KAAK,CAAA;IACd,CAAC;IAEO,gBAAgB,CAAC,YAAoB,EAAE,OAAgB;QAC7D,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAA;QACpB,MAAM,KAAK,GAAa,EAAE,CAAA;QAE1B,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;QAElC,0EAA0E;QAC1E,4EAA4E;QAC5E,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;QAClC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,UAAU,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QAErF,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,MAAM,CAAA;QACpD,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;YAC1B,MAAM,WAAW,GAAG,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAA;YACtE,MAAM,aAAa,GAAG,GAAG;gBACvB,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACjF,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;YAC1B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,aAAa,EAAE,CAAC,CAAA;QACxD,CAAC;QAED,mFAAmF;QACnF,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAA;QAC1E,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAA;QAEzB,IAAI,OAAO;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAA;QAE7C,OAAO,KAAK,CAAA;IACd,CAAC;IAEO,aAAa;QACnB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAA;QACpB,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;QAE9C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,KAAK,MAAM;YAChC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;YAC/C,CAAC,CAAC,GAAG,CAAC,KAAK,KAAK,KAAK;gBACnB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;gBAChD,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAExB,qEAAqE;QACrE,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QACzC,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAErF,OAAO,KAAK,KAAK,GAAG,SAAS,EAAE,CAAA;IACjC,CAAC;IAEO,iBAAiB,CAAC,OAAiB,EAAE,OAAgB,EAAE,CAAS;QACtE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAA;QACpB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAEnC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QACrE,CAAC;QAED,IAAI,cAAc,GAAG,CAAC,CAAA;QACtB,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;YAC3B,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS;gBAAE,cAAc,EAAE,CAAA;QACtD,CAAC;QACD,MAAM,WAAW,GAAG,cAAc,GAAG,cAAc,CAAA;QAEnD,MAAM,KAAK,GAAa,EAAE,CAAA;QAC1B,IAAI,eAAe,GAAG,KAAK,CAAA;QAC3B,IAAI,KAAK,GAAG,IAAI,CAAA;QAEhB,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;YAC3B,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,KAAK,SAAS,CAAA;YAClD,qEAAqE;YACrE,wEAAwE;YACxE,wEAAwE;YACxE,sEAAsE;YACtE,uEAAuE;YACvE,oBAAoB;YACpB,IAAI,WAAW,IAAI,WAAW;gBAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;YACxD,4EAA4E;YAC5E,uEAAuE;YACvE,0DAA0D;YAC1D,MAAM,SAAS,GAAG,WAAW,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAA;YAEpG,IAAI,SAAS,EAAE,CAAC;gBACd,qEAAqE;gBACrE,6CAA6C;gBAC7C,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;gBACjE,eAAe,GAAG,KAAK,CAAA;YACzB,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,KAAK,IAAI,eAAe;oBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBAC7C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;gBAC1C,eAAe,GAAG,IAAI,CAAA;YACxB,CAAC;YACD,KAAK,GAAG,KAAK,CAAA;QACf,CAAC;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAED,6EAA6E;IACrE,YAAY,CAAC,KAAa,EAAE,KAAa;QAC/C,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAA;QACpB,IAAI,KAAK,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;QAE7C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,KAAK,CAAC;YAC9B,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;YACzF,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,kBAAkB,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,CAAA;QAC9D,0EAA0E;QAC1E,sEAAsE;QACtE,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,KAAK,OAAO,KAAK,EAAE,CAAC,CAAA;QACpD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC;YAC7B,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YACrG,CAAC,CAAC,EAAE,CAAA;QAEN,OAAO,KAAK,QAAQ,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,MAAM,GAAG,IAAI,EAAE,CAAA;IACzD,CAAC;IAED,8EAA8E;IAEtE,kBAAkB,CAAC,IAAY;QACrC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAA;QACpB,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAA;QACnE,MAAM,OAAO,GAAG,WAAW,CAAC,SAAS,CAAC,CAAA;QACtC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QAExC,MAAM,KAAK,GAAa,EAAE,CAAA;QAE1B,aAAa;QACb,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YACxD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACzC,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QACzC,CAAC;aAAM,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;QAChC,CAAC;aAAM,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAA;QACtC,CAAC;QAED,sCAAsC;QACtC,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;YACrD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;QAC9C,CAAC;QAED,kBAAkB;QAClB,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;YACtE,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;YAC/C,KAAK,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAA;QACnD,CAAC;QAED,6EAA6E;QAC7E,yEAAyE;QACzE,2CAA2C;QAC3C,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;QACjC,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QACvE,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACzE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAErE,OAAO,KAAK,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,QAAQ,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,GAAG,OAAO,EAAE,CAAA;IAC1I,CAAC;IAEO,MAAM;QACZ,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;QAC7B,IAAI,OAAO;YAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IACtC,CAAC;IAED,8EAA8E;IAEtE,UAAU;QAChB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QAC3B,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,KAAK;YAAE,OAAM;QAE3C,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,KAAK,KAAK,IAAI,CAAA;QACvC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QACtB,KAAK,CAAC,MAAM,EAAE,CAAA;QAEd,MAAM,OAAO,GAAG,CAAC,IAAY,EAAQ,EAAE;YACrC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;YACjC,yEAAyE;YACzE,qEAAqE;YACrE,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;gBAAC,OAAM;YAAC,CAAC;YACrE,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAA;YACjC,IAAI,MAAM,KAAK,OAAO;gBAAE,IAAI,CAAC,SAAS,EAAE,CAAA;iBACnC,IAAI,MAAM,KAAK,OAAO;gBAAE,IAAI,CAAC,SAAS,EAAE,CAAA;QAC/C,CAAC,CAAA;QAED,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACzB,IAAI,CAAC,UAAU,GAAG,OAAO,CAAA;IAC3B,CAAC;IAEO,UAAU;QAChB,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAM;QAC5B,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;QAC1C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;QACtB,2EAA2E;QAC3E,wEAAwE;QACxE,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;QAC7E,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;IACvB,CAAC;CACF"}
1
+ {"version":3,"file":"board.js","sourceRoot":"","sources":["../../src/lib/board.ts"],"names":[],"mappings":"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"}