mikro 0.19.0 → 0.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/dist/_exports/index.d.ts +17 -0
  2. package/dist/_exports/index.d.ts.map +1 -1
  3. package/dist/_exports/index.js.map +1 -1
  4. package/dist/_exports/ota.d.ts +1 -1
  5. package/dist/_exports/ota.d.ts.map +1 -1
  6. package/dist/_exports/ota.js.map +1 -1
  7. package/dist/_exports/watchdog.d.ts +2 -0
  8. package/dist/_exports/watchdog.d.ts.map +1 -0
  9. package/dist/_exports/watchdog.js +2 -0
  10. package/dist/_exports/watchdog.js.map +1 -0
  11. package/dist/cli/commands/profile.d.ts +2 -2
  12. package/dist/cli/commands/profile.d.ts.map +1 -1
  13. package/dist/cli/commands/profile.js +16 -59
  14. package/dist/cli/commands/profile.js.map +1 -1
  15. package/dist/cli/commands/sim/test.d.ts.map +1 -1
  16. package/dist/cli/commands/sim/test.js +5 -5
  17. package/dist/cli/commands/sim/test.js.map +1 -1
  18. package/dist/cli/commands/test.d.ts.map +1 -1
  19. package/dist/cli/commands/test.js +37 -12
  20. package/dist/cli/commands/test.js.map +1 -1
  21. package/dist/cli/lib/build.d.ts.map +1 -1
  22. package/dist/cli/lib/build.js +14 -4
  23. package/dist/cli/lib/build.js.map +1 -1
  24. package/dist/cli/lib/heapSnapshots.d.ts +65 -7
  25. package/dist/cli/lib/heapSnapshots.d.ts.map +1 -1
  26. package/dist/cli/lib/heapSnapshots.js +62 -3
  27. package/dist/cli/lib/heapSnapshots.js.map +1 -1
  28. package/dist/cli/lib/session.d.ts.map +1 -1
  29. package/dist/cli/lib/session.js +51 -25
  30. package/dist/cli/lib/session.js.map +1 -1
  31. package/dist/cli/lib/testRunner.d.ts +75 -1
  32. package/dist/cli/lib/testRunner.d.ts.map +1 -1
  33. package/dist/cli/lib/testRunner.js +196 -13
  34. package/dist/cli/lib/testRunner.js.map +1 -1
  35. package/dist/cli/program.d.ts +3 -3
  36. package/dist/simulator/builtins/ota-client.d.ts.map +1 -1
  37. package/dist/simulator/builtins/ota-client.js +40 -7
  38. package/dist/simulator/builtins/ota-client.js.map +1 -1
  39. package/package.json +8 -7
@@ -4,7 +4,7 @@ import * as pathlib from 'node:path';
4
4
  import { catchError, finalize, firstValueFrom, last, lastValueFrom, merge, of, scan, Subject, takeWhile, tap, } from 'rxjs';
5
5
  import { buildTests, entryRootDir } from './build.js';
6
6
  import { collectFiles } from './deploy.js';
7
- import { classifyHeapSnapshot, heapTolerance, readSnapshot, writeSnapshot } from './heapSnapshots.js';
7
+ import { applyBootSnapshot, classifyHeapSnapshot, DEFAULT_MEM_RESERVED, heapTolerance, jsBudget, readSnapshot, sysTolerance, writeSnapshot, } from './heapSnapshots.js';
8
8
  import { resolveProjectRoot } from './projectRoot.js';
9
9
  /**
10
10
  * Resolve the deploy root directory for a test run.
@@ -111,6 +111,24 @@ export async function runTestManifest(session, testFiles, options, cb = {}) {
111
111
  const ready = await firstValueFrom(session.ready$);
112
112
  const chip = ready.chip ?? 'unknown';
113
113
  const snapshotRoot = resolveProjectRoot();
114
+ // The same handshake carries what the device left for an app, captured at
115
+ // boot before the supervisor allocated anything, so it describes the app
116
+ // floor rather than this run. Free to read, so record it here instead of
117
+ // asking for a separate `mikro profile`. Absent on the host sim and on
118
+ // firmware predating the field.
119
+ if (ready.heapFree !== undefined && ready.systemFree !== undefined) {
120
+ const measured = {
121
+ heapFree: ready.heapFree,
122
+ systemFree: ready.systemFree,
123
+ memReserved: ready.memReserved ?? DEFAULT_MEM_RESERVED,
124
+ };
125
+ const outcome = applyBootSnapshot(snapshotRoot, chip, measured, {
126
+ seed: true,
127
+ update: options.updateHeapSnapshots === true,
128
+ tolerance: options.heapTolerance,
129
+ });
130
+ cb.onBoot?.({ chip, measured, ...outcome });
131
+ }
114
132
  const wrappedCb = {
115
133
  ...cb,
116
134
  onFileDone: (result, index, total) => {
@@ -127,7 +145,7 @@ export async function runTestManifest(session, testFiles, options, cb = {}) {
127
145
  * TestFileResult so messages like "heap snapshot exceeded" can appear alongside
128
146
  * the file's pass/fail summary.
129
147
  */
