@raidiant/notifai 0.5.1 → 1.0.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 (57) hide show
  1. package/CHANGELOG.md +165 -0
  2. package/README.md +11 -4
  3. package/dist/commands.d.ts +16 -1
  4. package/dist/commands.js +371 -157
  5. package/dist/commands.js.map +1 -1
  6. package/dist/config-schema.d.ts +1 -1
  7. package/dist/config-schema.js +2 -14
  8. package/dist/config-schema.js.map +1 -1
  9. package/dist/config.d.ts +19 -8
  10. package/dist/config.js +50 -7
  11. package/dist/config.js.map +1 -1
  12. package/dist/harnesses.d.ts +1 -0
  13. package/dist/harnesses.js +6 -0
  14. package/dist/harnesses.js.map +1 -1
  15. package/dist/hook-adapter.d.ts +10 -1
  16. package/dist/hook-adapter.js +79 -10
  17. package/dist/hook-adapter.js.map +1 -1
  18. package/dist/install-hooks.d.ts +54 -17
  19. package/dist/install-hooks.js +258 -97
  20. package/dist/install-hooks.js.map +1 -1
  21. package/dist/interactive.d.ts +32 -1
  22. package/dist/interactive.js +163 -47
  23. package/dist/interactive.js.map +1 -1
  24. package/dist/main.js +8 -8
  25. package/dist/main.js.map +1 -1
  26. package/dist/native-skills.d.ts +1 -1
  27. package/dist/native-skills.js +23 -58
  28. package/dist/native-skills.js.map +1 -1
  29. package/dist/pack-feedback-slice.d.ts +35 -0
  30. package/dist/pack-feedback-slice.js +126 -0
  31. package/dist/pack-feedback-slice.js.map +1 -0
  32. package/dist/readiness.d.ts +20 -0
  33. package/dist/readiness.js +24 -0
  34. package/dist/readiness.js.map +1 -1
  35. package/package.json +3 -2
  36. package/src/commands.test.ts +364 -31
  37. package/src/commands.ts +450 -177
  38. package/src/config-schema.ts +2 -17
  39. package/src/config.test.ts +29 -4
  40. package/src/config.ts +67 -11
  41. package/src/harnesses.ts +7 -0
  42. package/src/hook-adapter.test.ts +43 -1
  43. package/src/hook-adapter.ts +83 -11
  44. package/src/hooks.test.ts +4 -5
  45. package/src/install-hooks.test.ts +154 -2
  46. package/src/install-hooks.ts +231 -44
  47. package/src/interactive.test.ts +338 -0
  48. package/src/interactive.ts +221 -49
  49. package/src/main.ts +8 -8
  50. package/src/native-skills.test.ts +75 -0
  51. package/src/native-skills.ts +31 -75
  52. package/src/pack-feedback-slice.test.ts +212 -0
  53. package/src/pack-feedback-slice.ts +187 -0
  54. package/src/readiness.test.ts +25 -0
  55. package/src/readiness.ts +38 -0
  56. package/src/skill.test.ts +43 -0
  57. package/src/ui/config-view.test.ts +5 -4
@@ -1,8 +1,8 @@
1
- import { existsSync, lstatSync, readFileSync, realpathSync, statSync, } from 'node:fs';
1
+ import { existsSync, lstatSync, readFileSync, realpathSync, rmSync, statSync, } from 'node:fs';
2
2
  import { createHash } from 'node:crypto';
3
3
  import os from 'node:os';
4
4
  import path from 'node:path';
5
- import { parse as parseToml } from 'smol-toml';
5
+ import { parse as parseToml, stringify as stringifyToml } from 'smol-toml';
6
6
  import { atomicWriteFileSync } from './atomic-file.js';
7
7
  import { hookAdapterPath } from './hook-adapter.js';
8
8
  import { opencodePluginPath, opencodePluginTarget } from './opencode-plugin.js';
@@ -175,9 +175,7 @@ export function settingsFile(harness, global, cwd, env = process.env) {
175
175
  ? path.join(configHome(env, 'CLAUDE_CONFIG_DIR', '.claude'), 'settings.json')
176
176
  : path.join(cwd, '.claude', 'settings.local.json');
177
177
  case 'codex':
178
- return global
179
- ? path.join(configHome(env, 'CODEX_HOME', '.codex'), 'hooks.json')
180
- : path.join(codexProjectRoot(cwd), '.codex', 'hooks.json');
178
+ return inspectCodexLayer(codexLayerPaths(global, cwd, env)).writeTarget;
181
179
  default:
182
180
  return assertNeverHarness(harness);
183
181
  }
@@ -279,6 +277,133 @@ export function configHome(env, variable, fallback) {
279
277
  const override = env[variable];
280
278
  return override !== undefined && override !== '' ? override : path.join(os.homedir(), fallback);
281
279
  }
