@ethlete/agent-rules 0.1.0-next.17 → 0.1.0-next.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/README.md +14 -2
  3. package/content/hooks/subagent-model-policy.py +5 -3
  4. package/content/rules/app-styling.md +6 -1
  5. package/content/rules/subagent-models.md +7 -7
  6. package/content/skills/design-exploration/SKILL.md +3 -1
  7. package/content/skills/query/SKILL.md +10 -2
  8. package/content/skills/sdk-update/SKILL.md +5 -3
  9. package/content/skills/timetrack/SKILL.md +97 -27
  10. package/migrations/app-styling-utilities.md +44 -95
  11. package/migrations/list-state-query-form.md +12 -95
  12. package/migrations/nx-layout.md +6 -0
  13. package/migrations/sdk-components-over-hand-built-ui.md +16 -58
  14. package/migrations/search-query-field.md +12 -5
  15. package/migrations.json +5 -5
  16. package/package.json +1 -1
  17. package/src/lib/frontmatter.js +32 -5
  18. package/src/lib/frontmatter.js.map +1 -1
  19. package/src/lib/git-flow/parse.js +38 -12
  20. package/src/lib/git-flow/parse.js.map +1 -1
  21. package/src/lib/git-flow-repair.js +12 -1
  22. package/src/lib/git-flow-repair.js.map +1 -1
  23. package/src/lib/git.js +8 -2
  24. package/src/lib/git.js.map +1 -1
  25. package/src/lib/gitlab.js +11 -1
  26. package/src/lib/gitlab.js.map +1 -1
  27. package/src/lib/migrate.js +1 -1
  28. package/src/lib/migrate.js.map +1 -1
  29. package/src/lib/output-style.js +11 -3
  30. package/src/lib/output-style.js.map +1 -1
  31. package/src/lib/owned-paths.js +8 -2
  32. package/src/lib/owned-paths.js.map +1 -1
  33. package/src/lib/plan.js +20 -4
  34. package/src/lib/plan.js.map +1 -1
  35. package/src/lib/render.d.ts +4 -0
  36. package/src/lib/render.js +8 -2
  37. package/src/lib/render.js.map +1 -1
  38. package/src/lib/sync.js +3 -0
  39. package/src/lib/sync.js.map +1 -1
  40. package/src/lib/targets/codex.js +1 -1
  41. package/src/lib/targets/codex.js.map +1 -1
  42. package/src/lib/targets/copilot.js +1 -1
  43. package/src/lib/targets/copilot.js.map +1 -1
  44. package/src/lib/targets/git-hooks.js +2 -1
  45. package/src/lib/targets/git-hooks.js.map +1 -1
  46. package/src/lib/targets/hooks-shared.js +1 -1
  47. package/src/lib/targets/hooks-shared.js.map +1 -1
  48. package/src/lib/timetrack-command.js +316 -72
  49. package/src/lib/timetrack-command.js.map +1 -1
  50. package/src/lib/timetrack-snapshot.d.ts +55 -0
  51. package/src/lib/timetrack-snapshot.js +120 -0
  52. package/src/lib/timetrack-snapshot.js.map +1 -0
  53. package/src/lib/timetrack.d.ts +125 -23
  54. package/src/lib/timetrack.js +53 -17
  55. package/src/lib/timetrack.js.map +1 -1
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.timetrackSplitStandIn = exports.timetrackRenameStandIn = exports.timetrackRemoveStandIn = exports.timetrackStandIns = exports.timetrackResyncAgentSessions = exports.timetrackRules = exports.timetrackCalendarEvents = exports.timetrackTempoWorklogs = exports.timetrackEditDay = exports.timetrackDayRows = exports.timetrackDayEvents = exports.timetrackAddWorklog = exports.timetrackCreateIssue = exports.timetrackRepoProject = exports.timetrackSearch = exports.timetrackIssue = exports.timetrackInstance = exports.timetrackNaming = exports.timetrackStatus = exports.askTimetrack = exports.timetrackDiscoveryPath = void 0;
3
+ exports.timetrackApprovalStatus = exports.timetrackApplyStandInSplit = exports.timetrackSplitStandIn = exports.timetrackMergeStandIn = exports.timetrackRenameStandIn = exports.timetrackRemoveStandIn = exports.timetrackStandIns = exports.timetrackResyncAgentSessions = exports.timetrackRules = exports.timetrackCalendarEvents = exports.timetrackTempoDelete = exports.timetrackTempoSyncWrite = exports.timetrackTempoSync = exports.timetrackTempoWorklogs = exports.timetrackEditDay = exports.timetrackDayRows = exports.timetrackDayEvents = exports.timetrackAddWorklog = exports.timetrackCreateIssue = exports.timetrackRepoProject = exports.timetrackSearch = exports.timetrackIssue = exports.timetrackInstance = exports.timetrackNaming = exports.timetrackStatus = exports.askTimetrack = exports.timetrackClientName = exports.timetrackDiscoveryPath = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const crypto_1 = require("crypto");
6
6
  const fs_1 = require("fs");
