@serfab/cadre-core 1.18.0 → 1.19.1

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 (72) hide show
  1. package/dist/cadre-node.d.ts +65 -2
  2. package/dist/cadre-node.js +120 -4
  3. package/dist/cadre-node.js.map +1 -1
  4. package/dist/control-read-retry.d.ts +19 -16
  5. package/dist/control-read-retry.js +22 -54
  6. package/dist/control-read-retry.js.map +1 -1
  7. package/dist/control-retry.d.ts +50 -6
  8. package/dist/control-retry.js +53 -6
  9. package/dist/control-retry.js.map +1 -1
  10. package/dist/control-write-retry.d.ts +24 -16
  11. package/dist/control-write-retry.js +58 -30
  12. package/dist/control-write-retry.js.map +1 -1
  13. package/dist/edge-node/config.d.ts +8 -2
  14. package/dist/edge-node/config.js +5 -1
  15. package/dist/edge-node/config.js.map +1 -1
  16. package/dist/edge-node/edge-join.js +2 -0
  17. package/dist/edge-node/edge-join.js.map +1 -1
  18. package/dist/edge-node/edge-node.d.ts +10 -0
  19. package/dist/edge-node/edge-node.js +52 -8
  20. package/dist/edge-node/edge-node.js.map +1 -1
  21. package/dist/edge-node/options.d.ts +11 -2
  22. package/dist/edge-node/options.js +11 -4
  23. package/dist/edge-node/options.js.map +1 -1
  24. package/dist/edge-node/platform.d.ts +15 -3
  25. package/dist/edge-node/strands.js +3 -2
  26. package/dist/edge-node/strands.js.map +1 -1
  27. package/dist/index.d.ts +5 -3
  28. package/dist/index.js +7 -2
  29. package/dist/index.js.map +1 -1
  30. package/dist/peer-join-backfill.d.ts +8 -11
  31. package/dist/peer-join-backfill.js +22 -35
  32. package/dist/peer-join-backfill.js.map +1 -1
  33. package/dist/self-address-update.d.ts +13 -0
  34. package/dist/self-address-update.js +19 -0
  35. package/dist/self-address-update.js.map +1 -0
  36. package/dist/strand-database.d.ts +56 -0
  37. package/dist/strand-database.js +87 -0
  38. package/dist/strand-database.js.map +1 -1
  39. package/dist/strand-instance-manager.d.ts +67 -2
  40. package/dist/strand-instance-manager.js +105 -4
  41. package/dist/strand-instance-manager.js.map +1 -1
  42. package/dist/strand-membership-reconciler.d.ts +13 -1
  43. package/dist/strand-membership-reconciler.js +23 -14
  44. package/dist/strand-membership-reconciler.js.map +1 -1
  45. package/dist/strand-membership-writer.d.ts +16 -2
  46. package/dist/strand-membership-writer.js +54 -8
  47. package/dist/strand-membership-writer.js.map +1 -1
  48. package/dist/strand-offline.d.ts +131 -0
  49. package/dist/strand-offline.js +142 -0
  50. package/dist/strand-offline.js.map +1 -0
  51. package/dist/types.d.ts +35 -0
  52. package/dist/types.js.map +1 -1
  53. package/package.json +8 -8
  54. package/src/cadre-node.ts +11456 -11326
  55. package/src/control-read-retry.ts +22 -58
  56. package/src/control-retry.ts +54 -6
  57. package/src/control-write-retry.ts +58 -30
  58. package/src/edge-node/config.ts +11 -2
  59. package/src/edge-node/edge-join.ts +1 -0
  60. package/src/edge-node/edge-node.ts +55 -6
  61. package/src/edge-node/options.ts +20 -4
  62. package/src/edge-node/platform.ts +15 -3
  63. package/src/edge-node/strands.ts +3 -2
  64. package/src/index.ts +917 -899
  65. package/src/peer-join-backfill.ts +33 -43
  66. package/src/self-address-update.ts +19 -0
  67. package/src/strand-database.ts +466 -352
  68. package/src/strand-instance-manager.ts +2210 -2092
  69. package/src/strand-membership-reconciler.ts +29 -14
  70. package/src/strand-membership-writer.ts +61 -14
  71. package/src/strand-offline.ts +247 -0
  72. package/src/types.ts +2960 -2926