280
+ /** The two files Codex will look at for one config layer. */
281
+ export function codexLayerPaths(global, cwd, env = process.env) {
282
+ const dir = global
283
+ ? configHome(env, 'CODEX_HOME', '.codex')
284
+ : path.join(codexProjectRoot(cwd), '.codex');
285
+ return {
286
+ dir,
287
+ hooksJson: path.join(dir, 'hooks.json'),
288
+ configToml: path.join(dir, 'config.toml'),
289
+ };
290
+ }
291
+ /**
292
+ * Which representation this Codex layer already uses.
293
+ *
294
+ * Codex loads `hooks.json` and inline `[hooks]` side by side, runs every
295
+ * matching handler, and warns when both exist. `[hooks.state]` is the trust
296
+ * store, not a hook definition, so it does not count as a representation.
297
+ */
298
+ export function inspectCodexLayer(paths) {
299
+ const jsonDocument = tryLoadSettings(paths.hooksJson);
300
+ const tomlDocument = tryLoadSettings(paths.configToml);
301
+ const jsonEvents = hookEventNames(jsonDocument?.hooks);
302
+ const tomlEvents = hookEventNames(tomlDocument?.hooks);
303
+ const jsonForeign = documentHasForeignHandlers(jsonDocument);
304
+ const tomlForeign = documentHasForeignHandlers(tomlDocument);
305
+ const jsonOurs = documentHasOurHandlers(jsonDocument);
306
+ const tomlOurs = documentHasOurHandlers(tomlDocument);
307
+ const dual = jsonEvents.length > 0 && tomlEvents.length > 0;
308
+ let writeTarget = paths.hooksJson;
309
+ if (tomlEvents.length > 0 && jsonEvents.length === 0)
310
+ writeTarget = paths.configToml;
311
+ else if (jsonEvents.length > 0 && tomlEvents.length === 0)
312
+ writeTarget = paths.hooksJson;
313
+ else if (dual) {
314
+ if (tomlForeign && !jsonForeign)
315
+ writeTarget = paths.configToml;
316
+ else if (jsonForeign && !tomlForeign)
317
+ writeTarget = paths.hooksJson;
318
+ else if (!jsonForeign && !tomlForeign)
319
+ writeTarget = paths.hooksJson;
320
+ else if (tomlOurs && !jsonOurs)
321
+ writeTarget = paths.configToml;
322
+ else if (jsonOurs && !tomlOurs)
323
+ writeTarget = paths.hooksJson;
324
+ else
325
+ writeTarget = paths.hooksJson;
326
+ }
327
+ return {
328
+ paths,
329
+ jsonEvents,
330
+ tomlEvents,
331
+ writeTarget,
332
+ dual,
333
+ overlappingEvents: jsonEvents.filter((event) => tomlEvents.includes(event)),
334
+ canCollapse: dual && !(jsonForeign && tomlForeign),
335
+ };
336
+ }
337
+ /** Every file in this layer Codex might already be reading hooks from. */
338
+ export function hookDefinitionFiles(harness, global, cwd, env = process.env) {
339
+ if (harness !== 'codex')
340
+ return [settingsFile(harness, global, cwd, env)];
341
+ const paths = codexLayerPaths(global, cwd, env);
342
+ return [paths.hooksJson, paths.configToml];
343
+ }
344
+ /**
345
+ * Drop the unused representation after writing the one this layer already had.
346
+ *
347
+ * Only safe when the discarded file has no one else's handlers. `hooks.json`
348
+ * is deleted once it has no events left so Codex stops warning; `config.toml`
349
+ * is never deleted.
350
+ */
351
+ export function collapseUnusedCodexRepresentation(keepFile, scriptPath, paths) {
352
+ const other = keepFile === paths.hooksJson ? paths.configToml : paths.hooksJson;
353
+ if (!existsSync(other))
354
+ return null;
355
+ const document = tryLoadSettings(other);
356
+ if (document === null || documentHasForeignHandlers(document))
357
+ return null;
358
+ const stripped = removeHooks(document, scriptPath);
359
+ if (other === paths.hooksJson && hookEventNames(stripped.document.hooks).length === 0) {
360
+ rmSync(other);
361
+ return other;
362
+ }
363
+ applyPlan(other, stripped.document);
364
+ return other;
365
+ }
366
+ export function codexRepresentationProblems(cwd, env = process.env) {
367
+ return [false, true].flatMap((global) => {
368
+ const layer = inspectCodexLayer(codexLayerPaths(global, cwd, env));
369
+ if (!layer.dual)
370
+ return [];
371
+ const overlap = layer.overlappingEvents.length > 0
372
+ ? ` Matching handlers from both files all run — this layer's ${layer.overlappingEvents.join(', ')} handlers will both fire.`
373
+ : ' Matching handlers from both files all run.';
374
+ const collapse = layer.canCollapse
375
+ ? ` Run \`notifai hooks install --harness codex${global ? ' --global' : ''}\` to collapse onto ${path.basename(layer.writeTarget)}.`
376
+ : ' Both files have other hooks, so Notifai cannot collapse them.';
377
+ return [
378
+ `loading hooks from both ${layer.paths.hooksJson} and ${layer.paths.configToml}; prefer a single representation for this layer.${overlap}${collapse}`,
379
+ ];
380
+ });
381
+ }
382
+ function tryLoadSettings(file) {
383
+ if (!existsSync(file))
384
+ return null;
385
+ try {
386
+ return loadSettings(file);
387
+ }
388
+ catch {
389
+ return null;
390
+ }
391
+ }
392
+ function hookEventNames(hooks) {
393
+ return Object.entries(hooks ?? {})
394
+ .filter(([, value]) => Array.isArray(value))
395
+ .map(([event]) => event);
396
+ }
397
+ function documentHasForeignHandlers(document) {
398
+ if (document === null)
399
+ return false;
400
+ return locateAllHandlers(document).some((handler) => !isNotifaiCommand(handler.command));
401
+ }
402
+ function documentHasOurHandlers(document) {
403
+ if (document === null)
404
+ return false;
405
+ return locateHandlers(document).length > 0;
406
+ }
282
407
  /** Best-effort detection so `hooks install` usually needs no flags. */
283
408
  /**
284
409
  * Harnesses this *project* shows evidence of, in the working directory only.
@@ -307,8 +432,8 @@ function localHarnessEvidence(cwd) {
307
432
  return found;
308
433
  }
309
434
  /** Harnesses installed anywhere on this machine — a much weaker signal. */
