@lore-co/core 0.2.14 → 0.2.15

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 (74) hide show
  1. package/dist/builtin-skills.d.ts +3 -0
  2. package/dist/builtin-skills.d.ts.map +1 -0
  3. package/dist/builtin-skills.js +4 -0
  4. package/dist/builtin-skills.js.map +1 -0
  5. package/dist/engine.d.ts +6 -1
  6. package/dist/engine.d.ts.map +1 -1
  7. package/dist/engine.js +44 -11
  8. package/dist/engine.js.map +1 -1
  9. package/dist/guard-evaluation.d.ts +22 -1
  10. package/dist/guard-evaluation.d.ts.map +1 -1
  11. package/dist/guard-evaluation.js +159 -4
  12. package/dist/guard-evaluation.js.map +1 -1
  13. package/dist/guard-schemas.d.ts +45 -12
  14. package/dist/guard-schemas.d.ts.map +1 -1
  15. package/dist/guard-schemas.js +3 -1
  16. package/dist/guard-schemas.js.map +1 -1
  17. package/dist/in-memory-repository.d.ts.map +1 -1
  18. package/dist/in-memory-repository.js +3 -1
  19. package/dist/in-memory-repository.js.map +1 -1
  20. package/dist/index.d.ts +3 -0
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +3 -0
  23. package/dist/index.js.map +1 -1
  24. package/dist/injected-context.d.ts +2 -0
  25. package/dist/injected-context.d.ts.map +1 -1
  26. package/dist/injected-context.js +4 -0
  27. package/dist/injected-context.js.map +1 -1
  28. package/dist/integration-contract.d.ts +16 -16
  29. package/dist/knowledge-quality.d.ts.map +1 -1
  30. package/dist/knowledge-quality.js +3 -0
  31. package/dist/knowledge-quality.js.map +1 -1
  32. package/dist/learning-drafts.d.ts +8 -0
  33. package/dist/learning-drafts.d.ts.map +1 -1
  34. package/dist/learning-drafts.js +1 -0
  35. package/dist/learning-drafts.js.map +1 -1
  36. package/dist/pilot-schemas.d.ts +196 -0
  37. package/dist/pilot-schemas.d.ts.map +1 -1
  38. package/dist/pilot-schemas.js +7 -0
  39. package/dist/pilot-schemas.js.map +1 -1
  40. package/dist/prepared-context.d.ts +1 -0
  41. package/dist/prepared-context.d.ts.map +1 -1
  42. package/dist/prepared-context.js +7 -2
  43. package/dist/prepared-context.js.map +1 -1
  44. package/dist/product-usage.d.ts +2 -2
  45. package/dist/reliability-schemas.d.ts +3 -3
  46. package/dist/repository-location.d.ts +2 -0
  47. package/dist/repository-location.d.ts.map +1 -1
  48. package/dist/repository-location.js +76 -0
  49. package/dist/repository-location.js.map +1 -1
  50. package/dist/schemas.d.ts +592 -0
  51. package/dist/schemas.d.ts.map +1 -1
  52. package/dist/schemas.js +9 -0
  53. package/dist/schemas.js.map +1 -1
  54. package/dist/session-purpose.d.ts +2 -0
  55. package/dist/session-purpose.d.ts.map +1 -1
  56. package/dist/session-purpose.js +12 -0
  57. package/dist/session-purpose.js.map +1 -1
  58. package/dist/session-schemas.d.ts +83 -12
  59. package/dist/session-schemas.d.ts.map +1 -1
  60. package/dist/session-schemas.js +5 -0
  61. package/dist/session-schemas.js.map +1 -1
  62. package/dist/skill-context.d.ts +7 -0
  63. package/dist/skill-context.d.ts.map +1 -0
  64. package/dist/skill-context.js +35 -0
  65. package/dist/skill-context.js.map +1 -0
  66. package/dist/skills.d.ts +206 -0
  67. package/dist/skills.d.ts.map +1 -0
  68. package/dist/skills.js +129 -0
  69. package/dist/skills.js.map +1 -0
  70. package/dist/snapshot-schemas.d.ts +348 -0
  71. package/dist/snapshot-schemas.d.ts.map +1 -1
  72. package/dist/snapshot-schemas.js +4 -1
  73. package/dist/snapshot-schemas.js.map +1 -1
  74. package/package.json +7 -2
@@ -1,6 +1,82 @@
1
1
  import { readFile, access } from "node:fs/promises";
2
2
  import { basename, dirname, resolve } from "node:path";
3
3
  import { normalizeRepositoryAddress } from "./repository-address.js";
