@rpamis/comet 0.4.0-beta.5 → 0.4.0-beta.6

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 (53) hide show
  1. package/README.md +6 -3
  2. package/assets/manifest.json +1 -1
  3. package/assets/skills/comet/SKILL.md +1 -1
  4. package/assets/skills/comet/reference/comet-yaml-fields.md +4 -2
  5. package/assets/skills/comet/scripts/comet-runtime.mjs +504 -260
  6. package/assets/skills/comet-archive/SKILL.md +6 -7
  7. package/assets/skills/comet-build/SKILL.md +16 -10
  8. package/assets/skills/comet-hotfix/SKILL.md +16 -2
  9. package/assets/skills/comet-tweak/SKILL.md +15 -3
  10. package/assets/skills/comet-verify/SKILL.md +2 -0
  11. package/assets/skills-zh/comet/SKILL.md +1 -1
  12. package/assets/skills-zh/comet/reference/comet-yaml-fields.md +4 -2
  13. package/assets/skills-zh/comet-archive/SKILL.md +6 -7
  14. package/assets/skills-zh/comet-build/SKILL.md +16 -10
  15. package/assets/skills-zh/comet-hotfix/SKILL.md +16 -2
  16. package/assets/skills-zh/comet-tweak/SKILL.md +15 -3
  17. package/assets/skills-zh/comet-verify/SKILL.md +2 -0
  18. package/dist/app/commands/status.d.ts +1 -0
  19. package/dist/app/commands/status.d.ts.map +1 -1
  20. package/dist/app/commands/status.js +10 -0
  21. package/dist/app/commands/status.js.map +1 -1
  22. package/dist/domains/comet-classic/classic-branch-binding.d.ts +51 -0
  23. package/dist/domains/comet-classic/classic-branch-binding.d.ts.map +1 -0
  24. package/dist/domains/comet-classic/classic-branch-binding.js +107 -0
  25. package/dist/domains/comet-classic/classic-branch-binding.js.map +1 -0
  26. package/dist/domains/comet-classic/classic-current-change.d.ts.map +1 -1
  27. package/dist/domains/comet-classic/classic-current-change.js +37 -20
  28. package/dist/domains/comet-classic/classic-current-change.js.map +1 -1
  29. package/dist/domains/comet-classic/classic-guard.d.ts.map +1 -1
  30. package/dist/domains/comet-classic/classic-guard.js +40 -10
  31. package/dist/domains/comet-classic/classic-guard.js.map +1 -1
  32. package/dist/domains/comet-classic/classic-hook-guard.d.ts.map +1 -1
  33. package/dist/domains/comet-classic/classic-hook-guard.js +25 -2
  34. package/dist/domains/comet-classic/classic-hook-guard.js.map +1 -1
  35. package/dist/domains/comet-classic/classic-state-command.d.ts.map +1 -1
  36. package/dist/domains/comet-classic/classic-state-command.js +94 -4
  37. package/dist/domains/comet-classic/classic-state-command.js.map +1 -1
  38. package/dist/domains/comet-classic/classic-state-events.d.ts +1 -1
  39. package/dist/domains/comet-classic/classic-state-events.d.ts.map +1 -1
  40. package/dist/domains/comet-classic/classic-state.d.ts +2 -1
  41. package/dist/domains/comet-classic/classic-state.d.ts.map +1 -1
  42. package/dist/domains/comet-classic/classic-state.js +3 -0
  43. package/dist/domains/comet-classic/classic-state.js.map +1 -1
  44. package/dist/domains/comet-classic/classic-transitions.d.ts.map +1 -1
  45. package/dist/domains/comet-classic/classic-transitions.js +1 -0
  46. package/dist/domains/comet-classic/classic-transitions.js.map +1 -1
  47. package/dist/domains/comet-classic/classic-validate-command.d.ts.map +1 -1
  48. package/dist/domains/comet-classic/classic-validate-command.js +6 -0
  49. package/dist/domains/comet-classic/classic-validate-command.js.map +1 -1
  50. package/dist/domains/skill/find.d.ts.map +1 -1
  51. package/dist/domains/skill/find.js +7 -1
  52. package/dist/domains/skill/find.js.map +1 -1
  53. package/package.json +1 -1