@@ -13,7 +13,7 @@ const DISCOVERY_FILENAME = 'agent.json';
13
13
  * The contract version this client speaks. The app writes its own into the discovery file, and a
14
14
  * mismatch stops here rather than at a field that is missing for a reason nobody can see.
15
15
  */
16
- const PROTOCOL_VERSION = 2;
16
+ const PROTOCOL_VERSION = 3;
17
17
  /** A Jira search behind a slow instance is the long case; the app's own deadline is 60 seconds. */
18
18
  const TIMEOUT_MS = 70000;
19
19
  const PATH = '/agent';
@@ -64,6 +64,12 @@ const readDiscovery = () => {
64
64
  }
65
65
  return { version: discovery.version, port: discovery.port, token: discovery.token };
66
66
  };
67
+ /**
68
+ * The name the approval queue shows for this caller: `TIMETRACK_CLIENT` when set, Claude Code when it
69
+ * runs this, and nothing otherwise.
70
+ */
71
+ const timetrackClientName = () => { var _a; return ((_a = process.env['TIMETRACK_CLIENT']) === null || _a === void 0 ? void 0 : _a.trim()) || (process.env['CLAUDECODE'] ? 'Claude Code' : undefined); };
72
+ exports.timetrackClientName = timetrackClientName;
67
73
  const IMPOSTOR = [
68
74
  'Something other than Timetrack answers on the port its discovery file names.',
69
75
  'The app writes a new port and a new token at every start — restart Timetrack, then try again.',
@@ -104,13 +110,14 @@ const proveTheServer = (discovery) => tslib_1.__awaiter(void 0, void 0, void 0,
104
110
  */
105
111
  const askTimetrack = (request) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
106
112
  const discovery = readDiscovery();
113
+ const client = (0, exports.timetrackClientName)();
107
114
  yield proveTheServer(discovery);
108
115
  let response;
109
116
  try {
110
117
  response = yield fetch(`http://127.0.0.1:${discovery.port}${PATH}`, {
111
118
  method: 'POST',
112
119
  headers: { authorization: `Bearer ${discovery.token}`, 'content-type': 'application/json' },
113
- body: JSON.stringify(request),
120
+ body: JSON.stringify(client ? Object.assign(Object.assign({}, request), { client }) : request),
114
121
  redirect: 'error',
115
122
  signal: AbortSignal.timeout(TIMEOUT_MS),
116
123
  });
@@ -143,33 +150,50 @@ const timetrackSearch = (options) => tslib_1.__awaiter(void 0, void 0, void 0, f
143
150
  exports.timetrackSearch = timetrackSearch;
144
151
  const timetrackRepoProject = (repoPath) => (0, exports.askTimetrack)({ op: 'repo.project', repoPath });
145
152
  exports.timetrackRepoProject = timetrackRepoProject;
146
- const timetrackCreateIssue = (options) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { return (yield (0, exports.askTimetrack)(Object.assign({ op: 'jira.create' }, options))).issue; });
153
+ /** Queues a new issue, filed with the app's own ticket settings once the user approves it. */
154
+ const timetrackCreateIssue = (options) => (0, exports.askTimetrack)(Object.assign({ op: 'jira.create' }, options));
147
155
  exports.timetrackCreateIssue = timetrackCreateIssue;
148
- const timetrackAddWorklog = (options) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { return (yield (0, exports.askTimetrack)(Object.assign({ op: 'worklog.add' }, options))).worklog; });
156
+ /** Queues a row for the day it belongs to. It is a row on the day once approved, not a Tempo entry. */
157
+ const timetrackAddWorklog = (options) => (0, exports.askTimetrack)(Object.assign({ op: 'worklog.add' }, options));
149
158
  exports.timetrackAddWorklog = timetrackAddWorklog;
150
159
  const timetrackDayEvents = (day) => (0, exports.askTimetrack)({ op: 'day.events', day });
151
160
  exports.timetrackDayEvents = timetrackDayEvents;
152
161
  const timetrackDayRows = (day) => (0, exports.askTimetrack)({ op: 'day.rows', day });
153
162
  exports.timetrackDayRows = timetrackDayRows;
154
163
  /**
155
- * Makes the stated edits to a day's rows and answers the day as it reads afterwards.
164
+ * Queues the stated edits to a day's rows. Once approved, the result is the day as it reads afterwards.
156
165
  *
157
- * The app moves its own review to that day, so the user sees what changed. `applied` counts the edits
158
- * that found their row: a day the collectors keep changing can drop a row a caller read a moment ago.
166
+ * `applied` in that result counts the edits that found their row: a day the collectors keep changing
167
+ * can drop a row a caller read a moment ago.
159
168
  */
160
169
  const timetrackEditDay = (options) => (0, exports.askTimetrack)(Object.assign({ op: 'day.edits' }, options));
161
170
  exports.timetrackEditDay = timetrackEditDay;
162
171
  /** Reads the user's own Tempo worklogs from Tempo, both days included. The app caps the span at 92 days. */
163
172
  const timetrackTempoWorklogs = (options) => (0, exports.askTimetrack)(Object.assign({ op: 'tempo.worklogs' }, options));
164
173
  exports.timetrackTempoWorklogs = timetrackTempoWorklogs;
174
+ /**
175
+ * Plans a Tempo sync of one day exactly as the app's Sync page does. It writes nothing, so it is
176
+ * answered at once. The app moves its review to the day.
177
+ */
178
+ const timetrackTempoSync = (day) => (0, exports.askTimetrack)({ op: 'tempo.sync', day });
179
+ exports.timetrackTempoSync = timetrackTempoSync;
180
+ /** Queues the write of the plan whose hash the user confirmed. The app checks the hash again on approval. */
181
+ const timetrackTempoSyncWrite = (options) => (0, exports.askTimetrack)(Object.assign({ op: 'tempo.sync' }, options));
182
+ exports.timetrackTempoSyncWrite = timetrackTempoSyncWrite;
183
+ /**
184
+ * Queues the delete of one of the user's own Tempo worklogs. Once approved, the app refuses an id that
185
+ * is not among the account's own worklogs on `day`, and drops the ledger entry that owned it.
186
+ */
187
+ const timetrackTempoDelete = (options) => (0, exports.askTimetrack)(Object.assign({ op: 'tempo.delete' }, options));
188
+ exports.timetrackTempoDelete = timetrackTempoDelete;
165
189
  /** Reads the calendars the app watches, both days included. The app caps the span at 92 days. */
166
190
  const timetrackCalendarEvents = (options) => (0, exports.askTimetrack)(Object.assign({ op: 'calendar.events' }, options));
167
191
  exports.timetrackCalendarEvents = timetrackCalendarEvents;
168
192
  const timetrackRules = () => (0, exports.askTimetrack)({ op: 'settings.rules' });
169
193
  exports.timetrackRules = timetrackRules;
170
194
  /**
171
- * Asks the app to read the agent session logs under `paths` again, so sessions it dropped while no
172
- * project link held them are stored. The read runs in the background; the answer names the checkouts.
195
+ * Queues a read of the agent session logs under `paths` again, so sessions the app dropped while no
196
+ * project link held them are stored. Once approved, the read runs in the background.
173
197
  *
174
198
  * With `replace`, the re-read overwrites the samples, spend and prompts the store holds for those
175
199
  * sessions, which is how a parser fix reaches days already stored.
@@ -179,30 +203,42 @@ exports.timetrackResyncAgentSessions = timetrackResyncAgentSessions;
179
203
  const timetrackStandIns = () => tslib_1.__awaiter(void 0, void 0, void 0, function* () { return (yield (0, exports.askTimetrack)({ op: 'standIn.list' })).standIns; });
180
204
  exports.timetrackStandIns = timetrackStandIns;
181
205
  /**
182
- * Deletes one placeholder and answers with the list as it reads afterwards.
206
+ * Queues the delete of one placeholder. Once approved, the result is the list as it reads afterwards.
183
207
  *
184
208
  * The rule pointing at it goes with it. A record the app opened for one branch refuses that branch as
185
209
  * it goes, so no second one opens for it; a record naming no branch refuses nothing, and the next
186
210
  * pass may open one at whatever grain the day reads.
187
211
  */
188
- const timetrackRemoveStandIn = (id) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { return (yield (0, exports.askTimetrack)({ op: 'standIn.remove', id })).standIns; });
212
+ const timetrackRemoveStandIn = (id) => (0, exports.askTimetrack)({ op: 'standIn.remove', id });
189
213
  exports.timetrackRemoveStandIn = timetrackRemoveStandIn;
190
214
  /**
191
- * Gives one placeholder another name and answers with the list as it reads afterwards.
215
+ * Queues another name for one placeholder. Once approved, the result is the list as it reads afterwards.
192
216
  *
193
217
  * Only the name changes. The days it holds and the rules that name it stay, which is what a delete
194
218
  * and a fresh record would lose.
195
219
  */
196
- const timetrackRenameStandIn = (options) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { return (yield (0, exports.askTimetrack)(Object.assign({ op: 'standIn.rename' }, options))).standIns; });
220
+ const timetrackRenameStandIn = (options) => (0, exports.askTimetrack)(Object.assign({ op: 'standIn.rename' }, options));
197
221
  exports.timetrackRenameStandIn = timetrackRenameStandIn;
