lastlight 0.2.3 → 0.4.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.
- package/README.md +19 -2
- package/deploy/.env.production.example +48 -53
- package/dist/admin/routes.d.ts +5 -0
- package/dist/admin/routes.js +9 -0
- package/dist/admin/routes.js.map +1 -1
- package/dist/cli-server.d.ts +3 -1
- package/dist/cli-server.js +55 -10
- package/dist/cli-server.js.map +1 -1
- package/dist/cli.js +24 -3
- package/dist/cli.js.map +1 -1
- package/dist/fork-cli.d.ts +30 -0
- package/dist/fork-cli.js +240 -0
- package/dist/fork-cli.js.map +1 -0
- package/dist/fork-cli.test.d.ts +1 -0
- package/dist/fork-cli.test.js +109 -0
- package/dist/fork-cli.test.js.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/overlay-assets.d.ts +20 -0
- package/dist/overlay-assets.js +114 -0
- package/dist/overlay-assets.js.map +1 -0
- package/dist/overlay-assets.test.d.ts +1 -0
- package/dist/overlay-assets.test.js +75 -0
- package/dist/overlay-assets.test.js.map +1 -0
- package/dist/overlay-bootstrap.d.ts +44 -0
- package/dist/overlay-bootstrap.js +281 -0
- package/dist/overlay-bootstrap.js.map +1 -0
- package/dist/overlay-bootstrap.test.d.ts +1 -0
- package/dist/overlay-bootstrap.test.js +61 -0
- package/dist/overlay-bootstrap.test.js.map +1 -0
- package/dist/setup.js +14 -55
- package/dist/setup.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { describe, it, expect, beforeEach, afterEach, vi } from "vitest";
|
|
2
|
+
import { mkdtempSync, mkdirSync, writeFileSync, readFileSync, existsSync } from "fs";
|
|
3
|
+
import { join } from "path";
|
|
4
|
+
import { tmpdir } from "os";
|
|
5
|
+
import { fork, resolveForkTarget } from "./fork-cli.js";
|
|
6
|
+
const WORKFLOW_YAML = `
|
|
7
|
+
kind: build
|
|
8
|
+
name: build
|
|
9
|
+
description: "test build"
|
|
10
|
+
phases:
|
|
11
|
+
- name: phase_0
|
|
12
|
+
type: context
|
|
13
|
+
- name: architect
|
|
14
|
+
prompt: prompts/architect.md
|
|
15
|
+
skill: building
|
|
16
|
+
- name: reviewer
|
|
17
|
+
prompt: prompts/reviewer.md
|
|
18
|
+
skills: [code-review, building]
|
|
19
|
+
loop:
|
|
20
|
+
max_cycles: 2
|
|
21
|
+
on_request_changes:
|
|
22
|
+
fix_prompt: prompts/fix.md
|
|
23
|
+
re_review_prompt: prompts/re-reviewer.md
|
|
24
|
+
`;
|
|
25
|
+
function makeCore() {
|
|
26
|
+
const root = mkdtempSync(join(tmpdir(), "fork-cli-"));
|
|
27
|
+
const core = join(root, "core");
|
|
28
|
+
mkdirSync(join(core, "workflows", "prompts"), { recursive: true });
|
|
29
|
+
mkdirSync(join(core, "skills", "building", "scripts"), { recursive: true });
|
|
30
|
+
mkdirSync(join(core, "skills", "code-review"), { recursive: true });
|
|
31
|
+
mkdirSync(join(core, "agent-context"), { recursive: true });
|
|
32
|
+
writeFileSync(join(core, "workflows", "build.yaml"), WORKFLOW_YAML);
|
|
33
|
+
for (const p of ["architect", "reviewer", "fix", "re-reviewer"]) {
|
|
34
|
+
writeFileSync(join(core, "workflows", "prompts", `${p}.md`), `# ${p} (core)`);
|
|
35
|
+
}
|
|
36
|
+
writeFileSync(join(core, "skills", "building", "SKILL.md"), "# building (core)");
|
|
37
|
+
writeFileSync(join(core, "skills", "building", "scripts", "run.sh"), "echo hi");
|
|
38
|
+
writeFileSync(join(core, "skills", "code-review", "SKILL.md"), "# code-review (core)");
|
|
39
|
+
writeFileSync(join(core, "agent-context", "soul.md"), "# soul (core)");
|
|
40
|
+
writeFileSync(join(core, "agent-context", "rules.md"), "# rules (core)");
|
|
41
|
+
return core;
|
|
42
|
+
}
|
|
43
|
+
describe("fork-cli", () => {
|
|
44
|
+
let core;
|
|
45
|
+
let logSpy;
|
|
46
|
+
let errSpy;
|
|
47
|
+
let exitSpy;
|
|
48
|
+
beforeEach(() => {
|
|
49
|
+
core = makeCore();
|
|
50
|
+
logSpy = vi.spyOn(console, "log").mockImplementation(() => { });
|
|
51
|
+
errSpy = vi.spyOn(console, "error").mockImplementation(() => { });
|
|
52
|
+
exitSpy = vi.spyOn(process, "exit").mockImplementation(((code) => {
|
|
53
|
+
throw new Error(`process.exit(${code})`);
|
|
54
|
+
}));
|
|
55
|
+
});
|
|
56
|
+
afterEach(() => {
|
|
57
|
+
logSpy.mockRestore();
|
|
58
|
+
errSpy.mockRestore();
|
|
59
|
+
exitSpy.mockRestore();
|
|
60
|
+
});
|
|
61
|
+
it("resolveForkTarget honours an explicit --home over cwd", () => {
|
|
62
|
+
const t = resolveForkTarget({ home: "/tmp/somewhere" });
|
|
63
|
+
expect(t.coreRoot).toBe("/tmp/somewhere");
|
|
64
|
+
expect(t.instanceDir).toBe("/tmp/somewhere/instance");
|
|
65
|
+
});
|
|
66
|
+
it("forks a workflow plus every referenced prompt and skill", async () => {
|
|
67
|
+
await fork(["build"], { home: core });
|
|
68
|
+
const inst = join(core, "instance");
|
|
69
|
+
expect(existsSync(join(inst, "workflows", "build.yaml"))).toBe(true);
|
|
70
|
+
for (const p of ["architect", "reviewer", "fix", "re-reviewer"]) {
|
|
71
|
+
expect(existsSync(join(inst, "workflows", "prompts", `${p}.md`))).toBe(true);
|
|
72
|
+
}
|
|
73
|
+
expect(existsSync(join(inst, "skills", "building", "SKILL.md"))).toBe(true);
|
|
74
|
+
// Whole skill directory travels, including scripts/.
|
|
75
|
+
expect(existsSync(join(inst, "skills", "building", "scripts", "run.sh"))).toBe(true);
|
|
76
|
+
expect(existsSync(join(inst, "skills", "code-review", "SKILL.md"))).toBe(true);
|
|
77
|
+
});
|
|
78
|
+
it("skips existing assets by default and overwrites with --force", async () => {
|
|
79
|
+
const inst = join(core, "instance");
|
|
80
|
+
mkdirSync(join(inst, "workflows"), { recursive: true });
|
|
81
|
+
writeFileSync(join(inst, "workflows", "build.yaml"), "SENTINEL");
|
|
82
|
+
await fork(["build"], { home: core });
|
|
83
|
+
expect(readFileSync(join(inst, "workflows", "build.yaml"), "utf8")).toBe("SENTINEL");
|
|
84
|
+
await fork(["build"], { home: core, force: true });
|
|
85
|
+
expect(readFileSync(join(inst, "workflows", "build.yaml"), "utf8")).toContain("name: build");
|
|
86
|
+
});
|
|
87
|
+
it("forks all agent-context files via the explicit target", async () => {
|
|
88
|
+
await fork(["agent-context"], { home: core });
|
|
89
|
+
const ctx = join(core, "instance", "agent-context");
|
|
90
|
+
expect(existsSync(join(ctx, "soul.md"))).toBe(true);
|
|
91
|
+
expect(existsSync(join(ctx, "rules.md"))).toBe(true);
|
|
92
|
+
});
|
|
93
|
+
it("forks a single named agent-context file", async () => {
|
|
94
|
+
await fork(["agent-context", "soul.md"], { home: core });
|
|
95
|
+
const ctx = join(core, "instance", "agent-context");
|
|
96
|
+
expect(existsSync(join(ctx, "soul.md"))).toBe(true);
|
|
97
|
+
expect(existsSync(join(ctx, "rules.md"))).toBe(false);
|
|
98
|
+
});
|
|
99
|
+
it("does not infer agent-context from a bare filename", async () => {
|
|
100
|
+
// `soul` is not a workflow and not the explicit agent-context target → error.
|
|
101
|
+
await expect(fork(["soul"], { home: core })).rejects.toThrow(/process\.exit/);
|
|
102
|
+
expect(existsSync(join(core, "instance", "agent-context", "soul.md"))).toBe(false);
|
|
103
|
+
});
|
|
104
|
+
it("errors on an unknown workflow target", async () => {
|
|
105
|
+
await expect(fork(["nope"], { home: core })).rejects.toThrow(/process\.exit/);
|
|
106
|
+
expect(errSpy).toHaveBeenCalled();
|
|
107
|
+
});
|
|
108
|
+
});
|
|
109
|
+
//# sourceMappingURL=fork-cli.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fork-cli.test.js","sourceRoot":"","sources":["../src/fork-cli.test.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -509,6 +509,8 @@ async function main() {
|
|
|
509
509
|
adminPassword: process.env.ADMIN_PASSWORD ?? "",
|
|
510
510
|
adminSecret: process.env.ADMIN_SECRET ?? "lastlight-dev-secret",
|
|
511
511
|
publicConfig: config.publicConfig,
|
|
512
|
+
builtInRoot: config.builtInRoot,
|
|
513
|
+
overlayDir: config.overlayDir,
|
|
512
514
|
slackOAuthClientId: process.env.SLACK_OAUTH_CLIENT_ID,
|
|
513
515
|
slackOAuthClientSecret: process.env.SLACK_OAUTH_CLIENT_SECRET,
|
|
514
516
|
slackOAuthRedirectUri: process.env.SLACK_OAUTH_REDIRECT_URI,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,cAAc,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC1I,OAAO,EAAE,QAAQ,EAAqB,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC3F,OAAO,EAAE,uBAAuB,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC7F,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAC3G,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAA8B,MAAM,uBAAuB,CAAC;AAEtF,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,cAAc,GAIf,MAAM,mBAAmB,CAAC;AAG3B;;;;GAIG;AACH,SAAS,cAAc,CAAC,MAAqC;IAC3D,MAAM,KAAK,GAAG,CAAC,GAAW,EAAE,EAAE;QAC5B,OAAO,CAAC,KAAK,CAAC,sBAAsB,GAAG,EAAE,CAAC,CAAC;QAC3C,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACxD,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,oCAAoC;IACxD,CAAC,CAAC;IAEF,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC;QACnE,IAAI,CAAC,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;YAC9B,KAAK,CAAC,8FAA8F,CAAC,CAAC;QACxG,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;YACzC,KAAK,CAAC,0CAA0C,cAAc,yBAAyB,CAAC,CAAC;QAC3F,CAAC;QACD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC;YAC9D,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBACtC,KAAK,CAAC,iCAAiC,cAAc,mCAAmC,CAAC,CAAC;YAC5F,CAAC;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,KAAK,CAAC,6CAA6C,cAAc,OAAO,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACzF,CAAC;IACH,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QAC9C,OAAO,CAAC,IAAI,CAAC,mFAAmF,CAAC,CAAC;IACpG,CAAC;AACH,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;IAEpD,4EAA4E;IAC5E,6EAA6E;IAC7E,6EAA6E;IAC7E,oEAAoE;IACpE,IAAI,MAAqC,CAAC;IAC1C,IAAI,CAAC;QACH,MAAM,GAAG,UAAU,EAAE,CAAC;QACtB,uBAAuB,CAAC;YACtB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,WAAW,EAAE,MAAM,CAAC,UAAU;YAC9B,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B,CAAC,CAAC;QACH,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,OAAO,CAAC,KAAK,CAAC,sBAAuB,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9D,OAAO,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;QAClE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,oCAAoC;IACxD,CAAC;IACD,cAAc,CAAC,MAAM,CAAC,CAAC;IACvB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,CAAyB,CAAC;IACtG,MAAM,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,cAAc,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1E,IAAI,wBAAwB,GAAG,KAAK,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO;QAC7B,CAAC,CAAC,0BAA0B,MAAM,CAAC,IAAI,CAAC,WAAW,qBAAqB,MAAM,CAAC,IAAI,CAAC,gBAAgB,mBAAmB,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE;QACnJ,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAEvB,OAAO,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAAC,IAAI,YAAY,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IACrE,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;IACtF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,6BAA6B,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrG,CAAC;IAED,gEAAgE;IAChE,wBAAwB,EAAE,CAAC;IAE3B,uEAAuE;IACvE,KAAK,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC;QACpD,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,sBAAsB,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,yBAAyB,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,6BAA6B,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAE3D,wEAAwE;IACxE,yEAAyE;IACzE,uEAAuE;IACvE,uEAAuE;IACvE,uEAAuE;IACvE,sEAAsE;IACtE,kEAAkE;IAClE,MAAM,QAAQ,GAAG,0BAA0B,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,oCAAoC,QAAQ,EAAE,CAAC,CAAC;IAE5D,0EAA0E;IAC1E,2EAA2E;IAC3E,yEAAyE;IACzE,2EAA2E;IAC3E,0EAA0E;IAC1E,6DAA6D;IAC7D,MAAM,mBAAmB,GAAG,wBAAwB,CAAC,MAAM,CAAC,QAAQ,EAAE;QACpE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB;KAC5D,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,kCAAkC,mBAAmB,gBAAgB,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC;IAEjK,oEAAoE;IACpE,oCAAoC;IACpC,MAAM,EAAE,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAElD,gFAAgF;IAChF,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;IAEvD,mEAAmE;IACnE,kEAAkE;IAClE,iEAAiE;IACjE,mEAAmE;IACnE,oEAAoE;IACpE,qEAAqE;IACrE,MAAM,UAAU,GAAG,sBAAsB,EAAE,CAAC;IAC5C,MAAM,SAAS,GAAG,kBAAkB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG,IAAI,UAAU,CAC/B;QACE,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;QAC1C,QAAQ,EAAE,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC;QACjD,YAAY,EAAE,gBAAgB,EAAE,GAAG,kBAAkB,GAAG,UAAU,CAAC,YAAY;QAC/E,MAAM,EAAE,MAAM,CAAC,SAAS;QACxB,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YACtC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE;YACzD,CAAC,CAAC,SAAS;KACd,EACD,cAAc,CACf,CAAC;IACF,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CACT,iBAAiB,UAAU,CAAC,MAAM,CAAC,MAAM,cAAc,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACzG,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,IAAI,CAAC,6EAA6E,CAAC,CAAC;IAC9F,CAAC;IAED,kFAAkF;IAClF,6EAA6E;IAC7E,kEAAkE;IAClE,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC;YACH,MAAM,gBAAgB,CAAC;gBACrB,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK;gBAC7B,cAAc,EAAE,MAAM,CAAC,SAAS,CAAC,cAAc;gBAC/C,cAAc,EAAE,MAAM,CAAC,SAAS,CAAC,cAAc;aAChD,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,oEAAoE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAClG,CAAC;IACH,CAAC;IAED,qFAAqF;IACrF,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAE5E;;;;;;;;OAQG;IACH,MAAM,gBAAgB,GAAG,KAAK,EAC5B,YAAoB,EACpB,OAAgC,EAChC,UAA6C,EACoB,EAAE;QACnE,wDAAwD;QACxD,kEAAkE;QAClE,oEAAoE;QACpE,MAAM,cAAc,GAAG,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC;YACpG,CAAC,CAAE,OAAO,CAAC,SAAoB;YAC/B,CAAC,CAAC,SAAS,CAAC;QAEd,MAAM,OAAO,GAAG,OAAO,CAAC,IAA0B,CAAC;QACnD,IAAI,CAAC,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;YAChC,MAAM,GAAG,GAAG,oBAAoB,YAAY,8BAA8B,CAAC;YAC3E,OAAO,CAAC,KAAK,CAAC,cAAc,GAAG,EAAE,CAAC,CAAC;YACnC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;QACxC,CAAC;QACD,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;YACpD,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;YACpB,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC;gBACf,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACb,IAAI,OAAO,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,oBAAoB,YAAY,2BAA2B,OAAO,GAAG,CAAC;YAClF,OAAO,CAAC,KAAK,CAAC,cAAc,GAAG,EAAE,CAAC,CAAC;YACnC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;QACxC,CAAC;QAED,wEAAwE;QACxE,uBAAuB;QACvB,MAAM,EACJ,YAAY,EACZ,IAAI,EAAE,EAAE,EACR,WAAW,EACX,QAAQ,EACR,KAAK,EACL,IAAI,EACJ,MAAM,EACN,MAAM,EACN,WAAW,EACX,SAAS,EAAE,UAAU,EACrB,SAAS,EACT,QAAQ,EACR,iBAAiB,EAAE,oBAAoB,EACvC,MAAM,EAAE,SAAS,EACjB,GAAG,IAAI,EACR,GAAG,OAAO,CAAC;QAEZ,gEAAgE;QAChE,mEAAmE;QACnE,sDAAsD;QACtD,MAAM,KAAK,GAA4B,EAAE,GAAI,IAAgC,EAAE,CAAC;QAChF,IAAI,OAAO,SAAS,KAAK,QAAQ;YAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;QAC/D,IAAI,OAAO,QAAQ,KAAK,QAAQ;YAAE,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAE5D,oEAAoE;QACpE,sEAAsE;QACtE,kEAAkE;QAClE,4DAA4D;QAC5D,EAAE;QACF,mEAAmE;QACnE,kEAAkE;QAClE,qDAAqD;QACrD,IAAI,iBAAiB,GACnB,OAAO,oBAAoB,KAAK,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9E,IAAI,CAAC,iBAAiB,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;YAClG,iBAAiB,GAAG,SAAS,CAAC;QAChC,CAAC;QACD,IACE,CAAC,iBAAiB;YAClB,YAAY,KAAK,WAAW;YAC5B,OAAO,QAAQ,KAAK,QAAQ;YAC5B,MAAM;YACN,KAAK;YACL,IAAI,EACJ,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAC9D,iBAAiB,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;gBAChC,OAAO,CAAC,GAAG,CACT,qDAAqD,KAAK,IAAI,IAAI,IAAI,iBAAiB,EAAE,CAC1F,CAAC;YACJ,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC7D,OAAO,CAAC,IAAI,CACV,wDAAwD,GAAG,KAAK;oBAChE,kCAAkC,CACnC,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAA0B;YACrC,KAAK;YACL,IAAI;YACJ,WAAW,EAAE,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;YACtE,QAAQ,EAAE,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;YAC7D,UAAU,EAAE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YAClD,SAAS,EAAE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YAC/C,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,MAAmB,CAAC,CAAC,CAAC,SAAS;YACrE,WAAW,EAAE,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;YACtE,MAAM,EAAE,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;YACvD,SAAS,EAAE,cAAc;YACzB,KAAK;YACL,iBAAiB;SAClB,CAAC;QAEF,sEAAsE;QACtE,yEAAyE;QACzE,wEAAwE;QACxE,wEAAwE;QACxE,sDAAsD;QACtD,EAAE;QACF,0EAA0E;QAC1E,wEAAwE;QACxE,wEAAwE;QACxE,8DAA8D;QAC9D,EAAE;QACF,kEAAkE;QAClE,mEAAmE;QACnE,uEAAuE;QACvE,6DAA6D;QAC7D,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;QACjE,IACE,MAAM;YACN,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC;YAClC,OAAO,CAAC,WAAW;YACnB,KAAK,IAAI,IAAI,EACb,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;oBAClD,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC;oBACrD,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC;iBAC3D,CAAC,CAAC;gBAEH,MAAM,iBAAiB,GAAG,QAAQ;qBAC/B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;qBAC5B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,SAAS,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;qBAC5D,IAAI,CAAC,MAAM,CAAC,CAAC;gBAEhB,MAAM,eAAe,GAAG;oBACtB,aAAa,CAAC,CAAC,CAAC,mBAAmB,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE;oBACvD,iBAAiB,CAAC,CAAC,CAAC,uCAAuC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE;iBACpF;qBACE,MAAM,CAAC,OAAO,CAAC;qBACf,IAAI,CAAC,MAAM,CAAC,CAAC;gBAEhB,IAAI,eAAe,EAAE,CAAC;oBACpB,0DAA0D;oBAC1D,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,eAAe,CAAC,CAAC;oBACzD,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO;wBAC9B,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,eAAe,EAAE;wBAClD,CAAC,CAAC,eAAe,CAAC;oBACpB,CAAC,OAAO,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,eAAe,GAAG,SAAS,CAAC;oBACnD,+DAA+D;oBAC/D,kDAAkD;oBAClD,OAAO,CAAC,SAAS,GAAG,EAAE,CAAC;oBACvB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;wBACnB,OAAO,CAAC,IAAI,CACV,0DAA0D,KAAK,IAAI,IAAI,IAAI,OAAO,CAAC,WAAW,KAAK,MAAM,CAAC,MAAM,IAAI,WAAW,EAAE,CAClI,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,MAAM,CAAC,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC3D,OAAO,CAAC,IAAI,CAAC,oDAAoD,CAAC,EAAE,CAAC,CAAC;gBACtE,wEAAwE;YAC1E,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,cAAc,IAAI,cAAc,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ;YACjH,CAAC,CAAC,KAAK,EAAE,GAAW,EAAE,EAAE;gBACpB,IAAI,CAAC;oBACH,MAAM,cAAe,CAAC,WAAW,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;gBAC9D,CAAC;gBAAC,OAAO,GAAY,EAAE,CAAC;oBACtB,MAAM,CAAC,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAC3D,OAAO,CAAC,IAAI,CAAC,8CAA8C,CAAC,EAAE,CAAC,CAAC;gBAClE,CAAC;YACH,CAAC;YACH,CAAC,CAAC,SAAS,CAAC;QAEd,oEAAoE;QACpE,wEAAwE;QACxE,0EAA0E;QAC1E,yEAAyE;QACzE,wEAAwE;QACxE,yEAAyE;QACzE,qEAAqE;QACrE,wEAAwE;QACxE,0EAA0E;QAC1E,sCAAsC;QACtC,2EAA2E;QAC3E,yEAAyE;QACzE,iEAAiE;QACjE,MAAM,WAAW,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC;QAClE,MAAM,cAAc,GAAG,CAAC,CAAC,CACvB,cAAc,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,CAChF,CAAC;QACF,IAAI,eAAe,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC;YACH,sEAAsE;YACtE,wEAAwE;YACxE,sEAAsE;YACtE,UAAU;YACV,eAAe;gBACb,WAAW,CAAC,YAAY,CAAC,CAAC,gBAAgB,KAAK,IAAI,IAAI,CAAC,WAAW,IAAI,cAAc,CAAC,CAAC;QAC3F,CAAC;QAAC,MAAM,CAAC;YACP,iEAAiE;QACnE,CAAC;QAED,IAAI,QAAsC,CAAC;QAC3C,MAAM,aAAa,GAAiC,eAAe;YACjE,CAAC,CAAC;gBACE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE;gBACrD,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE;gBAC/D,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE;gBACvE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE;gBACnD,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE;gBACvD,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE;aACpE;YACH,CAAC,CAAC,SAAS,CAAC;QAEd,MAAM,kBAAkB,GAAG,eAAe;YACxC,CAAC,CAAC,CAAC,KAAa,EAAQ,EAAE;gBACtB,IAAI,CAAC;oBACH,MAAM,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAkB,CAAC;oBAClF,MAAM,OAAO,GAAG,CAAC,KAA6B,EAAE,EAAE;wBAChD,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAkB,CAAC;wBAChF,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,KAAK,EAAE,EAAE,CAAC,CAAC;oBAClE,CAAC,CAAC;oBACF,MAAM,UAAU,GAAwB,EAAE,CAAC;oBAC3C,IAAI,WAAW,IAAI,MAAM,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;wBAC7D,UAAU,CAAC,IAAI,CACb,IAAI,eAAe,CAAC;4BAClB,MAAM;4BACN,KAAK;4BACL,IAAI;4BACJ,WAAW;4BACX,SAAS,EAAE,KAAK,CAAC,eAAe;4BAChC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC;yBAC/C,CAAC,CACH,CAAC;oBACJ,CAAC;oBACD,IAAI,cAAc,IAAI,cAAc,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;wBACtG,UAAU,CAAC,IAAI,CACb,IAAI,cAAc,CAAC;4BACjB,KAAK,EAAE,cAAc;4BACrB,OAAO,EAAE,SAAS;4BAClB,MAAM,EAAE,QAAQ;4BAChB,EAAE,EAAE,KAAK,CAAC,OAAO;4BACjB,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;yBACvF,CAAC,CACH,CAAC;oBACJ,CAAC;oBACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;wBAAE,QAAQ,GAAG,IAAI,gBAAgB,CAAC,UAAU,CAAC,CAAC;gBACzE,CAAC;gBAAC,OAAO,GAAY,EAAE,CAAC;oBACtB,MAAM,CAAC,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAC3D,OAAO,CAAC,IAAI,CAAC,qCAAqC,CAAC,EAAE,CAAC,CAAC;gBACzD,CAAC;YACH,CAAC;YACH,CAAC,CAAC,SAAS,CAAC;QAEd,MAAM,SAAS,GAAoB;YACjC,QAAQ,EAAE,aAAa;YACvB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,WAAW,EAAE,SAAS;mBACjB,CAAC,MAAM,IAAI,WAAW;oBACvB,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;wBACZ,IAAI,CAAC;4BACH,MAAM,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,WAAqB,EAAE,GAAG,CAAC,CAAC;wBACpE,CAAC;wBAAC,OAAO,GAAY,EAAE,CAAC;4BACtB,MAAM,CAAC,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;4BAC3D,OAAO,CAAC,IAAI,CAAC,sCAAsC,CAAC,EAAE,CAAC,CAAC;wBAC1D,CAAC;oBACH,CAAC;oBACH,CAAC,CAAC,SAAS,CAAC;YAChB,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBAC5B,OAAO,CAAC,GAAG,CAAC,gBAAgB,YAAY,IAAI,KAAK,EAAE,CAAC,CAAC;gBACrD,8DAA8D;gBAC9D,gEAAgE;gBAChE,yDAAyD;gBACzD,IAAI,SAAS,IAAI,cAAc,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;oBACjG,cAAc,CAAC,UAAU,CAAC,SAAmB,EAAE,QAAkB,EAAE,QAAkB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBACzG,CAAC;YACH,CAAC;YACD,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAClC,OAAO,CAAC,GAAG,CAAC,gBAAgB,YAAY,IAAI,KAAK,KAAK,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC3F,UAAU,EAAE,kBAAkB;gBAC5B,CAAC,CAAC,KAAK,EAAE,KAAa,EAAE,EAAE;oBACtB,gEAAgE;oBAChE,kEAAkE;oBAClE,2DAA2D;oBAC3D,kBAAkB,CAAC,KAAK,CAAC,CAAC;oBAC1B,IAAI,UAAU;wBAAE,MAAM,UAAU,CAAC,KAAK,CAAC,CAAC;gBAC1C,CAAC;gBACH,CAAC,CAAC,UAAU;SACf,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,iBAAiB,CACpC,YAAY,EACZ,OAAO,EACP;gBACE,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,cAAc,EAAE,MAAM,CAAC,cAAc;gBACrC,IAAI,EAAE,MAAM,CAAC,IAAI;aAClB,EACD,SAAS,EACT,EAAE,EACF,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,cAAc,EACrB,MAAM,CAAC,QAAQ,CAChB,CAAC;YACF,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/F,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,OAAO,CAAC,GAAG,CAAC,cAAc,YAAY,YAAY,OAAO,GAAG,CAAC,CAAC;YAChE,CAAC;iBAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC1B,OAAO,CAAC,GAAG,CAAC,cAAc,YAAY,eAAe,OAAO,GAAG,CAAC,CAAC;YACnE,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,cAAc,YAAY,YAAY,OAAO,GAAG,CAAC,CAAC;YACjE,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;QAC5D,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,OAAO,CAAC,KAAK,CAAC,cAAc,YAAY,WAAW,GAAG,EAAE,CAAC,CAAC;YAC1D,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;QACxC,CAAC;IACH,CAAC,CAAC;IAEF,4BAA4B;IAC5B,MAAM,QAAQ,GAAG,IAAI,iBAAiB,EAAE,CAAC;IAEzC,2CAA2C;IAC3C,MAAM,QAAQ,GAAG,IAAI,sBAAsB,EAAE,CAAC;IAE9C,oFAAoF;IACpF,IAAI,eAAe,GAAkC,IAAI,CAAC;IAC1D,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QAC7C,eAAe,GAAG,IAAI,sBAAsB,CAAC;YAC3C,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B,CAAC,CAAC;QACH,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACrC,CAAC;IAED,8DAA8D;IAC9D,IAAI,cAAc,GAA0B,IAAI,CAAC;IACjD,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,cAAc,GAAG,IAAI,cAAc,CACjC;YACE,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ;YAC/B,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ;YAC/B,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY;YACvC,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,eAAe;YAC7C,aAAa,EAAE,EAAE,EAAE,6CAA6C;SACjE,EACD,cAAc,CACf,CAAC;QACF,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAElC,uDAAuD;QACvD,IAAI,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;YACjC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,cAAe,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IAED,0EAA0E;IAC1E,0EAA0E;IAC1E,uEAAuE;IACvE,6DAA6D;IAC7D,MAAM,IAAI,GAAG,IAAI,aAAa,CAAC,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE;QACjE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,MAAM,oBAAoB,CACzD,YAAY,EACZ,OAAO,EACP,gBAAgB,CACjB,CAAC;QACF,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,CACV,UAAU,YAAY,KAAK,QAAQ,IAAI,UAAU,oBAAoB,CACtE,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,2FAA2F;IAC3F,IAAI,eAAe,EAAE,CAAC;QACpB,UAAU,CAAC,eAAe,CAAC,OAAO,EAAE,EAAE,EAAE;YACtC,aAAa,EAAE,IAAI;YACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE;YAC/C,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,sBAAsB;YAC/D,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,kBAAkB,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB;YACrD,sBAAsB,EAAE,OAAO,CAAC,GAAG,CAAC,yBAAyB;YAC7D,qBAAqB,EAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB;YAC3D,qBAAqB,EAAE,OAAO,CAAC,GAAG,CAAC,uBAAuB;YAC1D,mBAAmB,EAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB;YACvD,uBAAuB,EAAE,OAAO,CAAC,GAAG,CAAC,0BAA0B;YAC/D,sBAAsB,EAAE,OAAO,CAAC,GAAG,CAAC,yBAAyB;YAC7D,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB;YAChD,cAAc,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE;gBAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,OAAO,CAAC,IAAI,CAAC,kCAAkC,WAAW,CAAC,EAAE,6BAA6B,CAAC,CAAC;oBAC5F,OAAO;gBACT,CAAC;gBACD,kEAAkE;gBAClE,uEAAuE;gBACvE,qEAAqE;gBACrE,0DAA0D;gBAC1D,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC;oBACrD,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;oBACvD,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBACb,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;oBACpB,MAAM,QAAQ,GAAI,WAAW,CAAC,OAAO,EAAE,KAA4B,IAAI,EAAE,CAAC;oBAC1E,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC;oBAC1C,KAAK,GAAG,QAAQ,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC/E,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;gBAC1E,CAAC;gBACD,MAAM,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC;gBAC5C,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;oBACpC,OAAO,CAAC,IAAI,CAAC,kCAAkC,WAAW,CAAC,EAAE,kCAAkC,CAAC,CAAC;oBACjG,OAAO;gBACT,CAAC;gBACD,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBACnC,OAAO,CAAC,GAAG,CAAC,oBAAoB,WAAW,CAAC,YAAY,QAAQ,KAAK,IAAI,IAAI,IAAI,WAAW,gCAAgC,MAAM,EAAE,CAAC,CAAC;gBACtI,gBAAgB,CAAC,WAAW,CAAC,YAAY,EAAE;oBACzC,IAAI,EAAE,GAAG,KAAK,IAAI,IAAI,EAAE;oBACxB,WAAW;oBACX,KAAK,EAAE,UAAU,WAAW,EAAE;oBAC9B,IAAI,EAAE,EAAE;oBACR,MAAM;oBACN,YAAY,EAAE,OAAO;iBACtB,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC,CAAC;YAClE,CAAC;SACF,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;IACrD,CAAC;IAED,4DAA4D;IAC5D,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,wEAAwE,CAAC,CAAC;IACxF,CAAC;IAED,sEAAsE;IACtE,2EAA2E;IAC3E,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC;IACvD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,sBAAsB,CAAC;IACvE,MAAM,cAAc,GAAG,aAAa,CAAC;QACnC,aAAa;QACb,kBAAkB,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB;QACrD,sBAAsB,EAAE,OAAO,CAAC,GAAG,CAAC,yBAAyB;QAC7D,mBAAmB,EAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB;QACvD,uBAAuB,EAAE,OAAO,CAAC,GAAG,CAAC,0BAA0B;QAC/D,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB;KACjD,CAAC,CAAC;IACH,IAAI,eAAe,IAAI,cAAc,EAAE,CAAC;QACtC,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,cAAc,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC;QACnF,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;IACzD,CAAC;IAED,gCAAgC;IAChC,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACpD,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAChC,yEAAyE;QACzE,mEAAmE;QACnE,sEAAsE;QACtE,MAAM,YAAY,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAuB,CAAC;QACzE,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAA4B,CAAC;QAEhE,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uCAAuC,EAAE,EAAE,GAAG,CAAC,CAAC;QACzE,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,iCAAiC,YAAY,EAAE,CAAC,CAAC;QAE7D,sEAAsE;QACtE,qDAAqD;QACrD,MAAM,WAAW,GAAG,UAAU,EAAE,CAAC;QACjC,gBAAgB,CAAC,YAAY,EAAE,EAAE,GAAG,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YACzF,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,OAAO,CAAC,KAAK,CAAC,kBAAkB,YAAY,YAAY,GAAG,EAAE,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,GAAG,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;IAEH,oDAAoD;IACpD,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACtD,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAChC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAEtF,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACpC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,qCAAqC,EAAE,EAAE,GAAG,CAAC,CAAC;QACvE,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,8BAA8B,KAAK,IAAI,IAAI,IAAI,WAAW,EAAE,CAAC,CAAC;QAE1E,wEAAwE;QACxE,yEAAyE;QACzE,IAAI,cAAc,GAAyB,WAAW,CAAC;QACvD,IAAI,CAAC,cAAc,IAAI,MAAM,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;gBAC9D,cAAc,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CACnD,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CACnC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACpB,CAAC;YAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;QAC7B,CAAC;QAED,4DAA4D;QAC5D,gBAAgB,CAAC,OAAO,EAAE;YACxB,IAAI,EAAE,GAAG,KAAK,IAAI,IAAI,EAAE;YACxB,WAAW;YACX,KAAK,EAAE,UAAU,IAAI,UAAU,WAAW,EAAE;YAC5C,IAAI,EAAE,SAAS,IAAI,EAAE;YACrB,MAAM,EAAE,cAAc;YACtB,MAAM,EAAE,MAAM,IAAI,KAAK;YACvB,YAAY,EAAE,KAAK;SACpB,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACf,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,GAAG,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,mCAAmC;IACnC,4EAA4E;IAC5E,4EAA4E;IAC5E,yEAAyE;IACzE,yDAAyD;IACzD,MAAM,YAAY,GAAiB;QACjC,EAAE;QACF,MAAM;QACN,gBAAgB;QAChB,cAAc;QACd,yEAAyE;QACzE,2EAA2E;QAC3E,gEAAgE;QAChE,OAAO,EAAE,CAAC,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,EAAE,CAC/C,iBAAiB,CACf,OAAO,EACP,kBAAkB,EAClB,MAAM,EACN,cAAc,EACd,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,CAAC,WAAW,EAAE,EACnD,EAAE,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAC7D;QACH,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,SAAS,EAAE,MAAM,CAAC,SAAS;KAC5B,CAAC;IAEF,2EAA2E;IAC3E,uEAAuE;IACvE,2EAA2E;IAC3E,4EAA4E;IAC5E,2EAA2E;IAC3E,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACrD,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,EAAE,GAAG,CAAC,CAAC;QACxE,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QAC5E,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QAErF,MAAM,OAAO,GAAG,cAAc,CAAC,kBAAkB,CAAC;YAChD,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI;SACzD,CAAC,CAAC;QAEH,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,MAAM,QAAQ,GAAkB;YAC9B,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,IAAI;YACZ,WAAW,EAAE,KAAK;YAClB,IAAI,EAAE,OAAO;YACb,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE;YAClB,KAAK,EAAE,KAAK,EAAE,GAAW,EAAE,EAAE,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC;YAC9C,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE;YACvC,GAAG,YAAY;YACf,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;gBAClB,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,MAAM;gBACf,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE;aAC1D,CAAC;SACH,CAAC,CAAC;QAEH,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,IAAI,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/G,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,QAAuB,EAAE,EAAE;QACjD,OAAO,CAAC,GAAG,CAAC,WAAW,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,SAAS,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACjI,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YACvD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,oBAAoB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YACpD,CAAC;iBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACtC,OAAO,CAAC,GAAG,CAAC,oBAAoB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,OAAO,CAAC,KAAK,CAAC,2BAA2B,GAAG,EAAE,CAAC,CAAC;QAClD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,4EAA4E;IAC5E,2EAA2E;IAC3E,iDAAiD;IACjD,MAAM,eAAe,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC;IACrE,MAAM,IAAI,GAAG,OAAO,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IACD,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;IAC3E,CAAC;IAED,mBAAmB;IACnB,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC1B,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAE3C,iEAAiE;IAEjE,uEAAuE;IACvE,sEAAsE;IACtE,2EAA2E;IAC3E,2EAA2E;IAC3E,wEAAwE;IACxE,0EAA0E;IAC1E,uBAAuB,CAAC;QACtB,EAAE;QACF,MAAM;QACN,MAAM,EAAE;YACN,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,IAAI,EAAE,MAAM,CAAC,IAAI;SAClB;QACD,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,cAAc,EAAE,MAAM,CAAC,QAAQ;QAC/B,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,WAAW,EAAE,cAAc;YACzB,CAAC,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,CAAC,cAAe,CAAC,WAAW,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;YACpG,CAAC,CAAC,SAAS;KACd,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC,CAAC;IAErE,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAE9C,oBAAoB;IACpB,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;QAC1B,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QACzC,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;QACzB,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAC9B,wBAAwB,GAAG,IAAI,CAAC;YAChC,MAAM,iBAAiB,EAAE,CAAC;QAC5B,CAAC;QACD,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;IAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AAClC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;IAC1C,+EAA+E;IAC/E,0DAA0D;IAC1D,MAAM,GAAG,GAAG,GAAG,EAAE,OAAO,IAAI,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QACnD,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC;QACzB,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACtB,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC3B,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export type OverlayAssetType = "workflow" | "cron" | "prompt" | "skill" | "agent-context";
|
|
2
|
+
export interface OverlayAsset {
|
|
3
|
+
type: OverlayAssetType;
|
|
4
|
+
/** Logical name — workflow/cron/skill name, or the filename for prompts/context. */
|
|
5
|
+
name: string;
|
|
6
|
+
/** True when a same-named built-in exists under `coreRoot` (overlay shadows it);
|
|
7
|
+
* false when the overlay adds something the built-ins don't have. */
|
|
8
|
+
shadowsDefault: boolean;
|
|
9
|
+
}
|
|
10
|
+
export interface EnumerateOpts {
|
|
11
|
+
/** Built-in asset tree (the lastlight checkout root). */
|
|
12
|
+
coreRoot?: string;
|
|
13
|
+
/** Overlay asset tree (the instance/ overlay root). */
|
|
14
|
+
overlayRoot?: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* List every asset the overlay provides, tagging each as shadowing a built-in or
|
|
18
|
+
* a fresh addition. Returns `[]` when no overlay is configured or present.
|
|
19
|
+
*/
|
|
20
|
+
export declare function enumerateOverlayAssets(opts: EnumerateOpts): OverlayAsset[];
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enumerate the assets a deployment overlay overrides or adds.
|
|
3
|
+
*
|
|
4
|
+
* The instance overlay (`$LASTLIGHT_OVERLAY_DIR`, prod `instance/`) can replace
|
|
5
|
+
* or add workflows, prompts, skills, and agent-context files by logical name —
|
|
6
|
+
* the layer-aware resolution lives in `src/workflows/loader.ts`. This module is
|
|
7
|
+
* the read-only inverse: given the built-in (`coreRoot`) and overlay
|
|
8
|
+
* (`overlayRoot`) trees, list every asset the overlay provides and whether it
|
|
9
|
+
* **shadows** a same-named built-in or is a fresh **addition**.
|
|
10
|
+
*
|
|
11
|
+
* It's a pure filesystem walk (no loader caches), so the host-local CLI
|
|
12
|
+
* (`lastlight server status`, `lastlight fork`) and the in-harness admin API
|
|
13
|
+
* (`GET /admin/api/overrides`) can share one source of truth.
|
|
14
|
+
*/
|
|
15
|
+
import { readFileSync, readdirSync, statSync } from "node:fs";
|
|
16
|
+
import { join } from "node:path";
|
|
17
|
+
import { parse as parseYaml } from "yaml";
|
|
18
|
+
function isDir(path) {
|
|
19
|
+
try {
|
|
20
|
+
return statSync(path).isDirectory();
|
|
21
|
+
}
|
|
22
|
+
catch {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
function listFiles(dir, predicate) {
|
|
27
|
+
if (!isDir(dir))
|
|
28
|
+
return [];
|
|
29
|
+
return readdirSync(dir).filter(predicate).sort();
|
|
30
|
+
}
|
|
31
|
+
function listDirs(dir) {
|
|
32
|
+
if (!isDir(dir))
|
|
33
|
+
return [];
|
|
34
|
+
return readdirSync(dir)
|
|
35
|
+
.filter((n) => isDir(join(dir, n)))
|
|
36
|
+
.sort();
|
|
37
|
+
}
|
|
38
|
+
const isYaml = (n) => n.endsWith(".yaml") || n.endsWith(".yml");
|
|
39
|
+
const isMarkdown = (n) => n.endsWith(".md");
|
|
40
|
+
/** Read a workflow YAML's `name`/`kind` without throwing on malformed files. */
|
|
41
|
+
function readWorkflowMeta(filePath) {
|
|
42
|
+
try {
|
|
43
|
+
const raw = parseYaml(readFileSync(filePath, "utf-8"));
|
|
44
|
+
if (!raw || typeof raw.name !== "string")
|
|
45
|
+
return null;
|
|
46
|
+
return { name: raw.name, kind: typeof raw.kind === "string" ? raw.kind : "" };
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Index built-in assets by logical name so overlay entries can be tagged as
|
|
54
|
+
* shadowing vs adding. Workflows/crons are keyed by their YAML `name`; prompts,
|
|
55
|
+
* skills, and agent-context by filename / directory name.
|
|
56
|
+
*/
|
|
57
|
+
function indexBuiltins(coreRoot) {
|
|
58
|
+
const workflows = new Set();
|
|
59
|
+
const crons = new Set();
|
|
60
|
+
const workflowDir = join(coreRoot, "workflows");
|
|
61
|
+
for (const file of listFiles(workflowDir, isYaml)) {
|
|
62
|
+
const meta = readWorkflowMeta(join(workflowDir, file));
|
|
63
|
+
if (!meta)
|
|
64
|
+
continue;
|
|
65
|
+
(meta.kind === "cron" ? crons : workflows).add(meta.name);
|
|
66
|
+
}
|
|
67
|
+
return {
|
|
68
|
+
workflows,
|
|
69
|
+
crons,
|
|
70
|
+
prompts: new Set(listFiles(join(coreRoot, "workflows", "prompts"), isMarkdown)),
|
|
71
|
+
skills: new Set(listDirs(join(coreRoot, "skills"))),
|
|
72
|
+
agentContext: new Set(listFiles(join(coreRoot, "agent-context"), isMarkdown)),
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* List every asset the overlay provides, tagging each as shadowing a built-in or
|
|
77
|
+
* a fresh addition. Returns `[]` when no overlay is configured or present.
|
|
78
|
+
*/
|
|
79
|
+
export function enumerateOverlayAssets(opts) {
|
|
80
|
+
const { coreRoot, overlayRoot } = opts;
|
|
81
|
+
if (!overlayRoot || !isDir(overlayRoot))
|
|
82
|
+
return [];
|
|
83
|
+
const builtins = coreRoot && isDir(coreRoot)
|
|
84
|
+
? indexBuiltins(coreRoot)
|
|
85
|
+
: { workflows: new Set(), crons: new Set(), prompts: new Set(), skills: new Set(), agentContext: new Set() };
|
|
86
|
+
const assets = [];
|
|
87
|
+
// Workflows + crons — keyed by YAML `name`, split by `kind`.
|
|
88
|
+
const overlayWorkflowDir = join(overlayRoot, "workflows");
|
|
89
|
+
for (const file of listFiles(overlayWorkflowDir, isYaml)) {
|
|
90
|
+
const meta = readWorkflowMeta(join(overlayWorkflowDir, file));
|
|
91
|
+
if (!meta)
|
|
92
|
+
continue;
|
|
93
|
+
const isCron = meta.kind === "cron";
|
|
94
|
+
assets.push({
|
|
95
|
+
type: isCron ? "cron" : "workflow",
|
|
96
|
+
name: meta.name,
|
|
97
|
+
shadowsDefault: (isCron ? builtins.crons : builtins.workflows).has(meta.name),
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
// Prompts — keyed by filename under workflows/prompts/.
|
|
101
|
+
for (const file of listFiles(join(overlayRoot, "workflows", "prompts"), isMarkdown)) {
|
|
102
|
+
assets.push({ type: "prompt", name: file, shadowsDefault: builtins.prompts.has(file) });
|
|
103
|
+
}
|
|
104
|
+
// Skills — keyed by directory name under skills/.
|
|
105
|
+
for (const dir of listDirs(join(overlayRoot, "skills"))) {
|
|
106
|
+
assets.push({ type: "skill", name: dir, shadowsDefault: builtins.skills.has(dir) });
|
|
107
|
+
}
|
|
108
|
+
// Agent-context — keyed by filename under agent-context/.
|
|
109
|
+
for (const file of listFiles(join(overlayRoot, "agent-context"), isMarkdown)) {
|
|
110
|
+
assets.push({ type: "agent-context", name: file, shadowsDefault: builtins.agentContext.has(file) });
|
|
111
|
+
}
|
|
112
|
+
return assets;
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=overlay-assets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"overlay-assets.js","sourceRoot":"","sources":["../src/overlay-assets.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { describe, it, expect, beforeEach } from "vitest";
|
|
2
|
+
import { mkdtempSync, mkdirSync, writeFileSync } from "fs";
|
|
3
|
+
import { join } from "path";
|
|
4
|
+
import { tmpdir } from "os";
|
|
5
|
+
import { enumerateOverlayAssets } from "./overlay-assets.js";
|
|
6
|
+
function makeTree() {
|
|
7
|
+
const root = mkdtempSync(join(tmpdir(), "overlay-assets-"));
|
|
8
|
+
const core = join(root, "core");
|
|
9
|
+
const overlay = join(root, "instance");
|
|
10
|
+
// Built-in assets.
|
|
11
|
+
mkdirSync(join(core, "workflows", "prompts"), { recursive: true });
|
|
12
|
+
mkdirSync(join(core, "skills", "building"), { recursive: true });
|
|
13
|
+
mkdirSync(join(core, "agent-context"), { recursive: true });
|
|
14
|
+
writeFileSync(join(core, "workflows", "build.yaml"), "kind: build\nname: build\n");
|
|
15
|
+
writeFileSync(join(core, "workflows", "cron-health.yaml"), "kind: cron\nname: cron-health\nworkflow: repo-health\n");
|
|
16
|
+
writeFileSync(join(core, "workflows", "prompts", "architect.md"), "# architect");
|
|
17
|
+
writeFileSync(join(core, "skills", "building", "SKILL.md"), "# building");
|
|
18
|
+
writeFileSync(join(core, "agent-context", "soul.md"), "# soul");
|
|
19
|
+
return { core, overlay };
|
|
20
|
+
}
|
|
21
|
+
describe("enumerateOverlayAssets", () => {
|
|
22
|
+
let core;
|
|
23
|
+
let overlay;
|
|
24
|
+
beforeEach(() => {
|
|
25
|
+
({ core, overlay } = makeTree());
|
|
26
|
+
});
|
|
27
|
+
it("returns [] when no overlay is given or it doesn't exist", () => {
|
|
28
|
+
expect(enumerateOverlayAssets({ coreRoot: core })).toEqual([]);
|
|
29
|
+
expect(enumerateOverlayAssets({ coreRoot: core, overlayRoot: join(overlay, "nope") })).toEqual([]);
|
|
30
|
+
});
|
|
31
|
+
it("tags overlay assets as shadowing a built-in vs added", () => {
|
|
32
|
+
mkdirSync(join(overlay, "workflows", "prompts"), { recursive: true });
|
|
33
|
+
mkdirSync(join(overlay, "skills", "building"), { recursive: true });
|
|
34
|
+
mkdirSync(join(overlay, "skills", "custom"), { recursive: true });
|
|
35
|
+
mkdirSync(join(overlay, "agent-context"), { recursive: true });
|
|
36
|
+
// Shadows the built-in build workflow.
|
|
37
|
+
writeFileSync(join(overlay, "workflows", "build.yaml"), "kind: build\nname: build\n");
|
|
38
|
+
// A brand-new workflow.
|
|
39
|
+
writeFileSync(join(overlay, "workflows", "ship.yaml"), "kind: build\nname: ship\n");
|
|
40
|
+
// Shadows a built-in cron.
|
|
41
|
+
writeFileSync(join(overlay, "workflows", "cron-health.yaml"), "kind: cron\nname: cron-health\nworkflow: repo-health\n");
|
|
42
|
+
// Prompt: one shadowing, none added.
|
|
43
|
+
writeFileSync(join(overlay, "workflows", "prompts", "architect.md"), "# overridden");
|
|
44
|
+
// Skills: building shadows, custom is added.
|
|
45
|
+
writeFileSync(join(overlay, "skills", "building", "SKILL.md"), "# overridden");
|
|
46
|
+
writeFileSync(join(overlay, "skills", "custom", "SKILL.md"), "# custom");
|
|
47
|
+
// Agent-context: soul shadows, extra is added.
|
|
48
|
+
writeFileSync(join(overlay, "agent-context", "soul.md"), "# overridden");
|
|
49
|
+
writeFileSync(join(overlay, "agent-context", "extra.md"), "# extra");
|
|
50
|
+
const assets = enumerateOverlayAssets({ coreRoot: core, overlayRoot: overlay });
|
|
51
|
+
const byKey = new Map(assets.map((a) => [`${a.type}:${a.name}`, a.shadowsDefault]));
|
|
52
|
+
expect(byKey.get("workflow:build")).toBe(true);
|
|
53
|
+
expect(byKey.get("workflow:ship")).toBe(false);
|
|
54
|
+
expect(byKey.get("cron:cron-health")).toBe(true);
|
|
55
|
+
expect(byKey.get("prompt:architect.md")).toBe(true);
|
|
56
|
+
expect(byKey.get("skill:building")).toBe(true);
|
|
57
|
+
expect(byKey.get("skill:custom")).toBe(false);
|
|
58
|
+
expect(byKey.get("agent-context:soul.md")).toBe(true);
|
|
59
|
+
expect(byKey.get("agent-context:extra.md")).toBe(false);
|
|
60
|
+
});
|
|
61
|
+
it("keys workflows by YAML name, not filename, and splits cron vs workflow", () => {
|
|
62
|
+
mkdirSync(join(overlay, "workflows"), { recursive: true });
|
|
63
|
+
// Filename differs from the logical name.
|
|
64
|
+
writeFileSync(join(overlay, "workflows", "my-build.yaml"), "kind: build\nname: build\n");
|
|
65
|
+
const assets = enumerateOverlayAssets({ coreRoot: core, overlayRoot: overlay });
|
|
66
|
+
expect(assets).toContainEqual({ type: "workflow", name: "build", shadowsDefault: true });
|
|
67
|
+
});
|
|
68
|
+
it("treats everything as 'added' when there are no built-ins to compare", () => {
|
|
69
|
+
mkdirSync(join(overlay, "skills", "custom"), { recursive: true });
|
|
70
|
+
writeFileSync(join(overlay, "skills", "custom", "SKILL.md"), "# custom");
|
|
71
|
+
const assets = enumerateOverlayAssets({ overlayRoot: overlay });
|
|
72
|
+
expect(assets).toEqual([{ type: "skill", name: "custom", shadowsDefault: false }]);
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
//# sourceMappingURL=overlay-assets.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"overlay-assets.test.js","sourceRoot":"","sources":["../src/overlay-assets.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/** `.gitignore` for the overlay so it can be its own private repo without
|
|
2
|
+
* leaking secrets. Everything under `secrets/` is ignored except the template. */
|
|
3
|
+
export declare const OVERLAY_GITIGNORE: string;
|
|
4
|
+
/** Placeholder `config.yaml` for a fresh overlay (no managed repos yet). */
|
|
5
|
+
export declare const OVERLAY_CONFIG_PLACEHOLDER: string;
|
|
6
|
+
/** Template `secrets/.env.example` — the only tracked file under `secrets/`.
|
|
7
|
+
* Mirrors the keys `npx lastlight setup` writes into `secrets/.env`. */
|
|
8
|
+
export declare const OVERLAY_ENV_EXAMPLE: string;
|
|
9
|
+
/** README dropped into a freshly scaffolded overlay. */
|
|
10
|
+
export declare const OVERLAY_README: string;
|
|
11
|
+
export interface GhStatus {
|
|
12
|
+
/** `gh` is on PATH. */
|
|
13
|
+
installed: boolean;
|
|
14
|
+
/** `gh auth status` succeeded — we can create repos. */
|
|
15
|
+
authed: boolean;
|
|
16
|
+
/** Authenticated GitHub login, when resolvable. */
|
|
17
|
+
login?: string;
|
|
18
|
+
}
|
|
19
|
+
/** Probe the GitHub CLI. Never throws — a missing/unauthed `gh` resolves to a
|
|
20
|
+
* status the callers fall back from (print manual commands instead). */
|
|
21
|
+
export declare function detectGh(): Promise<GhStatus>;
|
|
22
|
+
export interface ScaffoldResult {
|
|
23
|
+
/** Repo-relative paths of files this call created (existing files untouched). */
|
|
24
|
+
created: string[];
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Write the default overlay files into `instanceDir`, creating only what's
|
|
28
|
+
* missing — never overwriting an existing file. Returns the relative paths
|
|
29
|
+
* created so callers can report them.
|
|
30
|
+
*/
|
|
31
|
+
export declare function scaffoldOverlayFiles(instanceDir: string): ScaffoldResult;
|
|
32
|
+
export interface BootstrapOpts {
|
|
33
|
+
/** Pre-probed gh status (call {@link detectGh} once and pass it in). */
|
|
34
|
+
gh: GhStatus;
|
|
35
|
+
/** Non-interactive — skip prompts, just print the manual commands. */
|
|
36
|
+
yes?: boolean;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Version `instanceDir` as a private git repo and (optionally) create + push a
|
|
40
|
+
* GitHub repo for it. Idempotent: skips `git init` when already a repo, and
|
|
41
|
+
* skips repo creation when an `origin` remote already exists. Falls back to
|
|
42
|
+
* printing the manual commands whenever `gh` is unavailable or the user declines.
|
|
43
|
+
*/
|
|
44
|
+
export declare function bootstrapOverlayRepo(instanceDir: string, opts: BootstrapOpts): Promise<void>;
|