@@ -0,0 +1,51 @@
1
+ export declare function liveGitBranch(cwd: string): string | null;
2
+ export declare function isGitWorkTree(cwd: string): boolean;
3
+ export type BranchBindingVerdict = {
4
+ status: 'not-applicable';
5
+ } | {
6
+ status: 'ok';
7
+ } | {
8
+ status: 'needs-heal';
9
+ branch: string;
10
+ } | {
11
+ status: 'unbound-detached';
12
+ } | {
13
+ status: 'drift';
14
+ boundBranch: string;
15
+ currentBranch: string | null;
16
+ };
17
+ export declare const BOUND_BRANCH_ISOLATIONS: readonly ["current", "branch", "worktree"];
18
+ export declare function requiresBranchBinding(isolation: string | null): boolean;
19
+ export declare function evaluateBranchBinding(input: {
20
+ isolation: string | null;
21
+ boundBranch: string | null;
22
+ currentBranch: string | null;
23
+ gitWorkTree?: boolean;
24
+ }): BranchBindingVerdict;
25
+ /**
26
+ * A `BranchBindingVerdict` joined with the live git facts it was computed
27
+ * from, so callers never re-derive them (or re-read the state file).
28
+ */
29
+ export type BranchBindingOutcome = (BranchBindingVerdict | {
30
+ status: 'healed';
31
+ branch: string;
32
+ }) & {
33
+ bindingRequired: boolean;
34
+ currentBranch: string | null;
35
+ };
36
+ /**
37
+ * Single entry point for every consumer of the branch binding: reads
38
+ * isolation/bound_branch straight from `.comet.yaml` (typed — a yaml `null`
39
+ * is a JS null, never a "null" string), spawns git lazily, and optionally
40
+ * performs the lazy heal. Read-only paths (the PreToolUse hook) must pass
41
+ * `heal: false` so resolving never writes to disk.
42
+ */
43
+ export declare function resolveBranchBinding(changeDir: string, options: {
44
+ heal: boolean;
45
+ cwd: string;
46
+ }): Promise<BranchBindingOutcome>;
47
+ export declare function healBoundBranch(changeDir: string, branch: string): Promise<void>;
48
+ export declare function driftBlockedMessage(change: string, boundBranch: string, currentBranch: string | null): string;
49
+ export declare function driftStaleReason(change: string, boundBranch: string, currentBranch: string | null): string;
50
+ export declare function unboundDetachedMessage(change: string): string;
51
+ //# sourceMappingURL=classic-branch-binding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classic-branch-binding.d.ts","sourceRoot":"","sources":["../../../domains/comet-classic/classic-branch-binding.ts"],"names":[],"mappings":"AAMA,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAWxD;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAYlD;AAED,MAAM,MAAM,oBAAoB,GAC5B;IAAE,MAAM,EAAE,gBAAgB,CAAA;CAAE,GAC5B;IAAE,MAAM,EAAE,IAAI,CAAA;CAAE,GAChB;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,MAAM,EAAE,kBAAkB,CAAA;CAAE,GAC9B;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC;AAE3E,eAAO,MAAM,uBAAuB,4CAA6C,CAAC;AAElF,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAEvE;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,GAAG,oBAAoB,CAYvB;AAED;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,oBAAoB,GAAG;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG;IACjG,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,CAAC;AAEF;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACtC,OAAO,CAAC,oBAAoB,CAAC,CAwB/B;AAED,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAYtF;AAMD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,GAAG,IAAI,GAC3B,MAAM,CAKR;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,GAAG,IAAI,GAC3B,MAAM,CAER;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE7D"}
@@ -0,0 +1,107 @@
1
+ import { execFileSync } from 'child_process';
2
+ import { randomUUID } from 'crypto';
3
+ import { promises as fs } from 'fs';
4
+ import path from 'path';
5
+ import { parseDocument } from 'yaml';
6
+ export function liveGitBranch(cwd) {
7
+ try {
8
+ const branch = execFileSync('git', ['rev-parse', '--abbrev-ref', 'HEAD'], {
9
+ cwd,
10
+ encoding: 'utf8',
11
+ stdio: ['ignore', 'pipe', 'ignore'],
12
+ }).trim();
13
+ return branch && branch !== 'HEAD' ? branch : null;
14
+ }
15
+ catch {
16
+ return null;
17
+ }
18
+ }
19
+ export function isGitWorkTree(cwd) {
20
+ try {
21
+ return (execFileSync('git', ['rev-parse', '--is-inside-work-tree'], {
22
+ cwd,
23
+ encoding: 'utf8',
24
+ stdio: ['ignore', 'pipe', 'ignore'],
25
+ }).trim() === 'true');
26
+ }
27
+ catch {
28
+ return false;
29
+ }
30
+ }
31
+ export const BOUND_BRANCH_ISOLATIONS = ['current', 'branch', 'worktree'];
32
+ export function requiresBranchBinding(isolation) {
33
+ return BOUND_BRANCH_ISOLATIONS.includes(isolation);
34
+ }
35
+ export function evaluateBranchBinding(input) {
36
+ if (!requiresBranchBinding(input.isolation))
37
+ return { status: 'not-applicable' };
38
+ if (input.boundBranch === null && input.currentBranch === null && input.gitWorkTree === false) {
39
+ return { status: 'not-applicable' };
40
+ }
41
+ if (input.boundBranch === null) {
42
+ return input.currentBranch === null
43
+ ? { status: 'unbound-detached' }
44
+ : { status: 'needs-heal', branch: input.currentBranch };
45
+ }
46
+ if (input.currentBranch === input.boundBranch)
47
+ return { status: 'ok' };
48
+ return { status: 'drift', boundBranch: input.boundBranch, currentBranch: input.currentBranch };
49
+ }
50
+ /**
51
+ * Single entry point for every consumer of the branch binding: reads
52
+ * isolation/bound_branch straight from `.comet.yaml` (typed — a yaml `null`
53
+ * is a JS null, never a "null" string), spawns git lazily, and optionally
54
+ * performs the lazy heal. Read-only paths (the PreToolUse hook) must pass
55
+ * `heal: false` so resolving never writes to disk.
56
+ */
57
+ export async function resolveBranchBinding(changeDir, options) {
58
+ const file = path.join(changeDir, '.comet.yaml');
59
+ const document = parseDocument(await fs.readFile(file, 'utf8'), { uniqueKeys: false });
60
+ if (document.errors.length > 0) {
61
+ throw new Error(`Invalid .comet.yaml: ${document.errors[0].message}`);
62
+ }
63
+ const record = (document.toJS() ?? {});
64
+ const isolation = typeof record.isolation === 'string' ? record.isolation : null;
65
+ const boundBranch = typeof record.bound_branch === 'string' && record.bound_branch !== ''
66
+ ? record.bound_branch
67
+ : null;
68
+ const bindingRequired = requiresBranchBinding(isolation);
69
+ const currentBranch = liveGitBranch(options.cwd);
70
+ const gitWorkTree = bindingRequired && boundBranch === null && currentBranch === null
71
+ ? isGitWorkTree(options.cwd)
72
+ : true;
73
+ const verdict = evaluateBranchBinding({ isolation, boundBranch, currentBranch, gitWorkTree });
74
+ if (verdict.status === 'needs-heal' && options.heal) {
75
+ await healBoundBranch(changeDir, verdict.branch);
76
+ return { status: 'healed', branch: verdict.branch, bindingRequired, currentBranch };
77
+ }
78
+ return { ...verdict, bindingRequired, currentBranch };
79
+ }
80
+ export async function healBoundBranch(changeDir, branch) {
81
+ const file = path.join(changeDir, '.comet.yaml');
82
+ const document = parseDocument(await fs.readFile(file, 'utf8'), { uniqueKeys: false });
83
+ document.set('bound_branch', branch);
84
+ const temporary = `${file}.${randomUUID()}.tmp`;
85
+ try {
86
+ await fs.writeFile(temporary, document.toString(), 'utf8');
87
+ await fs.rename(temporary, file);
88
+ }
89
+ catch (error) {
90
+ await fs.rm(temporary, { force: true });
91
+ throw error;
92
+ }
93
+ }
94
+ function branchLabel(currentBranch) {
95
+ return currentBranch ?? 'detached HEAD';
96
+ }
97
+ export function driftBlockedMessage(change, boundBranch, currentBranch) {
98
+ return (`change '${change}' is bound to branch '${boundBranch}', but current branch is '${branchLabel(currentBranch)}'.\n` +
99
+ `Next: ask the user to confirm — switch back to '${boundBranch}', or run \`comet state rebind ${change}\` after explicit confirmation.`);
100
+ }
101
+ export function driftStaleReason(change, boundBranch, currentBranch) {
102
+ return `change '${change}' is bound to branch '${boundBranch}', but current branch is '${branchLabel(currentBranch)}'`;
103
+ }
104
+ export function unboundDetachedMessage(change) {
105
+ return `change '${change}' uses a branch-bound workspace mode but has no bound branch and HEAD is detached; checkout a branch first before continuing.`;
106
+ }
107
+ //# sourceMappingURL=classic-branch-binding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classic-branch-binding.js","sourceRoot":"","sources":["../../../domains/comet-classic/classic-branch-binding.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"classic-current-change.d.ts","sourceRoot":"","sources":["../../../domains/comet-classic/classic-current-change.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,CAAC,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,MAAM,uBAAuB,GAC/B;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,SAAS,EAAE,sBAAsB,CAAA;CAAE,GACzD;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,GACrB;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAExC,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE7D;AA4ED,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,sBAAsB,CAAC,CAkBjC;AAED,wBAAsB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CA+BhG;AAED,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE3E"}
1
+ {"version":3,"file":"classic-current-change.d.ts","sourceRoot":"","sources":["../../../domains/comet-classic/classic-current-change.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,CAAC,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,MAAM,uBAAuB,GAC/B;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,SAAS,EAAE,sBAAsB,CAAA;CAAE,GACzD;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,GACrB;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAExC,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE7D;AAgED,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,sBAAsB,CAAC,CA4BjC;AAED,wBAAsB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAkDhG;AAED,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE3E"}
@@ -1,25 +1,12 @@
1
- import { execFileSync } from 'child_process';
2
1
  import { randomUUID } from 'crypto';
3
2
  import { promises as fs } from 'fs';
4
3
  import path from 'path';
4
+ import { driftStaleReason, resolveBranchBinding, unboundDetachedMessage, } from './classic-branch-binding.js';
5
5
  import { assertOpenSpecChangeName } from './classic-paths.js';
6
6
  import { readClassicState } from './classic-store.js';
7
7
  export function currentChangeFile(projectRoot) {
8
8
  return path.join(projectRoot, '.comet', 'current-change.json');
9
9
  }
10
- function currentBranch(projectRoot) {
11
- try {
12
- const branch = execFileSync('git', ['rev-parse', '--abbrev-ref', 'HEAD'], {
13
- cwd: projectRoot,
14
- encoding: 'utf8',
15
- stdio: ['ignore', 'pipe', 'ignore'],
16
- }).trim();
17
- return branch && branch !== 'HEAD' ? branch : null;
18
- }
19
- catch {
20
- return null;
21
- }
22
- }
23
10
  function changeDirectory(projectRoot, changeName) {
24
11
  return path.join(projectRoot, 'openspec', 'changes', changeName);
25
12
  }
@@ -64,21 +51,32 @@ function parseSelection(source) {
64
51
  throw new Error('current change selection change must be a string');
65
52
  }
66
53
  assertOpenSpecChangeName(record.change);
67
- if (record.branch !== null && typeof record.branch !== 'string') {
54
+ // `branch` may be absent in files written by early 0.4.0-beta.6 builds.
55
+ if (record.branch !== undefined && record.branch !== null && typeof record.branch !== 'string') {
68
56
  throw new Error('current change selection branch must be a string or null');
69
57
  }
70
58
  return {
71
59
  version: 1,
72
60
  change: record.change,
73
- branch: record.branch,
61
+ branch: record.branch ?? null,
74
62
  };
75
63
  }
76
64
  export async function selectCurrentChange(projectRoot, changeName) {
77
65
  await validateActiveChange(projectRoot, changeName);
66
+ const outcome = await resolveBranchBinding(changeDirectory(projectRoot, changeName), {
67
+ heal: true,
68
+ cwd: projectRoot,
69
+ });
70
+ if (outcome.status === 'drift') {
71
+ throw new Error(driftStaleReason(changeName, outcome.boundBranch, outcome.currentBranch));
72
+ }
73
+ if (outcome.status === 'unbound-detached') {
74
+ throw new Error(unboundDetachedMessage(changeName));
75
+ }
78
76
  const selection = {
79
77
  version: 1,
80
78
  change: changeName,
81
- branch: currentBranch(projectRoot),
79
+ branch: outcome.currentBranch,
82
80
  };
83
81
  const file = currentChangeFile(projectRoot);
84
82
  const temporary = `${file}.${randomUUID()}.tmp`;
@@ -117,11 +115,30 @@ export async function resolveCurrentChange(projectRoot) {
117
115
  reason: error instanceof Error ? error.message : String(error),
118
116
  };
119
117
  }
120
- const branch = currentBranch(projectRoot);
121
- if (selection.branch !== null && branch !== selection.branch) {
118
+ // Resolution is a read path (the PreToolUse hook runs it on every tool
119
+ // call), so it never heals: heal happens on select/check/guard instead.
120
+ const outcome = await resolveBranchBinding(changeDirectory(projectRoot, selection.change), {
121
+ heal: false,
122
+ cwd: projectRoot,
123
+ });
124
+ if (outcome.status === 'drift') {
125
+ return {
126
+ status: 'stale',
127
+ reason: driftStaleReason(selection.change, outcome.boundBranch, outcome.currentBranch),
128
+ };
129
+ }
130
+ if (outcome.status === 'unbound-detached') {
131
+ return { status: 'stale', reason: unboundDetachedMessage(selection.change) };
132
+ }
133
+ if (outcome.status === 'ok') {
134
+ return { status: 'selected', selection };
135
+ }
136
+ // No bound branch governs yet (isolation unset or binding not healed):
137
+ // fall back to comparing against the branch recorded at selection time.
138
+ if (selection.branch !== null && outcome.currentBranch !== selection.branch) {
122
139
  return {
123
140
  status: 'stale',
124
- reason: `current change '${selection.change}' was selected on branch '${selection.branch}', current branch is '${branch ?? 'detached HEAD'}'`,
141
+ reason: `current change '${selection.change}' was selected on branch '${selection.branch}', current branch is '${outcome.currentBranch ?? 'detached HEAD'}'`,
125
142
  };
126
143
  }
127
144
  return { status: 'selected', selection };
@@ -1 +1 @@
1
- {"version":3,"file":"classic-current-change.js","sourceRoot":"","sources":["../../../domains/comet-classic/classic-current-change.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"classic-current-change.js","sourceRoot":"","sources":["../../../domains/comet-classic/classic-current-change.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"classic-guard.d.ts","sourceRoot":"","sources":["../../../domains/comet-classic/classic-guard.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,qBAAqB,EAAwB,MAAM,kBAAkB,CAAC;AAg5BpF,eAAO,MAAM,mBAAmB,EAAE,qBAmDjC,CAAC"}
1
+ {"version":3,"file":"classic-guard.d.ts","sourceRoot":"","sources":["../../../domains/comet-classic/classic-guard.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,qBAAqB,EAAwB,MAAM,kBAAkB,CAAC;AAu7BpF,eAAO,MAAM,mBAAmB,EAAE,qBAmDjC,CAAC"}
@@ -12,6 +12,7 @@ import { CLASSIC_GUARD_TRANSITION_EVENT, applyClassicTransition } from './classi
12
12
  import { classicValidateCommand } from './classic-validate-command.js';
13
13
  import { readClassicState } from './classic-store.js';
14
14
  import { readClassicConfigValue } from './classic-project-config.js';
15
+ import { driftBlockedMessage, resolveBranchBinding, unboundDetachedMessage, } from './classic-branch-binding.js';
15
16
  const GREEN = '\u001b[32m';
16
17
  const RED = '\u001b[31m';
17
18
  const YELLOW = '\u001b[33m';
@@ -411,15 +412,37 @@ async function planTasksAllDone(changeDir) {
411
412
  }
412
413
  return pass();
413
414
  }
415
+ async function boundBranchMatches(changeDir, change) {
416
+ let outcome;
417
+ try {
418
+ outcome = await resolveBranchBinding(changeDir, { heal: true, cwd: process.cwd() });
419
+ }
420
+ catch (error) {
421
+ throw new GuardFailure(`ERROR: ${error instanceof Error ? error.message : String(error)}`);
422
+ }
423
+ switch (outcome.status) {
424
+ case 'drift':
425
+ return fail(driftBlockedMessage(change, outcome.boundBranch, outcome.currentBranch));
426
+ case 'unbound-detached':
427
+ return fail(unboundDetachedMessage(change));
428
+ case 'healed':
429
+ return pass(`bound_branch lazily set to ${outcome.branch}`);
430
+ case 'needs-heal':
431
+ case 'ok':
432
+ case 'not-applicable':
433
+ return pass();
434
+ default: {
435
+ const exhaustive = outcome;
436
+ throw new Error(`unhandled branch binding status: ${JSON.stringify(exhaustive)}`);
437
+ }
438
+ }
439
+ }
414
440
  async function isolationSelected(changeDir, change) {
415
441
  const isolation = await readField(changeDir, 'isolation');
416
- const workflow = await readField(changeDir, 'workflow');
417
- if (isolation === 'branch' || isolation === 'worktree')
418
- return pass();
419
- if (isolation === 'current' && (workflow === 'hotfix' || workflow === 'tweak'))
442
+ if (isolation === 'current' || isolation === 'branch' || isolation === 'worktree')
420
443
  return pass();
421
- const allowedValues = workflow === 'full' ? '<branch|worktree>' : '<current|branch|worktree>';
422
- return fail(`isolation must be ${workflow === 'full' ? 'branch or worktree' : 'current, branch, or worktree'}, got '${isolation || 'null'}'\nNext: choose a valid workspace mode, prepare it when needed, then run:\n comet state set ${change} isolation ${allowedValues}`);
444
+ const allowedValues = '<current|branch|worktree>';
445
+ return fail(`isolation must be current, branch, or worktree, got '${isolation || 'null'}'\nNext: choose a valid workspace mode, prepare it when needed, then run:\n comet state set ${change} isolation ${allowedValues}`);
423
446
  }
424
447
  async function buildModeSelected(changeDir, change) {
425
448
  const buildMode = await readField(changeDir, 'build_mode');
@@ -664,6 +687,7 @@ async function guardDesignChecks(output, changeDir, change) {
664
687
  }
665
688
  async function guardBuildChecks(output, changeDir, change, run) {
666
689
  return runChecks(output, [
690
+ check('bound branch matches workspace mode', () => boundBranchMatches(changeDir, change)),
667
691
  check('isolation selected', () => isolationSelected(changeDir, change)),
668
692
  check('build_mode selected', () => buildModeSelected(changeDir, change)),
669
693
  check('build_mode allowed for workflow', () => buildModeAllowedForWorkflow(changeDir)),
@@ -690,6 +714,7 @@ async function guardBuildChecks(output, changeDir, change, run) {
690
714
  }
691
715
  async function guardVerifyChecks(output, changeDir, change, run) {
692
716
  return runChecks(output, [
717
+ check('bound branch matches workspace mode', () => boundBranchMatches(changeDir, change)),
693
718
  check('tasks.md all tasks checked', () => tasksAllDone(changeDir)),
694
719
  // Verification command runs after tasks check — no point running tests
695
720
  // if tasks.md is incomplete.
@@ -706,8 +731,9 @@ async function guardVerifyChecks(output, changeDir, change, run) {
706
731
  }),
707
732
  ]);
708
733
  }
709
- async function guardArchiveChecks(output, changeDir) {
734
+ async function guardArchiveChecks(output, changeDir, change) {
710
735
  return runChecks(output, [
736
+ check('bound branch matches workspace mode', () => boundBranchMatches(changeDir, change)),
711
737
  check('archived is true', async () => ((await archivedIsTrue(changeDir)) ? pass() : fail(''))),
712
738
  check('proposal.md exists', async () => (await nonempty(path.join(changeDir, 'proposal.md'))) ? pass() : fail('')),
713
739
  check('design.md exists', async () => (await nonempty(path.join(changeDir, 'design.md'))) ? pass() : fail('')),
@@ -715,10 +741,14 @@ async function guardArchiveChecks(output, changeDir) {
715
741
  check('branch_status=handled', async () => (await branchStatusHandled(changeDir)) ? pass() : fail('')),
716
742
  ]);
717
743
  }
718
- async function applyStateUpdate(output, change, changeDir, phase, context) {
744
+ async function applyStateUpdate(output, change, changeDir, phase) {
719
745
  const event = CLASSIC_GUARD_TRANSITION_EVENT[phase];
720
746
  if (!event)
721
747
  return;
748
+ // Re-read instead of reusing the run context captured before the checks:
749
+ // boundBranchMatches may have lazily healed bound_branch on disk, and a
750
+ // stale projection would write the pre-heal null back over it.
751
+ const context = await ensureClassicRuntimeRun(changeDir);
722
752
  const result = applyClassicTransition(context.classic, event);
723
753
  await transitionClassicRuntimeRun(changeDir, result.classic, context.run, {
724
754
  event,
@@ -772,7 +802,7 @@ export const classicGuardCommand = async (args, options) => {
772
802
  else if (phase === 'verify')
773
803
  blocked = await guardVerifyChecks(output, changeDir, change, runContext.run);
774
804
  else
775
- blocked = await guardArchiveChecks(output, changeDir);
805
+ blocked = await guardArchiveChecks(output, changeDir, change);
776
806
  if (blocked) {
777
807
  output.stderr.push('');
778
808
  output.stderr.push(red('BLOCKED — fix failing checks before proceeding to next phase'));
@@ -781,7 +811,7 @@ export const classicGuardCommand = async (args, options) => {
781
811
  output.stderr.push('');
782
812
  output.stderr.push(green('ALL CHECKS PASSED — ready for next phase'));
783
813
  if (flag === '--apply') {
784
- await applyStateUpdate(output, change, changeDir, phase, runContext);
814
+ await applyStateUpdate(output, change, changeDir, phase);
785
815
  }
786
816
  return output.toResult(0);
787
817
  }
@@ -1 +1 @@
1
- {"version":3,"file":"classic-guard.js","sourceRoot":"","sources":["../../../domains/comet-classic/classic-guard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"classic-guard.js","sourceRoot":"","sources":["../../../domains/comet-classic/classic-guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,QAAQ,IAAI,EAAE,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAC9D,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAErC,OAAO,EACL,kBAAkB,GAGnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AAC5F,OAAO,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAGhG,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,8BAA8B,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClG,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,GAEvB,MAAM,6BAA6B,CAAC;AAErC,MAAM,KAAK,GAAG,YAAY,CAAC;AAC3B,MAAM,GAAG,GAAG,YAAY,CAAC;AACzB,MAAM,MAAM,GAAG,YAAY,CAAC;AAC5B,MAAM,KAAK,GAAG,WAAW,CAAC;AAC1B,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAU,CAAC;AACzE,MAAM,YAAY,GAA2B;IAC3C,IAAI,EAAE,4BAA4B;IAClC,MAAM,EAAE,+BAA+B;IACvC,KAAK,EAAE,+BAA+B;IACtC,MAAM,EAAE,iCAAiC;IACzC,OAAO,EAAE,qCAAqC;CAC/C,CAAC;AACF,MAAM,aAAa,GAA2B;IAC5C,IAAI,EAAE,kDAAkD;IACxD,MAAM,EAAE,4CAA4C;IACpD,KAAK,EAAE,oEAAoE;IAC3E,MAAM,EAAE,kEAAkE;CAC3E,CAAC;AACF,MAAM,wBAAwB,GAAgD;IAC5E,YAAY,EAAE,eAAe;IAC7B,KAAK,EAAE,OAAO;IACd,kBAAkB,EAAE,qBAAqB;IACzC,UAAU,EAAE,aAAa;IACzB,YAAY,EAAE,eAAe;CAC9B,CAAC;AAEF,SAAS,KAAK,CAAC,OAAe;IAC5B,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,EAAE,CAAC;AACtC,CAAC;AAED,SAAS,GAAG,CAAC,OAAe;IAC1B,OAAO,GAAG,GAAG,GAAG,OAAO,GAAG,KAAK,EAAE,CAAC;AACpC,CAAC;AAED,SAAS,MAAM,CAAC,OAAe;IAC7B,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,EAAE,CAAC;AACvC,CAAC;AAED,SAAS,SAAS,CAAC,KAAyB;IAC1C,OAAO,wBAAwB,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;IAClC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACnC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC5D,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,YAAa,SAAQ,KAAK;IAGnB;IAFX,YACE,OAAe,EACN,WAAW,CAAC;QAErB,KAAK,CAAC,OAAO,CAAC,CAAC;QAFN,aAAQ,GAAR,QAAQ,CAAI;IAGvB,CAAC;CACF;AAED,MAAM,WAAW;IACN,MAAM,GAAa,EAAE,CAAC;IAC/B,WAAW,CAA2B;IAEtC,QAAQ,CAAC,QAAQ,GAAG,CAAC;QACnB,OAAO;YACL,QAAQ;YACR,GAAG,CAAC,IAAI,CAAC,WAAW;gBAClB,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,IAAI,EAAE;gBACtE,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7E,CAAC;IACJ,CAAC;CACF;AAED,KAAK,UAAU,MAAM,CAAC,IAAY;IAChC,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QACrE,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,IAAY;IAClC,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QACrE,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY;IACtC,MAAM,KAAK,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,KAAK;QAAE,MAAM,IAAI,YAAY,CAAC,GAAG,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,gFAAgF;AAChF,6EAA6E;AAC7E,2EAA2E;AAC3E,qEAAqE;AACrE,KAAK,UAAU,gBAAgB,CAAC,IAAY;IAC1C,OAAO,CAAC,MAAM,6BAA6B,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;AAC3D,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,SAAiB,EAAE,KAAa;IACvD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;IACvF,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,YAAY,CAAC,+BAA+B,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACtF,CAAC;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAA6B,CAAC;IAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACrD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC5D,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,KAAa,EAAE,SAAiB;IAChE,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACtD,IAAI,WAAW,IAAI,WAAW,KAAK,MAAM;QAAE,OAAO,WAAW,CAAC;IAC9D,OAAO,CAAC,MAAM,sBAAsB,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;AAC5D,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,SAAiB;IACjD,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACjE,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,QAAQ,CAAC;IAC/D,MAAM,IAAI,KAAK,CAAC,wBAAwB,QAAQ,qCAAqC,CAAC,CAAC;AACzF,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAc;IAC3C,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1C,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,OAAO,GAAG,CAAC,OAAO,CAAC;YACnB,SAAS;QACX,CAAC;QACD,IAAI,CAAC,OAAO;YAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,aAAa,CAAC,MAAc;IACnC,OAAO,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAc;IACvC,OAAO,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC;AAClE,CAAC;AAED,KAAK,UAAU,iCAAiC,CAC9C,SAAiB,EACjB,IAAY;IAEZ,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACtE,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAE/C,IAAI,QAAQ,KAAK,OAAO,IAAI,GAAG,GAAG,EAAE,IAAI,YAAY,IAAI,EAAE,EAAE,CAAC;QAC3D,OAAO,IAAI,CACT,qCAAqC,IAAI,8CAA8C,GAAG,mBAAmB,YAAY,sGAAsG,CAChO,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,KAAK,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,GAAG,YAAY,EAAE,CAAC;QACxD,OAAO,IAAI,CACT,kCAAkC,IAAI,8CAA8C,GAAG,mBAAmB,YAAY,sGAAsG,CAC7N,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,EAAE,CAAC;AAChB,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY;IAC5B,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACvE,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,SAAiB;IACjD,+EAA+E;IAC/E,+EAA+E;IAC/E,wFAAwF;IACxF,+EAA+E;IAC/E,MAAM,KAAK,GAAG,CAAC,GAAG,SAAS,cAAc,EAAE,GAAG,SAAS,YAAY,EAAE,GAAG,SAAS,WAAW,CAAC,CAAC;IAC9F,MAAM,KAAK,GAAG,GAAG,SAAS,QAAQ,CAAC;IACnC,IAAI,MAAM,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACxB,KAAK,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YACrD,MAAM,IAAI,GAAG,GAAG,KAAK,IAAI,KAAK,UAAU,CAAC;YACzC,IAAI,MAAM,MAAM,CAAC,IAAI,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,SAAiB;IACjD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,IAAI,IAAI,MAAM,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC;QACvD,IAAI,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE,UAAU,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IACD,0EAA0E;IAC1E,kFAAkF;IAClF,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACrE,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,SAAiB,EAAE,IAAY;IACtD,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,YAAY,CAAC,GAAG,CAAC,sCAAsC,SAAS,EAAE,CAAC,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,YAAY,CAAC,GAAG,CAAC,mCAAmC,SAAS,EAAE,CAAC,CAAC,CAAC;IAC9E,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACrE,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC1B,IAAI,MAAM,CAAC,MAAM;YACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;QAC5F,MAAM,IAAI,YAAY,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC,CAAC;IAC7E,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACrD,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACvE,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,YAAY,CACpB,GAAG,CAAC,4CAA4C,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAC1E,CAAC;IACJ,CAAC;AACH,CAAC;AAUD,SAAS,SAAS,CAAC,MAAmB,EAAE,OAAqB;IAC3D,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC7D,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC3D,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;QACxF,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,KAAK,CAAC,WAAmB,EAAE,GAA+B;IACjE,OAAO,KAAK,IAAI,EAAE;QAChB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC;YAC3B,OAAO;gBACL,WAAW;gBACX,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,MAAM,EAAE,CAAC,QAAQ,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE;aACxD,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,WAAW;gBACX,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC/D,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,IAAI,CAAC,MAAe;IAC3B,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AACzD,CAAC;AAED,SAAS,IAAI,CAAC,MAAc;IAC1B,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AACnC,CAAC;AAED,KAAK,UAAU,SAAS,CACtB,MAAmB,EACnB,QAA4C;IAE5C,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,MAAM,KAAK,EAAE,CAAC;QAC9B,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,OAAO,GAAG,IAAI,CAAC;IACtC,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAOD,MAAM,wBAAwB,GAAG;IAC/B,kCAAkC;IAClC,SAAS;IACT,YAAY;CACJ,CAAC;AAEX,KAAK,UAAU,0BAA0B,CAAC,KAAyC;IACjF,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAClD,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1C,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAClE,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,sEAAsE;QACtE,4EAA4E;QAC5E,kEAAkE;QAClE,2EAA2E;QAC3E,uEAAuE;QACvE,uEAAuE;QACvE,MAAM,IAAI,KAAK,CACb,uCAAuC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,gCAAgC,KAAK,oCAAoC,CAC3I,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAa,CAAC;IACzC,OAAO,CACL,OAAO,CAAC,KAAK,CAAC;QACd,OAAO,KAAK,KAAK,QAAQ;QACzB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACrB,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CACnD,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAyC;IACzE,OAAO;QACL,MAAM,EAAE,CAAC;QACT,MAAM,EAAE,GAAG,KAAK,qFAAqF,KAAK,KAAK,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,oCAAoC;KAC9L,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,OAAe;IAClC,4EAA4E;IAC5E,wEAAwE;IACxE,2DAA2D;IAC3D,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IACvF,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC;QAC1B,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;KAC5E,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,oBAAoB;IACjC,IACE,CAAC,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;QAC9B,CAAC,GAAG,EAAE;YACJ,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,CAE7D,CAAC;YACF,OAAO,OAAO,MAAM,CAAC,OAAO,EAAE,KAAK,KAAK,QAAQ,CAAC;QACnD,CAAC,CAAC,EAAE,EACJ,CAAC;QACD,OAAO,eAAe,CAAC;IACzB,CAAC;IACD,IAAI,MAAM,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5B,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjC,IAAI,UAAU,CAAC,UAAU,CAAC;gBAAE,OAAO,qBAAqB,CAAC;YACzD,OAAO,oBAAoB,CAAC;QAC9B,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,CAAC;YAAE,OAAO,mBAAmB,CAAC;QACnD,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IACD,IAAI,MAAM,MAAM,CAAC,YAAY,CAAC;QAAE,OAAO,aAAa,CAAC;IACrD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,cAAc,CAAC,MAA4B;IAClD,OAAO,uCAAuC,MAAM,CAAC,SAAS,cAAc,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,GAAG,EAAE,CAAC;AACnH,CAAC;AAED,SAAS,eAAe,CAAC,MAAc,EAAE,KAAwB,EAAE,OAAe;IAChF,OAAO,4BAA4B,MAAM,IAAI,KAAK,eAAe,OAAO,iBAAiB,CAAC;AAC5F,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,SAAiB,EACjB,MAAc,EACd,GAA6B,EAC7B,KAAwB;IAExB,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,GAAG,EAAE,CAAC;QACzC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,gCAAgC,EAAE,CAAC;IACjE,CAAC;IACD,MAAM,aAAa,GACjB,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;IAC9E,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;QACzC,IAAI,MAAM,0BAA0B,CAAC,YAAY,CAAC,EAAE,CAAC;YACnD,OAAO,wBAAwB,CAAC,YAAY,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IACD,MAAM,QAAQ,GAAG,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,oBAAoB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACzE,IAAI,QAAQ;QAAE,OAAO,WAAW,CAAC,QAAQ,CAAC,CAAC;IAE3C,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IACjE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO;YACL,MAAM,EAAE,CAAC;YACT,MAAM,EACJ,KAAK,KAAK,OAAO;gBACf,CAAC,CAAC,0EAA0E,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,4DAA4D,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,EAAE;gBACxN,CAAC,CAAC,iGAAiG,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,EAAE;SACrJ,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO;YACL,MAAM,EAAE,QAAQ,CAAC,QAAQ;YACzB,MAAM,EAAE,mBAAmB,KAAK,gCAAgC,QAAQ,CAAC,QAAQ,MAAM,cAAc,CAAC,QAAQ,CAAC,iEAAiE,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE;SACnO,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;AACzD,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,SAAiB;IAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAC/C,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QAC3B,OAAO,IAAI,CACT,0BAA0B,KAAK,0EAA0E,CAC1G,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAChD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CACT,mGAAmG,CACpG,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GAAG,MAAM;SACtB,KAAK,CAAC,QAAQ,CAAC;SACf,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;SACnD,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACnD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,CACT,sBAAsB,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,0FAA0F,CACtL,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,EAAE,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,SAAiB;IAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAC/C,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACzC,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,SAAiB;IAC/C,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAChD,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,IAAI,EAAE,CAAC;IAC5C,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,CACT,2BAA2B,IAAI,4FAA4F,CAC5H,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,MAAM;SACtB,KAAK,CAAC,QAAQ,CAAC;SACf,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;SACnD,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACtD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,CACT,uCAAuC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,oFAAoF,CACjM,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,EAAE,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,SAAiB,EAAE,MAAc;IACjE,IAAI,OAA6B,CAAC;IAClC,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,oBAAoB,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACtF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,YAAY,CAAC,UAAU,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC7F,CAAC;IACD,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC;QACvB,KAAK,OAAO;YACV,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QACvF,KAAK,kBAAkB;YACrB,OAAO,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9C,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC,8BAA8B,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9D,KAAK,YAAY,CAAC;QAClB,KAAK,IAAI,CAAC;QACV,KAAK,gBAAgB;YACnB,OAAO,IAAI,EAAE,CAAC;QAChB,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,UAAU,GAAU,OAAO,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,SAAiB,EAAE,MAAc;IAChE,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAC1D,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,UAAU;QAAE,OAAO,IAAI,EAAE,CAAC;IACjG,MAAM,aAAa,GAAG,2BAA2B,CAAC;IAClD,OAAO,IAAI,CACT,wDAAwD,SAAS,IAAI,MAAM,gGAAgG,MAAM,cAAc,aAAa,EAAE,CAC/M,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,SAAiB,EAAE,MAAc;IAChE,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAC3D,IAAI,CAAC,6BAA6B,EAAE,iBAAiB,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;QAClF,OAAO,IAAI,EAAE,CAAC;IAChB,OAAO,IAAI,CACT,0DAA0D,SAAS,IAAI,MAAM,mFAAmF,MAAM,2DAA2D,CAClO,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,2BAA2B,CAAC,SAAiB;IAC1D,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAC3D,MAAM,cAAc,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;IACrE,IAAI,SAAS,KAAK,QAAQ;QAAE,OAAO,IAAI,EAAE,CAAC;IAC1C,IAAI,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,IAAI,EAAE,CAAC;IACjE,IAAI,cAAc,KAAK,MAAM;QAAE,OAAO,IAAI,EAAE,CAAC;IAC7C,OAAO,IAAI,CACT,qNAAqN,CACtN,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,yBAAyB,CAAC,SAAiB,EAAE,MAAc;IACxE,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAC3D,MAAM,gBAAgB,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;IACzE,IAAI,SAAS,KAAK,6BAA6B;QAAE,OAAO,IAAI,EAAE,CAAC;IAC/D,IAAI,gBAAgB,KAAK,WAAW;QAAE,OAAO,IAAI,EAAE,CAAC;IACpD,OAAO,IAAI,CACT,wNAAwN,MAAM,0MAA0M,MAAM,6BAA6B,CAC5c,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,SAAiB,EAAE,MAAc;IAC9D,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACxD,IAAI,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,IAAI,EAAE,CAAC;IACjE,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACvD,IAAI,OAAO,KAAK,KAAK,IAAI,OAAO,KAAK,QAAQ;QAAE,OAAO,IAAI,EAAE,CAAC;IAC7D,OAAO,IAAI,CACT,0DAA0D,OAAO,IAAI,MAAM,uFAAuF,MAAM,wBAAwB,CACjM,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,SAAiB,EAAE,MAAc;IACjE,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACxD,IAAI,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,IAAI,EAAE,CAAC;IACjE,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAC7D,IAAI,UAAU,KAAK,KAAK,IAAI,UAAU,KAAK,UAAU,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;QACnF,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC;IACD,OAAO,IAAI,CACT,6EAA6E,UAAU,IAAI,MAAM,iFAAiF,MAAM,sCAAsC,CAC/N,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,SAAiB;IACvD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;IACjE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,KAAK,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;AACpE,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,SAAiB;IAClD,OAAO,CAAC,MAAM,SAAS,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,KAAK,SAAS,CAAC;AACrE,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,SAAiB;IAC7C,OAAO,CAAC,MAAM,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,KAAK,MAAM,CAAC;AAC7D,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,SAAiB,EACjB,KAAa,EACb,QAAgB;IAEhB,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAC9E,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,IAAI,IAAI,KAAK,KAAK;gBAAE,aAAa,GAAG,IAAI,CAAC;YACzC,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,KAAK;YAAE,MAAM;QAC1B,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,QAAQ,YAAY,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;IACvF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,SAAiB,EAAE,MAAc;IAChE,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAC3D,IAAI,SAAS,IAAI,SAAS,KAAK,MAAM,IAAI,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,EAAE,CAAC;IAC9E,OAAO,IAAI,CACT,8JAA8J,MAAM,oBAAoB,CACzL,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,yBAAyB,CAAC,SAAiB,EAAE,MAAc;IACxE,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;IAC9D,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAChE,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACnC,OAAO,IAAI,CACT,gFAAgF,MAAM,8CAA8C,CACrI,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,CACT,uDAAuD,OAAO,4DAA4D,MAAM,kBAAkB,CACnJ,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QAC1C,OAAO,IAAI,CACT,uCAAuC,YAAY,IAAI,MAAM,4DAA4D,MAAM,kBAAkB,CAClJ,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACvD,IAAI,UAAU,KAAK,YAAY,EAAE,CAAC;QAChC,OAAO,IAAI,CACT,mFAAmF,YAAY,4BAA4B,UAAU,6BAA6B,MAAM,uEAAuE,CAChP,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,KAAK,CAAC;IACzD,IAAI,CAAC,CAAC,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QAChC,OAAO,IAAI,CACT,gDAAgD,QAAQ,4DAA4D,MAAM,kBAAkB,CAC7I,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,EAAE,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,8BAA8B,CAAC,SAAiB;IAC7D,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;IAC9D,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC,6CAA6C,CAAC,CAAC;IAC/F,MAAM,QAAQ,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,KAAK,CAAC;IACzD,IAAI,CAAC,CAAC,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC,gDAAgD,QAAQ,EAAE,CAAC,CAAC;IAC1E,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,CAAC,qCAAqC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACxD,QAAQ,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,CAAC,iCAAiC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACpD,QAAQ,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;IAC3D,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,MAAM,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC;QACvD,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;YAAE,SAAS;QACpC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,IAAI,GAAG,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1D,QAAQ,CAAC,IAAI,CAAC,iDAAiD,IAAI,EAAE,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACpE,QAAQ,CAAC,IAAI,CAAC,mDAAmD,IAAI,EAAE,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,SAAiB;IACrD,OAAO,CAAC,MAAM,SAAS,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC,IAAI,KAAK,CAAC;AACtE,CAAC;AAED,KAAK,UAAU,6BAA6B,CAAC,SAAiB;IAC5D,IAAI,CAAC,MAAM,sBAAsB,CAAC,SAAS,CAAC,CAAC,KAAK,MAAM;QAAE,OAAO,IAAI,EAAE,CAAC;IACxE,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;IAC9D,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC,6CAA6C,CAAC,CAAC;IAC/F,IAAI,CAAC,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC,0CAA0C,OAAO,EAAE,CAAC,CAAC;IACjG,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,IAAI,CACT,mCAAmC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC5F,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnE,OAAO,IAAI,CAAC,0CAA0C,CAAC,CAAC;IAC1D,CAAC;IACD,MAAM,MAAM,GAAG,MAAiC,CAAC;IACjD,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ;QAAE,QAAQ,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;IACjG,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ;QAAE,QAAQ,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;IAC/F,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM;QAAE,QAAQ,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;IAChF,IAAI,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;QAC5C,QAAQ,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;QAAE,QAAQ,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;IAC3F,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;QACvC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,CAAC,IAAI,EAAmC,EAAE,CACxC,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CACpE;QACH,CAAC,CAAC,EAAE,CAAC;IACP,KAAK,MAAM,IAAI,IAAI,MAAM,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC;QACvD,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;YAAE,SAAS;QACpC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,EAAE,CAAC;YACpF,QAAQ,CAAC,IAAI,CAAC,oDAAoD,IAAI,EAAE,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,MAAmB,EAAE,SAAiB;IACnE,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACxD,MAAM,MAAM,GAAuC;QACjD,KAAK,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE,CACnD,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAC1E;QACD,KAAK,CAAC,yCAAyC,EAAE,GAAG,EAAE,CACpD,iCAAiC,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAClF;QACD,KAAK,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE,CAChD,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CACvE;QACD,KAAK,CAAC,sCAAsC,EAAE,GAAG,EAAE,CACjD,iCAAiC,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAC/E;QACD,KAAK,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE,CACjD,CAAC,MAAM,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CACnD;KACF,CAAC;IACF,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,MAAM,CAAC,MAAM,CACX,CAAC,EACD,CAAC,EACD,KAAK,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE,CACjD,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CACxE,EACD,KAAK,CAAC,uCAAuC,EAAE,GAAG,EAAE,CAClD,iCAAiC,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAChF,CACF,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACnC,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,MAAmB,EACnB,SAAiB,EACjB,MAAc;IAEd,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAuC;QACnD,KAAK,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE,CACrC,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAC1E;QACD,KAAK,CAAC,yCAAyC,EAAE,GAAG,EAAE,CACpD,iCAAiC,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAClF;QACD,KAAK,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE,CACnC,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CACxE;QACD,KAAK,CAAC,uCAAuC,EAAE,GAAG,EAAE,CAClD,iCAAiC,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAChF;QACD,KAAK,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE,CAClC,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CACvE;QACD,KAAK,CAAC,sCAAsC,EAAE,GAAG,EAAE,CACjD,iCAAiC,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAC/E;QACD,KAAK,CAAC,+BAA+B,EAAE,GAAG,EAAE,CAAC,yBAAyB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC1F,KAAK,CAAC,sCAAsC,EAAE,GAAG,EAAE,CAAC,8BAA8B,CAAC,SAAS,CAAC,CAAC;KAC/F,CAAC;IACF,IAAI,CAAC,MAAM,sBAAsB,CAAC,SAAS,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;QACzD,QAAQ,CAAC,IAAI,CACX,KAAK,CAAC,8CAA8C,EAAE,GAAG,EAAE,CACzD,6BAA6B,CAAC,SAAS,CAAC,CACzC,CACF,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,QAAQ,CAAC,IAAI,CACX,KAAK,CAAC,0CAA0C,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAC9F,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAChD,IAAI,SAAS,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QACtC,OAAO;YACL,CAAC,MAAM,SAAS,CAAC,MAAM,EAAE;gBACvB,KAAK,CAAC,eAAe,SAAS,UAAU,EAAE,KAAK,IAAI,EAAE,CACnD,CAAC,MAAM,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAChD;gBACD,KAAK,CAAC,wCAAwC,EAAE,GAAG,EAAE,CACnD,iCAAiC,CAAC,SAAS,EAAE,SAAS,CAAC,CACxD;gBACD,KAAK,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;oBAC9D,IAAI,CAAC,CAAC,MAAM,QAAQ,CAAC,SAAS,CAAC,CAAC;wBAAE,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC;oBAClD,OAAO,CAAC,MAAM,uBAAuB,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;wBACvE,CAAC,CAAC,IAAI,EAAE;wBACR,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACf,CAAC,CAAC;gBACF,KAAK,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;oBAC5D,IAAI,CAAC,CAAC,MAAM,QAAQ,CAAC,SAAS,CAAC,CAAC;wBAAE,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC;oBAClD,OAAO,CAAC,MAAM,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;wBAC3E,CAAC,CAAC,IAAI,EAAE;wBACR,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACf,CAAC,CAAC;gBACF,KAAK,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;oBACjE,IAAI,CAAC,CAAC,MAAM,QAAQ,CAAC,SAAS,CAAC,CAAC;wBAAE,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC;oBAClD,OAAO,CAAC,MAAM,uBAAuB,CAAC,SAAS,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAC;wBAC7E,CAAC,CAAC,IAAI,EAAE;wBACR,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACf,CAAC,CAAC;aACH,CAAC,CAAC,IAAI,OAAO,CAAC;IACnB,CAAC;SAAM,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,CAChB,MAAM,CAAC,4EAA4E,CAAC,CACrF,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,MAAmB,EACnB,SAAiB,EACjB,MAAc,EACd,GAA6B;IAE7B,OAAO,SAAS,CAAC,MAAM,EAAE;QACvB,KAAK,CAAC,qCAAqC,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACzF,KAAK,CAAC,oBAAoB,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACvE,KAAK,CAAC,qBAAqB,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACxE,KAAK,CAAC,iCAAiC,EAAE,GAAG,EAAE,CAAC,2BAA2B,CAAC,SAAS,CAAC,CAAC;QACtF,KAAK,CAAC,6BAA6B,EAAE,GAAG,EAAE,CAAC,yBAAyB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACxF,KAAK,CAAC,mBAAmB,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACpE,KAAK,CAAC,sBAAsB,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC1E,KAAK,CAAC,4BAA4B,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAClE,KAAK,CAAC,oCAAoC,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC9E,KAAK,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE,CACrC,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAC1E;QACD,KAAK,CAAC,yCAAyC,EAAE,GAAG,EAAE,CACpD,iCAAiC,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAClF;QACD,KAAK,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;YAC/D,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAChD,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;gBAAE,OAAO,IAAI,EAAE,CAAC;YACrE,OAAO,iCAAiC,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC5D,CAAC,CAAC;QACF,uEAAuE;QACvE,sEAAsE;QACtE,KAAK,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE;YAC/B,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;YAC9E,OAAO,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACxF,CAAC,CAAC;KACH,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,MAAmB,EACnB,SAAiB,EACjB,MAAc,EACd,GAA6B;IAE7B,OAAO,SAAS,CAAC,MAAM,EAAE;QACvB,KAAK,CAAC,qCAAqC,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACzF,KAAK,CAAC,4BAA4B,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAClE,uEAAuE;QACvE,6BAA6B;QAC7B,KAAK,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;YACtC,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;YAChF,OAAO,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC3F,CAAC,CAAC;QACF,KAAK,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE,CAC7C,CAAC,MAAM,wBAAwB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAChE;QACD,KAAK,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;YAClE,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;YACjE,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;gBAAE,OAAO,IAAI,EAAE,CAAC;YAC3E,OAAO,iCAAiC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC9D,CAAC,CAAC;KACH,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,MAAmB,EACnB,SAAiB,EACjB,MAAc;IAEd,OAAO,SAAS,CAAC,MAAM,EAAE;QACvB,KAAK,CAAC,qCAAqC,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACzF,KAAK,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9F,KAAK,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE,CACrC,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAC1E;QACD,KAAK,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE,CACnC,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CACxE;QACD,KAAK,CAAC,4BAA4B,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAClE,KAAK,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE,CACxC,CAAC,MAAM,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAC3D;KACF,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,MAAmB,EACnB,MAAc,EACd,SAAiB,EACjB,KAAa;IAEb,MAAM,KAAK,GAAG,8BAA8B,CAAC,KAAqB,CAAC,CAAC;IACpE,IAAI,CAAC,KAAK;QAAE,OAAO;IAEnB,yEAAyE;IACzE,wEAAwE;IACxE,+DAA+D;IAC/D,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAAC,SAAS,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,sBAAsB,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC9D,MAAM,2BAA2B,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE;QACxE,KAAK;QACL,KAAK;QACL,MAAM,EAAE,aAAa;KACtB,CAAC,CAAC;IACH,MAAM,uBAAuB,CAAC,SAAS,EAAE;QACvC,MAAM;QACN,KAAK;QACL,MAAM,EAAE,aAAa;QACrB,IAAI,EAAE,OAAO,CAAC,OAAO;QACrB,EAAE,EAAE,MAAM,CAAC,OAAO;QAClB,OAAO,EAAE,MAAM,CAAC,OAAO;KACxB,CAAC,CAAC;IAEH,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACpC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACxF,CAAC;IACD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,KAAK,EAAE,CAAC,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,OAAO,GACX,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACtF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAA0B,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;IAChF,MAAM,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;IACjC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC;IACnC,IAAI,CAAC;QACH,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC3B,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAgC,CAAC,EAAE,CAAC;YACjE,MAAM,IAAI,YAAY,CACpB,GAAG,GAAG,CAAC,kBAAkB,KAAK,IAAI,EAAE,EAAE,CAAC,sDAAsD,CAC9F,CAAC;QACJ,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACjD,MAAM,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACnC,MAAM,UAAU,GAAG,MAAM,uBAAuB,CAAC,SAAS,CAAC,CAAC;QAC5D,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACjE,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,MAAM,CAAC,WAAW,GAAG;gBACnB,MAAM;gBACN,KAAK;gBACL,WAAW,EAAE,UAAU,CAAC,WAAW;gBACnC,WAAW,EAAE,UAAU,CAAC,WAAW;aACpC,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;QAExC,IAAI,OAAgB,CAAC;QACrB,IAAI,KAAK,KAAK,MAAM;YAAE,OAAO,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;aACpE,IAAI,KAAK,KAAK,QAAQ;YAAE,OAAO,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;aACrF,IAAI,KAAK,KAAK,OAAO;YACxB,OAAO,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;aACzE,IAAI,KAAK,KAAK,QAAQ;YACzB,OAAO,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;;YAC1E,OAAO,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QAEnE,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC,CAAC;YACxF,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC,CAAC;QACtE,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;YAClC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvE,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"classic-hook-guard.d.ts","sourceRoot":"","sources":["../../../domains/comet-classic/classic-hook-guard.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAwB,MAAM,kBAAkB,CAAC;AA6iBpF,eAAO,MAAM,uBAAuB,EAAE,qBAwDrC,CAAC"}
1
+ {"version":3,"file":"classic-hook-guard.d.ts","sourceRoot":"","sources":["../../../domains/comet-classic/classic-hook-guard.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAwB,MAAM,kBAAkB,CAAC;AA4kBpF,eAAO,MAAM,uBAAuB,EAAE,qBAwDrC,CAAC"}