198
222
  /**
199
- * Cuts one placeholder into one per directory it turned out to cover.
223
+ * Queues the merge of one open placeholder into another. Once approved, the result is the list as it
224
+ * reads afterwards. The kept one takes the days and the rules of both.
225
+ */
226
+ const timetrackMergeStandIn = (options) => (0, exports.askTimetrack)(Object.assign({ op: 'standIn.merge' }, options));
227
+ exports.timetrackMergeStandIn = timetrackMergeStandIn;
228
+ /**
229
+ * Plans the cut of one placeholder into one per directory it turned out to cover, and writes nothing.
200
230
  *
201
- * Without `apply` it answers the plan and writes nothing. The commits come from the caller: one
231
+ * The commits come from the caller: one
202
232
  * collected before Timetrack read file paths carries none, so only `git log --name-only` can say.
203
233
  * A checkout whose commits name more directories than a grain can hold has no automatic reading,
204
234
  * and `paths` is how the user picks which of them are the pieces.
205
235
  */
206
- const timetrackSplitStandIn = (options) => (0, exports.askTimetrack)(Object.assign({ op: 'standIn.split' }, options));
236
+ const timetrackSplitStandIn = (options) => (0, exports.askTimetrack)(Object.assign(Object.assign({ op: 'standIn.split' }, options), { apply: false }));
207
237
  exports.timetrackSplitStandIn = timetrackSplitStandIn;
