@peerbit/shared-log 8.0.7-aa577a5 → 8.0.7-cccc078

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 (49) hide show
  1. package/dist/benchmark/get-samples.d.ts +2 -0
  2. package/dist/benchmark/get-samples.d.ts.map +1 -0
  3. package/dist/benchmark/get-samples.js +69 -0
  4. package/dist/benchmark/get-samples.js.map +1 -0
  5. package/dist/benchmark/index.js +15 -16
  6. package/dist/benchmark/index.js.map +1 -1
  7. package/dist/benchmark/replication-prune.d.ts +2 -0
  8. package/dist/benchmark/replication-prune.d.ts.map +1 -0
  9. package/dist/benchmark/replication-prune.js +103 -0
  10. package/dist/benchmark/replication-prune.js.map +1 -0
  11. package/dist/benchmark/replication.d.ts +2 -0
  12. package/dist/benchmark/replication.d.ts.map +1 -0
  13. package/dist/benchmark/replication.js +91 -0
  14. package/dist/benchmark/replication.js.map +1 -0
  15. package/dist/src/blocks.js +1 -1
  16. package/dist/src/blocks.js.map +1 -1
  17. package/dist/src/cpu.js.map +1 -1
  18. package/dist/src/exchange-heads.d.ts +1 -1
  19. package/dist/src/exchange-heads.d.ts.map +1 -1
  20. package/dist/src/exchange-heads.js +8 -8
  21. package/dist/src/exchange-heads.js.map +1 -1
  22. package/dist/src/index.d.ts +53 -47
  23. package/dist/src/index.d.ts.map +1 -1
  24. package/dist/src/index.js +513 -365
  25. package/dist/src/index.js.map +1 -1
  26. package/dist/src/pid.d.ts.map +1 -1
  27. package/dist/src/pid.js +20 -20
  28. package/dist/src/pid.js.map +1 -1
  29. package/dist/src/ranges.d.ts +9 -12
  30. package/dist/src/ranges.d.ts.map +1 -1
  31. package/dist/src/ranges.js +528 -133
  32. package/dist/src/ranges.js.map +1 -1
  33. package/dist/src/replication.d.ts +70 -12
  34. package/dist/src/replication.d.ts.map +1 -1
  35. package/dist/src/replication.js +258 -17
  36. package/dist/src/replication.js.map +1 -1
  37. package/dist/src/role.d.ts +1 -38
  38. package/dist/src/role.d.ts.map +1 -1
  39. package/dist/src/role.js +92 -116
  40. package/dist/src/role.js.map +1 -1
  41. package/package.json +11 -10
  42. package/src/blocks.ts +1 -1
  43. package/src/cpu.ts +4 -4
  44. package/src/exchange-heads.ts +18 -18
  45. package/src/index.ts +797 -550
  46. package/src/pid.ts +23 -22
  47. package/src/ranges.ts +693 -147
  48. package/src/replication.ts +271 -19
  49. package/src/role.ts +63 -83
@@ -1,25 +1,21 @@
1
- import { type RequestContext, RPC } from "@peerbit/rpc";
2
- import { TransportMessage } from "./message.js";
3
- import { type AppendOptions, type Change, Entry, Log, type LogEvents, type LogProperties } from "@peerbit/log";
4
- import { Program, type ProgramEvents } from "@peerbit/program";
5
1
  import { PublicSignKey } from "@peerbit/crypto";
2
+ import { type Index } from "@peerbit/indexer-interface";
3
+ import { type AppendOptions, type Change, Entry, Log, type LogEvents, type LogProperties, ShallowEntry, type ShallowOrFullEntry } from "@peerbit/log";
4
+ import { Program, type ProgramEvents } from "@peerbit/program";
6
5
  import { SubscriptionEvent, UnsubcriptionEvent } from "@peerbit/pubsub-interface";
7
- import { Observer, Replicator, Role } from "./role.js";
8
- import { AbsoluteReplicas, type ReplicationLimits, type ReplicatorRect } from "./replication.js";
9
- import yallist from "yallist";
6
+ import { RPC, type RequestContext } from "@peerbit/rpc";
7
+ import { type CPUUsage, CPUUsageIntervalLag } from "./cpu.js";
8
+ import { TransportMessage } from "./message.js";
10
9
  import { PIDReplicationController } from "./pid.js";
10
+ import { AbsoluteReplicas, type ReplicationLimits, ReplicationRange, ReplicationRangeIndexable } from "./replication.js";
11
11
  export * from "./replication.js";
12
- import { type CPUUsage, CPUUsageIntervalLag } from "./cpu.js";
13
12
  export { type CPUUsage, CPUUsageIntervalLag };