310
- function globalHarnessEvidence() {
311
- const home = os.homedir();
435
+ function globalHarnessEvidence(env = process.env) {
436
+ const home = env['HOME'] !== undefined && env['HOME'] !== '' ? env['HOME'] : os.homedir();
312
437
  const found = [];
313
438
  if (existsSync(path.join(home, '.claude')))
314
439
  found.push('claude-code');
@@ -321,27 +446,30 @@ function globalHarnessEvidence() {
321
446
  return found;
322
447
  }
323
448
  /**
324
- * Which harness to wire in this directory, or null when it is genuinely
325
- * unclear.
449
+ * Every supported harness this project or machine shows evidence of, in
450
+ * declared order. Project markers come first, then machine installs that the
451
+ * project did not already name.
326
452
  *
327
- * Project evidence decides, and machine evidence is consulted only when the
328
- * project offers none. The two were previously OR-ed together per harness,
329
- * which meant a developer with several agent tools installed could never get
330
- * a detection at all: every `~/.<tool>` directory contributed a candidate, the
331
- * "exactly one" test never passed, and the answer was null in every repository
332
- * on the machine. Verified on a machine carrying all four — `notifai init
333
- * --hooks` failed in five separate projects, each of which plainly used Claude
334
- * Code.
453
+ * `AGENTS.md` still counts for nothing — see `localHarnessEvidence`.
454
+ */
455
+ export function detectedHarnesses(cwd, env = process.env) {
456
+ const seen = new Set([...localHarnessEvidence(cwd), ...globalHarnessEvidence(env)]);
457
+ return HARNESSES.filter((harness) => seen.has(harness));
458
+ }
459
+ /**
460
+ * Which *single* harness to wire when a caller still needs exactly one, or
461
+ * null when it is genuinely unclear.
335
462
  *
336
- * Having a tool installed says nothing about which one *this* project is
337
- * worked in. Ambiguity within the project is still ambiguity, and returns
338
- * null so the caller can ask rather than guess.
463
+ * Project evidence decides, and machine evidence is consulted only when the
464
+ * project offers none. Several markers are not a failure of detection — they
465
+ * are several harnesses. `detectedHarnesses` is the default for install;
466
+ * this helper stays for uninstall and any caller that cannot take a list.
339
467
  */
340
- export function detectHarness(cwd) {
468
+ export function detectHarness(cwd, env = process.env) {
341
469
  const local = localHarnessEvidence(cwd);
342
470
  if (local.length > 0)
343
471
  return local.length === 1 ? local[0] : null;
344
- const global = globalHarnessEvidence();
472
+ const global = globalHarnessEvidence(env);
345
473
  return global.length === 1 ? global[0] : null;
346
474
  }
347
475
  function readCursorSettings(file) {
@@ -461,6 +589,12 @@ export function mergeHooks(existing, incoming, scriptPath) {
461
589
  const replaced = [];
462
590
  const removed = [];
463
591
  for (const [event, groups] of Object.entries(existing.hooks ?? {})) {
592
+ if (!Array.isArray(groups)) {
593
+ // Codex keeps `[hooks.state]` beside event tables. It is not a matcher list.
594
+ ;
595
+ hooks[event] = groups;
596
+ continue;
597
+ }
464
598
  const { groups: foreign, removed: hadOurs } = withoutOurs(groups, scriptPath);
465
599
  if (hadOurs) {
466
600
  if (event in incoming)
@@ -482,6 +616,11 @@ export function removeHooks(existing, scriptPath) {
482
616
  const hooks = {};
483
617
  const replaced = [];
484
618
  for (const [event, groups] of Object.entries(existing.hooks ?? {})) {
619
+ if (!Array.isArray(groups)) {
620
+ ;
621
+ hooks[event] = groups;
622
+ continue;
623
+ }
485
624
  const { groups: foreign, removed } = withoutOurs(groups, scriptPath);
486
625
  if (removed)
487
626
  replaced.push(event);
@@ -501,12 +640,30 @@ export function removeHooks(existing, scriptPath) {
501
640
  * support.
502
641
  */
503
642
  export function applyPlan(file, document) {
504
- atomicWriteFileSync(file, `${JSON.stringify(document, null, 2)}\n`, {
643
+ const body = isTomlSettingsPath(file)
644
+ ? `${stringifyToml(document)}\n`
645
+ : `${JSON.stringify(document, null, 2)}\n`;
646
+ atomicWriteFileSync(file, body, {
505
647
  requireCurrentUserOwner: true,
506
648
  });
507
649
  }
508
650
  export function loadSettings(file) {
509
- return readSettings(file);
651
+ return isTomlSettingsPath(file) ? readTomlSettings(file) : readSettings(file);
652
+ }
653
+ function isTomlSettingsPath(file) {
654
+ return file.endsWith('.toml');
655
+ }
656
+ function readTomlSettings(file) {
657
+ if (!existsSync(file))
658
+ return {};
659
+ const source = readOwnedRegularFile(file);
660
+ try {
661
+ const parsed = parseToml(source);
662
+ return typeof parsed === 'object' && parsed !== null ? parsed : {};
663
+ }
664
+ catch {
665
+ throw new Error(`Could not parse ${file}; fix or move it before installing hooks.`);
666
+ }
510
667
  }
511
668
  export function loadCursorSettings(file) {
512
669
  return readCursorSettings(file);
@@ -615,85 +772,84 @@ export function codexTrustProblems(installations, env = process.env) {
615
772
  function isNotifaiCommand(command) {
616
773
  return / hook (user-prompt-submit|stop|session-end)\b/.test(command);
617
774
  }
618
- function isNotifaiHandler(handler) {
619
- return isNotifaiCommand(handler.command);
620
- }
621
775
  /** Every place either harness would read a Notifai handler from. */
622
776
  export function findInstallations(cwd, env = process.env, adapterHome) {
623
777
  const found = [];
624
778
  for (const harness of HARNESSES) {
625
779
  for (const global of [false, true]) {
626
- const file = settingsFile(harness, global, cwd, env);
627
- if (!existsSync(file))
628
- continue;
629
- // OpenCode's adapter is a plugin module, not a settings document, so it
630
- // is reported as one installation covering all three events rather than
631
- // parsed for handlers.
632
- if (harness === 'opencode') {
633
- let source;
634
- try {
635
- source = readOwnedRegularFile(file);
636
- }
637
- catch {
780
+ const files = hookDefinitionFiles(harness, global, cwd, env);
781
+ for (const file of files) {
782
+ if (!existsSync(file))
783
+ continue;
784
+ // OpenCode's adapter is a plugin module, not a settings document, so it
785
+ // is reported as one installation covering all three events rather than
786
+ // parsed for handlers.
787
+ if (harness === 'opencode') {
788
+ let source;
789
+ try {
790
+ source = readOwnedRegularFile(file);
791
+ }
792
+ catch {
793
+ continue;
794
+ }
795
+ const target = opencodePluginTarget(source);
796
+ if (target === null)
797
+ continue;
798
+ const problems = [
799
+ ...(!target.current
800
+ ? ['obsolete OpenCode event wiring; rerun `notifai hooks install --harness opencode`']
801
+ : []),
802
+ ...(target.adapter !== hookAdapterPath(adapterHome)
803
+ ? [
804
+ 'OpenCode still names a mutable CLI or runtime path; rerun `notifai hooks install --harness opencode`',
805
+ ]
806
+ : []),
807
+ ];
808
+ found.push({
809
+ harness,
810
+ file,
811
+ global,
812
+ ...(problems.length > 0 ? { problems } : {}),
813
+ // Reported as the command line the plugin will actually run, not as
814
+ // the plugin's own path: every check downstream asks which build a
815
+ // handler invokes, and for a module that answer lives inside it.
816
+ handlers: OPENCODE_EVENTS.map(([event, hookEvent]) => ({
817
+ event,
818
+ groupIndex: 0,
819
+ handlerIndex: 0,
820
+ command: hookCommand(target.adapter, hookEvent, 'opencode'),
821
+ ...(target.timeoutSeconds === undefined ? {} : { timeout: target.timeoutSeconds }),
822
+ })),
823
+ });
638
824
  continue;
639
825
  }
640
- const target = opencodePluginTarget(source);
641
- if (target === null)
826
+ if (harness === 'cursor') {
827
+ let document;
828
+ try {
829
+ document = readCursorSettings(file);
830
+ }
831
+ catch {
832
+ continue;
833
+ }
834
+ const handlers = locateCursorHandlers(document);
835
+ if (handlers.length > 0) {
836
+ const problems = harnessMarkerProblems(harness, handlers, adapterHome);
837
+ found.push({ harness, file, global, handlers, ...(problems.length > 0 ? { problems } : {}) });
838
+ }
642
839
  continue;
643
- const problems = [
644
- ...(!target.current
645
- ? ['obsolete OpenCode event wiring; rerun `notifai hooks install --harness opencode`']
646
- : []),
647
- ...(target.adapter !== hookAdapterPath(adapterHome)
648
- ? [
649
- 'OpenCode still names a mutable CLI or runtime path; rerun `notifai hooks install --harness opencode`',
650
- ]
651
- : []),
652
- ];
653
- found.push({
654
- harness,
655
- file,
656
- global,
657
- ...(problems.length > 0 ? { problems } : {}),
658
- // Reported as the command line the plugin will actually run, not as
659
- // the plugin's own path: every check downstream asks which build a
660
- // handler invokes, and for a module that answer lives inside it.
661
- handlers: OPENCODE_EVENTS.map(([event, hookEvent]) => ({
662
- event,
663
- groupIndex: 0,
664
- handlerIndex: 0,
665
- command: hookCommand(target.adapter, hookEvent, 'opencode'),
666
- ...(target.timeoutSeconds === undefined ? {} : { timeout: target.timeoutSeconds }),
667
- })),
668
- });
669
- continue;
670
- }
671
- if (harness === 'cursor') {
840
+ }
672
841
  let document;
673
842
  try {
674
- document = readCursorSettings(file);
843
+ document = loadSettings(file);
675
844
  }
676
845
  catch {
677
846
  continue;
678
847
  }
679
- const handlers = locateCursorHandlers(document);
848
+ const handlers = locateHandlers(document);
680
849
  if (handlers.length > 0) {
681
850
  const problems = harnessMarkerProblems(harness, handlers, adapterHome);
682
851
  found.push({ harness, file, global, handlers, ...(problems.length > 0 ? { problems } : {}) });
683
852
  }
684
- continue;
685
- }
686
- let document;
687
- try {
688
- document = readSettings(file);
689
- }
690
- catch {
691
- continue;
692
- }
693
- const handlers = locateHandlers(document);
694
- if (handlers.length > 0) {
695
- const problems = harnessMarkerProblems(harness, handlers, adapterHome);
696
- found.push({ harness, file, global, handlers, ...(problems.length > 0 ? { problems } : {}) });
697
853
  }
698
854
  }
699
855
  }
@@ -727,27 +883,32 @@ function locateCursorHandlers(document) {
727
883
  }
728
884
  return handlers;
729
885
  }
730
- function locateHandlers(document) {
886
+ function locateAllHandlers(document) {
731
887
  const handlers = [];
732
888
  for (const [event, groups] of Object.entries(document.hooks ?? {})) {
889
+ if (!Array.isArray(groups))
890
+ continue;
733
891
  groups.forEach((group, groupIndex) => {
734
892
  group.hooks?.forEach((handler, handlerIndex) => {
735
- if (isNotifaiHandler(handler)) {
736
- handlers.push({
737
- event,
738
- groupIndex,
739
- handlerIndex,
740
- command: handler.command,
741
- ...(handler.timeout === undefined ? {} : { timeout: handler.timeout }),
742
- ...(handler.async === undefined ? {} : { async: handler.async }),
743
- ...(handler.statusMessage === undefined ? {} : { statusMessage: handler.statusMessage }),
744
- });
745
- }
893
+ if (typeof handler?.command !== 'string')
894
+ return;
895
+ handlers.push({
896
+ event,
897
+ groupIndex,
898
+ handlerIndex,
899
+ command: handler.command,
900
+ ...(handler.timeout === undefined ? {} : { timeout: handler.timeout }),
901
+ ...(handler.async === undefined ? {} : { async: handler.async }),
902
+ ...(handler.statusMessage === undefined ? {} : { statusMessage: handler.statusMessage }),
903
+ });
746
904
  });
747
905
  });
748
906
  }
749
907
  return handlers;
750
908
  }
909
+ function locateHandlers(document) {
910
+ return locateAllHandlers(document).filter((handler) => isNotifaiCommand(handler.command));
911
+ }
751
912
  /** The hook event a handler's command actually invokes, e.g. `stop`. */
752
913
  export function handlerEvent(command) {
753
914
  return / hook ([a-z-]+)/.exec(command)?.[1] ?? null;
@@ -1 +1 @@
1
- {"version":3,"file":"install-hooks.js","sourceRoot":"","sources":["../src/install-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,QAAQ,GACT,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC/E,OAAO,EAAE,SAAS,EAAgB,MAAM,gBAAgB,CAAA;AAExD,OAAO,EAAE,SAAS,EAAgB,MAAM,gBAAgB,CAAA;AAExD;;;;GAIG;AACH,MAAM,eAAe,GAAG;IACtB,CAAC,kBAAkB,EAAE,oBAAoB,CAAC;IAC1C,CAAC,MAAM,EAAE,MAAM,CAAC;IAChB,CAAC,YAAY,EAAE,aAAa,CAAC;CACrB,CAAA;AAuCV;;;;GAIG;AACH,MAAM,UAAU,WAAW,CACzB,WAAmB,EACnB,KAAa,EACb,OAAiB;IAEjB,OAAO,CACL,GAAG,KAAK,CAAC,WAAW,CAAC,SAAS,KAAK,IAAI,YAAY,EAAE;QACrD,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,OAAO,EAAE,CAAC,CACvD,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,iBAAiB,CAAA;AAE7C;;;;;GAKG;AACH,SAAS,KAAK,CAAC,KAAa;IAC1B,OAAO,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAA;AAC9C,CAAC;AASD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,IAAI,CAAA;AAErD;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAAG,CAAA;AAEhD;;;;;;;;;GASG;AACH,SAAS,WAAW,CAAC,WAAmB,EAAE,OAA4B;IACpE,MAAM,OAAO,GAAG,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IACzD,IAAI,OAAO,KAAK,aAAa,EAAE,CAAC;QAC9B,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,iCAAiC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;IAC9F,CAAC;IACD,IAAI,OAAO,KAAK,OAAO;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAA;IAC5D,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAA;AAC7E,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAqB;IACnD,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAA;IAC/B,OAAO;QACL,gBAAgB,EAAE;YAChB;gBACE,KAAK,EAAE;oBACL;wBACE,IAAI,EAAE,SAAS;wBACf,OAAO,EAAE,WAAW,CAAC,WAAW,EAAE,oBAAoB,EAAE,OAAO,CAAC,OAAO,CAAC;wBACxE,mEAAmE;wBACnE,wDAAwD;wBACxD,OAAO,EAAE,EAAE;qBACZ;iBACF;aACF;SACF;QACD,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QAC9D,UAAU,EAAE;YACV;gBACE,KAAK,EAAE;oBACL;wBACE,IAAI,EAAE,SAAS;wBACf,OAAO,EAAE,WAAW,CAAC,WAAW,EAAE,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC;wBACjE,iEAAiE;wBACjE,4BAA4B;wBAC5B,OAAO,EAAE,CAAC;qBACX;iBACF;aACF;SACF;KACF,CAAA;AACH,CAAC;AAgBD,iFAAiF;AACjF,MAAM,UAAU,qBAAqB,CAAC,OAAqB;IACzD,OAAO;QACL,kBAAkB,EAAE;YAClB;gBACE,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,oBAAoB,EAAE,QAAQ,CAAC;gBACzE,OAAO,EAAE,EAAE;aACZ;SACF;QACD,IAAI,EAAE;YACJ;gBACE,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC;gBAC3D,OAAO,EAAE,6BAA6B;gBACtC,mEAAmE;gBACnE,oEAAoE;gBACpE,UAAU,EAAE,CAAC;aACd;SACF;QACD,UAAU,EAAE;YACV;gBACE,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,aAAa,EAAE,QAAQ,CAAC;gBAClE,OAAO,EAAE,CAAC;aACX;SACF;KACF,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAC1B,OAAgB,EAChB,MAAe,EACf,GAAW,EACX,MAAyB,OAAO,CAAC,GAAG;IAEpC,QAAQ,OAAO,EAAE,CAAC;QAChB,qEAAqE;QACrE,4DAA4D;QAC5D,KAAK,UAAU;YACb,OAAO,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;QAC7C,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,CAAA;YACzF,OAAO,MAAM;gBACX,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,CAAC;gBAC1C,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,YAAY,CAAC,CAAA;QAC7C,CAAC;QACD,KAAK,aAAa;YAChB,OAAO,MAAM;gBACX,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,mBAAmB,EAAE,SAAS,CAAC,EAAE,eAAe,CAAC;gBAC7E,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,qBAAqB,CAAC,CAAA;QACtD,KAAK,OAAO;YACV,OAAO,MAAM;gBACX,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,YAAY,CAAC;gBAClE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAA;QAC9D;YACE,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAA;IACtC,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAc;IACxC,MAAM,IAAI,KAAK,CAAC,wBAAwB,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;AAC5D,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,CAAA;IAC/B,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,GAAG,CAAA;IAC9B,IAAI,CAAC;QACH,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAC7D,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,CAAA;QACpC,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAA;IACnE,CAAC;IAAC,MAAM,CAAC;QACP,yEAAyE;QACzE,sEAAsE;QACtE,OAAO,GAAG,CAAA;IACZ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,CAAA;IAC/B,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAC/B,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IACxC,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAAE,OAAO,IAAI,CAAA;IACnF,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;AAC1C,CAAC;AAED,2EAA2E;AAC3E,SAAS,YAAY,CAAC,IAAY;IAChC,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5B,SAAS,CAAC;QACR,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QACpC,IAAI,UAAU,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAA;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAChC,IAAI,MAAM,KAAK,GAAG;YAAE,OAAO,IAAI,CAAA;QAC/B,GAAG,GAAG,MAAM,CAAA;IACd,CAAC;AACH,CAAC;AAED,kFAAkF;AAClF,SAAS,cAAc,CAAC,IAAY;IAClC,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAA;IAClE,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC,CAAA;AAC3D,CAAC;AAED;;;GAGG;AACH,SAAS,YAAY,CAAC,MAAc;IAClC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IAC7C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAA;IACtC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;AAClE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,GAAsB,EAAE,QAAgB,EAAE,QAAgB;IACnF,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAA;IAC9B,OAAO,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAA;AACjG,CAAC;AAED,uEAAuE;AACvE;;;;;;;;;;;;GAYG;AACH,SAAS,oBAAoB,CAAC,GAAW;IACvC,MAAM,KAAK,GAAc,EAAE,CAAA;IAC3B,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC;QACrF,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;IAC3B,CAAC;IACD,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC7D,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC/D,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACnE,OAAO,KAAK,CAAA;AACd,CAAC;AAED,2EAA2E;AAC3E,SAAS,qBAAqB;IAC5B,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,CAAA;IACzB,MAAM,KAAK,GAAc,EAAE,CAAA;IAC3B,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;IACrE,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC9D,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAChE,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAC9E,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,MAAM,KAAK,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAA;IACvC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,IAAI,CAAA;IAClE,MAAM,MAAM,GAAG,qBAAqB,EAAE,CAAA;IACtC,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,IAAI,CAAA;AAChD,CAAC;AAOD,SAAS,kBAAkB,CAAC,IAAY;IACtC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,CAAA;IAC5C,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAA;IACzC,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAC1C,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI;YAClD,CAAC,CAAE,MAAiC;YACpC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAA;IACpB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,2CAA2C,CAAC,CAAA;IACrF,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,OAAe,EAAE,UAAkB;IACvD,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,OAAO,IAAI,CAAA;IAC/C,OAAO,CACL,OAAO,CAAC,QAAQ,CAAC,GAAG,UAAU,SAAS,CAAC;QACxC,OAAO,CAAC,QAAQ,CAAC,GAAG,UAAU,SAAS,CAAC;QACxC,OAAO,CAAC,QAAQ,CAAC,GAAG,UAAU,QAAQ,CAAC;QACvC,sBAAsB,CAAC,OAAO,CAAC,CAChC,CAAA;AACH,CAAC;AAED,6EAA6E;AAC7E,SAAS,sBAAsB,CAAC,OAAe;IAC7C,MAAM,IAAI,GAAG,0DAA0D,CAAA;IACvE,OAAO,CACL,IAAI,MAAM,CAAC,kCAAkC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;QAClE,IAAI,MAAM,CACR,0FAA0F,IAAI,EAAE,EAChG,GAAG,CACJ,CAAC,IAAI,CAAC,OAAO,CAAC;QACf,IAAI,MAAM,CACR,+EAA+E,IAAI,EAAE,EACrF,GAAG,CACJ,CAAC,IAAI,CAAC,OAAO,CAAC,CAChB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,QAAgC,EAChC,QAA0B,EAC1B,UAAkB;IAElB,MAAM,KAAK,GAAqB,EAAE,CAAA;IAClC,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,MAAM,QAAQ,GAAa,EAAE,CAAA;IAC7B,MAAM,OAAO,GAAa,EAAE,CAAA;IAE5B,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;QACrE,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAA;QACxF,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;YACvC,IAAI,KAAK,IAAI,QAAQ;gBAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;;gBACtC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC1B,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAA;IAChD,CAAC;IACD,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAChD,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAA;IACvD,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAA;AACnF,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,QAAgC,EAChC,UAAkB;IAElB,MAAM,KAAK,GAAqB,EAAE,CAAA;IAClC,MAAM,QAAQ,GAAa,EAAE,CAAA;IAC7B,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;QACrE,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAA;QACxF,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM;YAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC5D,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAA;IAChD,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,CAAA;AAC3F,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAA;IAChC,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAA;IACzC,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAC1C,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,CAAC,CAAC,CAAE,MAA2B,CAAC,CAAC,CAAC,EAAE,CAAA;IAC1F,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,2CAA2C,CAAC,CAAA;IACrF,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,YAAY,CAAC,OAAoB,EAAE,UAAkB;IAC5D,OAAO,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;AAClD,CAAC;AAED,6EAA6E;AAC7E,SAAS,WAAW,CAAC,MAAmB,EAAE,UAAkB;IAC1D,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,MAAM,IAAI,GAAgB,EAAE,CAAA;IAC5B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3C,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;YAC9C,IAAI,IAAI;gBAAE,OAAO,GAAG,IAAI,CAAA;YACxB,OAAO,CAAC,IAAI,CAAA;QACd,CAAC,CAAC,CAAA;QACF,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;IACtD,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;AAClC,CAAC;AAUD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,UAAU,CACxB,QAA0B,EAC1B,QAAoB,EACpB,UAAkB;IAElB,MAAM,KAAK,GAAe,EAAE,CAAA;IAC5B,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,MAAM,QAAQ,GAAa,EAAE,CAAA;IAC7B,MAAM,OAAO,GAAa,EAAE,CAAA;IAE5B,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;QACnE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;QAC7E,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,KAAK,IAAI,QAAQ;gBAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;;gBACtC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC1B,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAA;IAChD,CAAC;IAED,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAChD,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,CAAA;IACrD,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAA;AACvE,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,QAA0B,EAAE,UAAkB;IACxE,MAAM,KAAK,GAAe,EAAE,CAAA;IAC5B,MAAM,QAAQ,GAAa,EAAE,CAAA;IAC7B,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;QACnE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;QACpE,IAAI,OAAO;YAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACjC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAA;IAChD,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,CAAA;AAC/E,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,QAAmD;IACzF,mBAAmB,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;QAClE,uBAAuB,EAAE,IAAI;KAC9B,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,YAAY,CAAC,IAAI,CAAC,CAAA;AAC3B,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAA;AACjC,CAAC;AA6BD,wEAAwE;AACxE,SAAS,cAAc,CAAC,KAAa;IACnC,OAAO,KAAK,CAAC,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,CAAA;AACnE,CAAC;AAED,oFAAoF;AACpF,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;IAC1D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAA;IAC7D,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC;SAC7C,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SACpD,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CACvD,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAyB;IAC7D,MAAM,OAAO,GAAG;QACd,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,IAAI,GAAG,CAAC;QAC5C,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,KAAK;QAC7B,GAAG,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC;KACzF,CAAA;IACD,MAAM,UAAU,GAAG,cAAc,CAAC;QAChC,UAAU,EAAE,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC;QACzC,KAAK,EAAE,CAAC,OAAO,CAAC;KACjB,CAAC,CAAA;IACF,OAAO,UAAU,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAA;AAC1F,CAAC;AAED,SAAS,eAAe,CAAC,GAAsB;IAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,aAAa,CAAC,CAAA;IAC9E,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAA;IAChC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAA4B,CAAA;QAC/E,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;QAC7B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,EAAE,CAAA;QAC1D,MAAM,KAAK,GAAI,KAAiC,CAAC,OAAO,CAAC,CAAA;QACzD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAgC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC5F,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAA;IACX,CAAC;AACH,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,aAAa,CAC3B,YAA0B,EAC1B,OAAyB;IAEzB,IAAI,MAAM,GAAG,YAAY,CAAC,IAAI,CAAA;IAC9B,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;IAC/E,CAAC;IAAC,MAAM,CAAC;QACP,2EAA2E;QAC3E,sCAAsC;IACxC,CAAC;IACD,OAAO,GAAG,MAAM,IAAI,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,YAAY,EAAE,CAAA;AACnG,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAChC,aAA6B,EAC7B,MAAyB,OAAO,CAAC,GAAG;IAEpC,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,CAAA;IAClC,OAAO,aAAa;SACjB,MAAM,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,KAAK,OAAO,CAAC;SAC1D,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE,CACxB,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QACxC,MAAM,GAAG,GAAG,aAAa,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;QAChD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAA;QACxB,MAAM,WAAW,GACf,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;YACzC,CAAC,CAAE,KAAiC,CAAC,cAAc,CAAC;YACpD,CAAC,CAAC,SAAS,CAAA;QACf,MAAM,WAAW,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAA;QAClD,IACE,OAAO,KAAK,KAAK,QAAQ;YACzB,KAAK,KAAK,IAAI;YACb,KAAiC,CAAC,SAAS,CAAC,KAAK,KAAK,EACvD,CAAC;YACD,OAAO;gBACL,GAAG,OAAO,CAAC,KAAK,OAAO,YAAY,CAAC,IAAI,uEAAuE;aAChH,CAAA;QACH,CAAC;QACD,IAAI,WAAW,KAAK,WAAW;YAAE,OAAO,EAAE,CAAA;QAC1C,OAAO;YACL,GAAG,OAAO,CAAC,KAAK,OAAO,YAAY,CAAC,IAAI,OAAO,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,aAAa,4DAA4D;SAC5L,CAAA;IACH,CAAC,CAAC,CACH,CAAA;AACL,CAAC;AAED;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,OAAe;IACvC,OAAO,+CAA+C,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AACtE,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAoB;IAC5C,OAAO,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;AAC1C,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,iBAAiB,CAC/B,GAAW,EACX,MAAyB,OAAO,CAAC,GAAG,EACpC,WAAoB;IAEpB,MAAM,KAAK,GAAmB,EAAE,CAAA;IAChC,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE,CAAC;QAChC,KAAK,MAAM,MAAM,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;YACpD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAE,SAAQ;YAC/B,wEAAwE;YACxE,wEAAwE;YACxE,uBAAuB;YACvB,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;gBAC3B,IAAI,MAAc,CAAA;gBAClB,IAAI,CAAC;oBACH,MAAM,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAA;gBACrC,CAAC;gBAAC,MAAM,CAAC;oBACP,SAAQ;gBACV,CAAC;gBACD,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAA;gBAC3C,IAAI,MAAM,KAAK,IAAI;oBAAE,SAAQ;gBAC7B,MAAM,QAAQ,GAAG;oBACf,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO;wBACjB,CAAC,CAAC,CAAC,kFAAkF,CAAC;wBACtF,CAAC,CAAC,EAAE,CAAC;oBACP,GAAG,CAAC,MAAM,CAAC,OAAO,KAAK,eAAe,CAAC,WAAW,CAAC;wBACjD,CAAC,CAAC;4BACE,sGAAsG;yBACvG;wBACH,CAAC,CAAC,EAAE,CAAC;iBACR,CAAA;gBACD,KAAK,CAAC,IAAI,CAAC;oBACT,OAAO;oBACP,IAAI;oBACJ,MAAM;oBACN,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC5C,oEAAoE;oBACpE,mEAAmE;oBACnE,iEAAiE;oBACjE,QAAQ,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;wBACrD,KAAK;wBACL,UAAU,EAAE,CAAC;wBACb,YAAY,EAAE,CAAC;wBACf,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC;wBAC3D,GAAG,CAAC,MAAM,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC;qBACnF,CAAC,CAAC;iBACJ,CAAC,CAAA;gBACF,SAAQ;YACV,CAAC;YACD,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACzB,IAAI,QAAgC,CAAA;gBACpC,IAAI,CAAC;oBACH,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAA;gBACrC,CAAC;gBAAC,MAAM,CAAC;oBACP,SAAQ;gBACV,CAAC;gBACD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAA;gBAC/C,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxB,MAAM,QAAQ,GAAG,qBAAqB,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;oBACtE,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;gBAC/F,CAAC;gBACD,SAAQ;YACV,CAAC;YACD,IAAI,QAA0B,CAAA;YAC9B,IAAI,CAAC;gBACH,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;YAC/B,CAAC;YAAC,MAAM,CAAC;gBACP,SAAQ;YACV,CAAC;YACD,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAA;YACzC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,QAAQ,GAAG,qBAAqB,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;gBACtE,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;YAC/F,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,qBAAqB,CAC5B,OAAgB,EAChB,QAA4B,EAC5B,WAAoB;IAEpB,MAAM,QAAQ,GAAa,EAAE,CAAA;IAC7B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC;QACnF,QAAQ,CAAC,IAAI,CACX,uCAAuC,OAAO,8DAA8D,OAAO,IAAI,CACxH,CAAA;IACH,CAAC;IACD,MAAM,QAAQ,GAAG,GAAG,KAAK,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAA;IAC/D,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QACvE,QAAQ,CAAC,IAAI,CACX,6HAA6H,CAC9H,CAAA;IACH,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAgC;IAC5D,MAAM,QAAQ,GAAuB,EAAE,CAAA;IACvC,KAAK,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;QAC1E,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE;YAC9C,IAAI,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBACtC,QAAQ,CAAC,IAAI,CAAC;oBACZ,KAAK;oBACL,UAAU,EAAE,CAAC;oBACb,YAAY;oBACZ,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;iBACvE,CAAC,CAAA;YACJ,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,SAAS,cAAc,CAAC,QAA0B;IAChD,MAAM,QAAQ,GAAuB,EAAE,CAAA;IACvC,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;QACnE,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;YACnC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE;gBAC7C,IAAI,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC9B,QAAQ,CAAC,IAAI,CAAC;wBACZ,KAAK;wBACL,UAAU;wBACV,YAAY;wBACZ,OAAO,EAAE,OAAO,CAAC,OAAO;wBACxB,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;wBACtE,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;wBAChE,GAAG,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC;qBACzF,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,YAAY,CAAC,OAAe;IAC1C,OAAO,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;AACrD,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAY;IACxC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;IAC5B,IAAI,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,8CAA8C,CAAC,CAAA;IACxE,CAAC;IACD,MAAM,GAAG,GAAG,OAAO,OAAO,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;IAC/E,IAAI,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,oBAAoB,IAAI,CAAC,GAAG,yBAAyB,CAAC,CAAA;IAC/E,CAAC;IACD,OAAO,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;AACnC,CAAC"}
1
+ {"version":3,"file":"install-hooks.js","sourceRoot":"","sources":["../src/install-hooks.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,35 @@
1
1
  import { type CommandDeps } from './commands.js';
2
+ export type HookScope = 'project' | 'machine';
3
+ export type RoutingAction = 'install' | 'uninstall' | 'settings' | 'back';
4
+ export interface MenuOption<Value extends string> {
5
+ value: Value;
6
+ label: string;
7
+ hint?: string;
8
+ }
9
+ /**
10
+ * Which hook actions this directory and setup can actually perform.
11
+ *
12
+ * Install is offered only when a harness is detectable here. Uninstall is
13
+ * offered only for a scope that already has Notifai hooks, and the label names
14
+ * that scope so a machine-wide install is never stripped from a random folder
15
+ * under a generic "uninstall".
16
+ */
17
+ export declare function routingHookActions(input: {
18
+ canInstall: boolean;
19
+ projectInstallations: readonly {
20
+ harness: string;
21
+ }[];
22
+ machineInstallations: readonly {
23
+ harness: string;
24
+ }[];
25
+ hooksReady: boolean;
26
+ }): MenuOption<RoutingAction>[];
27
+ /** Scope choices that would actually remove something. Project first. */
28
+ export declare function uninstallScopeOptions(projectInstallations: readonly {
29
+ harness: string;
30
+ }[], machineInstallations: readonly {
31
+ harness: string;
32
+ }[]): MenuOption<HookScope>[];
2
33
  export declare function interactiveCommand(deps: CommandDeps, version: string): Promise<number>;
3
34
  /** Exported for the settings command to reuse the same key vocabulary. */
4
- export declare const INTERACTIVE_CONFIG_KEYS: readonly ["base_url", "wait_seconds", "ttl_seconds", "collapse_key", "devices", "sound", "interruption_level", "project", "notify_criteria", "ask_notifications", "ask_grace_seconds", "log_level", "log_max_bytes", "log_max_files"];
35
+ export declare const INTERACTIVE_CONFIG_KEYS: readonly ["wait_seconds", "ttl_seconds", "collapse_key", "devices", "sound", "interruption_level", "project", "notify_criteria", "ask_notifications", "ask_grace_seconds", "log_level", "log_max_bytes", "log_max_files"];