@verdant-web/server 2.0.1 → 2.0.3
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/bin/server.mjs +1 -1
- package/dist/cjs/OperationHistory.d.ts +2 -2
- package/dist/cjs/OperationHistory.js +4 -4
- package/dist/cjs/OperationHistory.js.map +1 -1
- package/dist/cjs/Replicas.d.ts +1 -0
- package/dist/cjs/Replicas.js +14 -0
- package/dist/cjs/Replicas.js.map +1 -1
- package/dist/cjs/ServerLibrary.js +8 -3
- package/dist/cjs/ServerLibrary.js.map +1 -1
- package/dist/esm/OperationHistory.d.ts +2 -2
- package/dist/esm/OperationHistory.js +4 -4
- package/dist/esm/OperationHistory.js.map +1 -1
- package/dist/esm/Replicas.d.ts +1 -0
- package/dist/esm/Replicas.js +14 -0
- package/dist/esm/Replicas.js.map +1 -1
- package/dist/esm/ServerLibrary.js +8 -3
- package/dist/esm/ServerLibrary.js.map +1 -1
- package/dist/tsconfig-cjs.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/OperationHistory.ts +4 -4
- package/src/Replicas.ts +34 -9
- package/src/ServerLibrary.ts +13 -3
package/bin/server.mjs
CHANGED
|
@@ -9,10 +9,10 @@ export declare class OperationHistory {
|
|
|
9
9
|
getEarliest: (libraryId: string, count: number) => OperationSpec[];
|
|
10
10
|
getAfter: (libraryId: string, timestamp?: string | null) => OperationSpec[];
|
|
11
11
|
/**
|
|
12
|
-
* Returns all operations before the given
|
|
12
|
+
* Returns all operations before the given server order
|
|
13
13
|
* in ascending chronological order
|
|
14
14
|
*/
|
|
15
|
-
|
|
15
|
+
getBeforeServerOrder: (libraryId: string, beforeServerOrder: number) => OperationSpec[];
|
|
16
16
|
/**
|
|
17
17
|
* Returns all operations after a given server order. Useful
|
|
18
18
|
* for retrieving operations that were created after a client
|
|
@@ -61,17 +61,17 @@ class OperationHistory {
|
|
|
61
61
|
.map(this.hydratePatch);
|
|
62
62
|
};
|
|
63
63
|
/**
|
|
64
|
-
* Returns all operations before the given
|
|
64
|
+
* Returns all operations before the given server order
|
|
65
65
|
* in ascending chronological order
|
|
66
66
|
*/
|
|
67
|
-
this.
|
|
67
|
+
this.getBeforeServerOrder = (libraryId, beforeServerOrder) => {
|
|
68
68
|
return this.db
|
|
69
69
|
.prepare(`
|
|
70
70
|
SELECT * FROM OperationHistory
|
|
71
|
-
WHERE libraryId = ? AND
|
|
71
|
+
WHERE libraryId = ? AND serverOrder < ?
|
|
72
72
|
ORDER BY timestamp ASC
|
|
73
73
|
`)
|
|
74
|
-
.all(libraryId,
|
|
74
|
+
.all(libraryId, beforeServerOrder)
|
|
75
75
|
.map(this.hydratePatch);
|
|
76
76
|
};
|
|
77
77
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OperationHistory.js","sourceRoot":"","sources":["../../src/OperationHistory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAWA,MAAa,gBAAgB;IAC5B,YAAoB,EAAY;QAAZ,OAAE,GAAF,EAAE,CAAU;QAExB,iBAAY,GAAG,CAAC,EAIK,EAAiB,EAAE;gBAJxB,EACvB,SAAS,EAAE,CAAC,EACZ,IAAI,OAEwB,EADzB,IAAI,cAHgB,qBAIvB,CADO;YAEP,uCACI,IAAI,KACP,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IACrB;QACH,CAAC,CAAC;QAEF,cAAS,GAAG,CAAC,SAAiB,EAAE,GAAW,EAAE,EAAE;YAC9C,OAAO,IAAI,CAAC,EAAE;iBACZ,OAAO,CACP;;;;KAIC,CACD;iBACA,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC;iBACnB,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1B,CAAC,CAAC;QAEF,gBAAW,GAAG,CAAC,SAAiB,EAAE,KAAa,EAAE,EAAE;YAClD,OAAO,IAAI,CAAC,EAAE;iBACZ,OAAO,CACP;;;;;KAKC,CACD;iBACA,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC;iBACrB,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1B,CAAC,CAAC;QAEF,aAAQ,GAAG,CAAC,SAAiB,EAAE,YAA2B,IAAI,EAAE,EAAE;YACjE,IAAI,SAAS,KAAK,IAAI,EAAE;gBACvB,OAAO,IAAI,CAAC,EAAE;qBACZ,OAAO,CACP;;;;KAIA,CACA;qBACA,GAAG,CAAC,SAAS,CAAC;qBACd,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aACzB;YACD,OAAO,IAAI,CAAC,EAAE;iBACZ,OAAO,CACP;;;;KAIC,CACD;iBACA,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC;iBACzB,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1B,CAAC,CAAC;QAEF;;;WAGG;QACH,
|
|
1
|
+
{"version":3,"file":"OperationHistory.js","sourceRoot":"","sources":["../../src/OperationHistory.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/Replicas.d.ts
CHANGED
|
@@ -16,6 +16,7 @@ export declare class ReplicaInfos {
|
|
|
16
16
|
updateLastSeen: (libraryId: string, replicaId: string) => import("better-sqlite3").RunResult;
|
|
17
17
|
updateAcknowledged: (libraryId: string, replicaId: string, timestamp: string) => void;
|
|
18
18
|
updateServerOrder: (libraryId: string, replicaId: string, serverOrder: number) => void;
|
|
19
|
+
getEarliestAckedServerOrder: (libraryId: string) => number | null;
|
|
19
20
|
acknowledgeOperation: (libraryId: string, replicaId: string, timestamp: string) => void;
|
|
20
21
|
getGlobalAck: (libraryId: string, onlineReplicaIds?: string[]) => string | undefined;
|
|
21
22
|
delete: (libraryId: string, replicaId: string) => import("better-sqlite3").RunResult;
|
package/dist/cjs/Replicas.js
CHANGED
|
@@ -122,6 +122,20 @@ class ReplicaInfos {
|
|
|
122
122
|
`)
|
|
123
123
|
.run(serverOrder, replicaId, libraryId);
|
|
124
124
|
};
|
|
125
|
+
this.getEarliestAckedServerOrder = (libraryId) => {
|
|
126
|
+
// get the earliest acked server order of all non-truant replicas
|
|
127
|
+
const allAcks = this.db
|
|
128
|
+
.prepare(`
|
|
129
|
+
SELECT ackedServerOrder FROM ReplicaInfo
|
|
130
|
+
WHERE libraryId = ?
|
|
131
|
+
AND lastSeenWallClockTime > ?
|
|
132
|
+
`)
|
|
133
|
+
.all(libraryId, this.truantCutoff).map((row) => row.ackedServerOrder);
|
|
134
|
+
if (allAcks.some((ack) => ack === null)) {
|
|
135
|
+
return null;
|
|
136
|
+
}
|
|
137
|
+
return Math.min(...allAcks);
|
|
138
|
+
};
|
|
125
139
|
this.acknowledgeOperation = (libraryId, replicaId, timestamp) => {
|
|
126
140
|
if (!timestamp)
|
|
127
141
|
return;
|
package/dist/cjs/Replicas.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Replicas.js","sourceRoot":"","sources":["../../src/Replicas.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Replicas.js","sourceRoot":"","sources":["../../src/Replicas.ts"],"names":[],"mappings":"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"}
|
|
@@ -247,10 +247,10 @@ class ServerLibrary extends common_1.EventSubscriber {
|
|
|
247
247
|
this.log('Performing rebase check');
|
|
248
248
|
// fundamentally a rebase occurs when some conditions are met:
|
|
249
249
|
// 1. the replica which created an operation has dropped that operation
|
|
250
|
-
// from their history stack, i.e. their oldest timestamp is after it.
|
|
250
|
+
// from their history stack, i.e. their oldest acked timestamp is after it.
|
|
251
251
|
// 2. all other replicas have acknowledged an operation since the
|
|
252
252
|
// operation which will be flattened to the baseline. i.e. global
|
|
253
|
-
// ack >
|
|
253
|
+
// ack server order > server order.
|
|
254
254
|
//
|
|
255
255
|
// to determine which rebases we can do, we use a heuristic.
|
|
256
256
|
// the maximal set of operations we could potentially rebase is
|
|
@@ -262,12 +262,17 @@ class ServerLibrary extends common_1.EventSubscriber {
|
|
|
262
262
|
// type.
|
|
263
263
|
const activeReplicaIds = Object.values(this.presences.all(libraryId)).map((p) => p.replicaId);
|
|
264
264
|
const globalAck = this.replicas.getGlobalAck(libraryId, activeReplicaIds);
|
|
265
|
+
const globalServerOrder = this.replicas.getEarliestAckedServerOrder(libraryId);
|
|
265
266
|
if (!globalAck) {
|
|
266
267
|
this.log('No global ack, skipping rebase');
|
|
267
268
|
return;
|
|
268
269
|
}
|
|
270
|
+
if (globalServerOrder === null) {
|
|
271
|
+
this.log('No global server order, skipping rebase');
|
|
272
|
+
return;
|
|
273
|
+
}
|
|
269
274
|
// these are in forward chronological order
|
|
270
|
-
const ops = this.operations.
|
|
275
|
+
const ops = this.operations.getBeforeServerOrder(libraryId, globalServerOrder);
|
|
271
276
|
const opsToApply = {};
|
|
272
277
|
// if we encounter a sequential operation in history which does
|
|
273
278
|
// not meet our conditions, we must ignore subsequent operations
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServerLibrary.js","sourceRoot":"","sources":["../../src/ServerLibrary.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ServerLibrary.js","sourceRoot":"","sources":["../../src/ServerLibrary.ts"],"names":[],"mappings":";;;AAAA,gDAmB6B;AAE7B,+CAA6C;AAE7C,+DAAyD;AACzD,iDAA2C;AAC3C,+CAAyC;AAezC,MAAa,aAAc,SAAQ,wBAAoC;IAatE,YAAY,EACX,EAAE,EACF,MAAM,EACN,QAAQ,EACR,qBAAqB,EACrB,GAAG,GAAG,GAAG,EAAE,GAAE,CAAC,EACd,eAAe,EACf,YAAY,EACZ,WAAW,GAUX;QACA,KAAK,EAAE,CAAC;QAzBD,cAAS,GAAG,IAAI,sBAAQ,EAAE,CAAC;QAwCnC;;;;WAIG;QACK,0BAAqB,GAAG,CAAC,SAAiB,EAAE,IAAe,EAAE,EAAE;YACtE,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAC7D,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC,MAAM,EAAE;gBAChD,MAAM,IAAI,KAAK,CACd,WAAW,SAAS,8BAA8B,IAAI,CAAC,MAAM,EAAE,CAC/D,CAAC;aACF;QACF,CAAC,CAAC;QAEM,mBAAc,GAAG,CAAC,IAAe,EAAE,EAAE;YAC5C,OAAO,CACN,IAAI,CAAC,IAAI,KAAK,oBAAW,CAAC,YAAY;gBACtC,IAAI,CAAC,IAAI,KAAK,oBAAW,CAAC,gBAAgB,CAC1C,CAAC;QACH,CAAC,CAAC;QAEF,YAAO,GAAG,KAAK,EACd,OAAsB,EACtB,SAAiB,EACjB,IAAe,EACd,EAAE;YACH,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAEpD,QAAQ,OAAO,CAAC,IAAI,EAAE;gBACrB,KAAK,IAAI;oBACR,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;oBAC/C,MAAM;gBACP,KAAK,MAAM;oBACV,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;oBAC1C,MAAM;gBACP,KAAK,KAAK;oBACT,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;oBACzC,MAAM;gBACP,KAAK,WAAW;oBACf,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;oBAC/C,MAAM;gBACP,KAAK,iBAAiB;oBACrB,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;oBAC1D,MAAM;gBACP;oBACC,IAAI,CAAC,GAAG,CAAC,sBAAsB,EAAG,OAAe,CAAC,IAAI,CAAC,CAAC;oBACxD,MAAM;aACP;YACD,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QACjE,CAAC,CAAC;QAEF,WAAM,GAAG,CAAC,SAAiB,EAAE,SAAiB,EAAE,EAAE;YACjD,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACpD,CAAC,CAAC;QAEM,oBAAe,GAAG,CACzB,OAAyB,EACzB,SAAiB,EACjB,IAAe,EACd,EAAE;YACH,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM;gBAAE,OAAO;YAEvC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;gBAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE;oBAC3C,IAAI,EAAE,WAAW;iBACjB,CAAC,CAAC;gBACH,OAAO;aACP;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;gBACpC,8BAA8B;gBAC9B,IAAI,CAAC,UAAU,CAAC,SAAS,CACxB,IAAI,CAAC,SAAS,EACd,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,UAAU,CAClB,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,GAAG,EAAE,CAAC;YAEN,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAEnC,iDAAiD;YACjD,IAAI,CAAC,qBAAqB,CACzB,IAAI,CAAC,SAAS,EACd,SAAS,EACT,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,UAAU,EAClB,EAAE,CACF,CAAC;YAEF,mDAAmD;YACnD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE;gBAC3C,IAAI,EAAE,YAAY;gBAClB,SAAS,EAAE,OAAO,CAAC,SAAS;aAC5B,CAAC,CAAC;YAEH,IAAI,CAAC,eAAe,CACnB,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,SAAS,EAC3D,IAAI,CACJ,CAAC;YAEF,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACpD,CAAC,CAAC;QAEM,6BAAwB,GAAG,CAAC,SAAwB,EAAa,EAAE;YAC1E,OAAO,IAAA,aAAI,EAAC,SAAS,EAAE,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC;QAEM,0BAAqB,GAAG,CAC/B,SAAiB,EACjB,SAAiB,EACjB,SAAiB,EACjB,GAAgB,EAChB,SAA6B,EAC5B,EAAE;YACH,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YAEvD,IAAI,CAAC,GAAG,CACP,MAAM,EACN,gBAAgB,EAChB,GAAG,CAAC,MAAM,EACV,gBAAgB,EAChB,SAAS,CAAC,MAAM,EAChB,WAAW,CACX,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,SAAS,CACpB,SAAS,EACT;gBACC,IAAI,EAAE,OAAO;gBACb,UAAU,EAAE,GAAG;gBACf,SAAS;gBACT,SAAS;gBACT,kBAAkB,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC;aACzD,EACD,CAAC,SAAS,CAAC,CACX,CAAC;QACH,CAAC,CAAC;QAEM,eAAU,GAAG,CACpB,OAAoB,EACpB,SAAiB,EACjB,IAAe,EACd,EAAE;YACH,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;YAEpC,2EAA2E;YAC3E,qBAAqB;YACrB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;gBAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE;oBAC3C,IAAI,EAAE,WAAW;iBACjB,CAAC,CAAC;gBACH,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,6BAA6B,EAAE,SAAS,CAAC,CAAC;gBAC9D,OAAO;aACP;YAED,IAAI,OAAO,CAAC,SAAS,EAAE;gBACtB,6DAA6D;gBAC7D,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;aAChD;YAED,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,iBAAiB,EAAE,GAC/C,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAE5D,MAAM,YAAY,GACjB,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC;YACnE,IAAI,CAAC,GAAG,CACP,aAAa,SAAS,WAAW,IAAI,CAAC,MAAM,wBAAwB,YAAY,uBAAuB,iBAAiB,CAAC,gBAAgB,aAAa,MAAM,IAAI,CAChK,CAAC;YAEF,0DAA0D;YAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAC7C,IAAI,CAAC,SAAS,EACd,iBAAiB,CAAC,gBAAgB,CAClC,CAAC;YAEF,2DAA2D;YAC3D,gDAAgD;YAChD,mDAAmD;YACnD,MAAM,kBAAkB,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI,MAAM,KAAK,UAAU,CAAC;YAExE,qDAAqD;YACrD,uCAAuC;YACvC,QAAQ;YACR,+DAA+D;YAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;YAC3E,uDAAuD;YACvD,mBAAmB;YACnB,sCAAsC;YACtC,KAAK;YAEL,qEAAqE;YACrE,sEAAsE;YACtE,sEAAsE;YACtE,yEAAyE;YACzE,uEAAuE;YACvE,mCAAmC;YACnC,qEAAqE;YACrE,4CAA4C;YAC5C,MAAM,cAAc,GACnB,YAAY,KAAK,IAAI,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC;YAErE,IAAI,kBAAkB,GAAG,kBAAkB,IAAI,CAAC,cAAc,CAAC;YAE/D,8DAA8D;YAC9D,yDAAyD;YACzD,4DAA4D;YAC5D,mDAAmD;YACnD,IAAI,cAAc,IAAI,MAAM,KAAK,KAAK,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE;gBACjE,IAAI,CAAC,GAAG,CACP,yEAAyE,EACzE,SAAS,CACT,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE;oBAC3C,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,IAAI;iBACX,CAAC,CAAC;gBACH,OAAO;aACP;iBAAM,IAAI,CAAC,cAAc,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE;gBACrD,0DAA0D;gBAC1D,uDAAuD;gBACvD,8BAA8B;gBAC9B,IAAI,CAAC,GAAG,CACP,kBAAkB,EAClB,SAAS,EACT,yFAAyF,CACzF,CAAC;gBACF,kBAAkB,GAAG,IAAI,CAAC;aAC1B;YAED,IAAI,kBAAkB,EAAE;gBACvB,IAAI,CAAC,GAAG,CACP,oCAAoC,EACpC,SAAS,EACT,MAAM,EACN,SAAS,CAAC,MAAM,EAChB,eAAe,EACf,GAAG,CAAC,MAAM,EACV,YAAY,CACZ,CAAC;aACF;YAED,iDAAiD;YACjD,4CAA4C;YAC5C,IAAI,CAAC,kBAAkB,EAAE;gBACxB,8CAA8C;gBAC9C,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;gBAE5D,IAAI,CAAC,GAAG,CACP,SAAS,EACT,OAAO,CAAC,SAAS,CAAC,MAAM,EACxB,eAAe,EACf,OAAO,CAAC,UAAU,CAAC,MAAM,EACzB,YAAY,CACZ,CAAC;gBACF,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;gBACzE,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAC/B,IAAI,CAAC,SAAS,EACd,SAAS,EACT,OAAO,CAAC,SAAS,CACjB,CAAC;gBACF,kCAAkC;gBAClC,IAAI,CAAC,qBAAqB,CACzB,IAAI,CAAC,SAAS,EACd,SAAS,EACT,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,SAAS,CACjB,CAAC;gBACF,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE;oBAC1D,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;iBAClE;aACD;YAED,IAAI,MAAM,KAAK,QAAQ,EAAE;gBACxB,IAAI,CAAC,GAAG,CAAC,kCAAkC,EAAE,SAAS,CAAC,CAAC;aACxD;YAED,sEAAsE;YACtE,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAE9C,oBAAoB;YAEpB,IAAI,CAAC,GAAG,CACP,4BAA4B,EAC5B,GAAG,CAAC,MAAM,EACV,gBAAgB,EAChB,SAAS,CAAC,MAAM,EAChB,WAAW,CACX,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE;gBAC3C,IAAI,EAAE,WAAW;gBACjB,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC;gBAClD,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;oBACvC,GAAG,EAAE,QAAQ,CAAC,GAAG;oBACjB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;oBAC3B,SAAS,EAAE,QAAQ,CAAC,SAAS;iBAC7B,CAAC,CAAC;gBACH,kBAAkB,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC;gBAC9D,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;gBAChD,0EAA0E;gBAC1E,oEAAoE;gBACpE,8BAA8B;gBAC9B,kBAAkB;gBAClB,cAAc,EAAE,OAAO,CAAC,SAAS;gBACjC,YAAY;aACZ,CAAC,CAAC;QACJ,CAAC,CAAC;QAEM,mBAAc,GAAG,CAAC,GAAoB,EAAsB,EAAE;YACrE,OAAO,GAAG,CAAC,MAAM;gBAChB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CACrE,QAAQ,CACP;gBACH,CAAC,CAAC,SAAS,CAAC;QACd,CAAC,CAAC;QAEM,cAAS,GAAG,CACnB,OAAmB,EACnB,SAAiB,EACjB,IAAe,EACd,EAAE;YACH,IAAI,OAAO,CAAC,KAAK,EAAE;gBAClB,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAC9B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CACrD,CAAC;gBACF,IAAI,CAAC,GAAG,CACP,UAAU,EACV,OAAO,CAAC,SAAS,EACjB,OAAO,EACP,IAAI,CAAC,MAAM,EACX,GAAG,EACH,YAAY,EACZ,YAAY,CACZ,CAAC;gBACF,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;oBACrC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,eAAe,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;oBAClD,OAAO;iBACP;gBAED,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;gBACpC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;aACzE;iBAAM,IAAI,OAAO,CAAC,SAAS,EAAE;gBAC7B,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CACjC,IAAI,CAAC,SAAS,EACd,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,SAAS,CACjB,CAAC;gBACF,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC7D,IAAI,SAAS,EAAE;oBACd,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE;wBACrC,IAAI,EAAE,YAAY;wBAClB,SAAS,EAAE,SAAS;qBACpB,CAAC,CAAC;iBACH;aACD;QACF,CAAC,CAAC;QAEM,oBAAe,GAAG,CACzB,SAAiB,EACjB,SAAiB,EACjB,IAAe,EACf,mBAA6B,EAAE,EAC9B,EAAE;YACH,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YACvE,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAChE,IAAI,YAAY,EAAE;gBACjB,IAAI,CAAC,MAAM,CAAC,SAAS,CACpB,IAAI,CAAC,SAAS,EACd;oBACC,IAAI,EAAE,YAAY;oBAClB,SAAS,EAAE,YAAY;iBACvB,EACD,gBAAgB,CAChB,CAAC;aACF;QACF,CAAC,CAAC;QAEM,yBAAoB,GAA0B,IAAI,CAAC;QACnD,kBAAa,GAAG,CAAC,SAAiB,EAAE,EAAE;YAC7C,IAAI,IAAI,CAAC,eAAe;gBAAE,OAAO;YAEjC,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;gBAC/B,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;aAC5C;QACF,CAAC,CAAC;QAEM,WAAM,GAAG,CAAC,SAAiB,EAAE,EAAE;YACtC,IAAI,IAAI,CAAC,eAAe;gBAAE,OAAO;YAEjC,IAAI,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;YAEpC,8DAA8D;YAC9D,uEAAuE;YACvE,8EAA8E;YAC9E,iEAAiE;YACjE,oEAAoE;YACpE,sCAAsC;YACtC,EAAE;YACF,4DAA4D;YAC5D,+DAA+D;YAC/D,4DAA4D;YAC5D,kEAAkE;YAClE,8CAA8C;YAE9C,qDAAqD;YACrD,iEAAiE;YACjE,QAAQ;YACR,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CACxE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAClB,CAAC;YACF,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YAC1E,MAAM,iBAAiB,GACtB,IAAI,CAAC,QAAQ,CAAC,2BAA2B,CAAC,SAAS,CAAC,CAAC;YAEtD,IAAI,CAAC,SAAS,EAAE;gBACf,IAAI,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;gBAC3C,OAAO;aACP;YAED,IAAI,iBAAiB,KAAK,IAAI,EAAE;gBAC/B,IAAI,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;gBACpD,OAAO;aACP;YAED,2CAA2C;YAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAC/C,SAAS,EACT,iBAAiB,CACjB,CAAC;YAEF,MAAM,UAAU,GAAoC,EAAE,CAAC;YACvD,+DAA+D;YAC/D,gEAAgE;YAChE,4BAA4B;YAC5B,MAAM,SAAS,GAA4B,EAAE,CAAC;YAE9C,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE;gBACrB,MAAM,iBAAiB,GAAG,SAAS,GAAG,EAAE,CAAC,SAAS,CAAC;gBACnD,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,iBAAiB,EAAE;oBAC5C,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;oBAC9C,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;iBAC5B;qBAAM;oBACN,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;iBACzB;aACD;YAED,MAAM,WAAW,GAAG,IAAI,KAAK,EAAO,CAAC;YACrC,KAAK,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;gBAC3D,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;gBACjC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,CAAC;oBACtE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;aACzC;YAED,sCAAsC;YACtC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE;gBAChC,IAAI,EAAE,YAAY;gBAClB,SAAS,EAAE,SAAS;aACpB,CAAC,CAAC;YAEH,wBAAwB;YACxB,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE;gBAC9B,IAAI,IAAA,kBAAS,EAAC,GAAG,CAAC,EAAE;oBACnB,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;iBAChD;aACD;QACF,CAAC,CAAC;QAEM,oBAAe,GAAG,CACzB,CAAmB,EACnB,SAAiB,EACjB,IAAe,EACd,EAAE;YACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE;gBAC3C,IAAI,EAAE,oBAAoB;aAC1B,CAAC,CAAC;QACJ,CAAC,CAAC;QAEM,yBAAoB,GAAG,KAAK,EACnC,OAA8B,EAC9B,SAAiB,EACjB,IAAe,EACd,EAAE;YACH,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE;gBAC/C,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,OAAO,EAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;gBAC7C,EAAE,EAAE,IAAI,CAAC,MAAM;aACf,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,SAAS,CACpB,IAAI,CAAC,SAAS,EACd;gBACC,IAAI,EAAE,kBAAkB;gBACxB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,QAAQ,EAAE;oBACT,EAAE,EAAE,IAAI,CAAC,MAAM;oBACf,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC1B,OAAO,EAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;oBAC7C,SAAS,EAAE,OAAO,CAAC,SAAS;iBAC5B;aACD;YACD,6DAA6D;YAC7D,EAAE,CACF,CAAC;QACH,CAAC,CAAC;QAEM,mBAAc,GAAG,KAAK,EAC7B,SAAiB,EACjB,SAAiB,EACjB,MAAc,EACb,EAAE;YACH,IAAI,CAAC,GAAG,CAAC,sCAAsC,EAAE,MAAM,CAAC,CAAC;YACzD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE;gBAChC,IAAI,EAAE,kBAAkB;gBACxB,SAAS;gBACT,MAAM;aACN,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC5D,IAAI,CAAC,GAAG,CAAC,oCAAoC,SAAS,EAAE,CAAC,CAAC;gBAC1D,yDAAyD;gBACzD,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE;oBAClB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,qCAAqC,CAAC,CAAC;oBACzD,OAAO;iBACP;gBACD,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;gBAC9D,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC7B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;wBACtB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;qBACpE;oBACD,IAAI,CAAC,GAAG,CACP,iBAAiB,EACjB,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAC7C,CAAC;oBACF,MAAM,OAAO,CAAC,GAAG,CAChB,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;;wBACpC,IAAI;4BACH,MAAM,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,MAAM,CAAC;gCAC9B,SAAS,EAAE,QAAQ,CAAC,SAAS;gCAC7B,QAAQ,EAAE,QAAQ,CAAC,IAAI;gCACvB,EAAE,EAAE,QAAQ,CAAC,MAAM;gCACnB,IAAI,EAAE,QAAQ,CAAC,IAAI;6BACnB,CAAC,CAAA,CAAC;4BACH,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;yBAC9C;wBAAC,OAAO,CAAC,EAAE;4BACX,IAAI,CAAC,GAAG,CACP,uBAAuB,EACvB,QAAQ,CAAC,MAAM,EACf,iDAAiD,EACjD,CAAC,CACD,CAAC;yBACF;oBACF,CAAC,CAAC,CACF,CAAC;iBACF;aACD;QACF,CAAC,CAAC;QAEF,YAAO,GAAG,KAAK,EAAE,SAAiB,EAAE,EAAE;;YACrC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YACnC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YACrC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC9C,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBACxB,IAAI,CAAC,GAAG,CACP,YAAY,QAAQ,CAAC,MAAM,sBAAsB,SAAS,EAAE,EAC5D,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACxC,CAAC;gBACF,KAAK,MAAM,QAAQ,IAAI,QAAQ,EAAE;oBAChC,MAAM,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,MAAM,CAAC;wBAC9B,SAAS;wBACT,QAAQ,EAAE,QAAQ,CAAC,IAAI;wBACvB,EAAE,EAAE,QAAQ,CAAC,MAAM;wBACnB,IAAI,EAAE,QAAQ,CAAC,IAAI;qBACnB,CAAC,CAAA,CAAC;iBACH;gBACD,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;aAChC;QACF,CAAC,CAAC;QAEF,gBAAW,GAAG,CAAC,SAAiB,EAAE,EAAE;YACnC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACtC,CAAC,CAAC;QAEF,YAAO,GAAG,KAAK,EAAE,SAAiB,EAAE,EAAE;YACrC,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACpD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CACjC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CACrD,CAAC;YACF,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC/C,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,gBAAgB,EAAE,CAAC,CAAC,gBAAgB;gBACpC,gBAAgB,EAAE,CAAC,CAAC,gBAAgB;gBACpC,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,MAAM,EACL,CAAC,CAAC,qBAAqB;oBACvB,CAAC,CAAC,qBAAqB,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY;gBACrD,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC;aACxB,CAAC,CAAC,CAAC;YAEJ,OAAO;gBACN,QAAQ;gBACR,iBAAiB,EAAE,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,SAAS,CAAC;gBAClE,eAAe,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC;gBACpD,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAClD,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC;aAChD,CAAC;QACH,CAAC,CAAC;QAEF,cAAS,GAAG,CAAC,SAAiB,EAAE,MAAc,EAAE,EAAE;YACjD,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACnD,CAAC,CAAC;QAEF,wBAAmB,GAAG,CAAC,SAAiB,EAAE,GAAW,EAAE,EAAE;YACxD,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAC3C,CAAC,CAAC;QAEM,sBAAiB,GAAG,CAAC,SAAiB,EAAE,GAAW,EAAE,EAAE;;YAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YACpD,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YACtD,MAAM,QAAQ,GAAG,IAAA,wBAAe,EAAC,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,mCAAI,SAAS,EAAE,GAAG,CAAC,CAAC;YACvE,OAAO,QAAQ,CAAC;QACjB,CAAC,CAAC;QAEM,kBAAa,GAAG,CAAC,SAAiB,EAAE,GAAW,EAAO,EAAE;YAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YACxD,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAC5B,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;oBACnC,IAAI,IAAA,oBAAW,EAAC,IAAI,CAAC,EAAE;wBACtB,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;qBAC9C;yBAAM,IAAI,IAAA,kBAAS,EAAC,IAAI,CAAC,EAAE;wBAC3B,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;qBAC5C;yBAAM;wBACN,OAAO,IAAI,CAAC;qBACZ;gBACF,CAAC,CAAC,CAAC;aACH;iBAAM,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;gBACpD,MAAM,QAAQ,qBAAQ,QAAQ,CAAE,CAAC;gBACjC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;oBACpD,IAAI,IAAA,oBAAW,EAAC,KAAK,CAAC,EAAE;wBACvB,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;qBACxD;yBAAM,IAAI,IAAA,kBAAS,EAAC,KAAK,CAAC,EAAE;wBAC5B,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;qBACtD;iBACD;gBACD,OAAO,QAAQ,CAAC;aAChB;iBAAM;gBACN,OAAO,QAAQ,CAAC;aAChB;QACF,CAAC,CAAC;QAEM,gBAAW,GAAG,CAAC,SAAiB,EAAE,MAAc,EAAE,EAAE;;YAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAC/C,IAAI,IAAI,EAAE;gBACT,MAAM,GAAG,GACR,MAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,MAAM,CAAC;oBACxB,QAAQ,EAAE,IAAI,CAAC,IAAI;oBACnB,EAAE,EAAE,IAAI,CAAC,MAAM;oBACf,SAAS;oBACT,IAAI,EAAE,IAAI,CAAC,IAAI;iBACf,CAAC,mCAAI,IAAI,CAAC;gBAEZ,OAAO;oBACN,GAAG;oBACH,EAAE,EAAE,IAAI,CAAC,MAAM;oBACf,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,IAAI,EAAE,IAAI,CAAC,IAAI;iBACf,CAAC;aACF;iBAAM;gBACN,OAAO,IAAI,CAAC;aACZ;QACF,CAAC,CAAC;QAEF,UAAK,GAAG,GAAG,EAAE;YACZ,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC,CAAC;QAlrBD,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,eAAe,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,0BAAY,CAAC,IAAI,CAAC,EAAE,EAAE,qBAAqB,CAAC,CAAC;QACjE,IAAI,CAAC,UAAU,GAAG,IAAI,sCAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChD,IAAI,CAAC,SAAS,GAAG,IAAI,wBAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IAChD,CAAC;CAwqBD;AArtBD,sCAqtBC"}
|
|
@@ -9,10 +9,10 @@ export declare class OperationHistory {
|
|
|
9
9
|
getEarliest: (libraryId: string, count: number) => OperationSpec[];
|
|
10
10
|
getAfter: (libraryId: string, timestamp?: string | null) => OperationSpec[];
|
|
11
11
|
/**
|
|
12
|
-
* Returns all operations before the given
|
|
12
|
+
* Returns all operations before the given server order
|
|
13
13
|
* in ascending chronological order
|
|
14
14
|
*/
|
|
15
|
-
|
|
15
|
+
getBeforeServerOrder: (libraryId: string, beforeServerOrder: number) => OperationSpec[];
|
|
16
16
|
/**
|
|
17
17
|
* Returns all operations after a given server order. Useful
|
|
18
18
|
* for retrieving operations that were created after a client
|
|
@@ -58,17 +58,17 @@ export class OperationHistory {
|
|
|
58
58
|
.map(this.hydratePatch);
|
|
59
59
|
};
|
|
60
60
|
/**
|
|
61
|
-
* Returns all operations before the given
|
|
61
|
+
* Returns all operations before the given server order
|
|
62
62
|
* in ascending chronological order
|
|
63
63
|
*/
|
|
64
|
-
this.
|
|
64
|
+
this.getBeforeServerOrder = (libraryId, beforeServerOrder) => {
|
|
65
65
|
return this.db
|
|
66
66
|
.prepare(`
|
|
67
67
|
SELECT * FROM OperationHistory
|
|
68
|
-
WHERE libraryId = ? AND
|
|
68
|
+
WHERE libraryId = ? AND serverOrder < ?
|
|
69
69
|
ORDER BY timestamp ASC
|
|
70
70
|
`)
|
|
71
|
-
.all(libraryId,
|
|
71
|
+
.all(libraryId, beforeServerOrder)
|
|
72
72
|
.map(this.hydratePatch);
|
|
73
73
|
};
|
|
74
74
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OperationHistory.js","sourceRoot":"","sources":["../../src/OperationHistory.ts"],"names":[],"mappings":";;;;;;;;;;;AAWA,MAAM,OAAO,gBAAgB;IAC5B,YAAoB,EAAY;QAAZ,OAAE,GAAF,EAAE,CAAU;QAExB,iBAAY,GAAG,CAAC,EAIK,EAAiB,EAAE;gBAJxB,EACvB,SAAS,EAAE,CAAC,EACZ,IAAI,OAEwB,EADzB,IAAI,cAHgB,qBAIvB,CADO;YAEP,uCACI,IAAI,KACP,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IACrB;QACH,CAAC,CAAC;QAEF,cAAS,GAAG,CAAC,SAAiB,EAAE,GAAW,EAAE,EAAE;YAC9C,OAAO,IAAI,CAAC,EAAE;iBACZ,OAAO,CACP;;;;KAIC,CACD;iBACA,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC;iBACnB,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1B,CAAC,CAAC;QAEF,gBAAW,GAAG,CAAC,SAAiB,EAAE,KAAa,EAAE,EAAE;YAClD,OAAO,IAAI,CAAC,EAAE;iBACZ,OAAO,CACP;;;;;KAKC,CACD;iBACA,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC;iBACrB,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1B,CAAC,CAAC;QAEF,aAAQ,GAAG,CAAC,SAAiB,EAAE,YAA2B,IAAI,EAAE,EAAE;YACjE,IAAI,SAAS,KAAK,IAAI,EAAE;gBACvB,OAAO,IAAI,CAAC,EAAE;qBACZ,OAAO,CACP;;;;KAIA,CACA;qBACA,GAAG,CAAC,SAAS,CAAC;qBACd,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aACzB;YACD,OAAO,IAAI,CAAC,EAAE;iBACZ,OAAO,CACP;;;;KAIC,CACD;iBACA,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC;iBACzB,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1B,CAAC,CAAC;QAEF;;;WAGG;QACH,
|
|
1
|
+
{"version":3,"file":"OperationHistory.js","sourceRoot":"","sources":["../../src/OperationHistory.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/Replicas.d.ts
CHANGED
|
@@ -16,6 +16,7 @@ export declare class ReplicaInfos {
|
|
|
16
16
|
updateLastSeen: (libraryId: string, replicaId: string) => import("better-sqlite3").RunResult;
|
|
17
17
|
updateAcknowledged: (libraryId: string, replicaId: string, timestamp: string) => void;
|
|
18
18
|
updateServerOrder: (libraryId: string, replicaId: string, serverOrder: number) => void;
|
|
19
|
+
getEarliestAckedServerOrder: (libraryId: string) => number | null;
|
|
19
20
|
acknowledgeOperation: (libraryId: string, replicaId: string, timestamp: string) => void;
|
|
20
21
|
getGlobalAck: (libraryId: string, onlineReplicaIds?: string[]) => string | undefined;
|
|
21
22
|
delete: (libraryId: string, replicaId: string) => import("better-sqlite3").RunResult;
|
package/dist/esm/Replicas.js
CHANGED
|
@@ -119,6 +119,20 @@ export class ReplicaInfos {
|
|
|
119
119
|
`)
|
|
120
120
|
.run(serverOrder, replicaId, libraryId);
|
|
121
121
|
};
|
|
122
|
+
this.getEarliestAckedServerOrder = (libraryId) => {
|
|
123
|
+
// get the earliest acked server order of all non-truant replicas
|
|
124
|
+
const allAcks = this.db
|
|
125
|
+
.prepare(`
|
|
126
|
+
SELECT ackedServerOrder FROM ReplicaInfo
|
|
127
|
+
WHERE libraryId = ?
|
|
128
|
+
AND lastSeenWallClockTime > ?
|
|
129
|
+
`)
|
|
130
|
+
.all(libraryId, this.truantCutoff).map((row) => row.ackedServerOrder);
|
|
131
|
+
if (allAcks.some((ack) => ack === null)) {
|
|
132
|
+
return null;
|
|
133
|
+
}
|
|
134
|
+
return Math.min(...allAcks);
|
|
135
|
+
};
|
|
122
136
|
this.acknowledgeOperation = (libraryId, replicaId, timestamp) => {
|
|
123
137
|
if (!timestamp)
|
|
124
138
|
return;
|
package/dist/esm/Replicas.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Replicas.js","sourceRoot":"","sources":["../../src/Replicas.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Replicas.js","sourceRoot":"","sources":["../../src/Replicas.ts"],"names":[],"mappings":"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"}
|
|
@@ -244,10 +244,10 @@ export class ServerLibrary extends EventSubscriber {
|
|
|
244
244
|
this.log('Performing rebase check');
|
|
245
245
|
// fundamentally a rebase occurs when some conditions are met:
|
|
246
246
|
// 1. the replica which created an operation has dropped that operation
|
|
247
|
-
// from their history stack, i.e. their oldest timestamp is after it.
|
|
247
|
+
// from their history stack, i.e. their oldest acked timestamp is after it.
|
|
248
248
|
// 2. all other replicas have acknowledged an operation since the
|
|
249
249
|
// operation which will be flattened to the baseline. i.e. global
|
|
250
|
-
// ack >
|
|
250
|
+
// ack server order > server order.
|
|
251
251
|
//
|
|
252
252
|
// to determine which rebases we can do, we use a heuristic.
|
|
253
253
|
// the maximal set of operations we could potentially rebase is
|
|
@@ -259,12 +259,17 @@ export class ServerLibrary extends EventSubscriber {
|
|
|
259
259
|
// type.
|
|
260
260
|
const activeReplicaIds = Object.values(this.presences.all(libraryId)).map((p) => p.replicaId);
|
|
261
261
|
const globalAck = this.replicas.getGlobalAck(libraryId, activeReplicaIds);
|
|
262
|
+
const globalServerOrder = this.replicas.getEarliestAckedServerOrder(libraryId);
|
|
262
263
|
if (!globalAck) {
|
|
263
264
|
this.log('No global ack, skipping rebase');
|
|
264
265
|
return;
|
|
265
266
|
}
|
|
267
|
+
if (globalServerOrder === null) {
|
|
268
|
+
this.log('No global server order, skipping rebase');
|
|
269
|
+
return;
|
|
270
|
+
}
|
|
266
271
|
// these are in forward chronological order
|
|
267
|
-
const ops = this.operations.
|
|
272
|
+
const ops = this.operations.getBeforeServerOrder(libraryId, globalServerOrder);
|
|
268
273
|
const opsToApply = {};
|
|
269
274
|
// if we encounter a sequential operation in history which does
|
|
270
275
|
// not meet our conditions, we must ignore subsequent operations
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServerLibrary.js","sourceRoot":"","sources":["../../src/ServerLibrary.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ServerLibrary.js","sourceRoot":"","sources":["../../src/ServerLibrary.ts"],"names":[],"mappings":"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"}
|