130
- function applyHeapSnapshot(result, root, chip, options) {
148
+ export function applyHeapSnapshot(result, root, chip, options) {
131
149
  result.chip = chip;
132
150
  if (typeof result.heapDelta !== 'number')
133
151
  return;
@@ -141,35 +159,73 @@ function applyHeapSnapshot(result, root, chip, options) {
141
159
  // permanent placeholders, not a sign this environment skipped the file.
142
160
  if (result.failed > 0 || (result.passed === 0 && result.skipped > 0)) {
143
161
  if (stored !== undefined) {
144
- result.heapSnapshotStored = stored;
162
+ result.heapSnapshotStored = stored.heapDelta;
163
+ result.sysUsedStored = stored.sysUsed;
145
164
  result.heapSnapshotAction = 'skipped';
146
165
  }
147
166
  return;
148
167
  }
168
+ const measured = {
169
+ heapDelta: result.heapDelta,
170
+ ...(typeof result.sysUsed === 'number' ? { sysUsed: result.sysUsed } : {}),
171
+ };
149
172
  // Seed a missing entry even without the flag, so a new test file or a chip
150
173
  // seen for the first time records itself instead of going unmeasured.
151
174
  if (stored === undefined) {
152
- writeSnapshot(root, result.file, chip, result.heapDelta);
175
+ writeSnapshot(root, result.file, chip, measured);
153
176
  result.heapSnapshotAction = 'created';
154
- result.heapSnapshotStored = result.heapDelta;
177
+ result.heapSnapshotStored = measured.heapDelta;
178
+ result.sysUsedStored = measured.sysUsed;
155
179
  return;
156
180
  }
157
- const tolerance = heapTolerance(stored, options.heapTolerance);
158
- result.heapSnapshotStored = stored;
181
+ result.heapSnapshotStored = stored.heapDelta;
182
+ result.sysUsedStored = stored.sysUsed;
183
+ // Retention and peak fail differently, so a regression in either counts,
184
+ // the way either boot ceiling does. Each gets the band that suits it.
185
+ const verdicts = [
186
+ {
187
+ figure: 'retained',
188
+ verdict: classifyHeapSnapshot(result.heapDelta, stored.heapDelta, heapTolerance(stored.heapDelta, options.heapTolerance)),
189
+ },
190
+ ];
191
+ if (typeof measured.sysUsed === 'number' && typeof stored.sysUsed === 'number') {
192
+ verdicts.push({
193
+ figure: 'peak',
194
+ verdict: classifyHeapSnapshot(measured.sysUsed, stored.sysUsed, sysTolerance(stored.sysUsed, options.heapTolerance)),
195
+ });
196
+ }
197
+ else if (typeof measured.sysUsed === 'number') {
198
+ // Recorded before peaks were tracked. Nothing to compare against, but the
199
+ // entry is stale in the sense that matters: -u would add a figure.
200
+ verdicts.push({ figure: 'peak', verdict: 'stale' });
201
+ }
202
+ const moved = verdicts.some((v) => v.verdict !== 'ok');
203
+ const exceeded = verdicts.filter((v) => v.verdict === 'exceeded').map((v) => v.figure);
159
204
  if (options.updateHeapSnapshots === true) {
160
205
  // Leave drift under the tolerance alone: rewriting on a couple of bytes
161
206
  // is pure diff noise.
162
- if (Math.abs(result.heapDelta - stored) <= tolerance) {
207
+ if (!moved) {
163
208
  result.heapSnapshotAction = 'ok';
164
209
  return;
165
210
  }
166
- writeSnapshot(root, result.file, chip, result.heapDelta);
211
+ writeSnapshot(root, result.file, chip, measured);
167
212
  result.heapSnapshotAction = 'updated';
168
- result.heapSnapshotPrevious = stored;
169
- result.heapSnapshotStored = result.heapDelta;
213
+ result.heapSnapshotPrevious = stored.heapDelta;
214
+ result.heapSnapshotStored = measured.heapDelta;
215
+ result.sysUsedStored = measured.sysUsed;
216
+ return;
217
+ }
218
+ if (exceeded.length > 0) {
219
+ result.heapSnapshotAction = 'exceeded';
220
+ result.heapSnapshotExceeded = exceeded;
221
+ return;
222
+ }
223
+ if (moved) {
224
+ result.heapSnapshotAction = 'stale';
225
+ result.heapSnapshotStale = verdicts.filter((v) => v.verdict === 'stale').map((v) => v.figure);
170
226
  return;
171
227
  }
172
- result.heapSnapshotAction = classifyHeapSnapshot(result.heapDelta, stored, tolerance);
228
+ result.heapSnapshotAction = 'ok';
173
229
  }
174
230
  /** Format a byte count for human-readable test output. */
175
231
  export function formatBytes(n) {
@@ -210,6 +266,117 @@ export function formatMemorySummary(result) {
210
266
  }
211
267
  return parts;
212
268
  }
269
+ const green = (t) => `\x1b[32m${t}\x1b[0m`;
270
+ const red = (t) => `\x1b[31m${t}\x1b[0m`;
271
+ const yellow = (t) => `\x1b[33m${t}\x1b[0m`;
272
+ const dim = (t) => `\x1b[2m${t}\x1b[0m`;
273
+ /** One segment per ceiling, e.g. `js 218KB → 221KB (+3KB)`. More free is the
274
+ * win here, so the colours invert relative to the retained-heap diff. */
275
+ function figure(label, now, before) {
276
+ const value = formatBytes(now);
277
+ if (before === undefined || before === now)
278
+ return `${label} ${value}`;
279
+ const change = now - before;
280
+ const delta = change > 0 ? green(`+${formatBytes(change)}`) : red(formatBytes(change));
281
+ return `${label} ${dim(`${formatBytes(before)} → ${value} (`)}${delta}${dim(')')}`;
282
+ }
283
+ /**
284
+ * The boot reading as one line, shared by `mikro test` and `mikro profile` so
285
+ * the same figure doesn't render two ways:
286
+ *
287
+ * esp32c6 js 218KB → 221KB (+3KB) system 249.1KB → 252.4KB (+3.3KB)
288
+ *
289
+ * `updateFlag` is the option that would record the reading, which differs
290
+ * between the two commands.
291
+ */
292
+ export function formatBootLine(result, updateFlag) {
293
+ const { measured, stored } = result;
294
+ // The gate compares js with the reserve added back, so show the stored
295
+ // figure at this run's reserve; the raw one would read as a regression
296
+ // whenever the two boots used different memReserved.
297
+ const reserveMoved = stored !== undefined && stored.memReserved !== measured.memReserved;
298
+ const storedJs = stored === undefined ? undefined : jsBudget(stored) - measured.memReserved;
299
+ const body = `${figure('js', measured.heapFree, storedJs)} ${figure('system', measured.systemFree, stored?.systemFree)}${reserveMoved
300
+ ? dim(` (stored at memReserved ${formatBytes(stored.memReserved)}, shown at ${formatBytes(measured.memReserved)})`)
301
+ : ''}`;
302
+ const suffix = result.action === 'created'
303
+ ? dim(' (wrote boot snapshot)')
304
+ : result.action === 'updated'
305
+ ? dim(' (updated boot snapshot)')
306
+ : result.action === 'unrecorded'
307
+ ? dim(` (nothing recorded yet; re-run with ${updateFlag} to record it)`)
308
+ : result.action === 'exceeded'
309
+ ? yellow(` ⚠ less than the stored figure. Re-run with ${updateFlag} to accept.`)
310
+ : result.action === 'stale'
311
+ ? dim(` (re-run with ${updateFlag} to record it)`)
312
+ : '';
313
+ return `${result.chip} ${body}${suffix}`;
314
+ }
315
+ /**
316
+ * The "heap snapshot exceeded" line, shared by `mikro test` and `mikro sim
317
+ * test`. Names only the figures that cleared their tolerance: retention and
318
+ * peak have separate bands and either can trip the gate on its own, so listing
319
+ * a few bytes of retained drift next to a real peak regression would point
320
+ * the reader at the wrong number.
321
+ */
322
+ export function formatHeapExceeded(result, chip) {
323
+ const tripped = result.heapSnapshotExceeded ?? [];
324
+ const moved = [];
325
+ if (tripped.includes('retained')) {
326
+ const over = (result.heapDelta ?? 0) - (result.heapSnapshotStored ?? 0);
327
+ moved.push(`retained +${formatBytes(over)} over ${formatBytes(result.heapSnapshotStored ?? 0)}`);
328
+ }
329
+ if (tripped.includes('peak') && result.sysUsed !== undefined) {
330
+ const over = result.sysUsed - (result.sysUsedStored ?? 0);
331
+ moved.push(`peak +${formatBytes(over)} over ${formatBytes(result.sysUsedStored ?? 0)}`);
332
+ }
333
+ const body = moved.length > 0 ? moved.join(', ') : 'moved';
334
+ return yellow(`⚠ heap snapshot exceeded for ${chip}: ${body}. Re-run with -u to accept.`);
335
+ }
336
+ /**
337
+ * The body of the "heap snapshot stale" line, shared by `mikro test` and
338
+ * `mikro sim test`. Names the figures that went stale: an entry recorded
339
+ * before peaks were tracked has no retained delta to report, and printing one
340
+ * would read as "-0B".
341
+ */
342
+ export function formatHeapStale(result) {
343
+ const stale = result.heapSnapshotStale ?? [];
344
+ const parts = [];
345
+ if (stale.includes('retained')) {
346
+ const under = (result.heapSnapshotStored ?? 0) - (result.heapDelta ?? 0);
347
+ parts.push(`retained -${formatBytes(under)} under ${formatBytes(result.heapSnapshotStored ?? 0)}`);
348
+ }
349
+ if (stale.includes('peak')) {
350
+ if (result.sysUsedStored === undefined) {
351
+ parts.push('no peak recorded');
352
+ }
353
+ else {
354
+ const under = result.sysUsedStored - (result.sysUsed ?? 0);
355
+ parts.push(`peak -${formatBytes(under)} under ${formatBytes(result.sysUsedStored)}`);
356
+ }
357
+ }
358
+ return parts.length > 0 ? parts.join(', ') : 'moved';
359
+ }
360
+ /**
361
+ * The suites behind a file-level regression, heaviest first. A file figure
362
+ * says a file grew; without this the reader has to bisect by hand to find out
363
+ * which part of it did. Ordered by the figure that tripped: when only the
364
+ * peak regressed, the suite that retained the most is not the one to look at.
365
+ */
366
+ export function formatSuiteBreakdown(result) {
367
+ const suites = result.suites ?? [];
368
+ if (suites.length < 2)
369
+ return [];
370
+ const tripped = result.heapSnapshotExceeded ?? [];
371
+ const byPeak = tripped.includes('peak') && !tripped.includes('retained');
372
+ return [...suites]
373
+ .sort((a, b) => (byPeak ? (b.sysUsed ?? 0) - (a.sysUsed ?? 0) : b.retained - a.retained))
374
+ .slice(0, 3)
375
+ .map((s) => {
376
+ const peak = s.sysUsed === undefined ? '' : `, peak ${formatBytes(s.sysUsed)}`;
377
+ return dim(` ${s.name}: retained ${formatBytes(s.retained)}${peak}`);
378
+ });
379
+ }
213
380
  function emptyResult(file) {
214
381
  return {
215
382
  file,
@@ -466,6 +633,16 @@ export async function collectManifestEvents(session, testFiles, timeoutMs, cb) {
466
633
  result.skipped++;
467
634
  else if (e === 9)
468
635
  result.todo++;
636
+ else if (e === 5 && typeof d.hr === 'number') {
637
+ result.suites = [
638
+ ...(result.suites ?? []),
639
+ {
640
+ name: d.s,
641
+ retained: d.hr,
642
+ ...(typeof d.su === 'number' ? { sysUsed: d.su } : {}),
643
+ },
644
+ ];
645
+ }
469
646
  const emits = [{ kind: 'event', event, file: currentFile }];
470
647
  if (e === 6) {
471
648
  result.completed = true;
@@ -474,7 +651,13 @@ export async function collectManifestEvents(session, testFiles, timeoutMs, cb) {
474
651
  result.skipped = d.k ?? result.skipped;
475
652
  result.todo = d.o ?? result.todo;
476
653
  result.duration = d.d ?? 0;
477
- if (typeof d.hb === 'number' && typeof d.ha === 'number') {
654
+ // `hr` sums each suite's retention against its own baseline. Firmware
655
+ // predating it reports only the endpoints, where a file with more than
656
+ // one beforeAll measures just the last suite.
657
+ if (typeof d.hr === 'number') {
658
+ result.heapDelta = d.hr;
659
+ }
660
+ else if (typeof d.hb === 'number' && typeof d.ha === 'number') {
478
661
  result.heapDelta = d.ha - d.hb;
479
662
  }
480
663
  if (typeof d.su === 'number')
@@ -1 +1 @@
1
- {"version":3,"file":"testRunner.js","sourceRoot":"","sources":["../../../src/cli/lib/testRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testRunner.js","sourceRoot":"","sources":["../../../src/cli/lib/testRunner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAC,MAAM,SAAS,CAAA;AAC1D,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAA;AACrC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAA;AAEpC,OAAO,EACL,UAAU,EACV,QAAQ,EACR,cAAc,EACd,IAAI,EACJ,aAAa,EACb,KAAK,EACL,EAAE,EACF,IAAI,EACJ,OAAO,EACP,SAAS,EACT,GAAG,GACJ,MAAM,MAAM,CAAA;AAGb,OAAO,EAAC,UAAU,EAAE,YAAY,EAAC,MAAM,YAAY,CAAA;AACnD,OAAO,EAAC,YAAY,EAAc,MAAM,aAAa,CAAA;AACrD,OAAO,EACL,iBAAiB,EAGjB,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,YAAY,EAEZ,aAAa,GACd,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAC,kBAAkB,EAAC,MAAM,kBAAkB,CAAA;AAGnD;;;;;;;;;;GAUG;AACH,SAAS,cAAc,CAAC,GAAW;IACjC,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAA;IACjD,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA;YACtD,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACjC,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;gBACjE,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,CAAA;gBAC7B,IAAI,GAAG,KAAK,GAAG;oBAAE,OAAO,GAAG,CAAA;YAC7B,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,0BAA0B;QAC5B,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AA6FD;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,GAAW,EACX,WAA8B,EAAE;IAEhC,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAA;IACrE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAA;IACjC,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QACzC,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAChB,SAAQ;QACV,CAAC;QACD,IAAI,OAAO,GAAG,CAAC,CAAA;QACf,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAC,GAAG,EAAE,OAAO,EAAE,CAAC,iBAAiB,EAAE,UAAU,CAAC,EAAC,CAAC,EAAE,CAAC;YACrF,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;YACpC,OAAO,EAAE,CAAA;QACX,CAAC;QACD,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,0BAA0B,OAAO,EAAE,CAAC,CAAA;QACtD,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;AACnC,CAAC;AAoBD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAAoB,EACpB,SAAmB,EACnB,OAAuB,EACvB,KAA4B,EAAE;IAE9B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;IACzB,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAA;IACnC,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;IAE/D,EAAE,CAAC,GAAG,EAAE,CAAC,2BAA2B,CAAC,CAAA;IACrC,MAAM,aAAa,CACjB,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE;QACrC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,OAAO;QACP,yEAAyE;QACzE,6CAA6C;QAC7C,GAAG,EAAE,MAAM;KACZ,CAAC,EACF,EAAC,YAAY,EAAE,SAAS,EAAC,CAC1B,CAAA;IAED,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAClD,EAAE,CAAC,GAAG,EAAE,CAAC,aAAa,KAAK,CAAC,MAAM,UAAU,CAAC,CAAA;IAC7C,qEAAqE;IACrE,sEAAsE;IACtE,sEAAsE;IACtE,oEAAoE;IACpE,8DAA8D;IAC9D,MAAM,aAAa,CACjB,OAAO;SACJ,MAAM,CAAC;QACN,KAAK;QACL,OAAO,EAAE,CAAC,EAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAC,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;QACzF,OAAO,EAAE,IAAI;QACb,qEAAqE;QACrE,kEAAkE;QAClE,sEAAsE;QACtE,qCAAqC;QACrC,aAAa,EAAE,IAAI;KACpB,CAAC;SACD,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CACnD,CAAA;IAED,qEAAqE;IACrE,0EAA0E;IAC1E,kEAAkE;IAClE,yEAAyE;IACzE,mCAAmC;IACnC,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAClD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,SAAS,CAAA;IACpC,MAAM,YAAY,GAAG,kBAAkB,EAAE,CAAA;IAEzC,0EAA0E;IAC1E,yEAAyE;IACzE,yEAAyE;IACzE,uEAAuE;IACvE,gCAAgC;IAChC,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACnE,MAAM,QAAQ,GAAgB;YAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,oBAAoB;SACvD,CAAA;QACD,MAAM,OAAO,GAAG,iBAAiB,CAAC,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC9D,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,OAAO,CAAC,mBAAmB,KAAK,IAAI;YAC5C,SAAS,EAAE,OAAO,CAAC,aAAa;SACjC,CAAC,CAAA;QACF,EAAE,CAAC,MAAM,EAAE,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAC,CAAC,CAAA;IAC3C,CAAC;IAED,MAAM,SAAS,GAA0B;QACvC,GAAG,EAAE;QACL,UAAU,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACnC,iBAAiB,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;YACtD,EAAE,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;QACvC,CAAC;KACF,CAAA;IAED,EAAE,CAAC,GAAG,EAAE,CAAC,6BAA6B,CAAC,CAAA;IACvC,OAAO,MAAM,qBAAqB,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;AACpF,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAAsB,EACtB,IAAY,EACZ,IAAY,EACZ,OAAsE;IAEtE,MAAM,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ;QAAE,OAAM;IAChD,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IACpD,6EAA6E;IAC7E,6EAA6E;IAC7E,sEAAsE;IACtE,yEAAyE;IACzE,0EAA0E;IAC1E,wEAAwE;IACxE,wEAAwE;IACxE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC;QACrE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,CAAC,kBAAkB,GAAG,MAAM,CAAC,SAAS,CAAA;YAC5C,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,OAAO,CAAA;YACrC,MAAM,CAAC,kBAAkB,GAAG,SAAS,CAAA;QACvC,CAAC;QACD,OAAM;IACR,CAAC;IACD,MAAM,QAAQ,GAAgB;QAC5B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,GAAG,CAAC,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACzE,CAAA;IACD,2EAA2E;IAC3E,sEAAsE;IACtE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;QAChD,MAAM,CAAC,kBAAkB,GAAG,SAAS,CAAA;QACrC,MAAM,CAAC,kBAAkB,GAAG,QAAQ,CAAC,SAAS,CAAA;QAC9C,MAAM,CAAC,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAA;QACvC,OAAM;IACR,CAAC;IACD,MAAM,CAAC,kBAAkB,GAAG,MAAM,CAAC,SAAS,CAAA;IAC5C,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,OAAO,CAAA;IACrC,yEAAyE;IACzE,sEAAsE;IACtE,MAAM,QAAQ,GAAwD;QACpE;YACE,MAAM,EAAE,UAAU;YAClB,OAAO,EAAE,oBAAoB,CAC3B,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,SAAS,EAChB,aAAa,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,aAAa,CAAC,CACvD;SACF;KACF,CAAA;IACD,IAAI,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC/E,QAAQ,CAAC,IAAI,CAAC;YACZ,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,oBAAoB,CAC3B,QAAQ,CAAC,OAAO,EAChB,MAAM,CAAC,OAAO,EACd,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CACpD;SACF,CAAC,CAAA;IACJ,CAAC;SAAM,IAAI,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChD,0EAA0E;QAC1E,mEAAmE;QACnE,QAAQ,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAC,CAAC,CAAA;IACnD,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAA;IACtD,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;IACtF,IAAI,OAAO,CAAC,mBAAmB,KAAK,IAAI,EAAE,CAAC;QACzC,wEAAwE;QACxE,sBAAsB;QACtB,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,CAAC,kBAAkB,GAAG,IAAI,CAAA;YAChC,OAAM;QACR,CAAC;QACD,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;QAChD,MAAM,CAAC,kBAAkB,GAAG,SAAS,CAAA;QACrC,MAAM,CAAC,oBAAoB,GAAG,MAAM,CAAC,SAAS,CAAA;QAC9C,MAAM,CAAC,kBAAkB,GAAG,QAAQ,CAAC,SAAS,CAAA;QAC9C,MAAM,CAAC,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAA;QACvC,OAAM;IACR,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,CAAC,kBAAkB,GAAG,UAAU,CAAA;QACtC,MAAM,CAAC,oBAAoB,GAAG,QAAQ,CAAA;QACtC,OAAM;IACR,CAAC;IACD,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,CAAC,kBAAkB,GAAG,OAAO,CAAA;QACnC,MAAM,CAAC,iBAAiB,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;QAC7F,OAAM;IACR,CAAC;IACD,MAAM,CAAC,kBAAkB,GAAG,IAAI,CAAA;AAClC,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,WAAW,CAAC,CAAS;IACnC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACvB,IAAI,GAAG,GAAG,IAAI;QAAE,OAAO,GAAG,CAAC,GAAG,CAAA;IAC9B,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAA;IACnB,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;QACtB,OAAO,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAA;IAChE,CAAC;IACD,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAA;IAC5B,OAAO,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAA;AAChE,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAsB;IACxD,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,QAAQ,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QACjD,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,YAAY,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;QAC1D,CAAC;IACH,CAAC;IACD,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;QACzC,KAAK,CAAC,IAAI,CAAC,YAAY,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;IACzD,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,WAAW,CAAC,SAAS,CAAA;AAClD,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,WAAW,CAAC,SAAS,CAAA;AAChD,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,WAAW,CAAC,SAAS,CAAA;AACnD,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAA;AAE/C;0EAC0E;AAC1E,SAAS,MAAM,CAAC,KAAa,EAAE,GAAW,EAAE,MAA0B;IACpE,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAA;IAC9B,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,GAAG,KAAK,IAAI,KAAK,EAAE,CAAA;IACtE,MAAM,MAAM,GAAG,GAAG,GAAG,MAAM,CAAA;IAC3B,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAA;IACtF,OAAO,GAAG,KAAK,IAAI,GAAG,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,CAAA;AACpF,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAAC,MAA0B,EAAE,UAAkB;IAC3E,MAAM,EAAC,QAAQ,EAAE,MAAM,EAAC,GAAG,MAAM,CAAA;IACjC,uEAAuE;IACvE,uEAAuE;IACvE,qDAAqD;IACrD,MAAM,YAAY,GAAG,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,KAAK,QAAQ,CAAC,WAAW,CAAA;IACxF,MAAM,QAAQ,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAA;IAC3F,MAAM,IAAI,GAAG,GAAG,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,MAAM,CACnE,QAAQ,EACR,QAAQ,CAAC,UAAU,EACnB,MAAM,EAAE,UAAU,CACnB,GACC,YAAY;QACV,CAAC,CAAC,GAAG,CACD,6BAA6B,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,cAAc,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAC/G;QACH,CAAC,CAAC,EACN,EAAE,CAAA;IACF,MAAM,MAAM,GACV,MAAM,CAAC,MAAM,KAAK,SAAS;QACzB,CAAC,CAAC,GAAG,CAAC,wBAAwB,CAAC;QAC/B,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS;YAC3B,CAAC,CAAC,GAAG,CAAC,0BAA0B,CAAC;YACjC,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,YAAY;gBAC9B,CAAC,CAAC,GAAG,CAAC,uCAAuC,UAAU,gBAAgB,CAAC;gBACxE,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,UAAU;oBAC5B,CAAC,CAAC,MAAM,CAAC,+CAA+C,UAAU,aAAa,CAAC;oBAChF,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,OAAO;wBACzB,CAAC,CAAC,GAAG,CAAC,iBAAiB,UAAU,gBAAgB,CAAC;wBAClD,CAAC,CAAC,EAAE,CAAA;IAChB,OAAO,GAAG,MAAM,CAAC,IAAI,KAAK,IAAI,GAAG,MAAM,EAAE,CAAA;AAC3C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAsB,EAAE,IAAY;IACrE,MAAM,OAAO,GAAG,MAAM,CAAC,oBAAoB,IAAI,EAAE,CAAA;IACjD,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,kBAAkB,IAAI,CAAC,CAAC,CAAA;QACvE,KAAK,CAAC,IAAI,CAAC,aAAa,WAAW,CAAC,IAAI,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,kBAAkB,IAAI,CAAC,CAAC,EAAE,CAAC,CAAA;IAClG,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC7D,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,CAAC,CAAC,CAAA;QACzD,KAAK,CAAC,IAAI,CAAC,SAAS,WAAW,CAAC,IAAI,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,aAAa,IAAI,CAAC,CAAC,EAAE,CAAC,CAAA;IACzF,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;IAC1D,OAAO,MAAM,CAAC,gCAAgC,IAAI,KAAK,IAAI,6BAA6B,CAAC,CAAA;AAC3F,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,MAAsB;IACpD,MAAM,KAAK,GAAG,MAAM,CAAC,iBAAiB,IAAI,EAAE,CAAA;IAC5C,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,kBAAkB,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC,CAAA;QACxE,KAAK,CAAC,IAAI,CACR,aAAa,WAAW,CAAC,KAAK,CAAC,UAAU,WAAW,CAAC,MAAM,CAAC,kBAAkB,IAAI,CAAC,CAAC,EAAE,CACvF,CAAA;IACH,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;QAChC,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC,CAAA;YAC1D,KAAK,CAAC,IAAI,CAAC,SAAS,WAAW,CAAC,KAAK,CAAC,UAAU,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;QACtF,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;AACtD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAsB;IACzD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAA;IAClC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,CAAA;IAChC,MAAM,OAAO,GAAG,MAAM,CAAC,oBAAoB,IAAI,EAAE,CAAA;IACjD,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;IACxE,OAAO,CAAC,GAAG,MAAM,CAAC;SACf,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;SACxF,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;SACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAA;QAC9E,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,cAAc,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,CAAC,CAAA;IACzE,CAAC,CAAC,CAAA;AACN,CAAC;AAED,SAAS,WAAW,CAAC,IAAY;IAC/B,OAAO;QACL,IAAI;QACJ,MAAM,EAAE,CAAC;QACT,MAAM,EAAE,CAAC;QACT,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,CAAC;QACP,QAAQ,EAAE,CAAC;QACX,MAAM,EAAE,EAAE;KACX,CAAA;AACH,CAAC;AAED;;;;;;;;GAQG;AACH;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAAoB,EACpB,SAAmB,EACnB,SAAiB,EACjB,EAAyB;IAEzB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,GAAG,CAAA;IAgCpD;;;;;mDAK+C;IAC/C,MAAM,sBAAsB,GAAG,sDAAsD,CAAA;IAErF;;;;qEAIiE;IACjE,SAAS,sBAAsB,CAAC,UAAkB;QAChD,uEAAuE;QACvE,mDAAmD;QACnD,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAA;QACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;YACrD,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAAE,OAAO,CAAC,CAAA;QAC5E,CAAC;QACD,uEAAuE;QACvE,+DAA+D;QAC/D,2BAA2B;QAC3B,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAA;QAC9C,IAAI,aAAa,GAAG,CAAC,CAAC,CAAA;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAA;YACtE,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;gBAC3B,IAAI,aAAa,IAAI,CAAC;oBAAE,OAAO,CAAC,CAAC,CAAA;gBACjC,aAAa,GAAG,CAAC,CAAA;YACnB,CAAC;QACH,CAAC;QACD,OAAO,aAAa,CAAA;IACtB,CAAC;IAED,MAAM,YAAY,GAAkB;QAClC,KAAK,EAAE,CAAC;QACR,mBAAmB,EAAE,KAAK;QAC1B,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC;QACnC,IAAI,EAAE,KAAK;QACX,UAAU,EAAE,IAAI;QAChB;;;;sEAI8D;QAC9D,KAAK,EAAE,EAAE;KACV,CAAA;IAED,qEAAqE;IACrE,uEAAuE;IACvE,sCAAsC;IACtC,MAAM,aAAa,GAAG,EAAC,IAAI,EAAE,WAAW,EAAyB,CAAA;IAEjE,SAAS,MAAM,CAAC,IAAmB,EAAE,KAAgB;QACnD,IAAI,IAAI,CAAC,IAAI;YAAE,OAAO,EAAC,GAAG,IAAI,EAAE,KAAK,EAAE,EAAE,EAAC,CAAA;QAC1C,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACzC,IAAI,CAAC,WAAW;YAAE,OAAO,EAAC,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,eAAe,EAAE,KAAK,EAAE,EAAE,EAAC,CAAA;QAEtF,IAAK,KAAwB,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACnD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACpB,OAAO;oBACL,GAAG,IAAI;oBACP,SAAS,EAAE,IAAI;oBACf,KAAK,EAAE;wBACL;4BACE,IAAI,EAAE,KAAK;4BACX,KAAK,EAAE,MAAM;4BACb,IAAI,EAAE,iBAAiB,SAAS,+CAA+C;4BAC/E,IAAI,EAAE,WAAW;yBAClB;qBACF;iBACF,CAAA;YACH,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;YACpC,IAAI,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;gBACjE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG;oBACpB,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAE;oBACvB,KAAK,EAAE,iBAAiB,SAAS,IAAI;iBACtC,CAAA;YACH,CAAC;YACD,OAAO,EAAC,GAAG,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAC,CAAA;QACzE,CAAC;QACD,uEAAuE;QACvE,IAAI,IAAI,CAAC,SAAS;YAAE,IAAI,GAAG,EAAC,GAAG,IAAI,EAAE,SAAS,EAAE,KAAK,EAAC,CAAA;QAEtD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,OAAO;gBACV;;;;wCAIwB;gBACxB,OAAO,EAAC,GAAG,IAAI,EAAE,KAAK,EAAE,EAAE,EAAC,CAAA;YAC7B,KAAK,eAAe;gBAClB,OAAO,EAAC,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,eAAe,EAAE,KAAK,EAAE,EAAE,EAAC,CAAA;YACtE,KAAK,YAAY;gBACf,OAAO,EAAC,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,EAAC,CAAA;YACnE,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb;;;;;2CAK2B;gBAC3B,MAAM,KAAK,GAAG,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;gBACrD,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAE,CAAA;oBAC5B,MAAM,WAAW,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAA;oBACtD,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;wBACrB,IAAI,WAAW,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;4BACzD;;;mEAGuC;4BACvC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;4BACpC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;gCAChC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG;oCACpB,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAE;oCACvB,KAAK,EAAE,+CAA+C;iCACvD,CAAA;4BACH,CAAC;4BACD,OAAO;gCACL,GAAG,IAAI;gCACP,OAAO;gCACP,IAAI,EAAE,IAAI;gCACV,UAAU,EAAE,OAAO;gCACnB,KAAK,EAAE,CAAC,EAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAC,CAAC;6BAC5E,CAAA;wBACH,CAAC;wBACD,IAAI,WAAW,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;4BAC/B;;;;0DAI8B;4BAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;4BACpC,MAAM,KAAK,GAAW,EAAE,CAAA;4BACxB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;gCAC9C,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAE,CAAA;gCACrB,IAAI,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;oCAC7B,OAAO,CAAC,CAAC,CAAC,GAAG,EAAC,GAAG,CAAC,EAAE,KAAK,EAAE,iCAAiC,EAAC,CAAA;oCAC7D,KAAK,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAC,CAAC,CAAA;gCAC9E,CAAC;4BACH,CAAC;4BACD,KAAK,CAAC,IAAI,CACR;gCACE,IAAI,EAAE,KAAK;gCACX,KAAK,EAAE,OAAO;gCACd,IAAI,EAAE,KAAK,CAAC,IAAI;gCAChB,IAAI,EAAE,SAAS,CAAC,WAAW,CAAE;6BAC9B,EACD,EAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,CAAC,WAAW,CAAE,EAAE,KAAK,EAAE,WAAW,EAAC,CACxE,CAAA;4BACD,OAAO;gCACL,GAAG,IAAI;gCACP,OAAO;gCACP,KAAK,EAAE,WAAW;gCAClB,mBAAmB,EAAE,KAAK;gCAC1B,KAAK;6BACN,CAAA;wBACH,CAAC;wBACD;;;;uCAIe;wBACf,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;4BAC9B,OAAO;gCACL,GAAG,IAAI;gCACP,KAAK,EAAE;oCACL,EAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAC;oCAClE,EAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAC;iCAC3D;6BACF,CAAA;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,OAAO;oBACL,GAAG,IAAI;oBACP,KAAK,EAAE,CAAC,EAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAC,CAAC;iBAC5E,CAAA;YACH,CAAC;YACD,KAAK,KAAK,CAAC;YACX,KAAK,MAAM,CAAC;YACZ,KAAK,OAAO,CAAC;YACb,KAAK,MAAM;gBACT,OAAO;oBACL,GAAG,IAAI;oBACP,KAAK,EAAE,CAAC,EAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAC,CAAC;iBAC/E,CAAA;YACH,KAAK,KAAK;gBACR;;;gEAGgD;gBAChD,OAAO,EAAC,GAAG,IAAI,EAAE,KAAK,EAAE,EAAE,EAAC,CAAA;YAC7B,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;gBACpC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG;oBACpB,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAE;oBACvB,KAAK,EAAE,gBAAgB,KAAK,CAAC,IAAI,EAAE;iBACpC,CAAA;gBACD,OAAO;oBACL,GAAG,IAAI;oBACP,OAAO;oBACP,KAAK,EAAE,CAAC,EAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAC,CAAC;iBAC5E,CAAA;YACH,CAAC;YACD,KAAK,MAAM;gBACT,OAAO,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,CAAA;YAClD;gBACE,OAAO,EAAC,GAAG,IAAI,EAAE,KAAK,EAAE,EAAE,EAAC,CAAA;QAC/B,CAAC;IACH,CAAC;IAED,SAAS,eAAe,CACtB,IAAmB,EACnB,KAAgB,EAChB,WAAmB;QAEnB,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAA;QACpB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QACb,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;QACpC,MAAM,MAAM,GAAmB;YAC7B,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAE;YACvB,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAE,CAAC,MAAM,EAAE,KAAK,CAAC;SAChD,CAAA;QAED,IAAI,CAAC,KAAK,CAAC;YAAE,MAAM,CAAC,MAAM,EAAE,CAAA;aACvB,IAAI,CAAC,KAAK,CAAC;YAAE,MAAM,CAAC,MAAM,EAAE,CAAA;aAC5B,IAAI,CAAC,KAAK,CAAC;YAAE,MAAM,CAAC,OAAO,EAAE,CAAA;aAC7B,IAAI,CAAC,KAAK,CAAC;YAAE,MAAM,CAAC,IAAI,EAAE,CAAA;aAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;YAC7C,MAAM,CAAC,MAAM,GAAG;gBACd,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;gBACxB;oBACE,IAAI,EAAE,CAAC,CAAC,CAAW;oBACnB,QAAQ,EAAE,CAAC,CAAC,EAAY;oBACxB,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAC,OAAO,EAAE,CAAC,CAAC,EAAY,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC/D;aACF,CAAA;QACH,CAAC;QAED,MAAM,KAAK,GAAW,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAC,CAAC,CAAA;QAEjE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACZ,MAAM,CAAC,SAAS,GAAG,IAAI,CAAA;YACvB,MAAM,CAAC,MAAM,GAAI,CAAC,CAAC,CAAY,IAAI,MAAM,CAAC,MAAM,CAAA;YAChD,MAAM,CAAC,MAAM,GAAI,CAAC,CAAC,CAAY,IAAI,MAAM,CAAC,MAAM,CAAA;YAChD,MAAM,CAAC,OAAO,GAAI,CAAC,CAAC,CAAY,IAAI,MAAM,CAAC,OAAO,CAAA;YAClD,MAAM,CAAC,IAAI,GAAI,CAAC,CAAC,CAAY,IAAI,MAAM,CAAC,IAAI,CAAA;YAC5C,MAAM,CAAC,QAAQ,GAAI,CAAC,CAAC,CAAY,IAAI,CAAC,CAAA;YACtC,sEAAsE;YACtE,uEAAuE;YACvE,8CAA8C;YAC9C,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;gBAC7B,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,EAAY,CAAA;YACnC,CAAC;iBAAM,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;gBAChE,MAAM,CAAC,SAAS,GAAI,CAAC,CAAC,EAAa,GAAI,CAAC,CAAC,EAAa,CAAA;YACxD,CAAC;YACD,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ;gBAAE,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,EAAY,CAAA;YAC7D,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ;gBAAE,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,EAAY,CAAA;YAChE,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;gBACzD,MAAM,CAAC,UAAU,GAAI,CAAC,CAAC,EAAa,GAAI,CAAC,CAAC,EAAa,CAAA;YACzD,CAAC;YACD,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;gBACzD,MAAM,CAAC,YAAY,GAAI,CAAC,CAAC,EAAa,GAAI,CAAC,CAAC,EAAa,CAAA;YAC3D,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,EAAC,CAAC,CAAA;YAE7E,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAA;YAChC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,CAAA;YAE5B,IAAI,SAAS,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;gBACjC;;yEAEyD;gBACzD,OAAO,EAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,KAAK,EAAE,KAAK,EAAC,CAAA;YAChF,CAAC;YACD,uDAAuD;YACvD,OAAO;gBACL,GAAG,IAAI;gBACP,OAAO;gBACP,KAAK,EAAE,SAAS;gBAChB,mBAAmB,EAAE,KAAK;gBAC1B,IAAI,EAAE,IAAI;gBACV,UAAU,EAAE,eAAe;gBAC3B,KAAK;aACN,CAAA;QACH,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,CAAA;QAC5B,OAAO,EAAC,GAAG,IAAI,EAAE,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAE,KAAK,EAAC,CAAA;IAC7D,CAAC;IAED;6DACyD;IACzD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAA;IAEtC,SAAS,UAAU,CAAC,KAAoB;QACtC,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAC5B,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY;gBAAE,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAA;iBAC3E,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBAChC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;gBACzB,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAA;YACtD,CAAC;iBAAM,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;gBAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;iBACvD,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK;gBAAE,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;QAChE,CAAC;IACH,CAAC;IAED,kEAAkE;IAClE,oEAAoE;IACpE,yEAAyE;IACzE,sEAAsE;IACtE,oEAAoE;IACpE,mEAAmE;IACnE,oEAAoE;IACpE,oEAAoE;IACpE,sEAAsE;IACtE,MAAM,SAAS,GAAG,IAAI,OAAO,EAAa,CAAA;IAC1C,IAAI,eAA0D,CAAA;IAC9D,MAAM,GAAG,GAAG,GAAG,EAAE;QACf,IAAI,eAAe,KAAK,SAAS;YAAE,YAAY,CAAC,eAAe,CAAC,CAAA;QAChE,eAAe,GAAG,UAAU,CAAC,GAAG,EAAE;YAChC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;YAC7B,GAAG,EAAE,CAAA;QACP,CAAC,EAAE,SAAS,CAAC,CAAA;IACf,CAAC,CAAA;IACD,GAAG,EAAE,CAAA;IAEL,MAAM,KAAK,GAAG,MAAM,aAAa,CAC/B,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,IAAI,CAC7D,QAAQ,CAAC,GAAG,EAAE;QACZ,IAAI,eAAe,KAAK,SAAS;YAAE,YAAY,CAAC,eAAe,CAAC,CAAA;IAClE,CAAC,CAAC;IACF,kEAAkE;IAClE,kEAAkE;IAClE,uEAAuE;IACvE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACZ,IAAI,KAAK,EAAE,CAAC;YACV,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,YAAY,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;QACzC,CAAC;IACH,CAAC,CAAC,EACF,IAAI,CAA2B,MAAM,EAAE,YAAY,CAAC,EACpD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACZ,IAAI,KAAK,EAAE,CAAC;YACV,sCAAsC;YACtC,OAAO,CAAC,KAAK,CACX,aAAa,KAAK,CAAC,KAAK,SAAS,KAAK,CAAC,IAAI,GACzC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,EAC/C,UAAU,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAC/B,CAAA;QACH,CAAC;QACD,UAAU,CAAC,KAAK,CAAC,CAAA;IACnB,CAAC,CAAC,EACF,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,EACvC,IAAI,EAAE,EACN,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE;QACjB,gEAAgE;QAChE,sCAAsC;QACtC,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QAC1C,OAAO,CAAC,CAAC,CAAE,CAAC,KAAK,GAAG,4BAA4B,MAAM,CAAC,GAAG,CAAC,EAAE,CAAA;QAC7D,OAAO,EAAE,CAAC;YACR,KAAK,EAAE,CAAC;YACR,mBAAmB,EAAE,KAAK;YAC1B,SAAS,EAAE,KAAK;YAChB,OAAO;YACP,IAAI,EAAE,IAAI;YACV,UAAU,EAAE,IAAmC;YAC/C,KAAK,EAAE,EAAE;SACc,CAAC,CAAA;IAC5B,CAAC,CAAC,CACH,CACF,CAAA;IAED;;;;6EAIyE;IACzE,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACtC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,GAAG,CAAC,EAAE,KAAK,EAAE,iCAAiC,EAAC,CAC9E,CAAA;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAE,CAAA;QACrB,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACpC,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAA;QACzC,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -387,7 +387,7 @@ export declare const argsParser: import("@optique/core").Parser<"async", {
387
387
  readonly command: {
388
388
  readonly action: "profile";
389
389
  readonly port: string | undefined;
390
- readonly updateHeap: true | undefined;
390
+ readonly write: true | undefined;
391
391
  readonly heapTolerance: string | undefined;
392
392
  readonly json: true | undefined;
393
393
  readonly agent: true | undefined;
@@ -742,7 +742,7 @@ export declare const argsParser: import("@optique/core").Parser<"async", {
742
742
  readonly command: ["matched", string] | ["parsing", {
743
743
  readonly action: "profile";
744
744
  readonly port: [import("@optique/core").ValueParserResult<string> | undefined] | undefined;
745
- readonly updateHeap: [import("@optique/core").ValueParserResult<true> | undefined] | undefined;
745
+ readonly write: [import("@optique/core").ValueParserResult<true> | undefined] | undefined;
746
746
  readonly heapTolerance: [import("@optique/core").ValueParserResult<string> | undefined] | undefined;
747
747
  readonly json: [import("@optique/core").ValueParserResult<true> | undefined] | undefined;
748
748
  readonly agent: [import("@optique/core").ValueParserResult<true> | undefined] | undefined;
@@ -1098,7 +1098,7 @@ export declare const prog: import("@optique/core/program").Program<"async", {
1098
1098
  readonly command: {
1099
1099
  readonly action: "profile";
1100
1100
  readonly port: string | undefined;
1101
- readonly updateHeap: true | undefined;
1101
+ readonly write: true | undefined;
1102
1102
  readonly heapTolerance: string | undefined;
1103
1103
  readonly json: true | undefined;
1104
1104
  readonly agent: true | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"ota-client.d.ts","sourceRoot":"","sources":["../../../src/simulator/builtins/ota-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,YAAY,CAAA;AAcjD,eAAO,MAAM,gBAAgB,EAAE,iBA2W9B,CAAA"}
1
+ {"version":3,"file":"ota-client.d.ts","sourceRoot":"","sources":["../../../src/simulator/builtins/ota-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,YAAY,CAAA;AAcjD,eAAO,MAAM,gBAAgB,EAAE,iBA4Y9B,CAAA"}
@@ -106,7 +106,7 @@ export function registry() {
106
106
  // and can be adopted here, but never burned down to a rollback: that needs the
107
107
  // power cycles only a device has.
108
108
 
109
- export function parseConfig(raw) {
109
+ function parseConfig(raw) {
110
110
  if (typeof raw !== 'object' || raw === null || Array.isArray(raw)) return undefined
111
111
  const version = raw.version
112
112
  // Bounded by the buffers the device stores them in. A truncated rev would
@@ -126,7 +126,7 @@ export function parseConfig(raw) {
126
126
  return out
127
127
  }
128
128
 
129
- export function applyConfig(config, options) {
129
+ function applyConfig(config, options) {
130
130
  const parsed = parseConfig(config)
131
131
  if (parsed === undefined) return 'invalid'
132
132
  const version = manifestVersion()
@@ -172,7 +172,7 @@ export function applyConfig(config, options) {
172
172
  return 'applied'
173
173
  }
174
174
 
175
- export function configState() {
175
+ function configState() {
176
176
  const out = {}
177
177
  const report = sysGet('ota.cfgErr')
178
178
  const hasError =
@@ -220,7 +220,7 @@ function install(checksum) {
220
220
  current = {checksum, version: current.version, trial: true}
221
221
  }
222
222
 
223
- export function running() {
223
+ function running() {
224
224
  // The version falls back to the manifest, the way mik__ota_policy_running
225
225
  // falls back to read_app_version: an app needs it to stamp what it delivers.
226
226
  const version = current.version === undefined ? manifestVersion() : current.version
@@ -262,7 +262,7 @@ export function reconcile() {
262
262
  return out
263
263
  }
264
264
 
265
- export function parseOffer(raw, opts) {
265
+ function parseOffer(raw, opts) {
266
266
  if (typeof raw !== 'object' || raw === null) return undefined
267
267
  const url = raw.url
268
268
  const checksum = raw.checksum
@@ -275,6 +275,32 @@ export function parseOffer(raw, opts) {
275
275
  return {url, checksum, size}
276
276
  }
277
277
 
278
+ // The own-transport decline record, persisted the way the device stores it in
279
+ // NVS: an own-transport decline lands after that wake's check-in, so it must
280
+ // outlive the run to make the next report(). \`current\` and \`trial-pending\`
281
+ // are never recorded — the policy working as intended is not a decline.
282
+ function noteDecline(checksum, reason, detail) {
283
+ // The registry rejects a whole check-in body over a malformed lastDecline,
284
+ // so a checksum that cannot travel is not recorded.
285
+ if (!/^[0-9a-f]{64}$/.test(checksum)) return
286
+ const record = {checksum, reason}
287
+ if (typeof detail === 'string' && detail !== '') record.detail = detail.slice(0, 256)
288
+ sysSet('ota.decl', record)
289
+ }
290
+
291
+ export function decline(checksum, reason, detail) {
292
+ if (typeof checksum !== 'string' || !/^[0-9a-f]{64}$/.test(checksum)) {
293
+ throw new TypeError('decline(): checksum must be 64 lowercase hex characters')
294
+ }
295
+ if (typeof reason !== 'string' || reason === '' || reason.length > 64) {
296
+ throw new TypeError('decline(): reason must be 1 to 64 characters')
297
+ }
298
+ if (detail !== undefined && typeof detail !== 'string') {
299
+ throw new TypeError('decline(): detail must be a string')
300
+ }
301
+ noteDecline(checksum, reason, detail)
302
+ }
303
+
278
304
  export function applyOffer(offer, download, options) {
279
305
  if (current.checksum === offer.checksum) return Promise.resolve(ok('current'))
280
306
  if (current.trial) return Promise.resolve(ok('trial-pending'))
@@ -293,12 +319,15 @@ export function applyOffer(offer, download, options) {
293
319
 
294
320
  return download(update).then((result) => {
295
321
  if (!result.ok) {
322
+ noteDecline(offer.checksum, 'download-failed', result.error.message)
296
323
  return err({name: 'DownloadFailed', message: result.error.message})
297
324
  }
298
325
  if (written !== offer.size) {
326
+ const message = 'size mismatch: ' + written + ' != ' + offer.size
327
+ noteDecline(offer.checksum, 'install-failed', message)
299
328
  return err({
300
329
  name: 'InstallFailed',
301
- message: 'size mismatch: ' + written + ' != ' + offer.size,
330
+ message,
302
331
  kind: 'corrupt',
303
332
  })
304
333
  }
@@ -333,6 +362,8 @@ export function report() {
333
362
  const state = configState()
334
363
  if (state.rev !== undefined) out.configRev = state.rev
335
364
  if (state.error !== undefined) out.configError = state.error
365
+ const declined = sysGet('ota.decl')
366
+ if (typeof declined === 'object' && declined !== null) out.lastDecline = declined
336
367
  return out
337
368
  }
338
369
 
@@ -350,6 +381,8 @@ export function settle(raw, options) {
350
381
  // confirm comes first so it settles the document held before this delivery,
351
382
  // never the one about to be armed.
352
383
  confirm()
384
+ // The round completed, so the stored decline record was delivered.
385
+ sysRemove('ota.decl')
353
386
  if (!usable) return out
354
387
 
355
388
  // The name pair: [rev] or [rev, name]. No key means "no change" and never
@@ -367,7 +400,7 @@ export function settle(raw, options) {
367
400
  }
368
401
 
369
402
  // The offer fields are top-level in the response, so the whole body goes to
370
- // the parser, exactly as ota.parseOffer(body) would.
403
+ // the offer parser.
371
404
  const offer = parseOffer(raw, options)
372
405
  if (offer !== undefined) out.offer = offer
373
406
  return out
@@ -1 +1 @@
1
- {"version":3,"file":"ota-client.js","sourceRoot":"","sources":["../../../src/simulator/builtins/ota-client.ts"],"names":[],"mappings":"AAEA,6EAA6E;AAC7E,6DAA6D;AAC7D,4EAA4E;AAC5E,gFAAgF;AAChF,yDAAyD;AACzD,EAAE;AACF,wEAAwE;AACxE,+EAA+E;AAC/E,+EAA+E;AAC/E,2EAA2E;AAC3E,6EAA6E;AAC7E,iDAAiD;AACjD,MAAM,CAAC,MAAM,gBAAgB,GAAsB;IACjD,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyWT;CACA,CAAA"}
1
+ {"version":3,"file":"ota-client.js","sourceRoot":"","sources":["../../../src/simulator/builtins/ota-client.ts"],"names":[],"mappings":"AAEA,6EAA6E;AAC7E,6DAA6D;AAC7D,4EAA4E;AAC5E,gFAAgF;AAChF,yDAAyD;AACzD,EAAE;AACF,wEAAwE;AACxE,+EAA+E;AAC/E,+EAA+E;AAC/E,2EAA2E;AAC3E,6EAA6E;AAC7E,iDAAiD;AACjD,MAAM,CAAC,MAAM,gBAAgB,GAAsB;IACjD,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0YT;CACA,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mikro",
3
- "version": "0.19.0",
3
+ "version": "0.20.0",
4
4
  "description": "Mikro.js: TypeScript for microcontrollers",
5
5
  "keywords": [
6
6
  "embedded",
@@ -74,6 +74,7 @@
74
74
  "./tsconfig": "./tsconfig.base.json",
75
75
  "./uart": "./dist/_exports/uart.js",
76
76
  "./udp": "./dist/_exports/udp.js",
77
+ "./watchdog": "./dist/_exports/watchdog.js",
77
78
  "./runtime": "./runtime.d.ts",
78
79
  "./package.json": "./package.json"
79
80
  },
@@ -97,12 +98,12 @@
97
98
  "tar": "^7.5.13",
98
99
  "uint8array-extras": "^1.5.0",
99
100
  "update-notifier": "^7.3.1",
100
- "@mikrojs/firmware": "0.19.0",
101
- "@mikrojs/analyze-imports": "0.19.0",
102
- "@mikrojs/native": "0.19.0",
103
- "@mikrojs/quickjs": "0.19.0",
104
- "@mikrojs/schema": "0.19.0",
105
- "@mikrojs/esptool": "0.19.0"
101
+ "@mikrojs/analyze-imports": "0.20.0",
102
+ "@mikrojs/native": "0.20.0",
103
+ "@mikrojs/firmware": "0.20.0",
104
+ "@mikrojs/schema": "0.20.0",
105
+ "@mikrojs/quickjs": "0.20.0",
106
+ "@mikrojs/esptool": "0.20.0"
106
107
  },
107
108
  "devDependencies": {
108
109
  "@swc/core": "^1.15.30",