4
+ import { execFile } from "node:child_process";
5
+ import { defaultPushRemote, validGuardBranch } from "./guard-evaluation.js";
6
+ /** Reads local Git configuration only; never runs a push, hook, or network request. */
7
+ export async function defaultGitPushBranches(command, cwd) {
8
+ if (!command || !cwd)
9
+ return undefined;
10
+ const push = defaultPushRemote(command);
11
+ if (!push)
12
+ return undefined;
13
+ let failed = false;
14
+ const git = (args) => new Promise(resolveResult => {
15
+ execFile("git", args, { cwd, timeout: 750, maxBuffer: 16_384, windowsHide: true, env: { ...process.env, GIT_OPTIONAL_LOCKS: "0" } }, (error, stdout) => {
16
+ if (error && !(args[0] === "config" && error.code === 1 && !stdout.trim()))
17
+ failed = true;
18
+ resolveResult(error ? undefined : stdout.trim());
19
+ });
20
+ });
21
+ const branch = await git(["symbolic-ref", "--quiet", "--short", "HEAD"]);
22
+ if (!branch || !validGuardBranch(branch))
23
+ return undefined;
24
+ const config = async (key) => (await git(["config", "--get-all", key]))?.split("\n");
25
+ const [pushRemote, remoteDefault, upstreamRemote, merge, pushDefault] = await Promise.all([
26
+ config(`branch.${branch}.pushRemote`), config("remote.pushDefault"), config(`branch.${branch}.remote`), config(`branch.${branch}.merge`), config("push.default"),
27
+ ]);
28
+ const remote = push.remote ?? pushRemote?.at(-1) ?? remoteDefault?.at(-1) ?? upstreamRemote?.at(-1) ?? "origin";
29
+ if (!/^[\w./-]+$/u.test(remote))
30
+ return undefined;
31
+ const [configuredRefs, mirror, url] = await Promise.all([config(`remote.${remote}.push`), config(`remote.${remote}.mirror`), config(`remote.${remote}.url`)]);
32
+ // Legacy remotes files can carry refspecs too. Do not guess their settings.
33
+ if (failed || (remote !== "." && !url?.length))
34
+ return undefined;
35
+ if (["true", "yes", "on", "1"].includes(mirror?.at(-1) ?? ""))
36
+ return undefined;
37
+ if (push.sources) {
38
+ if (configuredRefs?.some(ref => /[*^]/u.test(ref) || !ref.includes(":")))
39
+ return undefined;
40
+ if (configuredRefs?.some(ref => {
41
+ const source = ref.replace(/^\+/u, "").split(":")[0].replace(/^refs\/(heads|tags)\//u, "");
42
+ return !validGuardBranch(source) || /^[a-f0-9]{40,64}$/iu.test(source);
43
+ }))
44
+ return undefined;
45
+ const targets = await Promise.all(push.sources.map(async (source) => {
46
+ const full = await git(["rev-parse", "--symbolic-full-name", "--verify", source]);
47
+ if (!full || !/^refs\/(heads|tags)\//u.test(full))
48
+ return undefined;
49
+ const matches = configuredRefs?.filter(ref => {
50
+ const src = ref.replace(/^\+/u, "").split(":")[0];
51
+ return src === source || src === full || `refs/heads/${src}` === full;
52
+ }) ?? [];
53
+ if (matches.length > 1)
54
+ return undefined;
55
+ const destination = matches.length ? matches[0].split(":")[1] : full;
56
+ if (destination.startsWith("refs/tags/"))
57
+ return [];
58
+ const name = destination.replace(/^refs\/heads\//u, "");
59
+ return validGuardBranch(name) ? [name] : undefined;
60
+ }));
61
+ const branches = [...new Set(targets.flat())];
62
+ return failed || targets.some(target => target === undefined) || branches.length === 0 ? undefined : branches;
63
+ }
64
+ if (configuredRefs?.length) {
65
+ const branches = configuredRefs.map(ref => ref.replace(/^\+/u, "").split(":").at(-1).replace(/^refs\/heads\//u, ""));
66
+ return branches.length <= 100 && branches.every(validGuardBranch) ? [...new Set(branches)] : undefined;
67
+ }
68
+ const mode = pushDefault?.at(-1) ?? "simple";
69
+ if (mode === "current")
70
+ return [branch];
71
+ if (mode === "simple" && remote !== (upstreamRemote?.at(-1) ?? "origin"))
72
+ return [branch];
73
+ if (!["simple", "upstream", "tracking"].includes(mode) || merge?.length !== 1 || remote !== upstreamRemote?.at(-1))
74
+ return undefined;
75
+ const target = merge[0].replace(/^refs\/heads\//u, "");
76
+ if (!validGuardBranch(target) || (mode === "simple" && target !== branch))
77
+ return undefined;
78
+ return [target];
79
+ }
4
80
  export function boundedUtf8Text(value, maximumBytes, truncationNotice = "") {
5
81
  const bytes = Buffer.from(value, "utf8");
6
82
  if (bytes.byteLength <= maximumBytes)
@@ -1 +1 @@
1
- {"version":3,"file":"repository-location.js","sourceRoot":"","sources":["../src/repository-location.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAErE,MAAM,UAAU,eAAe,CAC7B,KAAa,EACb,YAAoB,EACpB,gBAAgB,GAAG,EAAE;IAErB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACzC,IAAI,KAAK,CAAC,UAAU,IAAI,YAAY;QAAE,OAAO,KAAK,CAAC;IACnD,IAAI,GAAG,GAAG,YAAY,CAAC;IACvB,iFAAiF;IACjF,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAE,GAAG,IAAI,CAAC,KAAK,IAAI;QAAE,GAAG,IAAI,CAAC,CAAC;IAC1D,qEAAqE;IACrE,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,gBAAgB,EAAE,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,KAAa;IACpD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAClD,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IACD,MAAM,OAAO,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IACpD,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;IACzE,gFAAgF;IAChF,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACxF,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC;IACtC,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IACzB,IAAI,OAAO,IAAI,OAAO,CAAC,WAAW,EAAE,KAAK,YAAY;QAAE,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,IAAI,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC;IAC7H,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;QAC/B,IAAI,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,YAAY,EAAE,CAAC;YAChD,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAC5E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC9C,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBACtB,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACnC,CAAC;QACH,CAAC;QACD,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAChK,CAAC;IAAC,MAAM,CAAC;QACP,gEAAgE;IAClE,CAAC;IACD,MAAM,UAAU,GAAG,SAAS;SACzB,OAAO,CAAC,6BAA6B,EAAE,EAAE,CAAC;SAC1C,OAAO,CAAC,8BAA8B,EAAE,EAAE,CAAC;SAC3C,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC;SACvC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;SAC1B,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC1B,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACpD,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,YAAY;QAAE,OAAO,UAAU,CAAC;IAChH,OAAO,KAAK,CAAC,MAAM,IAAI,CAAC;QACtB,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;QACnC,CAAC,CAAC,UAAU,CAAC;AACjB,CAAC;AAED,SAAS,SAAS,CAAC,MAAc;IAC/B,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC3C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC;YACvD,SAAS;QACX,CAAC;QACD,MAAM,KAAK,GAAG,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,IAAY;IAEZ,IAAI,CAAC;QACH,IAAI,YAAY,GAAG,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QACrE,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAClC,YAAY,GAAG,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACtD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YAC1F,IAAI,MAAM,CAAC,IAAI,EAAE;gBAAE,YAAY,GAAG,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACzE,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;QACvE,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,wBAAwB,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,qEAAqE;IACvE,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAC,GAAW;IAC5D,IAAI,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACxB,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC;YAAE,OAAO,0BAA0B,CAAC,IAAI,CAAC,CAAC;QAC/G,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI;YAAE,OAAO,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1D,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"repository-location.js","sourceRoot":"","sources":["../src/repository-location.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE5E,uFAAuF;AACvF,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,OAA2B,EAAE,GAAuB;IAC/F,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IACvC,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACxC,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,MAAM,GAAG,GAAG,CAAC,IAAc,EAAE,EAAE,CAAC,IAAI,OAAO,CAAqB,aAAa,CAAC,EAAE;QAC9E,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,kBAAkB,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YACrJ,IAAI,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBAAE,MAAM,GAAG,IAAI,CAAC;YAC1F,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IACzE,IAAI,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;QAAE,OAAO,SAAS,CAAC;IAC3D,MAAM,MAAM,GAAG,KAAK,EAAE,GAAW,EAAE,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7F,MAAM,CAAC,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,KAAK,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACxF,MAAM,CAAC,UAAU,MAAM,aAAa,CAAC,EAAE,MAAM,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC,UAAU,MAAM,SAAS,CAAC,EAAE,MAAM,CAAC,UAAU,MAAM,QAAQ,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;KACjK,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC;IAChH,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,SAAS,CAAC;IAClD,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,UAAU,MAAM,OAAO,CAAC,EAAE,MAAM,CAAC,UAAU,MAAM,SAAS,CAAC,EAAE,MAAM,CAAC,UAAU,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC;IAC9J,4EAA4E;IAC5E,IAAI,MAAM,IAAI,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC;QAAE,OAAO,SAAS,CAAC;IACjE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAAE,OAAO,SAAS,CAAC;IAChF,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,IAAI,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAAE,OAAO,SAAS,CAAC;QAC3F,IAAI,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE;YAC7B,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,wBAAwB,EAAE,EAAE,CAAC,CAAC;YAC5F,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzE,CAAC,CAAC;YAAE,OAAO,SAAS,CAAC;QACrB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,MAAM,EAAC,EAAE;YAChE,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,CAAC,WAAW,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;YAClF,IAAI,CAAC,IAAI,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,OAAO,SAAS,CAAC;YACpE,MAAM,OAAO,GAAG,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE;gBAC3C,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClD,OAAO,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,IAAI,IAAI,cAAc,GAAG,EAAE,KAAK,IAAI,CAAC;YACxE,CAAC,CAAC,IAAI,EAAE,CAAC;YACT,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,SAAS,CAAC;YACzC,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACvE,IAAI,WAAW,CAAC,UAAU,CAAC,YAAY,CAAC;gBAAE,OAAO,EAAE,CAAC;YACpD,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;YACxD,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACrD,CAAC,CAAC,CAAC,CAAC;QACJ,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAc,CAAC,CAAC,CAAC;QAC1D,OAAO,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;IAChH,CAAC;IACD,IAAI,cAAc,EAAE,MAAM,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,CAAC;QACtH,OAAO,QAAQ,CAAC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACzG,CAAC;IACD,MAAM,IAAI,GAAG,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC;IAC7C,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACxC,IAAI,IAAI,KAAK,QAAQ,IAAI,MAAM,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC;QAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1F,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,EAAE,MAAM,KAAK,CAAC,IAAI,MAAM,KAAK,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACrI,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;IACxD,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,KAAK,MAAM,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5F,OAAO,CAAC,MAAM,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,KAAa,EACb,YAAoB,EACpB,gBAAgB,GAAG,EAAE;IAErB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACzC,IAAI,KAAK,CAAC,UAAU,IAAI,YAAY;QAAE,OAAO,KAAK,CAAC;IACnD,IAAI,GAAG,GAAG,YAAY,CAAC;IACvB,iFAAiF;IACjF,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAE,GAAG,IAAI,CAAC,KAAK,IAAI;QAAE,GAAG,IAAI,CAAC,CAAC;IAC1D,qEAAqE;IACrE,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,gBAAgB,EAAE,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,KAAa;IACpD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAClD,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IACD,MAAM,OAAO,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IACpD,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;IACzE,gFAAgF;IAChF,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACxF,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC;IACtC,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IACzB,IAAI,OAAO,IAAI,OAAO,CAAC,WAAW,EAAE,KAAK,YAAY;QAAE,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,IAAI,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC;IAC7H,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;QAC/B,IAAI,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,YAAY,EAAE,CAAC;YAChD,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAC5E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC9C,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBACtB,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACnC,CAAC;QACH,CAAC;QACD,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAChK,CAAC;IAAC,MAAM,CAAC;QACP,gEAAgE;IAClE,CAAC;IACD,MAAM,UAAU,GAAG,SAAS;SACzB,OAAO,CAAC,6BAA6B,EAAE,EAAE,CAAC;SAC1C,OAAO,CAAC,8BAA8B,EAAE,EAAE,CAAC;SAC3C,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC;SACvC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;SAC1B,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC1B,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACpD,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,YAAY;QAAE,OAAO,UAAU,CAAC;IAChH,OAAO,KAAK,CAAC,MAAM,IAAI,CAAC;QACtB,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;QACnC,CAAC,CAAC,UAAU,CAAC;AACjB,CAAC;AAED,SAAS,SAAS,CAAC,MAAc;IAC/B,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC3C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC;YACvD,SAAS;QACX,CAAC;QACD,MAAM,KAAK,GAAG,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,IAAY;IAEZ,IAAI,CAAC;QACH,IAAI,YAAY,GAAG,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QACrE,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAClC,YAAY,GAAG,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACtD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YAC1F,IAAI,MAAM,CAAC,IAAI,EAAE;gBAAE,YAAY,GAAG,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACzE,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;QACvE,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,wBAAwB,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,qEAAqE;IACvE,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAC,GAAW;IAC5D,IAAI,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACxB,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC;YAAE,OAAO,0BAA0B,CAAC,IAAI,CAAC,CAAC;QAC/G,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI;YAAE,OAAO,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1D,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;AACH,CAAC"}