238
+ /** Queues the split `timetrackSplitStandIn` planned, with the same options. */
239
+ const timetrackApplyStandInSplit = (options) => (0, exports.askTimetrack)(Object.assign(Object.assign({ op: 'standIn.split' }, options), { apply: true }));
240
+ exports.timetrackApplyStandInSplit = timetrackApplyStandInSplit;
241
+ /** Where a write this caller queued stands, and what it answered once the user approved it. */
242
+ const timetrackApprovalStatus = (id) => (0, exports.askTimetrack)({ op: 'approval.status', id });
243
+ exports.timetrackApprovalStatus = timetrackApprovalStatus;
208
244
  //# sourceMappingURL=timetrack.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"timetrack.js","sourceRoot":"","sources":["../../../../../libs/agent-rules/src/lib/timetrack.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"timetrack.js","sourceRoot":"","sources":["../../../../../libs/agent-rules/src/lib/timetrack.ts"],"names":[],"mappings":";;;;AAAA,mCAAkE;AAClE,2BAA8C;AAC9C,2BAAuC;AACvC,+BAA4B;AAE5B,2FAA2F;AAC3F,MAAM,UAAU,GAAG,sBAAsB,CAAC;AAE1C,MAAM,kBAAkB,GAAG,YAAY,CAAC;AAExC;;;GAGG;AACH,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAE3B,mGAAmG;AACnG,MAAM,UAAU,GAAG,KAAM,CAAC;AAE1B,MAAM,IAAI,GAAG,QAAQ,CAAC;AACtB,MAAM,UAAU,GAAG,cAAc,CAAC;AAmUlC,MAAM,WAAW,GAAG;IAClB,iEAAiE;IACjE,2FAA2F;CAC5F,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb;;;;;GAKG;AACI,MAAM,sBAAsB,GAAG,GAAG,EAAE;;IACzC,MAAM,QAAQ,GAAG,MAAA,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,0CAAE,IAAI,EAAE,CAAC;IAElE,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAE9B,MAAM,IAAI,GAAG,IAAA,YAAO,GAAE,CAAC;IAEvB,IAAI,IAAA,aAAQ,GAAE,KAAK,QAAQ;QAAE,OAAO,IAAA,WAAI,EAAC,IAAI,EAAE,SAAS,EAAE,qBAAqB,EAAE,UAAU,EAAE,kBAAkB,CAAC,CAAC;IAEjH,IAAI,IAAA,aAAQ,GAAE,KAAK,OAAO,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,MAAA,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,0CAAE,IAAI,EAAE,CAAC;QAE/C,OAAO,IAAA,WAAI,EAAC,OAAO,IAAI,IAAA,WAAI,EAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,UAAU,EAAE,kBAAkB,CAAC,CAAC;IAC3F,CAAC;IAED,MAAM,QAAQ,GAAG,MAAA,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,0CAAE,IAAI,EAAE,CAAC;IAEtD,OAAO,IAAA,WAAI,EAAC,QAAQ,IAAI,IAAA,WAAI,EAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,kBAAkB,CAAC,CAAC;AACzF,CAAC,CAAC;AAlBW,QAAA,sBAAsB,0BAkBjC;AAEF,MAAM,aAAa,GAAG,GAAc,EAAE;IACpC,MAAM,IAAI,GAAG,IAAA,8BAAsB,GAAE,CAAC;IAEtC,IAAI,CAAC,IAAA,eAAU,EAAC,IAAI,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;IAEpD,IAAI,MAAe,CAAC;IAEpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAClD,CAAC;IAAC,WAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,6EAA6E,CAAC,CAAC;IACxG,CAAC;IAED,MAAM,SAAS,GAAG,MAA4B,CAAC;IAE/C,IAAI,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,SAAS,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9E,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,gFAAgF,CAAC,CAAC;IAC3G,CAAC;IAED,IAAI,SAAS,CAAC,OAAO,KAAK,gBAAgB,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CACb,4BAA4B,SAAS,CAAC,OAAO,8CAA8C,gBAAgB,8BAA8B,CAC1I,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC;AACtF,CAAC,CAAC;AAEF;;;GAGG;AACI,MAAM,mBAAmB,GAAG,GAAG,EAAE,WACtC,OAAA,CAAA,MAAA,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,0CAAE,IAAI,EAAE,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA,EAAA,CAAC;AADxF,QAAA,mBAAmB,uBACqE;AAErG,MAAM,QAAQ,GAAG;IACf,8EAA8E;IAC9E,+FAA+F;CAChG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb;;;;;;GAMG;AACH,MAAM,cAAc,GAAG,CAAO,SAAoB,EAAE,EAAE;;IACpD,MAAM,KAAK,GAAG,IAAA,oBAAW,EAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,IAAA,mBAAU,EAAC,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnF,IAAI,QAA4B,CAAC;IAEjC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,oBAAoB,SAAS,CAAC,IAAI,GAAG,UAAU,UAAU,KAAK,EAAE,EAAE;YAC7F,QAAQ,EAAE,OAAO;YACjB,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC;SACxC,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,EAAE;YAAE,QAAQ,GAAG,MAAC,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAoC,CAAC,KAAK,0CAAE,KAAK,CAAC;IACvG,CAAC;IAAC,WAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,EAAE,EAAE,MAAM,CAAC,CAAC;IAEpD,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,IAAI,CAAC,IAAA,wBAAe,EAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;QACnG,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC,CAAA,CAAC;AAEF;;;;;GAKG;AACI,MAAM,YAAY,GAAG,CAAU,OAAiD,EAAc,EAAE;IACrG,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,IAAA,2BAAmB,GAAE,CAAC;IAErC,MAAM,cAAc,CAAC,SAAS,CAAC,CAAC;IAEhC,IAAI,QAAkB,CAAC;IAEvB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,KAAK,CAAC,oBAAoB,SAAS,CAAC,IAAI,GAAG,IAAI,EAAE,EAAE;YAClE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,SAAS,CAAC,KAAK,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC3F,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,iCAAM,OAAO,KAAE,MAAM,IAAG,CAAC,CAAC,OAAO,CAAC;YAC/D,QAAQ,EAAE,OAAO;YACjB,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC;SACxC,CAAC,CAAC;IACL,CAAC;IAAC,WAAM,CAAC;QACP,gGAAgG;QAChG,qCAAqC;QACrC,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,oFAAoF,CAAC,CAAC;IACxG,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,GAAG,CAAC,CAAC;IAEnG,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAc,CAAC;IAEpD,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEhD,OAAO,MAAM,CAAC,KAAK,CAAC;AACtB,CAAC,CAAA,CAAC;AAjCW,QAAA,YAAY,gBAiCvB;AAEK,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,IAAA,oBAAY,EAAkB,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;AAAxE,QAAA,eAAe,mBAAyD;AAE9E,MAAM,eAAe,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,IAAA,oBAAY,EAAkB,EAAE,EAAE,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;AAA/F,QAAA,eAAe,mBAAgF;AAErG,MAAM,iBAAiB,GAAG,GAAG,EAAE,CAAC,IAAA,oBAAY,EAAoB,EAAE,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC;AAAnF,QAAA,iBAAiB,qBAAkE;AAEzF,MAAM,cAAc,GAAG,CAAO,GAAW,EAAE,EAAE,0DAClD,OAAA,CAAC,MAAM,IAAA,oBAAY,EAA4B,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAA,GAAA,CAAC;AADtE,QAAA,cAAc,kBACwD;AAE5E,MAAM,eAAe,GAAG,CAAO,OAKrC,EAAE,EAAE,0DAAC,OAAA,CAAC,MAAM,IAAA,oBAAY,kBAAiC,EAAE,EAAE,aAAa,IAAK,OAAO,EAAG,CAAC,CAAC,MAAM,CAAA,GAAA,CAAC;AALtF,QAAA,eAAe,mBAKuE;AAE5F,MAAM,oBAAoB,GAAG,CAAC,QAAgB,EAAE,EAAE,CACvD,IAAA,oBAAY,EAAuB,EAAE,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,CAAC;AAD1D,QAAA,oBAAoB,wBACsC;AAEvE,8FAA8F;AACvF,MAAM,oBAAoB,GAAG,CAAC,OAOpC,EAAE,EAAE,CAAC,IAAA,oBAAY,kBAAoB,EAAE,EAAE,aAAa,IAAK,OAAO,EAAG,CAAC;AAP1D,QAAA,oBAAoB,wBAOsC;AAEvE,uGAAuG;AAChG,MAAM,mBAAmB,GAAG,CAAC,OAKnC,EAAE,EAAE,CAAC,IAAA,oBAAY,kBAAoB,EAAE,EAAE,aAAa,IAAK,OAAO,EAAG,CAAC;AAL1D,QAAA,mBAAmB,uBAKuC;AAEhE,MAAM,kBAAkB,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,IAAA,oBAAY,EAAqB,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;AAAlG,QAAA,kBAAkB,sBAAgF;AAExG,MAAM,gBAAgB,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,IAAA,oBAAY,EAAmB,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;AAA5F,QAAA,gBAAgB,oBAA4E;AAEzG;;;;;GAKG;AACI,MAAM,gBAAgB,GAAG,CAAC,OAA4D,EAAE,EAAE,CAC/F,IAAA,oBAAY,kBAAoB,EAAE,EAAE,WAAW,IAAK,OAAO,EAAG,CAAC;AADpD,QAAA,gBAAgB,oBACoC;AAEjE,4GAA4G;AACrG,MAAM,sBAAsB,GAAG,CAAC,OAAqC,EAAE,EAAE,CAC9E,IAAA,oBAAY,kBAA2B,EAAE,EAAE,gBAAgB,IAAK,OAAO,EAAG,CAAC;AADhE,QAAA,sBAAsB,0BAC0C;AAE7E;;;GAGG;AACI,MAAM,kBAAkB,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,IAAA,oBAAY,EAAqB,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;AAAlG,QAAA,kBAAkB,sBAAgF;AAE/G,6GAA6G;AACtG,MAAM,uBAAuB,GAAG,CAAC,OAA0C,EAAE,EAAE,CACpF,IAAA,oBAAY,kBAAoB,EAAE,EAAE,YAAY,IAAK,OAAO,EAAG,CAAC;AADrD,QAAA,uBAAuB,2BAC8B;AAElE;;;GAGG;AACI,MAAM,oBAAoB,GAAG,CAAC,OAA2C,EAAE,EAAE,CAClF,IAAA,oBAAY,kBAAoB,EAAE,EAAE,cAAc,IAAK,OAAO,EAAG,CAAC;AADvD,QAAA,oBAAoB,wBACmC;AAEpE,iGAAiG;AAC1F,MAAM,uBAAuB,GAAG,CAAC,OAAqC,EAAE,EAAE,CAC/E,IAAA,oBAAY,kBAA4B,EAAE,EAAE,iBAAiB,IAAK,OAAO,EAAG,CAAC;AADlE,QAAA,uBAAuB,2BAC2C;AAExE,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,IAAA,oBAAY,EAAiB,EAAE,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAA9E,QAAA,cAAc,kBAAgE;AAE3F;;;;;;GAMG;AACI,MAAM,4BAA4B,GAAG,CAAC,KAAwB,EAAE,UAAiC,EAAE,EAAE,EAAE,CAC5G,IAAA,oBAAY,kBACV,EAAE,EAAE,sBAAsB,EAC1B,KAAK,IACF,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAC7C,CAAC;AALQ,QAAA,4BAA4B,gCAKpC;AAEE,MAAM,iBAAiB,GAAG,GAAS,EAAE,0DAC1C,OAAA,CAAC,MAAM,IAAA,oBAAY,EAAmC,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAA,GAAA,CAAC;AAD7E,QAAA,iBAAiB,qBAC4D;AAE1F;;;;;;GAMG;AACI,MAAM,sBAAsB,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAA,oBAAY,EAAkB,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAC,CAAC;AAArG,QAAA,sBAAsB,0BAA+E;AAElH;;;;;GAKG;AACI,MAAM,sBAAsB,GAAG,CAAC,OAAqC,EAAE,EAAE,CAC9E,IAAA,oBAAY,kBAAoB,EAAE,EAAE,gBAAgB,IAAK,OAAO,EAAG,CAAC;AADzD,QAAA,sBAAsB,0BACmC;AAEtE;;;GAGG;AACI,MAAM,qBAAqB,GAAG,CAAC,OAAqC,EAAE,EAAE,CAC7E,IAAA,oBAAY,kBAAoB,EAAE,EAAE,eAAe,IAAK,OAAO,EAAG,CAAC;AADxD,QAAA,qBAAqB,yBACmC;AAErE;;;;;;;GAOG;AACI,MAAM,qBAAqB,GAAG,CAAC,OAYrC,EAAE,EAAE,CAAC,IAAA,oBAAY,gCAA0B,EAAE,EAAE,eAAe,IAAK,OAAO,KAAE,KAAK,EAAE,KAAK,IAAG,CAAC;AAZhF,QAAA,qBAAqB,yBAY2D;AAE7F,+EAA+E;AACxE,MAAM,0BAA0B,GAAG,CAAC,OAAoD,EAAE,EAAE,CACjG,IAAA,oBAAY,gCAAoB,EAAE,EAAE,eAAe,IAAK,OAAO,KAAE,KAAK,EAAE,IAAI,IAAG,CAAC;AADrE,QAAA,0BAA0B,8BAC2C;AAElF,+FAA+F;AACxF,MAAM,uBAAuB,GAAG,CAAC,EAAU,EAAE,EAAE,CACpD,IAAA,oBAAY,EAA0B,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAAC,CAAC;AAD1D,QAAA,uBAAuB,2BACmC"}