@nickmeriano/task 0.8.0 → 0.9.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 +65 -22
- package/dist/asks.test.d.ts +17 -0
- package/dist/asks.test.d.ts.map +1 -0
- package/dist/asks.test.js +278 -0
- package/dist/asks.test.js.map +1 -0
- package/dist/check.d.ts +3 -2
- package/dist/check.d.ts.map +1 -1
- package/dist/check.js +99 -60
- package/dist/check.js.map +1 -1
- package/dist/check.test.js +99 -60
- package/dist/check.test.js.map +1 -1
- package/dist/claim-io.d.ts +73 -0
- package/dist/claim-io.d.ts.map +1 -0
- package/dist/claim-io.js +344 -0
- package/dist/claim-io.js.map +1 -0
- package/dist/claim.d.ts +21 -22
- package/dist/claim.d.ts.map +1 -1
- package/dist/claim.js +58 -83
- package/dist/claim.js.map +1 -1
- package/dist/claim.test.d.ts +2 -2
- package/dist/claim.test.js +111 -94
- package/dist/claim.test.js.map +1 -1
- package/dist/cli.js +241 -64
- package/dist/cli.js.map +1 -1
- package/dist/file-store.d.ts +70 -24
- package/dist/file-store.d.ts.map +1 -1
- package/dist/file-store.js +319 -141
- package/dist/file-store.js.map +1 -1
- package/dist/git-serve.d.ts +183 -0
- package/dist/git-serve.d.ts.map +1 -0
- package/dist/git-serve.js +503 -0
- package/dist/git-serve.js.map +1 -0
- package/dist/git-serve.test.d.ts +16 -0
- package/dist/git-serve.test.d.ts.map +1 -0
- package/dist/git-serve.test.js +183 -0
- package/dist/git-serve.test.js.map +1 -0
- package/dist/git.d.ts +65 -0
- package/dist/git.d.ts.map +1 -0
- package/dist/git.js +114 -0
- package/dist/git.js.map +1 -0
- package/dist/id.d.ts +39 -0
- package/dist/id.d.ts.map +1 -0
- package/dist/id.js +67 -0
- package/dist/id.js.map +1 -0
- package/dist/inbox.d.ts +41 -0
- package/dist/inbox.d.ts.map +1 -0
- package/dist/inbox.js +56 -0
- package/dist/inbox.js.map +1 -0
- package/dist/overview.d.ts +9 -0
- package/dist/overview.d.ts.map +1 -1
- package/dist/overview.js +19 -11
- package/dist/overview.js.map +1 -1
- package/dist/overview.test.js +6 -5
- package/dist/overview.test.js.map +1 -1
- package/dist/promote.test.d.ts +3 -2
- package/dist/promote.test.d.ts.map +1 -1
- package/dist/promote.test.js +29 -31
- package/dist/promote.test.js.map +1 -1
- package/dist/publish.d.ts +2 -17
- package/dist/publish.d.ts.map +1 -1
- package/dist/publish.js +4 -49
- package/dist/publish.js.map +1 -1
- package/dist/search.d.ts +3 -1
- package/dist/search.d.ts.map +1 -1
- package/dist/search.js +15 -2
- package/dist/search.js.map +1 -1
- package/dist/search.test.js +9 -9
- package/dist/search.test.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +218 -21
- package/dist/server.js.map +1 -1
- package/dist/store.d.ts +28 -14
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js.map +1 -1
- package/dist/store.test.js +88 -75
- package/dist/store.test.js.map +1 -1
- package/dist/ticket-doc.d.ts +26 -10
- package/dist/ticket-doc.d.ts.map +1 -1
- package/dist/ticket-doc.js +71 -27
- package/dist/ticket-doc.js.map +1 -1
- package/dist/types.d.ts +51 -17
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
- package/skill/SKILL.md +70 -23
- package/src/asks.test.ts +355 -0
- package/src/check.test.ts +129 -72
- package/src/check.ts +101 -58
- package/src/claim-io.ts +401 -0
- package/src/claim.test.ts +141 -99
- package/src/claim.ts +69 -96
- package/src/cli.ts +251 -63
- package/src/file-store.ts +357 -145
- package/src/git-serve.test.ts +240 -0
- package/src/git-serve.ts +595 -0
- package/src/git.ts +141 -0
- package/src/id.ts +68 -0
- package/src/inbox.ts +77 -0
- package/src/overview.test.ts +6 -5
- package/src/overview.ts +25 -10
- package/src/promote.test.ts +40 -28
- package/src/publish.ts +6 -53
- package/src/search.test.ts +11 -11
- package/src/search.ts +17 -3
- package/src/server.ts +221 -19
- package/src/store.test.ts +95 -77
- package/src/store.ts +28 -13
- package/src/ticket-doc.ts +93 -30
- package/src/types.ts +52 -17
- package/ui/dist/assets/index-BjsorZOU.js +229 -0
- package/ui/dist/assets/index-CoKCUYic.css +1 -0
- package/ui/dist/index.html +2 -2
- package/ui/dist/assets/index-BJmOsOdR.js +0 -229
- package/ui/dist/assets/index-BoqQlqSU.css +0 -1
package/dist/claim.test.js
CHANGED
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
* 1. Two concurrent `task claim <same-id>`: exactly one exits 0, the other
|
|
7
7
|
* exits 1 — git's atomic ref creation is the lock.
|
|
8
8
|
* 2. Validation failures exit 2 before anything touches git.
|
|
9
|
-
* 3. `task list --claimable` is the queue: position order, minus blocked
|
|
10
|
-
*
|
|
9
|
+
* 3. `task list --claimable` is the queue: position order, minus blocked
|
|
10
|
+
* and already-claimed tickets — open asks never exclude a ticket.
|
|
11
11
|
* 4. `task claim --release` deletes the branch both sides and the ticket is
|
|
12
12
|
* claimable again.
|
|
13
13
|
*/
|
|
@@ -43,16 +43,16 @@ function cli(cwd, ...args) {
|
|
|
43
43
|
}
|
|
44
44
|
/**
|
|
45
45
|
* A bare origin holding a board with the claimable shapes:
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
46
|
+
* one "Ready one" todo
|
|
47
|
+
* two "Ready two" todo
|
|
48
|
+
* blocked "Blocked" todo, blocked by `one`
|
|
49
|
+
* person "For a person" todo, carrying an open ask
|
|
50
|
+
* parked "Still parked" backlog
|
|
51
|
+
* jumper "Jumped queue" todo, moved to the top of the column after
|
|
52
|
+
* creation — claimable order must be [jumper, one, two], proving
|
|
53
|
+
* position order beats creation order.
|
|
54
54
|
*/
|
|
55
|
-
function fixture(
|
|
55
|
+
function fixture(branchPrefix) {
|
|
56
56
|
const home = tempDir();
|
|
57
57
|
const bare = join(home, "origin.git");
|
|
58
58
|
sh(home, "git", "init", "--quiet", "--bare", "-b", "main", bare);
|
|
@@ -61,20 +61,29 @@ function fixture(claimPrefix) {
|
|
|
61
61
|
sh(seed, "git", "config", "user.name", "Test");
|
|
62
62
|
sh(seed, "git", "config", "user.email", "test@example.com");
|
|
63
63
|
const store = initProject(seed, { name: "claim board", prefix: "CLM" });
|
|
64
|
-
if (
|
|
64
|
+
if (branchPrefix !== undefined) {
|
|
65
65
|
const configPath = join(seed, ".task", "config.json");
|
|
66
66
|
const config = JSON.parse(readFileSync(configPath, "utf8"));
|
|
67
|
-
config.
|
|
67
|
+
config.claims = { branchPrefix };
|
|
68
68
|
writeFileSync(configPath, `${JSON.stringify(config, null, 2)}\n`);
|
|
69
69
|
}
|
|
70
|
-
store.create({ title: "Ready one", status: "todo" });
|
|
71
|
-
store.create({ title: "Ready two", status: "todo" });
|
|
72
|
-
store.create({ title: "Blocked", status: "todo", blockedBy: [
|
|
73
|
-
store.create({ title: "For a person", status: "todo"
|
|
74
|
-
store.
|
|
70
|
+
const one = store.create({ title: "Ready one", status: "todo" });
|
|
71
|
+
const two = store.create({ title: "Ready two", status: "todo" });
|
|
72
|
+
const blocked = store.create({ title: "Blocked", status: "todo", blockedBy: [one.key] });
|
|
73
|
+
const person = store.create({ title: "For a person", status: "todo" });
|
|
74
|
+
store.addAsk(person.key, "Approve the vendor contract", "claude");
|
|
75
|
+
const parked = store.create({ title: "Still parked", status: "backlog" });
|
|
75
76
|
const jumper = store.create({ title: "Jumped queue", status: "backlog" });
|
|
76
77
|
// A status move without an explicit slot lands on top of the new column.
|
|
77
|
-
store.update(jumper.
|
|
78
|
+
store.update(jumper.key, { status: "todo" });
|
|
79
|
+
const keys = {
|
|
80
|
+
one: one.key,
|
|
81
|
+
two: two.key,
|
|
82
|
+
blocked: blocked.key,
|
|
83
|
+
person: person.key,
|
|
84
|
+
parked: parked.key,
|
|
85
|
+
jumper: jumper.key,
|
|
86
|
+
};
|
|
78
87
|
sh(seed, "git", "add", "-A");
|
|
79
88
|
sh(seed, "git", "commit", "--quiet", "-m", "board");
|
|
80
89
|
sh(seed, "git", "push", "--quiet", "-u", "origin", "main");
|
|
@@ -86,113 +95,120 @@ function fixture(claimPrefix) {
|
|
|
86
95
|
sh(dir, "git", "config", "user.email", "test@example.com");
|
|
87
96
|
return dir;
|
|
88
97
|
};
|
|
89
|
-
return { bare, clone };
|
|
98
|
+
return { bare, clone, keys };
|
|
90
99
|
}
|
|
91
100
|
test("two concurrent claims of one ticket: exactly one wins", async () => {
|
|
92
|
-
const { bare, clone } = fixture();
|
|
101
|
+
const { bare, clone, keys } = fixture();
|
|
93
102
|
const a = clone();
|
|
94
103
|
const b = clone();
|
|
95
|
-
const [ra, rb] = await Promise.all([cli(a, "claim",
|
|
104
|
+
const [ra, rb] = await Promise.all([cli(a, "claim", keys.one), cli(b, "claim", keys.one)]);
|
|
96
105
|
assert.deepEqual([ra.code, rb.code].sort(), [0, 1], `a: ${ra.stderr}\nb: ${rb.stderr}`);
|
|
97
106
|
const winner = ra.code === 0 ? a : b;
|
|
98
107
|
const loser = ra.code === 0 ? rb : ra;
|
|
99
108
|
assert.match(loser.stderr, /already claimed|rejected/);
|
|
100
109
|
// The winner is left on the claim branch, flip committed and pushed.
|
|
101
|
-
|
|
102
|
-
assert.
|
|
103
|
-
assert.match(
|
|
110
|
+
const branch = `task/claim/clm-${keys.one}`;
|
|
111
|
+
assert.equal(sh(winner, "git", "rev-parse", "--abbrev-ref", "HEAD"), branch);
|
|
112
|
+
assert.match(readFileSync(join(winner, ".task", "tickets", keys.one, "ticket.md"), "utf8"), /status: in_progress/);
|
|
113
|
+
assert.ok(sh(winner, "git", "ls-remote", "--heads", "origin", branch).includes(`refs/heads/${branch}`));
|
|
104
114
|
// Origin's default branch never saw the flip — the claim rides the branch.
|
|
105
115
|
assert.equal(sh(winner, "git", "diff", "--stat", "origin/main..HEAD", "--", "README.md"), "");
|
|
106
|
-
assert.match(sh(winner, "git", "show",
|
|
116
|
+
assert.match(sh(winner, "git", "show", `origin/main:.task/tickets/${keys.one}/ticket.md`), /status: todo/);
|
|
107
117
|
void bare;
|
|
108
118
|
});
|
|
109
119
|
test("unclaimable tickets exit 2, before anything touches origin", async () => {
|
|
110
|
-
const { clone } = fixture();
|
|
120
|
+
const { clone, keys } = fixture();
|
|
111
121
|
const dir = clone();
|
|
112
|
-
assert.equal((await cli(dir, "claim",
|
|
113
|
-
assert.equal((await cli(dir, "claim",
|
|
114
|
-
assert.equal((await cli(dir, "claim", "
|
|
115
|
-
assert.
|
|
116
|
-
assert.match((await cli(dir, "claim", "3")).stderr, /blocked by CLM-1/);
|
|
122
|
+
assert.equal((await cli(dir, "claim", keys.parked)).code, 2); // backlog
|
|
123
|
+
assert.equal((await cli(dir, "claim", keys.blocked)).code, 2); // blocked
|
|
124
|
+
assert.equal((await cli(dir, "claim", "zz9zz")).code, 2); // missing
|
|
125
|
+
assert.match((await cli(dir, "claim", keys.blocked)).stderr, new RegExp(`blocked by CLM-${keys.one}`));
|
|
117
126
|
// A dirty tree refuses too — claiming switches branches. Only *tracked*
|
|
118
127
|
// modifications count: untracked files ride a branch switch untouched
|
|
119
128
|
// (release deliberately leaves one — the reason comment).
|
|
120
129
|
const gitignore = join(dir, ".task", ".gitignore");
|
|
121
130
|
writeFileSync(gitignore, `${readFileSync(gitignore, "utf8")}\nwip\n`);
|
|
122
|
-
const dirty = await cli(dir, "claim",
|
|
131
|
+
const dirty = await cli(dir, "claim", keys.two);
|
|
123
132
|
assert.equal(dirty.code, 2);
|
|
124
133
|
assert.match(dirty.stderr, /working tree is dirty/);
|
|
125
134
|
sh(dir, "git", "checkout", "--", ".task/.gitignore");
|
|
126
135
|
writeFileSync(join(dir, "scratch.txt"), "untracked is fine");
|
|
127
|
-
assert.equal((await cli(dir, "claim",
|
|
136
|
+
assert.equal((await cli(dir, "claim", keys.two)).code, 0);
|
|
128
137
|
// Nothing above created a stray claim branch for the failed ids.
|
|
129
138
|
const remote = sh(dir, "git", "ls-remote", "--heads", "origin", "task/claim/*");
|
|
130
|
-
assert.deepEqual(remote.split("\n").map((l) => l.split("refs/heads/")[1]), [
|
|
139
|
+
assert.deepEqual(remote.split("\n").map((l) => l.split("refs/heads/")[1]), [`task/claim/clm-${keys.two}`]);
|
|
131
140
|
});
|
|
132
141
|
test("list --claimable is the queue: position order, minus everything unclaimable", async () => {
|
|
133
|
-
const { clone } = fixture();
|
|
142
|
+
const { clone, keys } = fixture();
|
|
134
143
|
const a = clone();
|
|
135
|
-
assert.equal((await cli(a, "claim",
|
|
144
|
+
assert.equal((await cli(a, "claim", keys.jumper)).code, 0);
|
|
136
145
|
const b = clone();
|
|
137
146
|
const listed = await cli(b, "list", "--claimable", "--json");
|
|
138
147
|
assert.equal(listed.code, 0);
|
|
139
148
|
const { tasks } = JSON.parse(listed.stdout);
|
|
140
|
-
//
|
|
141
|
-
//
|
|
142
|
-
|
|
149
|
+
// jumper claimed, blocked blocked, parked not todo — position order keeps
|
|
150
|
+
// one before two (creation order within the column). person carries an open
|
|
151
|
+
// ask and is claimable anyway: asks gate done, not claim.
|
|
152
|
+
assert.deepEqual(tasks.map((t) => t.key), [keys.one, keys.two, keys.person]);
|
|
143
153
|
assert.equal((await cli(b, "list", "--claimable", "--status", "todo")).code, 1);
|
|
144
154
|
});
|
|
145
155
|
test("release deletes the branch everywhere and reopens the claim", async () => {
|
|
146
|
-
const { clone } = fixture();
|
|
156
|
+
const { clone, keys } = fixture();
|
|
147
157
|
const dir = clone();
|
|
148
|
-
assert.equal((await cli(dir, "claim",
|
|
149
|
-
assert.equal((await cli(dir, "claim",
|
|
150
|
-
const released = await cli(dir, "claim", "--release",
|
|
158
|
+
assert.equal((await cli(dir, "claim", keys.two)).code, 0);
|
|
159
|
+
assert.equal((await cli(dir, "claim", keys.two)).code, 1); // locally claimed too
|
|
160
|
+
const released = await cli(dir, "claim", "--release", keys.two, "--comment", "trying another shape");
|
|
151
161
|
assert.equal(released.code, 0, released.stderr);
|
|
152
|
-
assert.
|
|
162
|
+
assert.ok(released.stdout.includes(`released CLM-${keys.two}`), released.stdout);
|
|
153
163
|
// Back on the default branch, branch gone on both sides, ticket todo again.
|
|
154
164
|
assert.equal(sh(dir, "git", "rev-parse", "--abbrev-ref", "HEAD"), "main");
|
|
155
|
-
assert.equal(sh(dir, "git", "ls-remote", "--heads", "origin",
|
|
156
|
-
assert.match(readFileSync(join(dir, ".task", "tickets",
|
|
157
|
-
assert.equal((await cli(dir, "claim",
|
|
165
|
+
assert.equal(sh(dir, "git", "ls-remote", "--heads", "origin", `task/claim/clm-${keys.two}`), "");
|
|
166
|
+
assert.match(readFileSync(join(dir, ".task", "tickets", keys.two, "ticket.md"), "utf8"), /status: todo/);
|
|
167
|
+
assert.equal((await cli(dir, "claim", keys.two)).code, 0);
|
|
158
168
|
// Releasing an unclaimed ticket is a quiet no-op, not an error.
|
|
159
|
-
const noop = await cli(dir, "claim", "--release",
|
|
169
|
+
const noop = await cli(dir, "claim", "--release", keys.one, "--comment", "noop");
|
|
160
170
|
assert.equal(noop.code, 0);
|
|
161
171
|
assert.match(noop.stdout, /wasn't claimed/);
|
|
162
172
|
});
|
|
163
|
-
test("a configured
|
|
164
|
-
const { clone } = fixture("claude/task/");
|
|
173
|
+
test("a configured claims.branchPrefix moves the whole namespace", async () => {
|
|
174
|
+
const { clone, keys } = fixture("claude/task/");
|
|
165
175
|
const dir = clone();
|
|
166
|
-
assert.equal((await cli(dir, "claim",
|
|
167
|
-
assert.equal(sh(dir, "git", "rev-parse", "--abbrev-ref", "HEAD"),
|
|
168
|
-
assert.
|
|
176
|
+
assert.equal((await cli(dir, "claim", keys.one)).code, 0);
|
|
177
|
+
assert.equal(sh(dir, "git", "rev-parse", "--abbrev-ref", "HEAD"), `claude/task/clm-${keys.one}`);
|
|
178
|
+
assert.ok(sh(dir, "git", "ls-remote", "--heads", "origin", "claude/task/*").includes(`refs/heads/claude/task/clm-${keys.one}`));
|
|
169
179
|
// Every side of the feature reads the same key: the queue looks for claims
|
|
170
180
|
// under the configured namespace, and release deletes there too.
|
|
171
181
|
const other = clone();
|
|
172
182
|
const listed = await cli(other, "list", "--claimable", "--json");
|
|
173
183
|
const { tasks } = JSON.parse(listed.stdout);
|
|
174
|
-
assert.deepEqual(tasks.map((t) => t.
|
|
175
|
-
assert.equal((await cli(other, "claim",
|
|
176
|
-
assert.equal((await cli(dir, "claim", "--release",
|
|
184
|
+
assert.deepEqual(tasks.map((t) => t.key), [keys.jumper, keys.two, keys.person]);
|
|
185
|
+
assert.equal((await cli(other, "claim", keys.one)).code, 1);
|
|
186
|
+
assert.equal((await cli(dir, "claim", "--release", keys.one, "--comment", "handing it back")).code, 0);
|
|
177
187
|
assert.equal(sh(dir, "git", "ls-remote", "--heads", "origin", "claude/task/*"), "");
|
|
178
188
|
// A missing trailing slash is forgiven; a malformed value fails loudly.
|
|
179
189
|
const bad = clone();
|
|
180
190
|
const configPath = join(bad, ".task", "config.json");
|
|
181
191
|
const config = JSON.parse(readFileSync(configPath, "utf8"));
|
|
182
|
-
config.
|
|
192
|
+
config.claims = { branchPrefix: "spaces are not refs/" };
|
|
183
193
|
writeFileSync(configPath, `${JSON.stringify(config, null, 2)}\n`);
|
|
184
194
|
sh(bad, "git", "commit", "--quiet", "-am", "bad prefix");
|
|
185
|
-
const invalid = await cli(bad, "claim",
|
|
195
|
+
const invalid = await cli(bad, "claim", keys.two);
|
|
186
196
|
assert.equal(invalid.code, 2);
|
|
187
197
|
assert.match(invalid.stderr, /invalid claims\.branchPrefix/);
|
|
198
|
+
// The retired pre-0.8 `claimPrefix` spelling is not honored (TAS-41): a
|
|
199
|
+
// board carrying only it refuses by name rather than silently defaulting
|
|
200
|
+
// the lock convention out from under its workers.
|
|
201
|
+
const retired = clone();
|
|
202
|
+
const retiredPath = join(retired, ".task", "config.json");
|
|
203
|
+
const retiredConfig = JSON.parse(readFileSync(retiredPath, "utf8"));
|
|
204
|
+
delete retiredConfig.claims;
|
|
205
|
+
retiredConfig.claimPrefix = "claude/task/";
|
|
206
|
+
writeFileSync(retiredPath, `${JSON.stringify(retiredConfig, null, 2)}\n`);
|
|
207
|
+
sh(retired, "git", "commit", "--quiet", "-am", "retired key");
|
|
208
|
+
const refused = await cli(retired, "claim", keys.two);
|
|
209
|
+
assert.equal(refused.code, 2);
|
|
210
|
+
assert.match(refused.stderr, /pre-0\.8 spelling and is no longer read/);
|
|
188
211
|
});
|
|
189
|
-
/**
|
|
190
|
-
* A monorepo with two boards for the multi-board selection paths (TAS-27):
|
|
191
|
-
* a root board (ROO, one ready ticket) and a nested one under pkg/ (NES,
|
|
192
|
-
* one ready ticket). The root config carries the new `claims` block and,
|
|
193
|
-
* optionally, the top-level `boards` list — NES deliberately ahead of ROO,
|
|
194
|
-
* so priority provably follows list order, not nearness.
|
|
195
|
-
*/
|
|
196
212
|
function multiFixture(options = {}) {
|
|
197
213
|
const home = tempDir();
|
|
198
214
|
const bare = join(home, "origin.git");
|
|
@@ -208,10 +224,10 @@ function multiFixture(options = {}) {
|
|
|
208
224
|
config.boards = options.boards;
|
|
209
225
|
config.claims = { branchPrefix: "task/claim/", maxOpenCount: options.maxOpenCount };
|
|
210
226
|
writeFileSync(configPath, `${JSON.stringify(config, null, 2)}\n`);
|
|
211
|
-
root.create({ title: "Root ready", status: "todo" });
|
|
227
|
+
const rootKey = root.create({ title: "Root ready", status: "todo" }).key;
|
|
212
228
|
mkdirSync(join(seed, "pkg"), { recursive: true });
|
|
213
229
|
const nested = initProject(join(seed, "pkg"), { name: "nested board", prefix: "NES" });
|
|
214
|
-
nested.create({ title: "Nested ready", status: "todo" });
|
|
230
|
+
const nestedKey = nested.create({ title: "Nested ready", status: "todo" }).key;
|
|
215
231
|
sh(seed, "git", "add", "-A");
|
|
216
232
|
sh(seed, "git", "commit", "--quiet", "-m", "boards");
|
|
217
233
|
sh(seed, "git", "push", "--quiet", "-u", "origin", "main");
|
|
@@ -223,10 +239,10 @@ function multiFixture(options = {}) {
|
|
|
223
239
|
sh(dir, "git", "config", "user.email", "test@example.com");
|
|
224
240
|
return dir;
|
|
225
241
|
};
|
|
226
|
-
return { bare, clone };
|
|
242
|
+
return { bare, clone, rootKey, nestedKey };
|
|
227
243
|
}
|
|
228
244
|
test("claim --next drains the queue in position order and exits 1 when empty", async () => {
|
|
229
|
-
const { clone } = fixture();
|
|
245
|
+
const { clone, keys } = fixture();
|
|
230
246
|
const dir = clone();
|
|
231
247
|
const order = [];
|
|
232
248
|
for (;;) {
|
|
@@ -237,12 +253,13 @@ test("claim --next drains the queue in position order and exits 1 when empty", a
|
|
|
237
253
|
}
|
|
238
254
|
assert.equal(result.code, 0, result.stderr);
|
|
239
255
|
const { task, branch } = JSON.parse(result.stdout);
|
|
240
|
-
order.push(task.
|
|
256
|
+
order.push(task.key);
|
|
241
257
|
assert.equal(sh(dir, "git", "rev-parse", "--abbrev-ref", "HEAD"), branch);
|
|
242
258
|
}
|
|
243
|
-
// The jumper leads (position order), then creation order; blocked
|
|
244
|
-
//
|
|
245
|
-
|
|
259
|
+
// The jumper leads (position order), then creation order; blocked and
|
|
260
|
+
// backlog tickets never surface, while the open ask on `person` doesn't
|
|
261
|
+
// keep it out of the queue.
|
|
262
|
+
assert.deepEqual(order, [keys.jumper, keys.one, keys.two, keys.person]);
|
|
246
263
|
});
|
|
247
264
|
test("two concurrent claim --next calls land on different tickets", async () => {
|
|
248
265
|
const { clone } = fixture();
|
|
@@ -258,40 +275,40 @@ test("two concurrent claim --next calls land on different tickets", async () =>
|
|
|
258
275
|
assert.notEqual(ids[0], ids[1], `both claimed ${ids[0]}`);
|
|
259
276
|
});
|
|
260
277
|
test("--next walks the root boards list in priority order; --board overrides it", async () => {
|
|
261
|
-
const { clone } = multiFixture({ boards: ["NES", "ROO"] });
|
|
278
|
+
const { clone, rootKey, nestedKey } = multiFixture({ boards: ["NES", "ROO"] });
|
|
262
279
|
const a = clone();
|
|
263
280
|
// list --claimable reads the same scope, in the same order.
|
|
264
281
|
const listed = await cli(a, "list", "--claimable", "--json");
|
|
265
282
|
assert.equal(listed.code, 0, listed.stderr);
|
|
266
283
|
const { tasks } = JSON.parse(listed.stdout);
|
|
267
|
-
assert.deepEqual(tasks.map((t) => t.id), [
|
|
284
|
+
assert.deepEqual(tasks.map((t) => t.id), [`NES-${nestedKey}`, `ROO-${rootKey}`]);
|
|
268
285
|
// The nested board wins despite the root board being nearest.
|
|
269
286
|
const next = await cli(a, "claim", "--next", "--json");
|
|
270
287
|
assert.equal(next.code, 0, next.stderr);
|
|
271
288
|
const claimed = JSON.parse(next.stdout);
|
|
272
|
-
assert.equal(claimed.task.id,
|
|
273
|
-
assert.equal(claimed.branch,
|
|
289
|
+
assert.equal(claimed.task.id, `NES-${nestedKey}`);
|
|
290
|
+
assert.equal(claimed.branch, `task/claim/nes-${nestedKey}`);
|
|
274
291
|
// An explicit --board list is the whole scope, in the given order.
|
|
275
292
|
const b = clone();
|
|
276
293
|
const overridden = await cli(b, "claim", "--next", "--board", "ROO", "--json");
|
|
277
294
|
assert.equal(overridden.code, 0, overridden.stderr);
|
|
278
|
-
assert.equal(JSON.parse(overridden.stdout).task.id,
|
|
295
|
+
assert.equal(JSON.parse(overridden.stdout).task.id, `ROO-${rootKey}`);
|
|
279
296
|
const unknown = await cli(b, "claim", "--next", "--board", "NOPE");
|
|
280
297
|
assert.equal(unknown.code, 2);
|
|
281
298
|
assert.match(unknown.stderr, /no board with prefix NOPE/);
|
|
282
299
|
});
|
|
283
300
|
test("without a boards list, --next sees the nearest board only", async () => {
|
|
284
|
-
const { clone } = multiFixture();
|
|
301
|
+
const { clone, rootKey } = multiFixture();
|
|
285
302
|
const dir = clone();
|
|
286
303
|
const next = await cli(dir, "claim", "--next", "--json");
|
|
287
304
|
assert.equal(next.code, 0, next.stderr);
|
|
288
|
-
assert.equal(JSON.parse(next.stdout).task.id,
|
|
305
|
+
assert.equal(JSON.parse(next.stdout).task.id, `ROO-${rootKey}`);
|
|
289
306
|
// ROO's queue is drained and NES never entered the scope.
|
|
290
307
|
const empty = await cli(dir, "claim", "--next", "--json");
|
|
291
308
|
assert.equal(empty.code, 1);
|
|
292
309
|
});
|
|
293
310
|
test("maxOpenCount caps every claim repo-wide; --force is the escape", async () => {
|
|
294
|
-
const { clone } = multiFixture({ boards: ["NES", "ROO"], maxOpenCount: 1 });
|
|
311
|
+
const { clone, rootKey } = multiFixture({ boards: ["NES", "ROO"], maxOpenCount: 1 });
|
|
295
312
|
const a = clone();
|
|
296
313
|
assert.equal((await cli(a, "claim", "--next", "--json")).code, 0);
|
|
297
314
|
// At the cap, --next and explicit-id claims both refuse with exit 2 —
|
|
@@ -300,40 +317,40 @@ test("maxOpenCount caps every claim repo-wide; --force is the escape", async ()
|
|
|
300
317
|
const capped = await cli(b, "claim", "--next");
|
|
301
318
|
assert.equal(capped.code, 2);
|
|
302
319
|
assert.match(capped.stderr, /maxOpenCount cap \(1\)/);
|
|
303
|
-
const explicit = await cli(b, "claim",
|
|
320
|
+
const explicit = await cli(b, "claim", `ROO-${rootKey}`);
|
|
304
321
|
assert.equal(explicit.code, 2);
|
|
305
322
|
assert.match(explicit.stderr, /maxOpenCount cap \(1\)/);
|
|
306
323
|
const forced = await cli(b, "claim", "--next", "--force", "--json");
|
|
307
324
|
assert.equal(forced.code, 0, forced.stderr);
|
|
308
|
-
assert.equal(JSON.parse(forced.stdout).task.id,
|
|
325
|
+
assert.equal(JSON.parse(forced.stdout).task.id, `ROO-${rootKey}`);
|
|
309
326
|
});
|
|
310
327
|
test("release requires a reason and leaves it as a comment on the ticket", async () => {
|
|
311
|
-
const { clone } = fixture();
|
|
328
|
+
const { clone, keys } = fixture();
|
|
312
329
|
const dir = clone();
|
|
313
|
-
assert.equal((await cli(dir, "claim",
|
|
330
|
+
assert.equal((await cli(dir, "claim", keys.one)).code, 0);
|
|
314
331
|
// No comment, and an empty one, are both refused before anything happens.
|
|
315
|
-
const missing = await cli(dir, "claim", "--release",
|
|
332
|
+
const missing = await cli(dir, "claim", "--release", keys.one);
|
|
316
333
|
assert.equal(missing.code, 1);
|
|
317
334
|
assert.match(missing.stderr, /requires --comment/);
|
|
318
|
-
const empty = await cli(dir, "claim", "--release",
|
|
335
|
+
const empty = await cli(dir, "claim", "--release", keys.one, "--comment", "");
|
|
319
336
|
assert.equal(empty.code, 1);
|
|
320
337
|
assert.match(empty.stderr, /requires --comment/);
|
|
321
|
-
assert.
|
|
322
|
-
const released = await cli(dir, "claim", "--release",
|
|
338
|
+
assert.ok(sh(dir, "git", "ls-remote", "--heads", "origin", `task/claim/clm-${keys.one}`).includes(`clm-${keys.one}`));
|
|
339
|
+
const released = await cli(dir, "claim", "--release", keys.one, "--comment", "the migration kept flaking — needs a fixture, not a retry", "--author", "claude");
|
|
323
340
|
assert.equal(released.code, 0, released.stderr);
|
|
324
341
|
// The reason survives the branch: an ordinary attributed comment, sitting
|
|
325
342
|
// uncommitted in the working tree on the default branch.
|
|
326
|
-
const shown = await cli(dir, "show",
|
|
343
|
+
const shown = await cli(dir, "show", keys.one, "--json");
|
|
327
344
|
const { comments } = JSON.parse(shown.stdout);
|
|
328
345
|
assert.equal(comments.length, 1);
|
|
329
346
|
assert.equal(comments[0].author, "claude");
|
|
330
347
|
assert.match(comments[0].body, /kept flaking/);
|
|
331
|
-
assert.
|
|
348
|
+
assert.ok(sh(dir, "git", "status", "--porcelain").includes(`tickets/${keys.one}/comments`));
|
|
332
349
|
// Releasing an unclaimed ticket stays a no-op — no second comment.
|
|
333
|
-
const noop = await cli(dir, "claim", "--release",
|
|
350
|
+
const noop = await cli(dir, "claim", "--release", keys.one, "--comment", "again");
|
|
334
351
|
assert.equal(noop.code, 0);
|
|
335
352
|
assert.match(noop.stdout, /wasn't claimed/);
|
|
336
|
-
const after = await cli(dir, "show",
|
|
353
|
+
const after = await cli(dir, "show", keys.one, "--json");
|
|
337
354
|
assert.equal(JSON.parse(after.stdout).comments.length, 1);
|
|
338
355
|
});
|
|
339
356
|
//# sourceMappingURL=claim.test.js.map
|
package/dist/claim.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claim.test.js","sourceRoot":"","sources":["../src/claim.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,MAAM,MAAM,oBAAoB,CAAA;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAE7C,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AAE/D,SAAS,OAAO;IACd,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAA;IAC3D,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IACvE,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAS,EAAE,CAAC,GAAW,EAAE,OAAe,EAAE,GAAG,IAAc;IACzD,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAA;IAClE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;IAC1E,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;AAC7B,CAAC;AAQD,kEAAkE;AAClE,SAAS,GAAG,CAAC,GAAW,EAAE,GAAG,IAAc;IACzC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,QAAQ,CACN,OAAO,CAAC,QAAQ,EAChB,CAAC,4BAA4B,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,EAC5C,EAAE,GAAG,EAAE,EACP,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YACxB,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAE,KAA2B,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;QACzF,CAAC,CACF,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAOD;;;;;;;;;;GAUG;AACH,SAAS,OAAO,CAAC,WAAoB;IACnC,MAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IACtB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA;IACrC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IAEhE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAC/B,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IAC/C,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,CAAA;IAC9C,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,kBAAkB,CAAC,CAAA;IAC3D,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;IACvE,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,aAAa,CAAC,CAAA;QACrD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAA4B,CAAA;QACtF,MAAM,CAAC,WAAW,GAAG,WAAW,CAAA;QAChC,aAAa,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;IACnE,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IACpD,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IACpD,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IAClE,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;IACzE,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAA;IAC1D,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAA;IACzE,yEAAyE;IACzE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IAC/C,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IAC5B,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;IACnD,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;IAE1D,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,MAAM,KAAK,GAAG,GAAW,EAAE;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAA;QAC3C,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;QAC9C,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,CAAA;QAC7C,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,kBAAkB,CAAC,CAAA;QAC1D,OAAO,GAAG,CAAA;IACZ,CAAC,CAAA;IACD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;AACxB,CAAC;AAED,IAAI,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;IACvE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAA;IACjC,MAAM,CAAC,GAAG,KAAK,EAAE,CAAA;IACjB,MAAM,CAAC,GAAG,KAAK,EAAE,CAAA;IAEjB,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;IAChF,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,MAAM,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,CAAA;IAEvF,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACpC,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IACrC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAA;IAEtD,qEAAqE;IACrE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,kBAAkB,CAAC,CAAA;IACxF,MAAM,CAAC,KAAK,CACV,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,EACxE,qBAAqB,CACtB,CAAA;IACD,MAAM,CAAC,KAAK,CACV,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,kBAAkB,CAAC,EACvE,iCAAiC,CAClC,CAAA;IACD,2EAA2E;IAC3E,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,mBAAmB,EAAE,IAAI,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,CAAA;IAC7F,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,uCAAuC,CAAC,EAAE,cAAc,CAAC,CAAA;IAChG,KAAK,IAAI,CAAA;AACX,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;IAC5E,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAA;IAC3B,MAAM,GAAG,GAAG,KAAK,EAAE,CAAA;IAEnB,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA,CAAC,UAAU;IAC/D,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA,CAAC,UAAU;IAC/D,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA,CAAC,gBAAgB;IACrE,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA,CAAC,UAAU;IAChE,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAA;IAEvE,wEAAwE;IACxE,sEAAsE;IACtE,0DAA0D;IAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,YAAY,CAAC,CAAA;IAClD,aAAa,CAAC,SAAS,EAAE,GAAG,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;IACrE,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,CAAA;IAC1C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAC3B,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAA;IACnD,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAA;IACpD,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,EAAE,mBAAmB,CAAC,CAAA;IAC5D,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAEpD,iEAAiE;IACjE,MAAM,MAAM,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAA;IAC/E,MAAM,CAAC,SAAS,CACd,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EACxD,CAAC,kBAAkB,CAAC,CACrB,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,6EAA6E,EAAE,KAAK,IAAI,EAAE;IAC7F,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAA;IAC3B,MAAM,CAAC,GAAG,KAAK,EAAE,CAAA;IACjB,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAElD,MAAM,CAAC,GAAG,KAAK,EAAE,CAAA;IACjB,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAA;IAC5D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAC5B,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAoC,CAAA;IAC9E,yEAAyE;IACzE,iDAAiD;IACjD,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAEpD,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;AACjF,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;IAC7E,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAA;IAC3B,MAAM,GAAG,GAAG,KAAK,EAAE,CAAA;IACnB,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IACpD,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA,CAAC,sBAAsB;IAE3E,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE,sBAAsB,CAAC,CAAA;IAC/F,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;IAC/C,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IAE/C,4EAA4E;IAC5E,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAA;IACzE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,kBAAkB,CAAC,EAAE,EAAE,CAAC,CAAA;IACtF,MAAM,CAAC,KAAK,CACV,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,EACrE,cAAc,CACf,CAAA;IACD,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAEpD,gEAAgE;IAChE,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,CAAC,CAAA;IAC3E,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAC1B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;AAC7C,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;IACpE,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;IACzC,MAAM,GAAG,GAAG,KAAK,EAAE,CAAA;IAEnB,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IACpD,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,mBAAmB,CAAC,CAAA;IACtF,MAAM,CAAC,KAAK,CACV,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,CAAC,EACjE,kCAAkC,CACnC,CAAA;IAED,2EAA2E;IAC3E,iEAAiE;IACjE,MAAM,KAAK,GAAG,KAAK,EAAE,CAAA;IACrB,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAA;IAChE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAoC,CAAA;IAC9E,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACpD,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IACtD,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IACjG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,CAAC,EAAE,EAAE,CAAC,CAAA;IAEnF,wEAAwE;IACxE,MAAM,GAAG,GAAG,KAAK,EAAE,CAAA;IACnB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,aAAa,CAAC,CAAA;IACpD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAA4B,CAAA;IACtF,MAAM,CAAC,WAAW,GAAG,sBAAsB,CAAA;IAC3C,aAAa,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;IACjE,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,CAAC,CAAA;IACxD,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,CAAA;IAC5C,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAC7B,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAAA;AAC9D,CAAC,CAAC,CAAA;AAEF;;;;;;GAMG;AACH,SAAS,YAAY,CAAC,UAAwD,EAAE;IAC9E,MAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IACtB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA;IACrC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IAEhE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAC/B,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IAC/C,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,CAAA;IAC9C,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,kBAAkB,CAAC,CAAA;IAE3D,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;IACrE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,aAAa,CAAC,CAAA;IACrD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAA4B,CAAA;IACtF,IAAI,OAAO,CAAC,MAAM;QAAE,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;IAClD,MAAM,CAAC,MAAM,GAAG,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAA;IACnF,aAAa,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;IACjE,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IAEpD,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACjD,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;IACtF,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IAExD,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IAC5B,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;IACpD,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;IAE1D,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,MAAM,KAAK,GAAG,GAAW,EAAE;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAA;QAC3C,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;QAC9C,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,CAAA;QAC7C,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,kBAAkB,CAAC,CAAA;QAC1D,OAAO,GAAG,CAAA;IACZ,CAAC,CAAA;IACD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;AACxB,CAAC;AAED,IAAI,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;IACxF,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAA;IAC3B,MAAM,GAAG,GAAG,KAAK,EAAE,CAAA;IAEnB,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,SAAS,CAAC;QACR,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;QAC1D,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACtB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;YAClD,MAAK;QACP,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;QAC3C,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAiD,CAAA;QAClG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACvB,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAA;IAC3E,CAAC;IACD,mEAAmE;IACnE,iDAAiD;IACjD,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AACpC,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;IAC7E,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAA;IAC3B,MAAM,CAAC,GAAG,KAAK,EAAE,CAAA;IACjB,MAAM,CAAC,GAAG,KAAK,EAAE,CAAA;IAEjB,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACjC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC;QACnC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC;KACpC,CAAC,CAAA;IACF,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAA;IACnC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAA;IACnC,MAAM,GAAG,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAA8B,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC3F,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,gBAAgB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;AAC3D,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,2EAA2E,EAAE,KAAK,IAAI,EAAE;IAC3F,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,CAAA;IAC1D,MAAM,CAAC,GAAG,KAAK,EAAE,CAAA;IAEjB,4DAA4D;IAC5D,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAA;IAC5D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;IAC3C,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAgC,CAAA;IAC1E,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA;IAE5D,8DAA8D;IAC9D,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACtD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IACvC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAA6C,CAAA;IACnF,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IACtC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAA;IAEhD,mEAAmE;IACnE,MAAM,CAAC,GAAG,KAAK,EAAE,CAAA;IACjB,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;IAC9E,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;IACnD,MAAM,CAAC,KAAK,CAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAA8B,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAE1F,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;IAClE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAC7B,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAA;AAC3D,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;IAC3E,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,EAAE,CAAA;IAChC,MAAM,GAAG,GAAG,KAAK,EAAE,CAAA;IAEnB,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACxD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IACvC,MAAM,CAAC,KAAK,CAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAA8B,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAEpF,0DAA0D;IAC1D,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACzD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;AAC7B,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;IAChF,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAA;IAC3E,MAAM,CAAC,GAAG,KAAK,EAAE,CAAA;IACjB,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAEjE,sEAAsE;IACtE,uEAAuE;IACvE,MAAM,CAAC,GAAG,KAAK,EAAE,CAAA;IACjB,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;IAC9C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAC5B,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAA;IACrD,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IAC/C,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAC9B,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAA;IAEvD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;IACnE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;IAC3C,MAAM,CAAC,KAAK,CAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAA8B,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;AACxF,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;IACpF,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAA;IAC3B,MAAM,GAAG,GAAG,KAAK,EAAE,CAAA;IACnB,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAEpD,0EAA0E;IAC1E,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC,CAAA;IACzD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAC7B,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;IAClD,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE,EAAE,CAAC,CAAA;IACxE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAC3B,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;IAChD,MAAM,CAAC,KAAK,CACV,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,kBAAkB,CAAC,EACpE,OAAO,CACR,CAAA;IAED,MAAM,QAAQ,GAAG,MAAM,GAAG,CACxB,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAC9B,WAAW,EAAE,2DAA2D,EACxE,UAAU,EAAE,QAAQ,CACrB,CAAA;IACD,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;IAE/C,0EAA0E;IAC1E,yDAAyD;IACzD,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAA;IACnD,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAE3C,CAAA;IACD,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IAChC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IAC1C,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,cAAc,CAAC,CAAA;IAC9C,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,CAAC,EAAE,sBAAsB,CAAC,CAAA;IAE7E,mEAAmE;IACnE,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;IAC5E,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAC1B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IAC3C,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAA;IACnD,MAAM,CAAC,KAAK,CAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAA6B,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;AACxF,CAAC,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"claim.test.js","sourceRoot":"","sources":["../src/claim.test.ts"],"names":[],"mappings":"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"}
|