14
- export { Observer, Replicator, Role };
15
13
  export declare const logger: import("pino").Logger<never>;
16
14
  export type ReplicationLimitsOptions = Partial<ReplicationLimits> | {
17
15
  min?: number;
18
16
  max?: number;
19
17
  };
20
- type StringRoleOptions = "observer" | "replicator";
21
- export type AdaptiveReplicatorOptions = {
22
- type: "replicator";
18
+ export type DynamicReplicationOptions = {
23
19
  limits?: {
24
20
  storage?: number;
25
21
  cpu?: number | {
@@ -28,21 +24,17 @@ export type AdaptiveReplicatorOptions = {
28
24
  };
29
25
  };
30
26
  };
31
- export type FixedReplicatorOptions = {
32
- type: "replicator";
33
- offset?: number;
27
+ export type FixedReplicationOptions = {
34
28
  factor: number;
29
+ offset?: number;
35
30
  };
36
- export type ObserverType = {
37
- type: "observer";
38
- };
39
- export type RoleOptions = StringRoleOptions | ObserverType | FixedReplicatorOptions | AdaptiveReplicatorOptions;
31
+ export type ReplicationOptions = DynamicReplicationOptions | FixedReplicationOptions | number | boolean;
40
32
  export type SharedLogOptions<T> = {
41
- role?: RoleOptions;
33
+ replicate?: ReplicationOptions;
42
34
  replicas?: ReplicationLimitsOptions;
43
35
  respondToIHaveTimeout?: number;
44
36
  canReplicate?: (publicKey: PublicSignKey) => Promise<boolean> | boolean;
45
- sync?: (entry: Entry<T>) => boolean;
37
+ sync?: (entry: Entry<T> | ShallowEntry) => boolean;
46
38
  timeUntilRoleMaturity?: number;
47
39
  waitForReplicatorTimeout?: number;
48
40
  distributionDebounceTime?: number;
@@ -55,24 +47,30 @@ export type SharedAppendOptions<T> = AppendOptions<T> & {
55
47
  replicas?: AbsoluteReplicas | number;
56
48
  target?: "all" | "replicators";
57
49
  };
58
- type UpdateRoleEvent = {
50
+ type ReplicatorJoinEvent = {
51
+ publicKey: PublicSignKey;
52
+ };
53
+ type ReplicatorLeaveEvent = {
54
+ publicKey: PublicSignKey;
55
+ };
56
+ type ReplicationChange = {
59
57
  publicKey: PublicSignKey;
60
- role: Role;
61
58
  };
62
59
  export interface SharedLogEvents extends ProgramEvents {
63
- role: CustomEvent<UpdateRoleEvent>;
60
+ "replicator:join": CustomEvent<ReplicatorJoinEvent>;
61
+ "replicator:leave": CustomEvent<ReplicatorLeaveEvent>;
62
+ "replication:change": CustomEvent<ReplicationChange>;
64
63
  }
65
64
  export declare class SharedLog<T = Uint8Array> extends Program<Args<T>, SharedLogEvents> {
66
65
  log: Log<T>;
67
66
  rpc: RPC<TransportMessage, TransportMessage>;
68
- private _role;
69
- private _roleConfig;
70
- private _sortedPeersCache;
67
+ private _replicationSettings?;
68
+ private _replicationRangeIndex;
71
69
  private _totalParticipation;
72
70
  private _gidPeersHistory;
73
71
  private _onSubscriptionFn;
74
72
  private _onUnsubscriptionFn;
75
- private _canReplicate?;
73
+ private _isTrustedReplicator?;
76
74
  private _logProperties?;
77
75
  private _closeController;
78
76
  private _gidParentCache;
@@ -101,28 +99,33 @@ export declare class SharedLog<T = Uint8Array> extends Program<Args<T>, SharedLo
101
99
  usedMemory: number;
102
100
  factor: number;
103
101
  }[];
102
+ private pq;
104
103
  constructor(properties?: {
105
104
  id?: Uint8Array;
106
105
  });
107
- /**
108
- * Returns the current role
109
- */
110
- get role(): Observer | Replicator;
111
106
  /**
112
107
  * Return the
113
108
  */
114
- get roleConfig(): Observer | Replicator | AdaptiveReplicatorOptions;
109
+ get replicationSettings(): ReplicationOptions | undefined;
110
+ isReplicating(): Promise<boolean>;
115
111
  get totalParticipation(): number;
112
+ calculateTotalParticipation(): Promise<number>;
113
+ countReplicationSegments(): Promise<number>;
116
114
  private setupRebalanceDebounceFunction;
117
- private setupRole;
118
- updateRole(role: RoleOptions, onRoleChange?: boolean): Promise<"added" | "none" | "updated" | "removed">;
119
- private _updateRole;
115
+ private setupReplicationSettings;
116
+ replicate(range?: ReplicationRange | ReplicationOptions): Promise<void>;
117
+ private removeReplicator;
118
+ private updateOldestTimestampFromIndex;
119
+ private removeReplicationRange;
120
+ private addReplicationRange;
121
+ startAnnounceReplicating(range: ReplicationRangeIndexable): Promise<void>;
120
122
  append(data: T, options?: SharedAppendOptions<T> | undefined): Promise<{
121
123
  entry: Entry<T>;
122
- removed: Entry<T>[];
124
+ removed: ShallowOrFullEntry<T>[];
123
125
  }>;
124
126
  open(options?: Args<T>): Promise<void>;
125
127
  afterOpen(): Promise<void>;
128
+ reload(): Promise<void>;
126
129
  getMemoryUsage(): Promise<number>;
127
130
  get topic(): string;
128
131
  onChange(change: Change<T>): Promise<void>;
@@ -132,7 +135,13 @@ export declare class SharedLog<T = Uint8Array> extends Program<Args<T>, SharedLo
132
135
  drop(from?: Program): Promise<boolean>;
133
136
  recover(): Promise<void>;
134
137
  _onMessage(msg: TransportMessage, context: RequestContext): Promise<TransportMessage | undefined>;
135
- getReplicatorsSorted(): yallist<ReplicatorRect> | undefined;
138
+ getMyReplicationSegments(): Promise<ReplicationRangeIndexable[]>;
139
+ getTotalParticipation(): Promise<number>;
140
+ get replicationIndex(): Index<ReplicationRangeIndexable>;
141
+ /**
142
+ * TODO improve efficiency
143
+ */
144
+ getReplicators(): Promise<Set<unknown>>;
136
145
  waitForReplicator(...keys: PublicSignKey[]): Promise<boolean | void>;
137
146
  isLeader(slot: {
138
147
  toString(): string;
@@ -140,29 +149,25 @@ export declare class SharedLog<T = Uint8Array> extends Program<Args<T>, SharedLo
140
149
  candidates?: string[];
141
150
  roleAge?: number;
142
151
  }): Promise<boolean>;
143
- private getReplicationOffset;
144
152
  private waitForIsLeader;
145
153
  findLeaders(subject: {
146
154
  toString(): string;
147
155
  }, numberOfLeaders: number, options?: {
148
156
  roleAge?: number;
149
157
  }): Promise<string[]>;
150
- getDefaultMinRoleAge(): number;
158
+ getDefaultMinRoleAge(): Promise<number>;
151
159
  private findLeadersFromUniformNumber;
152
160
  /**
153
161
  *
154
162
  * @returns groups where at least one in any group will have the entry you are looking for
155
163
  */
156
- getReplicatorUnion(roleAge?: number): string[];
157
- replicator(entry: Entry<any>, options?: {
164
+ getReplicatorUnion(roleAge?: number): Promise<string[]>;
165
+ isReplicator(entry: Entry<any>, options?: {
158
166
  candidates?: string[];
159
167
  roleAge?: number;
160
168
  }): Promise<boolean>;
161
- private onRoleChange;
162
- private modifyReplicators;
163
- private _modifyReplicators;
164
- handleSubscriptionChange(publicKey: PublicSignKey, changes: string[], subscribed: boolean): Promise<void>;
165
- prune(entries: Entry<any>[], options?: {
169
+ handleSubscriptionChange(publicKey: PublicSignKey, topics: string[], subscribed: boolean): Promise<void>;
170
+ prune(entries: (Entry<any> | ShallowEntry)[], options?: {
166
171
  timeout?: number;
167
172
  unchecked?: boolean;
168
173
  }): Promise<any>[];
@@ -174,6 +179,7 @@ export declare class SharedLog<T = Uint8Array> extends Program<Args<T>, SharedLo
174
179
  addToHistory(usedMemory: number, factor: number): Promise<void>;
175
180
  calculateTrend(): Promise<number>;
176
181
  rebalanceParticipation(onRoleChange?: boolean): Promise<boolean>;
182
+ getDynamicRange(): Promise<ReplicationRangeIndexable>;
177
183
  private clearSyncProcess;
178
184
  private onEntryAdded;
179
185
  onEntryRemoved(hash: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAEN,aAAa,EAIb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAKN,KAAK,KAAK,EAQV,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACN,KAAK,aAAa,EAClB,KAAK,MAAM,EACX,KAAK,EACL,GAAG,EACH,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,YAAY,EACZ,KAAK,kBAAkB,EACvB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EACN,iBAAiB,EACjB,kBAAkB,EAClB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,GAAG,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAYxD,OAAO,EAAE,KAAK,QAAQ,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAU9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAEpD,OAAO,EACN,gBAAgB,EAGhB,KAAK,iBAAiB,EACtB,gBAAgB,EAChB,yBAAyB,EASzB,MAAM,kBAAkB,CAAC;AAG1B,cAAc,kBAAkB,CAAC;AAEjC,OAAO,EAAE,KAAK,QAAQ,EAAE,mBAAmB,EAAE,CAAC;AAE9C,eAAO,MAAM,MAAM,8BAAqC,CAAC;AAwBzD,MAAM,MAAM,wBAAwB,GACjC,OAAO,CAAC,iBAAiB,CAAC,GAC1B;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAElC,MAAM,MAAM,yBAAyB,GAAG;IACvC,MAAM,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,GAAG,CAAC,EAAE,MAAM,GAAG;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,QAAQ,CAAA;SAAE,CAAC;KACnD,CAAC;CACF,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAC3B,yBAAyB,GACzB,uBAAuB,GACvB,MAAM,GACN,OAAO,CAAC;AAiBX,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI;IACjC,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,QAAQ,CAAC,EAAE,wBAAwB,CAAC;IACpC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,aAAa,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IACxE,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,YAAY,KAAK,OAAO,CAAC;IACnD,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,wBAAwB,CAAC,EAAE,MAAM,CAAC;CAClC,CAAC;AAEF,eAAO,MAAM,oBAAoB,IAAI,CAAC;AACtC,eAAO,MAAM,2BAA2B,OAAO,CAAC;AAChD,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAI3C,MAAM,MAAM,IAAI,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAE5E,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,GAAG;IACvD,QAAQ,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAAC;IACrC,MAAM,CAAC,EAAE,KAAK,GAAG,aAAa,CAAC;CAC/B,CAAC;AAEF,KAAK,mBAAmB,GAAG;IAAE,SAAS,EAAE,aAAa,CAAA;CAAE,CAAC;AACxD,KAAK,oBAAoB,GAAG;IAAE,SAAS,EAAE,aAAa,CAAA;CAAE,CAAC;AACzD,KAAK,iBAAiB,GAAG;IAAE,SAAS,EAAE,aAAa,CAAA;CAAE,CAAC;AAEtD,MAAM,WAAW,eAAgB,SAAQ,aAAa;IACrD,iBAAiB,EAAE,WAAW,CAAC,mBAAmB,CAAC,CAAC;IACpD,kBAAkB,EAAE,WAAW,CAAC,oBAAoB,CAAC,CAAC;IACtD,oBAAoB,EAAE,WAAW,CAAC,iBAAiB,CAAC,CAAC;CACrD;AAED,qBACa,SAAS,CAAC,CAAC,GAAG,UAAU,CAAE,SAAQ,OAAO,CACrD,IAAI,CAAC,CAAC,CAAC,EACP,eAAe,CACf;IAEA,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IAGZ,GAAG,EAAE,GAAG,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;IAG7C,OAAO,CAAC,oBAAoB,CAAC,CAAqB;IAClD,OAAO,CAAC,sBAAsB,CAAoC;IAClE,OAAO,CAAC,mBAAmB,CAAU;IACrC,OAAO,CAAC,gBAAgB,CAA4B;IAEpD,OAAO,CAAC,iBAAiB,CAAqB;IAC9C,OAAO,CAAC,mBAAmB,CAAqB;IAEhD,OAAO,CAAC,oBAAoB,CAAC,CAEG;IAEhC,OAAO,CAAC,cAAc,CAAC,CAAkC;IACzD,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,sBAAsB,CAAO;IACrC,OAAO,CAAC,eAAe,CAQrB;IAEF,OAAO,CAAC,aAAa,CAGnB;IAEF,OAAO,CAAC,kBAAkB,CAAuB;IAEjD,OAAO,CAAC,YAAY,CAAgB;IAEpC,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,cAAc,CAAU;IAEhC,OAAO,CAAC,IAAI,CAAC,CAA8C;IAG3D,OAAO,CAAC,+BAA+B,CAE1B;IAGb,OAAO,CAAC,kBAAkB,CAAkC;IAC5D,OAAO,CAAC,eAAe,CAAC,CAAS;IAGjC,OAAO,CAAC,gBAAgB,CAAC,CAAgC;IAGzD,OAAO,CAAC,iBAAiB,CAAgC;IACzD,OAAO,CAAC,yBAAyB,CAA4B;IAG7D,OAAO,CAAC,YAAY,CAAmD;IAEvE,QAAQ,EAAG,iBAAiB,CAAC;IAE7B,OAAO,CAAC,QAAQ,CAAC,CAAW;IAE5B,qBAAqB,EAAG,MAAM,CAAC;IAC/B,wBAAwB,EAAG,MAAM,CAAC;IAClC,wBAAwB,EAAG,MAAM,CAAC;IAElC,qBAAqB,EAAG,wBAAwB,CAAC;IACjD,OAAO,EAAG;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAEnD,OAAO,CAAC,EAAE,CAAc;gBAEZ,UAAU,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,UAAU,CAAA;KAAE;IAM5C;;OAEG;IACH,IAAI,mBAAmB,IAAI,kBAAkB,GAAG,SAAS,CAExD;IAEK,aAAa;IAcnB,IAAI,kBAAkB,IAAI,MAAM,CAE/B;IAEK,2BAA2B;IAO3B,wBAAwB;IAY9B,OAAO,CAAC,8BAA8B;YAaxB,wBAAwB;IA0EhC,SAAS,CAAC,KAAK,CAAC,EAAE,gBAAgB,GAAG,kBAAkB;YAyB/C,gBAAgB;YAkDhB,8BAA8B;YAgB9B,sBAAsB;YA2CtB,mBAAmB;IA0E3B,wBAAwB,CAAC,KAAK,EAAE,yBAAyB;IA6CzD,MAAM,CACX,IAAI,EAAE,CAAC,EACP,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,SAAS,GAC1C,OAAO,CAAC;QACV,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QAChB,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;KACjC,CAAC;IAiFI,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAuKtC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB1B,MAAM;IAIN,cAAc;IAKpB,IAAI,KAAK,WAER;IAEK,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAS1B,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;YAyBjB,MAAM;IAwCd,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAUvC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAUtC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAKxB,UAAU,CACf,GAAG,EAAE,gBAAgB,EACrB,OAAO,EAAE,cAAc,GACrB,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IAgYlC,wBAAwB;IAexB,qBAAqB;IAQ3B,IAAI,gBAAgB,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAKvD;IAED;;OAEG;IACG,cAAc;IAad,iBAAiB,CAAC,GAAG,IAAI,EAAE,aAAa,EAAE;IA+B1C,QAAQ,CACb,IAAI,EAAE;QAAE,QAAQ,IAAI,MAAM,CAAA;KAAE,EAC5B,eAAe,EAAE,MAAM,EACvB,OAAO,CAAC,EAAE;QACT,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,OAAO,CAAC,EAAE,MAAM,CAAC;KACjB,GACC,OAAO,CAAC,OAAO,CAAC;YAOL,eAAe;IA4CvB,WAAW,CAChB,OAAO,EAAE;QAAE,QAAQ,IAAI,MAAM,CAAA;KAAE,EAC/B,eAAe,EAAE,MAAM,EACvB,OAAO,CAAC,EAAE;QACT,OAAO,CAAC,EAAE,MAAM,CAAC;KACjB,GACC,OAAO,CAAC,MAAM,EAAE,CAAC;IAmBd,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC;YAgB/B,4BAA4B;IAmB1C;;;OAGG;IACG,kBAAkB,CAAC,OAAO,CAAC,EAAE,MAAM;IAoCnC,YAAY,CACjB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EACjB,OAAO,CAAC,EAAE;QACT,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,OAAO,CAAC,EAAE,MAAM,CAAC;KACjB;IASI,wBAAwB,CAC7B,SAAS,EAAE,aAAa,EACxB,MAAM,EAAE,MAAM,EAAE,EAChB,UAAU,EAAE,OAAO;IAiDpB,KAAK,CACJ,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,EAAE,EACtC,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GACjD,OAAO,CAAC,GAAG,CAAC,EAAE;IAyIX,UAAU;IAoBV,WAAW;YAqGH,WAAW;IAuBnB,iBAAiB,CAAC,GAAG,EAAE,WAAW,CAAC,kBAAkB,CAAC;IAqBtD,eAAe,CAAC,GAAG,EAAE,WAAW,CAAC,iBAAiB,CAAC;IAenD,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAU/C,cAAc;IAqBd,sBAAsB,CAAC,YAAY,UAAO;IAkE1C,eAAe;IAyCrB,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,YAAY;IASpB,cAAc,CAAC,IAAI,EAAE,MAAM;CAG3B"}