@@ -1 +1 @@
1
- {"version":3,"file":"control-write-retry.js","sourceRoot":"","sources":["../src/control-write-retry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"control-write-retry.js","sourceRoot":"","sources":["../src/control-write-retry.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ import type { BootstrapPeerStore } from '../bootstrap-peer-store.js';
9
9
  import type { EnrolledMachineStore } from '../enrolled-machine-store.js';
10
10
  import type { StrandNetworkStateStore } from '../strand-network-state.js';
11
11
  import type { TrustedOwnerStore } from '../trusted-owner-store.js';
12
- import type { IRawStorage, Libp2pTransports, NoiseCryptoInterface } from '@optimystic/db-p2p';
12
+ import type { IKVStore, IRawStorage, Libp2pTransports, NoiseCryptoInterface } from '@optimystic/db-p2p';
13
13
  import type { EdgeNodeOptions } from './options.js';
14
14
  /** What {@link buildEdgeNodeConfig} takes: one start's options plus what the platform built. */
15
15
  export interface EdgeNodeConfigInputs extends EdgeNodeOptions {
@@ -26,6 +26,11 @@ export interface EdgeNodeConfigInputs extends EdgeNodeOptions {
26
26
  * segment — use it verbatim, do not parse it.
27
27
  */
28
28
  storageProvider: (scope: string) => IRawStorage;
29
+ /**
30
+ * A strand's offline journal (`EdgeNodeStorage.offlineJournal`). Absent: no offline mode, and
31
+ * {@link EdgeNodeOptions.strandOfflineMode} is ignored.
32
+ */
33
+ offlineJournal?: (scope: string) => Promise<IKVStore>;
29
34
  /** libp2p transport factories: what the node dials with, and what listens on `listenAddrs`. */
30
35
  transports: Libp2pTransports;
31
36
  /**
@@ -44,7 +49,8 @@ export interface EdgeNodeConfigInputs extends EdgeNodeOptions {
44
49
  * The edge node's config: transaction profile (Ring Zulu only, intermittent connectivity), no
45
50
  * listen address unless the platform names one, reachability through the configured relays (if
46
51
  * any) but never a hard requirement for one, every strand the control network lists, and no
47
- * automatic hibernation (the app's lifecycle runner hibernates on background). Schema signing is
52
+ * automatic hibernation (the app's lifecycle runner hibernates on background), and offline mode
53
+ * on strands when the platform keeps an offline journal. Schema signing is
48
54
  * left at cadre-core's fail-closed default; an app with unsigned schemas relaxes it in
49
55
  * `EdgeNodePlatform.configure`.
50
56
  */
@@ -9,7 +9,8 @@ import { OWNER_KEY_MAX_LABEL } from '../owner-key-export.js';
9
9
  * The edge node's config: transaction profile (Ring Zulu only, intermittent connectivity), no
10
10
  * listen address unless the platform names one, reachability through the configured relays (if
11
11
  * any) but never a hard requirement for one, every strand the control network lists, and no
12
- * automatic hibernation (the app's lifecycle runner hibernates on background). Schema signing is
12
+ * automatic hibernation (the app's lifecycle runner hibernates on background), and offline mode
13
+ * on strands when the platform keeps an offline journal. Schema signing is
13
14
  * left at cadre-core's fail-closed default; an app with unsigned schemas relaxes it in
14
15
  * `EdgeNodePlatform.configure`.
15
16
  */
@@ -61,6 +62,9 @@ export function buildEdgeNodeConfig(inputs) {
61
62
  // gated by `denyDialPeer` and the inbound hooks. cadre-core hands this gater to strand nodes too.
62
63
  ...(inputs.allowPrivateDial ? { connectionGater: { denyDialMultiaddr: () => false } } : {}),
63
64
  },
65
+ ...(inputs.offlineJournal && {
66
+ strandOffline: { journal: inputs.offlineJournal, initialMode: inputs.strandOfflineMode ?? 'online' },
67
+ }),
64
68
  strandFilter: { mode: 'all' },
65
69
  hibernation: { enabled: false },
66
70
  trustedOwners: { store: inputs.trustedOwnerStore },
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/edge-node/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/edge-node/config.ts"],"names":[],"mappings":"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"}
@@ -69,6 +69,8 @@ async function switchParty(runtime, credential, options, signal) {
69
69
  const noiseCryptoMode = options.noiseCryptoMode ?? leaving?.noiseCryptoMode;
70
70
  if (noiseCryptoMode !== undefined)
71
71
  joined.noiseCryptoMode = noiseCryptoMode;
72
+ if (leaving?.strandOfflineMode !== undefined)
73
+ joined.strandOfflineMode = leaving.strandOfflineMode;
72
74
  if (formerPartyId !== undefined)
73
75
  joined.formerPartyId = formerPartyId;
74
76
  const movingFrom = founded ? await recordStrandMove(runtime, founded, credential) : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"edge-join.js","sourceRoot":"","sources":["../../src/edge-node/edge-join.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"edge-join.js","sourceRoot":"","sources":["../../src/edge-node/edge-join.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ import type { ExportedOwnerKey, ImportedOwnerKey, OwnerKeyExportOptions } from '
14
14
  import { type StrandMoveReport } from '../strand-move.js';
15
15
  import type { DurableSlot } from '../node-local-snapshot.js';
16
16
  import type { CadreJoinProgress, CadreNodeEvents, CadreOwnerKey, CadreRemoval, CreateOwnerGrantOptions, CreateOwnerGrantResult, OwnerGrantStatus, OwnerKeyRemovalPlan, OwnerKeyRemovalResult, RedeemCadreInvitationResult, RemoveOwnerOptions } from '../types.js';
17
+ import type { StrandOfflineMode } from '../strand-offline.js';
17
18
  import { type OwnerGenesisResult } from './config.js';
18
19
  import { type DissolveFormerPartyOptions } from './dissolve.js';
19
20
  import type { JoinCredential } from './join-credential.js';
@@ -133,6 +134,15 @@ export interface EdgeNode {
133
134
  * is built. `autoStart` is not cleared on the way, so a crash mid-restart still starts again.
134
135
  */
135
136
  restart(options: EdgeNodeOptions): Promise<CadreNode>;
137
+ /**
138
+ * Change the app's offline mode ({@link EdgeNodeOptions.strandOfflineMode}) without a restart:
139
+ * every strand the running node runs takes it at once (`CadreNode.setStrandOfflineMode`), so
140
+ * does each strand it starts later, and the saved start keeps it, so the next start, a
141
+ * background restart and a push wake start every strand in it. In turn with start, stop and
142
+ * join. Throws while no node runs, and on a platform with no offline journal
143
+ * (`EdgeNodeStorage.offlineJournal`).
144
+ */
145
+ setStrandOfflineMode(mode: StrandOfflineMode): Promise<void>;
136
146
  /**
137
147
  * Join the cadre `credential` names: this app's one node moves to that party, keeping its
138
148
  * identity, so the peer id an owner targeted is the one that redeems. A machine invitation
@@ -62,6 +62,8 @@ class EdgeNodeRuntime {
62
62
  */
63
63
  this.transitions = Promise.resolve();
64
64
  this.currentStatus = { state: 'stopped' };
65
+ /** The mode {@link setStrandOfflineMode} set on the running node, which it was not built with; null until then. */
66
+ this.changedOfflineMode = null;
65
67
  this.lastUnfinishedRemoval = null;
66
68
  this.subscriptions = new Set();
67
69
  this.statusListeners = new Set();
@@ -113,6 +115,21 @@ class EdgeNodeRuntime {
113
115
  return this.buildAndStart(options);
114
116
  });
115
117
  }
118
+ setStrandOfflineMode(mode) {
119
+ return this.inTurn(async () => {
120
+ const node = this.node;
121
+ const running = this.options;
122
+ if (!node || !running)
123
+ throw new Error('Cannot set the offline mode: the edge node is not running');
124
+ if (!this.platform.storage.offlineJournal)
125
+ throw new Error('Cannot set the offline mode: this platform keeps no offline journal');
126
+ for (const strandId of node.getStrands().keys())
127
+ node.setStrandOfflineMode(strandId, mode);
128
+ this.changedOfflineMode = { node, mode };
129
+ this.runningOptions = { ...running, strandOfflineMode: mode };
130
+ await this.saveRunningStart(this.runningOptions);
131
+ });
132
+ }
116
133
  joinCadre(credential, options = {}) {
117
134
  // A start called from here on runs after this join rather than joining a start it replaces.
118
135
  this.starting = null;
@@ -343,6 +360,7 @@ class EdgeNodeRuntime {
343
360
  for (const subscription of this.subscriptions)
344
361
  subscription.attach(node);
345
362
  this.watchRemoval(node);
363
+ this.followOfflineMode(node);
346
364
  await node.start();
347
365
  return { node, resolved };
348
366
  }
@@ -407,6 +425,9 @@ class EdgeNodeRuntime {
407
425
  * build's default does not change a device that already ran. Options naming no `origin`
408
426
  * take the saved start's `origin` and `formerPartyId` when it is for the same party, so a
409
427
  * party this app joined, started again from a hand-typed party id, does not run owner genesis.
428
+ * Options naming no `strandOfflineMode` take the saved start's, whatever its party: the mode is
429
+ * the app's choice ({@link setStrandOfflineMode}), and a start built from a form or from options
430
+ * held since before that choice would otherwise drop it.
410
431
  */
411
432
  async resolveOptions(options) {
412
433
  requireOwnerKeyLabel(options.ownerKeyLabel);
@@ -414,15 +435,17 @@ class EdgeNodeRuntime {
414
435
  const defaultMode = this.platform.noiseCrypto?.defaultMode;
415
436
  if (resolved.noiseCryptoMode === undefined && defaultMode !== undefined)
416
437
  resolved.noiseCryptoMode = defaultMode;
417
- if (resolved.origin === undefined) {
418
- const saved = (await this.readSavedStart())?.options;
419
- if (saved?.partyId === resolved.partyId) {
420
- if (saved.origin !== undefined)
421
- resolved.origin = saved.origin;
422
- if (saved.formerPartyId !== undefined)
423
- resolved.formerPartyId = saved.formerPartyId;
424
- }
438
+ if (resolved.origin !== undefined && resolved.strandOfflineMode !== undefined)
439
+ return resolved;
440
+ const saved = (await this.readSavedStart())?.options;
441
+ if (resolved.origin === undefined && saved?.partyId === resolved.partyId) {
442
+ if (saved.origin !== undefined)
443
+ resolved.origin = saved.origin;
444
+ if (saved.formerPartyId !== undefined)
445
+ resolved.formerPartyId = saved.formerPartyId;
425
446
  }
447
+ if (resolved.strandOfflineMode === undefined && saved?.strandOfflineMode !== undefined)
448
+ resolved.strandOfflineMode = saved.strandOfflineMode;
426
449
  return resolved;
427
450
  }
428
451
  /**
@@ -439,6 +462,7 @@ class EdgeNodeRuntime {
439
462
  noiseCrypto: this.buildNoiseCrypto(options.noiseCryptoMode),
440
463
  keyStore: this.keyStore,
441
464
  storageProvider: (scope) => platform.storage.rawStorage(scope),
465
+ offlineJournal: platform.storage.offlineJournal?.bind(platform.storage),
442
466
  transports: (platform.transports ?? defaultTransports)(relayAddrs),
443
467
  listenAddrs: platform.listenAddrs?.(relayAddrs) ?? [],
444
468
  allowPrivateDial: platform.allowPrivateDial ?? true,
@@ -525,6 +549,25 @@ class EdgeNodeRuntime {
525
549
  void this.trackStop(() => this.forgetRemovedParty(removal));
526
550
  });
527
551
  }
552
+ /**
553
+ * A strand that starts after {@link setStrandOfflineMode} changed the mode takes the new one:
554
+ * the node applies the mode it was built with (`strandOffline.initialMode`) to every launch.
555
+ */
556
+ // NOTE: this, and setStrandOfflineMode's loop, override a mode an app set on one strand with
557
+ // `CadreNode.setStrandOfflineMode`; if an app ever mixes per-strand modes with this call, keep the per-strand ones.
558
+ followOfflineMode(node) {
559
+ node.on('strand:started', ({ strandId }) => {
560
+ const changed = this.changedOfflineMode;
561
+ if (changed?.node !== node)
562
+ return;
563
+ try {
564
+ node.setStrandOfflineMode(strandId, changed.mode);
565
+ }
566
+ catch (err) {
567
+ console.warn(`[cadre-core/edge-node] strand ${strandId} started in the mode the node was built with, not ${changed.mode}:`, err);
568
+ }
569
+ });
570
+ }
528
571
  /**
529
572
  * In turn with start, stop and join: stop the removed party's node, point the saved start away
530
573
  * from that party, delete its local storage and report `removed`. A node of another party, started
@@ -609,6 +652,7 @@ class EdgeNodeRuntime {
609
652
  const stopping = this.current;
610
653
  this.current = null;
611
654
  this.runningOptions = null;
655
+ this.changedOfflineMode = null;
612
656
  try {
613
657
  if (stopping) {
614
658
  for (const subscription of this.subscriptions)
@@ -1 +1 @@
1
- {"version":3,"file":"edge-node.js","sourceRoot":"","sources":["../../src/edge-node/edge-node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"edge-node.js","sourceRoot":"","sources":["../../src/edge-node/edge-node.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAiB,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3E,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExE,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,EAAE,iCAAiC,EAAE,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAyB,MAAM,mBAAmB,CAAC;AAkB9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,eAAe,EAAE,kBAAkB,EAA2B,MAAM,aAAa,CAAC;AACtI,OAAO,EACN,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,sBAAsB,EACtB,kBAAkB,GAIlB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,SAAS,EAAoB,MAAM,gBAAgB,CAAC;AAE7D,OAAO,EACN,mBAAmB,EACnB,qBAAqB,EACrB,WAAW,EACX,kBAAkB,EAClB,kBAAkB,GAGlB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,iBAAiB,EAA+D,MAAM,cAAc,CAAC;AACpJ,OAAO,EAAE,oBAAoB,EAAmD,MAAM,kBAAkB,CAAC;AACzG,OAAO,EAAE,uBAAuB,EAAiE,MAAM,eAAe,CAAC;AACvH,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,WAAW,EAAE,iBAAiB,EAAE,OAAO,EAAkD,MAAM,kBAAkB,CAAC;AA6Q5J,iGAAiG;AACjG,MAAM,SAAS,GAAG,IAAI,GAAG,EAAoB,CAAC;AAE9C;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,QAA0B;IACxD,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACnC,IAAI,QAAQ,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACpF,MAAM,IAAI,KAAK,CAAC,8BAA8B,EAAE,gBAAgB,QAAQ,CAAC,MAAM,CAAC,KAAK,mCAAmC,CAAC,CAAC;IAC3H,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC,QAAQ,EAAE,EAAE,GAAG,uBAAuB,EAAE,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IACjG,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAC3B,OAAO,OAAO,CAAC;AAChB,CAAC;AAED,MAAM,eAAe;IAqBpB,YACkB,QAA0B,EAC1B,KAAoB;QADpB,aAAQ,GAAR,QAAQ,CAAkB;QAC1B,UAAK,GAAL,KAAK,CAAe;QApB9B,YAAO,GAAqB,IAAI,CAAC;QACzC,mBAAc,GAA2B,IAAI,CAAC;QACtC,aAAQ,GAA8B,IAAI,CAAC;QAC3C,aAAQ,GAAyB,IAAI,CAAC;QAC9C,0EAA0E;QACzD,UAAK,GAAG,IAAI,GAAG,EAAmB,CAAC;QACpD;;;WAGG;QACK,gBAAW,GAAqB,OAAO,CAAC,OAAO,EAAE,CAAC;QAClD,kBAAa,GAAmB,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAC7D,mHAAmH;QAC3G,uBAAkB,GAAwD,IAAI,CAAC;QAC/E,0BAAqB,GAA6B,IAAI,CAAC;QAC9C,kBAAa,GAAG,IAAI,GAAG,EAAgB,CAAC;QACxC,oBAAe,GAAG,IAAI,GAAG,EAAoC,CAAC;QAM9E,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;QAClC,IAAI,CAAC,KAAK,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,MAAM;QACT,OAAO,IAAI,CAAC,aAAa,CAAC;IAC3B,CAAC;IAED,IAAI,IAAI;QACP,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IACrE,CAAC;IAED,IAAI,OAAO;QACV,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5E,CAAC;IAED,IAAI,iBAAiB;QACpB,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACnC,CAAC;IAED,cAAc;QACb,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC;QAClC,mGAAmG;QACnG,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QACzG,IAAI,MAAM;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;YAC7B,MAAM,GAAG,GAAG,MAAM,uBAAuB,CAAC,IAAI,CAAC,QAAQ,EAAE,uBAAuB,CAAC,CAAC;YAClF,+CAA+C;YAC/C,OAAO,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;QACjC,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAwB;QAC7B,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC;QACxC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACvH,CAAC;IAED,IAAI;QACH,4FAA4F;QAC5F,wFAAwF;QACxF,4FAA4F;QAC5F,wEAAwE;QACxE,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC,CAAC;QAChG,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,CAAC,OAAwB;QAC/B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE;YACjC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,oBAAoB,CAAC,IAAuB;QAC3C,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;YAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACvB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAC7B,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;YACpG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc;gBAAE,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;YAClI,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE;gBAAE,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC3F,IAAI,CAAC,kBAAkB,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACzC,IAAI,CAAC,cAAc,GAAG,EAAE,GAAG,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;YAC9D,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,SAAS,CAAC,UAA0B,EAAE,UAA4B,EAAE;QACnE,4FAA4F;QAC5F,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACnD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACvB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QACvF,MAAM,OAAO,GAAG,GAAS,EAAE;YAC1B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC1B,OAAO,EAAE,CAAC;QACX,CAAC,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC/B,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,cAAc;QACnB,uFAAuF;QACvF,2EAA2E;QAC3E,MAAM,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;IAC9B,CAAC;IAED,eAAe;QACd,OAAO,WAAW,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IACxE,CAAC;IAED,kBAAkB;QACjB,OAAO,WAAW,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAC5E,CAAC;IAED,+EAA+E;IAC/E,gBAAgB;QACf,8GAA8G;QAC9G,MAAM,EAAE,GAAG,KAAK,IAA0B,EAAE;YAC3C,mFAAmF;YACnF,uFAAuF;YACvF,sHAAsH;YACtH,MAAM,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC5C,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC;QACF,OAAO;YACN,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;YACzC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC;YACvD,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE;SACvC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,iBAAiB;QACtB,MAAM,aAAa,GAAG,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,aAAa,CAAC;QACrG,IAAI,aAAa,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAClD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACpD,OAAO,MAAM,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,gBAAgB;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;YAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACvB,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC;YACpC,MAAM,aAAa,GAAG,OAAO,EAAE,aAAa,CAAC;YAC7C,IAAI,CAAC,IAAI,EAAE,SAAS,IAAI,CAAC,OAAO,IAAI,aAAa,KAAK,SAAS;gBAAE,OAAO,SAAS,CAAC;YAClF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACpD,IAAI,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC,OAAO;gBAAE,OAAO,SAAS,CAAC;YAC7D,qFAAqF;YACrF,sFAAsF;YACtF,sFAAsF;YACtF,2BAA2B;YAC3B,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,cAAc,EAAE,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC;gBAC/H,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC/D,6FAA6F;YAC7F,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC1B,OAAO,MAAM,CAAC;QACf,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,mBAAmB,CAAC,UAAsC,EAAE;QAC3D,wGAAwG;QACxG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,EAAE,CAAkC,KAAQ,EAAE,OAA2C;QACxF,MAAM,YAAY,GAAiB;YAClC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;YACzC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC;SAC1C,CAAC;QACF,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,OAAO;YAAE,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpD,OAAO,GAAG,EAAE;YACX,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACxC,IAAI,IAAI,CAAC,OAAO;gBAAE,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrD,CAAC,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,QAA0C;QAClD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACnC,OAAO,GAAG,EAAE;YACX,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC,CAAC;IACH,CAAC;IAED,cAAc;QACb,OAAO,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,EAAE,SAAS,IAAI,IAAI,CAAC;IACvD,CAAC;IAED,4EAA4E;IAC5E,6FAA6F;IAC7F,iDAAiD;IAEjD,aAAa;QACZ,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,cAAc,CAAC,UAAiC,EAAE;QACjD,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,cAAc,CAAC,IAAY,EAAE,UAAmB;QAC/C,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;YAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YACrD,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;YACjF,IAAI,QAAQ,CAAC,KAAK,IAAI,IAAI;gBAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YACtD,OAAO,QAAQ,CAAC;QACjB,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,mBAAmB,CAAC,GAAW;QAC9B,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,WAAW,CAAC,GAAW,EAAE,UAA8B,EAAE;QACxD,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,gBAAgB,CAAC,UAAmC,EAAE;QACrD,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,eAAe;QACd,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,kBAAkB,CAAC,GAAW;QAC7B,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,gBAAgB,CAAC,IAAY;QAC5B,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YACxC,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAC9D,IAAI,QAAQ,CAAC,KAAK;gBAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC9C,OAAO,QAAQ,CAAC;QACjB,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,oGAAoG;IAC5F,aAAa,CAAI,EAAmC;QAC3D,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;YAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACvB,IAAI,CAAC,IAAI,EAAE,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;YACtF,OAAO,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,6FAA6F;IACrF,cAAc,CAAC,IAAe;QACrC,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YACvF,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;QAC/D,CAAC;IACF,CAAC;IAED,4EAA4E;IAE5E,2FAA2F;IACnF,MAAM,CAAI,EAAoB;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACjD,OAAO,MAAM,CAAC;IACf,CAAC;IAED;;;OAGG;IACK,SAAS,CAAC,EAAuB;QACxC,8FAA8F;QAC9F,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,MAAM,OAAO,GAAG,GAAS,EAAE;YAC1B,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ;gBAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACtD,CAAC,CAAC;QACF,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAChC,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED,2EAA2E;IACnE,UAAU,CAAC,EAA4B;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,MAAM,OAAO,GAAG,GAAS,EAAE;YAC1B,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ;gBAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACtD,CAAC,CAAC;QACF,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAChC,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED,4EAA4E;IAC5E,iFAAiF;IACjF,sFAAsF;IACtF,2FAA2F;IAC3F,4BAA4B;IAE5B,KAAK,CAAC,aAAa,CAAC,OAAwB;QAC3C,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC;YACJ,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACvD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACxD,wFAAwF;YACxF,yEAAyE;YACzE,sFAAsF;YACtF,sFAAsF;YACtF,yBAAyB;YACzB,IAAI,KAAK,KAAK,UAAU;gBAAE,MAAM,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACjE,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC9C,OAAO,IAAI,CAAC;QACb,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,8FAA8F;YAC9F,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,UAAmB,EAAE,EAAE;gBACnD,OAAO,CAAC,IAAI,CAAC,iEAAiE,EAAE,UAAU,CAAC,CAAC;YAC7F,CAAC,CAAC,CAAC;YACH,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;YAC3B,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YAC3C,MAAM,KAAK,CAAC;QACb,CAAC;IACF,CAAC;IAED,iHAAiH;IACjH,KAAK,CAAC,OAAO,CAAC,OAAwB;QACrC,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACjC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACzF,MAAM,IAAI,GAAG,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa;YAAE,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC7B,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAED,uHAAuH;IAC/G,kBAAkB,CAAC,OAAuB;QACjD,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACnC,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACxG,CAAC;aAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC3B,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;QACnC,CAAC;IACF,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,SAAS,CAAI,OAAwB,EAAE,IAAqC,EAAE,OAAe;QAClG,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC;YACJ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;YAC1E,MAAM,IAAI,GAAG,IAAI,SAAS,CAAC,EAAE,GAAG,MAAM,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;YAC1E,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YACnB,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;gBAAS,CAAC;YACV,sDAAsD;YACtD,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;gBAC5C,OAAO,CAAC,IAAI,CAAC,uDAAuD,OAAO,UAAU,EAAE,GAAG,CAAC,CAAC;YAC7F,CAAC,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAED,iGAAiG;IACzF,cAAc,CAAC,IAAe,EAAE,OAAwB;QAC/D,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC1E,OAAO,eAAe,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,aAAa,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,qBAAqB,EAAE,CAAC,CAAC;IACzI,CAAC;IAED,kJAAkJ;IAClJ,KAAK,CAAC,eAAe;QACpB,OAAO,CAAC,MAAM,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxF,CAAC;IAED,qFAAqF;IACrF,eAAe,CAAC,IAAe,EAAE,OAAgB;QAChD,OAAO,kBAAkB,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,qBAAqB,EAAE,OAAO,EAAE,CAAC,CAAC;IACvH,CAAC;IAED,2HAA2H;IACnH,KAAK,CAAC,WAAW,CAAC,IAAe,EAAE,QAAyB,EAAE,KAAyB;QAC9F,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED,gBAAgB,CAAC,QAAyB;QACzC,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;IACrG,CAAC;IAED,aAAa,CAAC,IAAe,EAAE,QAAyB,EAAE,KAAyB;QAClF,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;QAC/B,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACnD,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,cAAc,CAAC,OAAwB;QACpD,oBAAoB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;QAChC,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;QAC3D,IAAI,QAAQ,CAAC,eAAe,KAAK,SAAS,IAAI,WAAW,KAAK,SAAS;YAAE,QAAQ,CAAC,eAAe,GAAG,WAAW,CAAC;QAChH,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,IAAI,QAAQ,CAAC,iBAAiB,KAAK,SAAS;YAAE,OAAO,QAAQ,CAAC;QAC/F,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC,EAAE,OAAO,CAAC;QACrD,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,EAAE,OAAO,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC;YAC1E,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;gBAAE,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YAC/D,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS;gBAAE,QAAQ,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;QACrF,CAAC;QACD,IAAI,QAAQ,CAAC,iBAAiB,KAAK,SAAS,IAAI,KAAK,EAAE,iBAAiB,KAAK,SAAS;YAAE,QAAQ,CAAC,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAC;QAC7I,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,WAAW,CAAC,OAAwB;QACjD,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;QACxC,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC1B,MAAM,MAAM,GAAG,mBAAmB,CAAC;YAClC,GAAG,OAAO;YACV,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,eAAe,CAAC;YAC3D,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC;YAC9D,cAAc,EAAE,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YACvE,UAAU,EAAE,CAAC,QAAQ,CAAC,UAAU,IAAI,iBAAiB,CAAC,CAAC,UAAU,CAAC;YAClE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE;YACrD,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB,IAAI,IAAI;YACnD,iBAAiB,EAAE,MAAM,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;YAClG,kBAAkB,EAAE,MAAM,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC;YACtH,oBAAoB,EAAE,MAAM,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC;YAC5H,uBAAuB,EAAE,MAAM,iCAAiC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC;SAC/H,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACjE,CAAC;IAEO,gBAAgB,CAAC,IAAiC;QACzD,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC9C,OAAO,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAClE,CAAC;IAED,4EAA4E;IAC5E,8FAA8F;IAC9F,6FAA6F;IAC7F,mFAAmF;IACnF,4FAA4F;IAC5F,wCAAwC;IAExC,6DAA6D;IACrD,KAAK,CAAC,QAAQ,CAAC,OAA0B;QAChD,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACjC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACvE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACpD,IAAI,MAAM;YAAE,MAAM,IAAI,sBAAsB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;QAClE,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC;YACJ,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,aAAa,EAAE,OAAO,CAAC,EAAE,eAAe,EAAE,wBAAwB,CAAC,CAAC;YACzH,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YAC3E,IAAI,OAAO;gBAAE,MAAM,OAAO,CAAC;YAC3B,MAAM,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,aAAa,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;YAC5C,MAAM,GAAG,CAAC;QACX,CAAC;QACD,MAAM,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;IACtE,CAAC;IAEO,sBAAsB;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC;QACpC,MAAM,aAAa,GAAG,OAAO,EAAE,aAAa,CAAC;QAC7C,IAAI,CAAC,IAAI,EAAE,SAAS,IAAI,CAAC,OAAO,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YACjE,MAAM,IAAI,KAAK,CAAC,sGAAsG,CAAC,CAAC;QACzH,CAAC;QACD,gHAAgH;QAChH,IAAI,aAAa,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,yBAAyB,aAAa,kDAAkD,CAAC,CAAC;QAC3G,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;IACzC,CAAC;IAED,wHAAwH;IAChH,KAAK,CAAC,uBAAuB,CAAC,OAAwB;QAC7D,IAAI,CAAC;YACJ,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,kFAAkF,EAAE,GAAG,CAAC,CAAC;QACvG,CAAC;IACF,CAAC;IAED,wGAAwG;IAChG,KAAK,CAAC,mBAAmB;QAChC,MAAM,mBAAmB,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QAC/C,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;IACnC,CAAC;IAED,4EAA4E;IAE5E;;;;;;;;;;OAUG;IACK,YAAY,CAAC,IAAe;QACnC,IAAI,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,OAAO,EAAE,EAAE;YACpC,KAAK,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,6FAA6F;IAC7F,oHAAoH;IAC5G,iBAAiB,CAAC,IAAe;QACxC,IAAI,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;YAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC;YACxC,IAAI,OAAO,EAAE,IAAI,KAAK,IAAI;gBAAE,OAAO;YACnC,IAAI,CAAC;gBACJ,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YACnD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,IAAI,CAAC,iCAAiC,QAAQ,qDAAqD,OAAO,CAAC,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC;YAClI,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACK,KAAK,CAAC,kBAAkB,CAAC,OAAqB;QACrD,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAC5B,IAAI,CAAC;YACJ,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;gBAC/D,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;gBACrC,IAAI,IAAI,CAAC,cAAc;oBAAE,IAAI,CAAC,cAAc,GAAG,kBAAkB,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;gBAChG,OAAO;YACR,CAAC;YACD,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;gBAC5C,wFAAwF;gBACxF,OAAO,CAAC,IAAI,CAAC,qDAAqD,OAAO,mCAAmC,EAAE,GAAG,CAAC,CAAC;YACpH,CAAC,CAAC,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAC5D,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACrC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,aAAa,KAAK,SAAS,IAAI,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/G,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,kEAAkE,OAAO,UAAU,EAAE,GAAG,CAAC,CAAC;YACvG,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1D,CAAC;IACF,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,iBAAiB,CAAC,OAAe;QAC9C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC1C,IAAI,KAAK,EAAE,OAAO,CAAC,OAAO,KAAK,OAAO;YAAE,OAAO,SAAS,CAAC;QACzD,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,IAAI;YAAE,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;;YACxF,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACnC,OAAO,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,gBAAgB,CAAC,OAAe;QAC7C,IAAI,CAAC;YACJ,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACjC,MAAM,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,OAAO,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,wDAAwD,OAAO,mCAAmC,EAAE,GAAG,CAAC,CAAC;QACvH,CAAC;IACF,CAAC;IAED,4EAA4E;IAEpE,KAAK,CAAC,qBAAqB;QAClC,2FAA2F;QAC3F,yFAAyF;QACzF,qFAAqF;QACrF,iDAAiD;QACjD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;QAChH,CAAC;QACD,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAQ;QACb,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC;YACJ,IAAI,QAAQ,EAAE,CAAC;gBACd,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa;oBAAE,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC7E,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACvB,CAAC;QACF,CAAC;gBAAS,CAAC;YACV,sFAAsF;YACtF,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACpC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACtC,CAAC;IACF,CAAC;IAED,4EAA4E;IAEpE,WAAW;QAClB,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;IAC1C,CAAC;IAEO,aAAa,CAAC,GAAW;QAChC,OAAO,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,CAAC;IAC7C,CAAC;IAED,sFAAsF;IAC9E,gBAAgB,CAAC,OAAe;QACvC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,IAAI,sBAAsB,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;IACrI,CAAC;IAEO,YAAY;QACnB,OAAO;YACN,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE;YAC7B,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,iBAAiB;YACvC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa;YACvC,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC;YAClE,gBAAgB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;YAC7D,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;SACjB,CAAC;IACH,CAAC;IAED,mHAAmH;IACnH,KAAK,CAAC,cAAc;QACnB,OAAO,eAAe,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,8DAA8D;IACtD,KAAK,CAAC,gBAAgB;QAC7B,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC9B,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC1C,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;IAED,gFAAgF;IACxE,KAAK,CAAC,SAAS,CAAC,KAAiB;QACxC,IAAI,CAAC;YACJ,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;QACrF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,0DAA0D,EAAE,GAAG,CAAC,CAAC;QAC/E,CAAC;IACF,CAAC;IAED,SAAS,CAAC,MAAsB;QAC/B,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;QAC5B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC7C,IAAI,CAAC;gBACJ,QAAQ,CAAC,MAAM,CAAC,CAAC;YAClB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,IAAI,CAAC,+CAA+C,EAAE,GAAG,CAAC,CAAC;YACpE,CAAC;QACF,CAAC;IACF,CAAC;CACD;AAED,0HAA0H;AAC1H,SAAS,sBAAsB,CAAC,EAAe,EAAE,GAAW;IAC3D,OAAO;QACN,GAAG,WAAW,CAAC,EAAE,EAAE,GAAG,CAAC;QACvB,MAAM,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACrB,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC;KACD,CAAC;AACH,CAAC;AAED,2FAA2F;AAC3F,SAAS,UAAU,CAAC,MAA+B,EAAE,MAAuB;IAC3E,IAAI,CAAC,MAAM;QAAE,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;IAC7B,MAAM,KAAK,GAAG,GAAS,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACtD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,KAAK,EAAE,CAAC;QACR,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;IACjB,CAAC;IACD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AACzD,CAAC;AAED,yGAAyG;AACzG,SAAS,iBAAiB;IACzB,OAAO,CAAC,UAAU,EAAE,EAAE,qBAAqB,EAAE,CAAC,CAAC;AAChD,CAAC"}
@@ -8,6 +8,7 @@
8
8
  * ({@link startAfterRemoval}); an app's launch and a push wake into a killed process read it to
9
9
  * start the node unattended.
10
10
  */
11
+ import type { StrandOfflineMode } from '../strand-offline.js';
11
12
  /**
12
13
  * How much of Noise's crypto the platform replaces (`EdgeNodePlatform.noiseCrypto`): none, the
13
14
  * per-frame hash and cipher, or those and the handshake's key exchange too. Named here, apart from
@@ -45,6 +46,13 @@ export interface EdgeNodeOptions {
45
46
  * stays on disk under its own names, for moving its strands and dissolving the old cadre.
46
47
  */
47
48
  formerPartyId?: string;
49
+ /**
50
+ * The offline mode every strand starts in (`CadreNodeConfig.strandOffline.initialMode`); absent,
51
+ * the saved start's, else `'online'`. Read only on a platform with an offline journal (`EdgeNodeStorage.offlineJournal`).
52
+ * `EdgeNode.setStrandOfflineMode` changes it while running, and saves it; `CadreNode.setStrandOfflineMode`
53
+ * changes one strand's mode until the process exits.
54
+ */
55
+ strandOfflineMode?: StrandOfflineMode;
48
56
  }
49
57
  /** Whether this app founded its party, or joined it by invitation. */
50
58
  export type EdgeNodeOrigin = 'founded' | 'joined';
@@ -77,7 +85,8 @@ export declare function serializeSavedStart(saved: SavedStart): string;
77
85
  *
78
86
  * Only the party id is worth discarding a record over. A malformed optional field falls back to
79
87
  * its default — `[]` for an address list, the build default for the Noise mode, absent for
80
- * `origin`, `formerPartyId` and `ownerKeyLabel`, `false` for `autoStart` — so a damaged record still keeps the
81
- * app in its party, at worst needing the user to start the node by hand.
88
+ * `origin`, `formerPartyId`, `ownerKeyLabel` and `strandOfflineMode` (which is `'online'`), `false`
89
+ * for `autoStart` — so a damaged record still keeps the app in its party, at worst needing the
90
+ * user to start the node by hand.
82
91
  */
83
92
  export declare function parseSavedStart(text: string | undefined): SavedStart | undefined;
@@ -15,12 +15,14 @@
15
15
  * store, which every start reads.
16
16
  */
17
17
  export function startAfterRemoval(saved) {
18
- const { partyId, formerPartyId, relayAddrs, noiseCryptoMode } = saved.options;
18
+ const { partyId, formerPartyId, relayAddrs, noiseCryptoMode, strandOfflineMode } = saved.options;
19
19
  if (formerPartyId === undefined || formerPartyId === partyId)
20
20
  return undefined;
21
21
  const options = { partyId: formerPartyId, bootstrapAddrs: [], relayAddrs, origin: 'founded' };
22
22
  if (noiseCryptoMode !== undefined)
23
23
  options.noiseCryptoMode = noiseCryptoMode;
24
+ if (strandOfflineMode !== undefined)
25
+ options.strandOfflineMode = strandOfflineMode;
24
26
  return { options, autoStart: false, ...(saved.writtenBy !== undefined && { writtenBy: saved.writtenBy }) };
25
27
  }
26
28
  /** Every Noise crypto mode, so a stored mode can be validated without loading the native module. */
@@ -30,7 +32,7 @@ export function isNoiseCryptoMode(value) {
30
32
  }
31
33
  const RECORD_VERSION = 1;
32
34
  export function serializeSavedStart(saved) {
33
- const { partyId, bootstrapAddrs, relayAddrs, noiseCryptoMode, origin, formerPartyId, ownerKeyLabel } = saved.options;
35
+ const { partyId, bootstrapAddrs, relayAddrs, noiseCryptoMode, origin, formerPartyId, ownerKeyLabel, strandOfflineMode } = saved.options;
34
36
  const record = {
35
37
  version: RECORD_VERSION,
36
38
  partyId,
@@ -40,6 +42,7 @@ export function serializeSavedStart(saved) {
40
42
  origin,
41
43
  formerPartyId,
42
44
  ownerKeyLabel,
45
+ strandOfflineMode,
43
46
  autoStart: saved.autoStart,
44
47
  writtenBy: saved.writtenBy,
45
48
  };
@@ -50,8 +53,9 @@ export function serializeSavedStart(saved) {
50
53
  *
51
54
  * Only the party id is worth discarding a record over. A malformed optional field falls back to
52
55
  * its default — `[]` for an address list, the build default for the Noise mode, absent for
53
- * `origin`, `formerPartyId` and `ownerKeyLabel`, `false` for `autoStart` — so a damaged record still keeps the
54
- * app in its party, at worst needing the user to start the node by hand.
56
+ * `origin`, `formerPartyId`, `ownerKeyLabel` and `strandOfflineMode` (which is `'online'`), `false`
57
+ * for `autoStart` — so a damaged record still keeps the app in its party, at worst needing the
58
+ * user to start the node by hand.
55
59
  */
56
60
  export function parseSavedStart(text) {
57
61
  if (text === undefined)
@@ -78,6 +82,9 @@ export function parseSavedStart(text) {
78
82
  }
79
83
  if (typeof record.ownerKeyLabel === 'string')
80
84
  options.ownerKeyLabel = record.ownerKeyLabel;
85
+ if (record.strandOfflineMode === 'online' || record.strandOfflineMode === 'offline') {
86
+ options.strandOfflineMode = record.strandOfflineMode;
87
+ }
81
88
  const saved = { options, autoStart: record.autoStart === true };
82
89
  if (typeof record.writtenBy === 'string')
83
90
  saved.writtenBy = record.writtenBy;
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/edge-node/options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/edge-node/options.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAoEH;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAiB;IAClD,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,iBAAiB,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC;IACjG,IAAI,aAAa,KAAK,SAAS,IAAI,aAAa,KAAK,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/E,MAAM,OAAO,GAAoB,EAAE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC/G,IAAI,eAAe,KAAK,SAAS;QAAE,OAAO,CAAC,eAAe,GAAG,eAAe,CAAC;IAC7E,IAAI,iBAAiB,KAAK,SAAS;QAAE,OAAO,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IACnF,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC;AAC5G,CAAC;AAED,oGAAoG;AACpG,MAAM,CAAC,MAAM,kBAAkB,GAA+B,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAE3F,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC/C,OAAQ,kBAAyC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,cAAc,GAAG,CAAC,CAAC;AAiBzB,MAAM,UAAU,mBAAmB,CAAC,KAAiB;IACpD,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC;IACxI,MAAM,MAAM,GAAgB;QAC3B,OAAO,EAAE,cAAc;QACvB,OAAO;QACP,cAAc;QACd,UAAU;QACV,eAAe;QACf,MAAM;QACN,aAAa;QACb,aAAa;QACb,iBAAiB;QACjB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;KAC1B,CAAC;IACF,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAAC,IAAwB;IACvD,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACzC,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAC3B,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;QACrF,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,MAAM,OAAO,GAAoB;QAChC,OAAO;QACP,cAAc,EAAE,kBAAkB,CAAC,MAAM,CAAC,cAAc,CAAC;QACzD,UAAU,EAAE,kBAAkB,CAAC,MAAM,CAAC,UAAU,CAAC;KACjD,CAAC;IACF,IAAI,iBAAiB,CAAC,MAAM,CAAC,eAAe,CAAC;QAAE,OAAO,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;IAChG,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC9F,IAAI,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxF,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;IAC9C,CAAC;IACD,IAAI,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ;QAAE,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;IAC3F,IAAI,MAAM,CAAC,iBAAiB,KAAK,QAAQ,IAAI,MAAM,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;QACrF,OAAO,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC;IACtD,CAAC;IACD,MAAM,KAAK,GAAe,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;IAC5E,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ;QAAE,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IAC7E,OAAO,KAAK,CAAC;AACd,CAAC;AAED,kGAAkG;AAClG,SAAS,WAAW,CAAC,IAAY;IAChC,IAAI,GAAY,CAAC;IACjB,IAAI,CAAC;QACJ,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,wEAAwE,EAAE,GAAG,CAAC,CAAC;QAC5F,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACnE,OAAO,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAC;QAC3F,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,MAAM,MAAM,GAAG,GAA8B,CAAC;IAC9C,IAAI,MAAM,CAAC,OAAO,KAAK,cAAc,EAAE,CAAC;QACvC,OAAO,CAAC,IAAI,CAAC,0EAA0E,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACjH,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACzC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/F,CAAC"}
@@ -3,7 +3,7 @@
3
3
  * the platform choices (transports, listen addresses, Noise crypto) that cadre-core cannot make
4
4
  * for it. Fixed for the app's lifetime.
5
5
  */
6
- import type { IRawStorage, Libp2pTransports, NoiseCryptoInterface } from '@optimystic/db-p2p';
6
+ import type { IKVStore, IRawStorage, Libp2pTransports, NoiseCryptoInterface } from '@optimystic/db-p2p';
7
7
  import type { KeyStore } from '../key-store.js';
8
8
  import type { DurableSlot } from '../node-local-snapshot.js';
9
9
  import type { CadreNodeConfig } from '../types.js';
@@ -113,6 +113,17 @@ export interface EdgeNodeStorage {
113
113
  * strand stops.
114
114
  */
115
115
  rawStorage(scope: string): IRawStorage;
116
+ /**
117
+ * A strand's offline journal (`CadreNodeConfig.strandOffline.journal`), kept in the strand
118
+ * scope's own database beside its blocks: the journal's keys are all under
119
+ * `optimystic-offline/`, a node key-value namespace the platform stores apart from blocks. The
120
+ * same instance for the same scope until {@link close}, which flushes and closes it with the
121
+ * scope's handle; cadre-core asks again on every rebuild of the strand, and a second store over
122
+ * one handle would not see the first one's unflushed writes. {@link destroyScope} closes it too.
123
+ * A rejection fails the strand's build. Absent: no offline mode on this platform
124
+ * (`setStrandOfflineMode` throws `StrandOfflineUnavailableError`).
125
+ */
126
+ offlineJournal?(scope: string): Promise<IKVStore>;
116
127
  /** Delete a scope's storage. No handle on it may be open. Resolves when it is gone or was absent. */
117
128
  destroyScope(scope: string): Promise<void>;
118
129
  /**
@@ -122,8 +133,9 @@ export interface EdgeNodeStorage {
122
133
  */
123
134
  nodeLocal(): NodeLocalKv;
124
135
  /**
125
- * Flush and close the node-local store, then close every handle {@link rawStorage} opened. A
126
- * failure closing one is logged and the rest still close; the call does not reject.
136
+ * Flush and close the node-local store and every {@link offlineJournal}, then close every
137
+ * handle {@link rawStorage} opened. A failure closing one is logged and the rest still close;
138
+ * the call does not reject.
127
139
  */
128
140
  close(): Promise<void>;
129
141
  /**
@@ -30,8 +30,9 @@ export async function attachStrandWhenWritable(node, config, options = {}) {
30
30
  * Optimystic's cluster coordinator reports a write that could not gather enough approvals this
31
31
  * way. It is transient right after a node restarts alone: its cohort has not reconnected yet.
32
32
  *
33
- * NOTE: matched on the message because Optimystic throws a plain `Error` here. If it gains a typed
34
- * error, match on that instead — a reworded message would silently stop the retries.
33
+ * NOTE: matched on the message. Optimystic 1.20.0 raises this failure as `PromiseShortfallError` and
34
+ * keeps the sentence unchanged as a contract, so the match holds; moving to the type is the second arm
35
+ * of backlog `debt-control-write-retry-matches-the-shortfall-by-type`.
35
36
  */
36
37
  const SUPER_MAJORITY_FAILURE = /Failed to get super-majority/i;
37
38
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"strands.js","sourceRoot":"","sources":["../../src/edge-node/strands.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AAI5E,wHAAwH;AACxH,MAAM,CAAC,MAAM,0BAA0B,GAAG,MAAO,CAAC;AAElD;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC7C,IAAe,EACf,MAAoB,EACpB,UAAmC,EAAE;IAErC,IAAI,CAAC;QACJ,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,CAAC,GAAG,YAAY,4BAA4B,CAAC;YAAE,MAAM,GAAG,CAAC;QAC9D,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,0BAA0B,CAAC;QACpE,OAAO,CAAC,IAAI,CACX,wCAAwC,MAAM,CAAC,SAAS,CAAC,EAAE,mBAAmB;YAC9E,iBAAiB,UAAU,GAAG,IAAI,8BAA8B,CAChE,CAAC;QACF,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;IACtF,CAAC;AACF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,sBAAsB,GAAG,+BAA+B,CAAC;AAE/D;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACtC,KAAuB,EACvB,UAAmD,EAAE;IAErD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAK,CAAC;IACzC,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,EAAE,EAAE,CAAC;QACnC,IAAI,CAAC;YACJ,OAAO,MAAM,KAAK,EAAE,CAAC;QACtB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,IAAI,OAAO,IAAI,QAAQ;gBAAE,MAAM,GAAG,CAAC;YACpE,OAAO,CAAC,IAAI,CAAC,wCAAwC,OAAO,yCAAyC,OAAO,KAAK,CAAC,CAAC;YACnH,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QAC9D,CAAC;IACF,CAAC;AACF,CAAC;AAED,SAAS,uBAAuB,CAAC,GAAY;IAC5C,OAAO,sBAAsB,CAAC,IAAI,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AACtF,CAAC"}
1
+ {"version":3,"file":"strands.js","sourceRoot":"","sources":["../../src/edge-node/strands.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AAI5E,wHAAwH;AACxH,MAAM,CAAC,MAAM,0BAA0B,GAAG,MAAO,CAAC;AAElD;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC7C,IAAe,EACf,MAAoB,EACpB,UAAmC,EAAE;IAErC,IAAI,CAAC;QACJ,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,CAAC,GAAG,YAAY,4BAA4B,CAAC;YAAE,MAAM,GAAG,CAAC;QAC9D,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,0BAA0B,CAAC;QACpE,OAAO,CAAC,IAAI,CACX,wCAAwC,MAAM,CAAC,SAAS,CAAC,EAAE,mBAAmB;YAC9E,iBAAiB,UAAU,GAAG,IAAI,8BAA8B,CAChE,CAAC;QACF,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;IACtF,CAAC;AACF,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,sBAAsB,GAAG,+BAA+B,CAAC;AAE/D;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACtC,KAAuB,EACvB,UAAmD,EAAE;IAErD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAK,CAAC;IACzC,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,EAAE,EAAE,CAAC;QACnC,IAAI,CAAC;YACJ,OAAO,MAAM,KAAK,EAAE,CAAC;QACtB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,IAAI,OAAO,IAAI,QAAQ;gBAAE,MAAM,GAAG,CAAC;YACpE,OAAO,CAAC,IAAI,CAAC,wCAAwC,OAAO,yCAAyC,OAAO,KAAK,CAAC,CAAC;YACnH,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QAC9D,CAAC;IACF,CAAC;AACF,CAAC;AAED,SAAS,uBAAuB,CAAC,GAAY;IAC5C,OAAO,sBAAsB,CAAC,IAAI,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AACtF,CAAC"}
package/dist/index.d.ts CHANGED
@@ -26,12 +26,14 @@ export { MemoryJoinedStrandStore, KeyStoreJoinedStrandStore, type JoinedStrandSt
26
26
  export { MemoryStrandNetworkStateStore, PersistentStrandNetworkStateStore, strandNetworkStatePersistence, type StrandNetworkStateStore } from './strand-network-state.js';
27
27
  export { strandFretPeerAddrs, type FretAddrHost, type FretPeerAddrs } from './strand-fret-addrs.js';
28
28
  export { controlStorageScope, isControlStorageScope, isValidStrandScopeKey, assertStrandScopeKey, InvalidStrandIdError } from './storage-scope.js';
29
- export { StrandDatabase, type StrandDatabaseConfig } from './strand-database.js';
29
+ export { StrandDatabase, type StrandDatabaseConfig, type StrandDatabaseOffline } from './strand-database.js';
30
30
  export type { StrandCommitDurability, StrandCommitHeld } from './strand-commit-durability.js';
31
+ export { StrandOfflineUnavailableError, StrandQueueNotEmptyError, type StrandLeaveOptions, type StrandOfflineConfig, type StrandOfflineMode, type StrandOfflineQueue, type StrandOfflineListeners, type StrandOfflineStatus, type StrandQueueState, type StrandAppSchemaState, type StrandAppSchemaDeferred } from './strand-offline.js';
32
+ export { EntryNotDiscardableError, UnknownEntryError } from '@optimystic/db-core';
31
33
  export { StrandWatcher, type StrandWatcherCallbacks, type StrandQueryable, type SAppIdLookup, type StrandRowWithApp } from './strand-watcher.js';
32
34
  export { StrandInstanceManager, type StartStrandConfig, type ResumeStrandOverrides, getStrandStoragePath, isAwaitingFirstSync, liveStrandStatus } from './strand-instance-manager.js';
33
35
  export { StrandAwaitingFirstSyncError, DEFAULT_STRAND_FIRST_SYNC_TIMEOUT_MS, DEFAULT_STRAND_FIRST_SYNC_BACKSTOP_MS, type StrandFirstSyncConfig } from './strand-first-sync-gate.js';
34
- export { PeerJoinBackfill, DEFAULT_PEER_JOIN_BACKFILL, MAX_BLOCK_MESSAGE_BYTES, PEER_JOIN_BACKFILL_WARN_AFTER_FAILURES, type PeerJoinBackfillConfig, type PeerJoinBackfillDeps, type PeerJoinBackfillResult, type PeerJoinBackfillPushClient } from './peer-join-backfill.js';
36
+ export { PeerJoinBackfill, DEFAULT_PEER_JOIN_BACKFILL, PEER_JOIN_BACKFILL_WARN_AFTER_FAILURES, type PeerJoinBackfillConfig, type PeerJoinBackfillDeps, type PeerJoinBackfillResult, type PeerJoinBackfillPushClient } from './peer-join-backfill.js';
35
37
  export { strandCohortTopicOption, type StrandReactivityConfig } from './strand-reactivity.js';
36
38
  export { StrandRevocationEnforcer, createRevocationConnectionGater, readStrandRevocationRows, DEFAULT_REVOCATION_BACKSTOP_MS, REVOCATION_REFRESH_RETRY_MS, REVOCATION_WIDE_STRAND_REFRESH_MS, type StrandRevocationEnforcementConfig, type StrandRevocationEnforcerDeps, type StrandRevocationRows, type StrandMemberPeerBinding, type StrandRevocationJudge, type StrandRevocationNetwork } from './strand-revocation-enforcer.js';
37
39
  export { StrandMembershipReconciler, DEFAULT_MEMBERSHIP_RECONCILE_INTERVAL_MS, IDLE_PASSES_BEFORE_ESCALATION, INITIAL_JOIN_RETRY_INTERVAL_MS, type StrandMembershipReconcilerDeps, type StrandMembershipReconciliationConfig, type PendingMembershipInviteSource } from './strand-membership-reconciler.js';
@@ -43,7 +45,7 @@ export { StrandSolicitationService, createDefaultFormationResponseValidator, typ
43
45
  export { createHttpFormationApprover, signFormationApproval, verifyFormationApproval, FormationApprovalError, type FormationApprovalRequest, type FormationVouchFields, type FormationApproval, type FormationApprover, type FormationApprovalFailure } from './formation-approval.js';
44
46
  export { ControlFormationUsageRecorder } from './control-formation-recorder.js';
45
47
  export { generateStrandMemberKey, strandMemberKeyPair } from './strand-member-key.js';
46
- export { signStrandPayload, verifyStrandPayload, signStrandApproval, generateStrandStampId, bootstrapFounderMembership, PreSplitStrandIdentityError, issueInvite, consumeInvite, burnInvite, isStrandMember, cancelInvite, listOutstandingInvites, addMemberByManager, revokeMember, leaveStrand, registerMemberPeer, listMemberPeers, removeMemberPeer, addManager, admitManager, removeManager, sealStrand, isStrandSealed, StrandTransactionBusyError, STRAND_ENGINE, STRAND_ENGINE_VERSION, type FounderBootstrapParams, type IssueInviteParams, type IssuedInvite, type ConsumeInviteParams, type CancelInviteParams, type OutstandingInvite, type AddMemberByManagerParams, type RevokeMemberParams, type LeaveStrandParams, type RegisterMemberPeerParams, type RemoveOwnPeerParams, type RemoveMemberPeerByManagerParams, type RemoveMemberPeerParams, type AddManagerParams, type AdmitManagerParams, type RemoveManagerParams, type SealStrandParams, type StrandWriteOptions } from './strand-membership-writer.js';
48
+ export { signStrandPayload, verifyStrandPayload, signStrandApproval, generateStrandStampId, bootstrapFounderMembership, PreSplitStrandIdentityError, issueInvite, consumeInvite, burnInvite, isStrandMember, cancelInvite, listOutstandingInvites, addMemberByManager, revokeMember, leaveStrand, registerMemberPeer, listMemberPeers, removeMemberPeer, addManager, admitManager, removeManager, sealStrand, isStrandSealed, StrandTransactionBusyError, StrandOfflineQueueBusyError, STRAND_ENGINE, STRAND_ENGINE_VERSION, type FounderBootstrapParams, type IssueInviteParams, type IssuedInvite, type ConsumeInviteParams, type CancelInviteParams, type OutstandingInvite, type AddMemberByManagerParams, type RevokeMemberParams, type LeaveStrandParams, type RegisterMemberPeerParams, type RemoveOwnPeerParams, type RemoveMemberPeerByManagerParams, type RemoveMemberPeerParams, type AddManagerParams, type AdmitManagerParams, type RemoveManagerParams, type SealStrandParams, type StrandWriteOptions } from './strand-membership-writer.js';
47
49
  export { canonicalDatetime } from './canonical-datetime.js';
48
50
  export { StrandMemberRegistry, StrandMemberVerifier, memberRegistrationPayload, type StrandAdmission } from './strand-member-registry.js';
49
51
  export { SeedBootstrapService, SEED_PROTOCOL, mergeSeedPeers, seedDialTargets, seedDigest, type SeedBootstrapConfig, type SeedEventCallbacks } from './seed-bootstrap.js';