@edryslabs/genericprovider 1.0.3 → 1.5.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.
- package/README.md +129 -5
- package/dist/index.d.ts +1009 -42
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2936 -392
- package/dist/index.js.map +1 -1
- package/dist/lib.d.ts +1 -0
- package/dist/lib.d.ts.map +1 -1
- package/dist/lib.js +3 -0
- package/dist/lib.js.map +1 -1
- package/dist/providers/ably/index.d.ts +203 -0
- package/dist/providers/ably/index.d.ts.map +1 -0
- package/dist/providers/ably/index.js +561 -0
- package/dist/providers/ably/index.js.map +1 -0
- package/dist/providers/chunking.d.ts +26 -0
- package/dist/providers/chunking.d.ts.map +1 -0
- package/dist/providers/chunking.js +52 -0
- package/dist/providers/chunking.js.map +1 -0
- package/dist/providers/dummy/index.d.ts +138 -2
- package/dist/providers/dummy/index.d.ts.map +1 -1
- package/dist/providers/dummy/index.js +266 -4
- package/dist/providers/dummy/index.js.map +1 -1
- package/dist/providers/gun/index.d.ts +29 -4
- package/dist/providers/gun/index.d.ts.map +1 -1
- package/dist/providers/gun/index.js +165 -34
- package/dist/providers/gun/index.js.map +1 -1
- package/dist/providers/indexeddb/index.d.ts +44 -20
- package/dist/providers/indexeddb/index.d.ts.map +1 -1
- package/dist/providers/indexeddb/index.js +85 -71
- package/dist/providers/indexeddb/index.js.map +1 -1
- package/dist/providers/matrix/index.d.ts +11 -0
- package/dist/providers/matrix/index.d.ts.map +1 -1
- package/dist/providers/matrix/index.js +49 -5
- package/dist/providers/matrix/index.js.map +1 -1
- package/dist/providers/nostr/index.d.ts +76 -5
- package/dist/providers/nostr/index.d.ts.map +1 -1
- package/dist/providers/nostr/index.js +211 -36
- package/dist/providers/nostr/index.js.map +1 -1
- package/dist/providers/peerjs/index.d.ts +11 -1
- package/dist/providers/peerjs/index.d.ts.map +1 -1
- package/dist/providers/peerjs/index.js +32 -2
- package/dist/providers/peerjs/index.js.map +1 -1
- package/dist/providers/pubnub/index.d.ts +35 -1
- package/dist/providers/pubnub/index.d.ts.map +1 -1
- package/dist/providers/pubnub/index.js +56 -35
- package/dist/providers/pubnub/index.js.map +1 -1
- package/dist/providers/simple-peer/index.d.ts +8 -14
- package/dist/providers/simple-peer/index.d.ts.map +1 -1
- package/dist/providers/simple-peer/index.js +45 -68
- package/dist/providers/simple-peer/index.js.map +1 -1
- package/dist/providers/supabase/index.d.ts +43 -1
- package/dist/providers/supabase/index.d.ts.map +1 -1
- package/dist/providers/supabase/index.js +211 -18
- package/dist/providers/supabase/index.js.map +1 -1
- package/dist/providers/trystero/index.d.ts +19 -1
- package/dist/providers/trystero/index.d.ts.map +1 -1
- package/dist/providers/trystero/index.js +37 -2
- package/dist/providers/trystero/index.js.map +1 -1
- package/dist/providers/websocket/index.d.ts +9 -1
- package/dist/providers/websocket/index.d.ts.map +1 -1
- package/dist/providers/websocket/index.js +7 -1
- package/dist/providers/websocket/index.js.map +1 -1
- package/dist/transport.d.ts +80 -16
- package/dist/transport.d.ts.map +1 -1
- package/package.json +35 -24
|
@@ -64,6 +64,10 @@ export class SimplePeerTransport {
|
|
|
64
64
|
constructor(options) {
|
|
65
65
|
this._connected = false;
|
|
66
66
|
this._room = '';
|
|
67
|
+
// Sets, not single slots: the provider registers its own peer-connect and
|
|
68
|
+
// peer-disconnect listeners, and consumers (edrys' identity handshake)
|
|
69
|
+
// register alongside it. A single slot silently drops whichever registered
|
|
70
|
+
// second.
|
|
67
71
|
this._peerConnectCallbacks = new Set();
|
|
68
72
|
this._peerDisconnectCallbacks = new Set();
|
|
69
73
|
this._controlCallbacks = new Set();
|
|
@@ -207,29 +211,6 @@ export class SimplePeerTransport {
|
|
|
207
211
|
this.log(`📤 Sent ${data.length}B to ${sentCount}/${this.peers.size} peer(s) — ${skipped} not yet connected`);
|
|
208
212
|
}
|
|
209
213
|
}
|
|
210
|
-
/**
|
|
211
|
-
* Send data to a single connected peer by ID (targeted delivery).
|
|
212
|
-
*/
|
|
213
|
-
sendTo(peerId, data) {
|
|
214
|
-
if (!this._connected) {
|
|
215
|
-
this.log('Not connected, cannot sendTo');
|
|
216
|
-
return;
|
|
217
|
-
}
|
|
218
|
-
const peerConn = this.peers.get(peerId);
|
|
219
|
-
if (!peerConn || !peerConn.connected) {
|
|
220
|
-
this.log(`⚠️ sendTo: peer ${peerId} not connected — ${data.length}B dropped`);
|
|
221
|
-
return;
|
|
222
|
-
}
|
|
223
|
-
const dataToSend = this.options.password
|
|
224
|
-
? this.encrypt(data, this.options.password)
|
|
225
|
-
: data;
|
|
226
|
-
try {
|
|
227
|
-
this.sendToPeer(peerConn, dataToSend);
|
|
228
|
-
}
|
|
229
|
-
catch (error) {
|
|
230
|
-
this.log(`❌ sendTo failed to ${peerId}:`, error.message);
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
214
|
/**
|
|
234
215
|
* Send data to a single peer, chunking if necessary.
|
|
235
216
|
* Uses flow control to avoid overwhelming the WebRTC buffer.
|
|
@@ -309,6 +290,26 @@ export class SimplePeerTransport {
|
|
|
309
290
|
this._callback = undefined;
|
|
310
291
|
};
|
|
311
292
|
}
|
|
293
|
+
/**
|
|
294
|
+
* Transport.sendTo: deliver to one connected peer (the `from` id passed
|
|
295
|
+
* to onMessage), chunked and flow-controlled like a broadcast send.
|
|
296
|
+
*/
|
|
297
|
+
sendTo(peerId, data) {
|
|
298
|
+
if (!this._connected)
|
|
299
|
+
return;
|
|
300
|
+
const peerConn = this.peers.get(peerId);
|
|
301
|
+
if (!peerConn || !peerConn.connected)
|
|
302
|
+
return;
|
|
303
|
+
const dataToSend = this.options.password
|
|
304
|
+
? this.encrypt(data, this.options.password)
|
|
305
|
+
: data;
|
|
306
|
+
try {
|
|
307
|
+
this.sendToPeer(peerConn, dataToSend);
|
|
308
|
+
}
|
|
309
|
+
catch (error) {
|
|
310
|
+
this.log(`❌ sendTo failed for ${peerId}:`, error.message);
|
|
311
|
+
}
|
|
312
|
+
}
|
|
312
313
|
/**
|
|
313
314
|
* Register callback for new peer data-channel connections.
|
|
314
315
|
*/
|
|
@@ -318,20 +319,14 @@ export class SimplePeerTransport {
|
|
|
318
319
|
this._peerConnectCallbacks.delete(callback);
|
|
319
320
|
};
|
|
320
321
|
}
|
|
321
|
-
/**
|
|
322
|
-
* Register callback for peer disconnects (channel close or error). Only fires
|
|
323
|
-
* for peers that had reached the connected state.
|
|
324
|
-
*/
|
|
322
|
+
/** Transport.onPeerDisconnect: a peer's channel closed or errored (removePeer). */
|
|
325
323
|
onPeerDisconnect(callback) {
|
|
326
324
|
this._peerDisconnectCallbacks.add(callback);
|
|
327
325
|
return () => {
|
|
328
326
|
this._peerDisconnectCallbacks.delete(callback);
|
|
329
327
|
};
|
|
330
328
|
}
|
|
331
|
-
/**
|
|
332
|
-
* Register callback for consumer control frames (MSG_TYPE_CONTROL).
|
|
333
|
-
* These bypass the provider pipe — use for per-peer handshakes/auth.
|
|
334
|
-
*/
|
|
329
|
+
/** Transport.onControlFrame: out-of-band frames, never fed to the provider. */
|
|
335
330
|
onControlFrame(callback) {
|
|
336
331
|
this._controlCallbacks.add(callback);
|
|
337
332
|
return () => {
|
|
@@ -462,7 +457,6 @@ export class SimplePeerTransport {
|
|
|
462
457
|
// This is an envelope, the actual message could be an announce or signal
|
|
463
458
|
if (msg.from) {
|
|
464
459
|
// Treat as announce if it's a publish from another peer
|
|
465
|
-
this.pruneStalePeer(msg.from);
|
|
466
460
|
if (!this.peers.has(msg.from) &&
|
|
467
461
|
this.peers.size < this.options.maxConns &&
|
|
468
462
|
!this.announcedPeers.has(msg.from)) {
|
|
@@ -497,7 +491,6 @@ export class SimplePeerTransport {
|
|
|
497
491
|
return;
|
|
498
492
|
}
|
|
499
493
|
// Another peer announced - connect to them if we have capacity
|
|
500
|
-
this.pruneStalePeer(msg.from);
|
|
501
494
|
if (!this.peers.has(msg.from) &&
|
|
502
495
|
this.peers.size < this.options.maxConns &&
|
|
503
496
|
!this.announcedPeers.has(msg.from)) {
|
|
@@ -587,8 +580,7 @@ export class SimplePeerTransport {
|
|
|
587
580
|
peerConn.connected = true;
|
|
588
581
|
const connectedCount = Array.from(this.peers.values()).filter((p) => p.connected).length;
|
|
589
582
|
this.log(`✅ Peer channel open (${via}): ${remotePeerId} — ${connectedCount}/${this.peers.size} peer(s) connected`);
|
|
590
|
-
|
|
591
|
-
cb(remotePeerId);
|
|
583
|
+
this._peerConnectCallbacks.forEach((cb) => cb(remotePeerId));
|
|
592
584
|
};
|
|
593
585
|
// Handle connection
|
|
594
586
|
peer.on('connect', () => onChannelOpen('connect'));
|
|
@@ -606,34 +598,29 @@ export class SimplePeerTransport {
|
|
|
606
598
|
// Data flowing proves the channel is open — handle the race where 'data' fires
|
|
607
599
|
// before 'connect' (seen on Chrome when the remote initiator sends immediately).
|
|
608
600
|
onChannelOpen('data');
|
|
609
|
-
let uint8Data;
|
|
610
|
-
try {
|
|
611
|
-
uint8Data = new Uint8Array(data);
|
|
612
|
-
}
|
|
613
|
-
catch (error) {
|
|
614
|
-
this.log('Error handling peer data:', error);
|
|
615
|
-
return;
|
|
616
|
-
}
|
|
617
|
-
if (uint8Data.length === 0)
|
|
618
|
-
return;
|
|
619
|
-
// Control frames bypass the provider pipe (identity/auth handshakes etc.)
|
|
620
|
-
if (uint8Data[0] === MSG_TYPE_CONTROL) {
|
|
621
|
-
const payload = uint8Data.slice(1);
|
|
622
|
-
for (const cb of this._controlCallbacks)
|
|
623
|
-
cb(remotePeerId, payload);
|
|
624
|
-
return;
|
|
625
|
-
}
|
|
626
|
-
if (!this._callback)
|
|
627
|
-
return;
|
|
628
601
|
try {
|
|
602
|
+
const uint8Data = new Uint8Array(data);
|
|
603
|
+
if (uint8Data.length === 0)
|
|
604
|
+
return;
|
|
629
605
|
const msgType = uint8Data[0];
|
|
606
|
+
// Control frames are a consumer side-channel: they bypass the provider
|
|
607
|
+
// pipe entirely (no CRC, no decrypt, no Yjs decode) and are delivered
|
|
608
|
+
// even before the provider has registered its onMessage callback,
|
|
609
|
+
// since the identity handshake runs ahead of it.
|
|
610
|
+
if (msgType === MSG_TYPE_CONTROL) {
|
|
611
|
+
const payload = uint8Data.slice(1);
|
|
612
|
+
this._controlCallbacks.forEach((cb) => cb(remotePeerId, payload));
|
|
613
|
+
return;
|
|
614
|
+
}
|
|
615
|
+
if (!this._callback)
|
|
616
|
+
return;
|
|
630
617
|
if (msgType === MSG_TYPE_COMPLETE) {
|
|
631
618
|
// Complete message, extract payload (skip type byte)
|
|
632
619
|
const payload = uint8Data.slice(1);
|
|
633
620
|
const decryptedData = this.options.password
|
|
634
621
|
? this.decrypt(payload, this.options.password)
|
|
635
622
|
: payload;
|
|
636
|
-
this._callback(decryptedData);
|
|
623
|
+
this._callback(decryptedData, remotePeerId);
|
|
637
624
|
}
|
|
638
625
|
else if (msgType === MSG_TYPE_CHUNKED) {
|
|
639
626
|
// Chunked message - reassemble
|
|
@@ -670,7 +657,7 @@ export class SimplePeerTransport {
|
|
|
670
657
|
const decryptedData = this.options.password
|
|
671
658
|
? this.decrypt(fullMessage, this.options.password)
|
|
672
659
|
: fullMessage;
|
|
673
|
-
this._callback(decryptedData);
|
|
660
|
+
this._callback(decryptedData, remotePeerId);
|
|
674
661
|
this.log(`📥 Reassembled ${totalLength}B from ${totalChunks} chunks (msgId=${messageId})`);
|
|
675
662
|
}
|
|
676
663
|
}
|
|
@@ -679,7 +666,7 @@ export class SimplePeerTransport {
|
|
|
679
666
|
const decryptedData = this.options.password
|
|
680
667
|
? this.decrypt(uint8Data, this.options.password)
|
|
681
668
|
: uint8Data;
|
|
682
|
-
this._callback(decryptedData);
|
|
669
|
+
this._callback(decryptedData, remotePeerId);
|
|
683
670
|
}
|
|
684
671
|
}
|
|
685
672
|
catch (error) {
|
|
@@ -720,20 +707,12 @@ export class SimplePeerTransport {
|
|
|
720
707
|
this.log(`❌ Could not create peer connection for signal from ${remotePeerId}`);
|
|
721
708
|
}
|
|
722
709
|
}
|
|
723
|
-
// Forget a peer we announced but hold no live connection to, so its next
|
|
724
|
-
// re-announce can reconnect instead of being deduped forever (ghost peer).
|
|
725
|
-
pruneStalePeer(peerId) {
|
|
726
|
-
if (this.announcedPeers.has(peerId) && !this.peers.has(peerId)) {
|
|
727
|
-
this.announcedPeers.delete(peerId);
|
|
728
|
-
}
|
|
729
|
-
}
|
|
730
710
|
/**
|
|
731
711
|
* Remove and cleanup a peer connection.
|
|
732
712
|
*/
|
|
733
713
|
removePeer(peerId) {
|
|
734
714
|
const peerConn = this.peers.get(peerId);
|
|
735
715
|
if (peerConn) {
|
|
736
|
-
const wasConnected = peerConn.connected;
|
|
737
716
|
try {
|
|
738
717
|
peerConn.peer.destroy();
|
|
739
718
|
}
|
|
@@ -742,11 +721,9 @@ export class SimplePeerTransport {
|
|
|
742
721
|
}
|
|
743
722
|
this.peers.delete(peerId);
|
|
744
723
|
this.announcedPeers.delete(peerId);
|
|
745
|
-
if (wasConnected)
|
|
746
|
-
for (const cb of this._peerDisconnectCallbacks)
|
|
747
|
-
cb(peerId);
|
|
748
724
|
const connectedCount = Array.from(this.peers.values()).filter((p) => p.connected).length;
|
|
749
725
|
this.log(`🗑️ Removed peer ${peerId} — ${connectedCount} connected / ${this.peers.size} total`);
|
|
726
|
+
this._peerDisconnectCallbacks.forEach((cb) => cb(peerId));
|
|
750
727
|
}
|
|
751
728
|
}
|
|
752
729
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/simple-peer/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/simple-peer/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as Y from 'yjs';
|
|
1
2
|
import type { Transport, ConnectionConfig } from '../../transport';
|
|
2
3
|
/**
|
|
3
4
|
* Options passed to the SupabaseTransport constructor.
|
|
@@ -30,6 +31,22 @@ export interface SupabaseConfig extends ConnectionConfig {
|
|
|
30
31
|
room: string;
|
|
31
32
|
/** Optional password to secure the room */
|
|
32
33
|
password?: string;
|
|
34
|
+
/**
|
|
35
|
+
* Persist the document in a table so a room survives its last peer
|
|
36
|
+
* leaving: the full state is loaded on connect and written (debounced)
|
|
37
|
+
* after every document update. Needs a table with columns `id TEXT
|
|
38
|
+
* PRIMARY KEY`, `content TEXT` (see the README for the SQL and the RLS
|
|
39
|
+
* policy the anon key needs). Not usable together with
|
|
40
|
+
* `compressionThresholdBytes` (this transport reads the frame's type
|
|
41
|
+
* byte at a fixed offset). @default false
|
|
42
|
+
*/
|
|
43
|
+
persistent?: boolean;
|
|
44
|
+
/** The Y.Doc to persist. Required when persistent is true. */
|
|
45
|
+
doc?: Y.Doc;
|
|
46
|
+
/** Table name. @default 'yjs_documents' */
|
|
47
|
+
tableName?: string;
|
|
48
|
+
/** Debounce delay in ms before a database write. @default 2000 */
|
|
49
|
+
persistDebounceMs?: number;
|
|
33
50
|
/** Enable debug logging */
|
|
34
51
|
debug?: boolean;
|
|
35
52
|
}
|
|
@@ -63,15 +80,40 @@ export declare class SupabaseTransport implements Transport {
|
|
|
63
80
|
private channel;
|
|
64
81
|
private config;
|
|
65
82
|
private messageCallback?;
|
|
83
|
+
private _peerDisconnectCallback?;
|
|
84
|
+
private peerId;
|
|
85
|
+
private chunks;
|
|
66
86
|
private _isConnected;
|
|
67
87
|
private debug;
|
|
68
88
|
private roomId;
|
|
89
|
+
private persistentMode;
|
|
90
|
+
private doc;
|
|
91
|
+
private tableName;
|
|
92
|
+
private persistDebounceMs;
|
|
93
|
+
private persistTimer?;
|
|
94
|
+
private isWritingToDb;
|
|
95
|
+
private savePending;
|
|
96
|
+
private pendingLoad;
|
|
69
97
|
constructor(options: SupabaseTransportOptions);
|
|
70
98
|
get isConnected(): boolean;
|
|
71
99
|
connect(config: SupabaseConfig): Promise<void>;
|
|
72
100
|
disconnect(): Promise<void>;
|
|
73
101
|
send(data: Uint8Array): void;
|
|
74
|
-
onMessage(callback: (data: Uint8Array) => void): () => void;
|
|
102
|
+
onMessage(callback: (data: Uint8Array, from?: string) => void): () => void;
|
|
103
|
+
/**
|
|
104
|
+
* Transport.onPeerDisconnect: Supabase presence 'leave' for the channel.
|
|
105
|
+
* Peer ids are presence keys, the same id `onMessage` passes as `from`.
|
|
106
|
+
*/
|
|
107
|
+
onPeerDisconnect(callback: (peerId: string) => void): () => void;
|
|
108
|
+
/**
|
|
109
|
+
* Deliver the stored state as a MESSAGE_SYNC_PUSH frame - the provider
|
|
110
|
+
* applies it like a peer's full-state push: no hash check, no `synced`
|
|
111
|
+
* flip (a stored copy says nothing about who is online).
|
|
112
|
+
*/
|
|
113
|
+
private loadFromDatabase;
|
|
114
|
+
private queuePersist;
|
|
115
|
+
/** Upsert the full current state; a write that overlaps a change re-runs once. */
|
|
116
|
+
private saveToDatabase;
|
|
75
117
|
private handleMessage;
|
|
76
118
|
private uint8ArrayToBase64;
|
|
77
119
|
private base64ToUint8Array;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/supabase/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/supabase/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAExB,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAkBlE;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,wBAAwB;IACvC,gEAAgE;IAChE,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,GAAG,CAAA;CAChD;AA2DD;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,gBAAgB;IACtD,wEAAwE;IACxE,WAAW,EAAE,MAAM,CAAA;IACnB,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAA;IACnB,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAA;IACZ,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,8DAA8D;IAC9D,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAA;IACX,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,kEAAkE;IAClE,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,2BAA2B;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAMD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,iBAAkB,YAAW,SAAS;IA+BrC,OAAO,CAAC,QAAQ,CAAC,OAAO;IA9BpC,OAAO,CAAC,QAAQ,CAAY;IAC5B,OAAO,CAAC,OAAO,CAAY;IAG3B,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,eAAe,CAAC,CAA2C;IACnE,OAAO,CAAC,uBAAuB,CAAC,CAA0B;IAQ1D,OAAO,CAAC,MAAM,CAAkD;IAChE,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,YAAY,CAAiB;IACrC,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,MAAM,CAAa;IAE3B,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,GAAG,CAAqB;IAChC,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,iBAAiB,CAAe;IACxC,OAAO,CAAC,YAAY,CAAC,CAA+B;IACpD,OAAO,CAAC,aAAa,CAAiB;IACtC,OAAO,CAAC,WAAW,CAAiB;IAEpC,OAAO,CAAC,WAAW,CAA0B;gBAEhB,OAAO,EAAE,wBAAwB;IAE9D,IAAI,WAAW,IAAI,OAAO,CAEzB;IAEK,OAAO,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAyF9C,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA2BjC,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAkC5B,SAAS,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,IAAI;IAe1E;;;OAGG;IACH,gBAAgB,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,IAAI;IAWhE;;;;OAIG;YACW,gBAAgB;IA0B9B,OAAO,CAAC,YAAY;IAKpB,kFAAkF;YACpE,cAAc;IA+B5B,OAAO,CAAC,aAAa;IA6BrB,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,GAAG;CAKZ"}
|