cojson 0.18.6 → 0.18.7
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/.turbo/turbo-build.log +1 -1
- package/CHANGELOG.md +11 -0
- package/dist/coValueContentMessage.d.ts +2 -0
- package/dist/coValueContentMessage.d.ts.map +1 -1
- package/dist/coValueContentMessage.js +7 -0
- package/dist/coValueContentMessage.js.map +1 -1
- package/dist/coValueCore/SessionMap.d.ts +2 -2
- package/dist/coValueCore/SessionMap.d.ts.map +1 -1
- package/dist/coValueCore/SessionMap.js +2 -4
- package/dist/coValueCore/SessionMap.js.map +1 -1
- package/dist/coValueCore/branching.d.ts +31 -9
- package/dist/coValueCore/branching.d.ts.map +1 -1
- package/dist/coValueCore/branching.js +50 -100
- package/dist/coValueCore/branching.js.map +1 -1
- package/dist/coValueCore/coValueCore.d.ts +12 -8
- package/dist/coValueCore/coValueCore.d.ts.map +1 -1
- package/dist/coValueCore/coValueCore.js +93 -23
- package/dist/coValueCore/coValueCore.js.map +1 -1
- package/dist/coValueCore/verifiedState.d.ts +4 -2
- package/dist/coValueCore/verifiedState.d.ts.map +1 -1
- package/dist/coValueCore/verifiedState.js +6 -4
- package/dist/coValueCore/verifiedState.js.map +1 -1
- package/dist/coValues/coList.d.ts.map +1 -1
- package/dist/coValues/coList.js +10 -1
- package/dist/coValues/coList.js.map +1 -1
- package/dist/coValues/coMap.d.ts +2 -2
- package/dist/coValues/coMap.d.ts.map +1 -1
- package/dist/coValues/coMap.js +8 -8
- package/dist/coValues/coMap.js.map +1 -1
- package/dist/coValues/group.d.ts.map +1 -1
- package/dist/coValues/group.js +14 -1
- package/dist/coValues/group.js.map +1 -1
- package/dist/config.d.ts +6 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +8 -0
- package/dist/config.js.map +1 -1
- package/dist/crypto/PureJSCrypto.d.ts.map +1 -1
- package/dist/crypto/PureJSCrypto.js +14 -6
- package/dist/crypto/PureJSCrypto.js.map +1 -1
- package/dist/exports.d.ts +3 -2
- package/dist/exports.d.ts.map +1 -1
- package/dist/exports.js +2 -2
- package/dist/exports.js.map +1 -1
- package/dist/localNode.d.ts.map +1 -1
- package/dist/localNode.js +7 -2
- package/dist/localNode.js.map +1 -1
- package/dist/storage/storageAsync.d.ts.map +1 -1
- package/dist/storage/storageAsync.js.map +1 -1
- package/dist/sync.d.ts +1 -3
- package/dist/sync.d.ts.map +1 -1
- package/dist/sync.js +8 -18
- package/dist/sync.js.map +1 -1
- package/dist/tests/branching.test.js +107 -9
- package/dist/tests/branching.test.js.map +1 -1
- package/dist/tests/coValueCore.test.js +45 -1
- package/dist/tests/coValueCore.test.js.map +1 -1
- package/dist/tests/sync.content.test.d.ts +2 -0
- package/dist/tests/sync.content.test.d.ts.map +1 -0
- package/dist/tests/sync.content.test.js +120 -0
- package/dist/tests/sync.content.test.js.map +1 -0
- package/dist/tests/sync.load.test.js +2 -2
- package/dist/tests/sync.storage.test.js +1 -1
- package/dist/tests/sync.upload.test.js +2 -2
- package/package.json +2 -2
- package/src/coValueContentMessage.ts +13 -0
- package/src/coValueCore/SessionMap.ts +2 -2
- package/src/coValueCore/branching.ts +94 -149
- package/src/coValueCore/coValueCore.ts +121 -27
- package/src/coValueCore/verifiedState.ts +8 -0
- package/src/coValues/coList.ts +12 -1
- package/src/coValues/coMap.ts +10 -12
- package/src/coValues/group.ts +14 -1
- package/src/config.ts +9 -0
- package/src/crypto/PureJSCrypto.ts +25 -13
- package/src/exports.ts +7 -1
- package/src/localNode.ts +8 -2
- package/src/storage/storageAsync.ts +0 -1
- package/src/sync.ts +8 -32
- package/src/tests/branching.test.ts +158 -9
- package/src/tests/coValueCore.test.ts +62 -2
- package/src/tests/sync.content.test.ts +153 -0
- package/src/tests/sync.load.test.ts +2 -2
- package/src/tests/sync.storage.test.ts +1 -1
- package/src/tests/sync.upload.test.ts +2 -2
package/.turbo/turbo-build.log
CHANGED
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# cojson
|
|
2
2
|
|
|
3
|
+
## 0.18.7
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- c2d8bf7: Avoid greedily sending covalue dependencies to server peers
|
|
8
|
+
- dccb464: Optimize seal and unseal in PureJSCrypto by caching the shared key generation
|
|
9
|
+
- a3cd9c8: Add lastUpdatedAt & createdAt properties to $jazz in all the coValue types
|
|
10
|
+
- e8e7bf8: Enforce a 1MB size limit for transactions
|
|
11
|
+
- 51d3558: Export the highest weighted random server peer selector
|
|
12
|
+
- cojson-core-wasm@0.18.7
|
|
13
|
+
|
|
3
14
|
## 0.18.6
|
|
4
15
|
|
|
5
16
|
### Patch Changes
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { CoValueHeader, Transaction } from "./coValueCore/verifiedState.js";
|
|
2
2
|
import { Signature } from "./crypto/crypto.js";
|
|
3
3
|
import { RawCoID, SessionID } from "./ids.js";
|
|
4
|
+
import { JsonValue } from "./jsonValue.js";
|
|
4
5
|
import { NewContentMessage } from "./sync.js";
|
|
5
6
|
export declare function createContentMessage(id: RawCoID, header: CoValueHeader, includeHeader?: boolean): NewContentMessage;
|
|
6
7
|
export declare function addTransactionToContentMessage(content: NewContentMessage, transaction: Transaction, sessionID: SessionID, signature: Signature, txIdx: number): void;
|
|
7
8
|
export declare function getTransactionSize(transaction: Transaction): number;
|
|
8
9
|
export declare function exceedsRecommendedSize(baseSize: number, transactionSize?: number): boolean;
|
|
10
|
+
export declare function validateTxSizeLimitInBytes(changes: JsonValue[]): void;
|
|
9
11
|
export declare function knownStateFromContent(content: NewContentMessage): import("./sync.js").CoValueKnownState;
|
|
10
12
|
export declare function getContentMessageSize(msg: NewContentMessage): number;
|
|
11
13
|
export declare function getContenDebugInfo(msg: NewContentMessage): string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coValueContentMessage.d.ts","sourceRoot":"","sources":["../src/coValueContentMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAE5E,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"coValueContentMessage.d.ts","sourceRoot":"","sources":["../src/coValueContentMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAE5E,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,iBAAiB,EAAmB,MAAM,WAAW,CAAC;AAE/D,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,OAAO,EACX,MAAM,EAAE,aAAa,EACrB,aAAa,UAAO,GACnB,iBAAiB,CAQnB;AAED,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,iBAAiB,EAC1B,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,MAAM,QAcd;AAED,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,WAAW,UAI1D;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,eAAe,CAAC,EAAE,MAAM,WASzB;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI,CAUrE;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,iBAAiB,yCAU/D;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,iBAAiB,UAS3D;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,iBAAiB,YAKxD"}
|
|
@@ -35,6 +35,13 @@ export function exceedsRecommendedSize(baseSize, transactionSize) {
|
|
|
35
35
|
}
|
|
36
36
|
return (baseSize + transactionSize > TRANSACTION_CONFIG.MAX_RECOMMENDED_TX_SIZE);
|
|
37
37
|
}
|
|
38
|
+
export function validateTxSizeLimitInBytes(changes) {
|
|
39
|
+
const serializedSize = new TextEncoder().encode(JSON.stringify(changes)).length;
|
|
40
|
+
if (serializedSize > TRANSACTION_CONFIG.MAX_TX_SIZE_BYTES) {
|
|
41
|
+
throw new Error(`Transaction is too large to be synced: ${serializedSize} > ${TRANSACTION_CONFIG.MAX_TX_SIZE_BYTES} bytes. ` +
|
|
42
|
+
`Consider breaking your transaction into smaller chunks.`);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
38
45
|
export function knownStateFromContent(content) {
|
|
39
46
|
const knownState = emptyKnownState(content.id);
|
|
40
47
|
knownState.header = Boolean(content.header);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coValueContentMessage.js","sourceRoot":"","sources":["../src/coValueContentMessage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"coValueContentMessage.js","sourceRoot":"","sources":["../src/coValueContentMessage.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,11 +25,11 @@ export declare class SessionMap {
|
|
|
25
25
|
private getOrCreateSessionLog;
|
|
26
26
|
signerID: SignerID | undefined;
|
|
27
27
|
addTransaction(sessionID: SessionID, signerID: SignerID | undefined, newTransactions: Transaction[], newSignature: Signature, skipVerify?: boolean): Result<true, TryAddTransactionsError>;
|
|
28
|
-
makeNewPrivateTransaction(sessionID: SessionID, signerAgent: ControlledAccountOrAgent, changes: JsonValue[], keyID: KeyID, keySecret: KeySecret, meta: JsonObject | undefined): {
|
|
28
|
+
makeNewPrivateTransaction(sessionID: SessionID, signerAgent: ControlledAccountOrAgent, changes: JsonValue[], keyID: KeyID, keySecret: KeySecret, meta: JsonObject | undefined, madeAt: number): {
|
|
29
29
|
signature: Signature;
|
|
30
30
|
transaction: Transaction;
|
|
31
31
|
};
|
|
32
|
-
makeNewTrustingTransaction(sessionID: SessionID, signerAgent: ControlledAccountOrAgent, changes: JsonValue[], meta: JsonObject | undefined): {
|
|
32
|
+
makeNewTrustingTransaction(sessionID: SessionID, signerAgent: ControlledAccountOrAgent, changes: JsonValue[], meta: JsonObject | undefined, madeAt: number): {
|
|
33
33
|
signature: Signature;
|
|
34
34
|
transaction: Transaction;
|
|
35
35
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionMap.d.ts","sourceRoot":"","sources":["../../src/coValueCore/SessionMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAW,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,KAAK,EACV,cAAc,EAEd,KAAK,EACL,SAAS,EACT,cAAc,EACd,SAAS,EACT,QAAQ,EACT,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE/C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,IAAI,EAAE,cAAc,CAAC;IACrB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,aAAa,EAAE,SAAS,GAAG,SAAS,CAAC;IACrC,cAAc,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAA;KAAE,CAAC;IAC3D,iCAAiC,EAAE,MAAM,CAAC;CAC3C,CAAC;AAEF,qBAAa,UAAU;IAInB,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJzB,QAAQ,EAAE,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAa;gBAG9B,EAAE,EAAE,OAAO,EACX,MAAM,EAAE,cAAc;IAGzC,GAAG,CAAC,SAAS,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS;IAIjD,OAAO,CAAC,qBAAqB;IAoB7B,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC/B,cAAc,CACZ,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAC9B,eAAe,EAAE,WAAW,EAAE,EAC9B,YAAY,EAAE,SAAS,EACvB,UAAU,GAAE,OAAe,GAC1B,MAAM,CAAC,IAAI,EAAE,uBAAuB,CAAC;IAoBxC,yBAAyB,CACvB,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,wBAAwB,EACrC,OAAO,EAAE,SAAS,EAAE,EACpB,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,UAAU,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"SessionMap.d.ts","sourceRoot":"","sources":["../../src/coValueCore/SessionMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAW,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,KAAK,EACV,cAAc,EAEd,KAAK,EACL,SAAS,EACT,cAAc,EACd,SAAS,EACT,QAAQ,EACT,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE/C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,IAAI,EAAE,cAAc,CAAC;IACrB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,aAAa,EAAE,SAAS,GAAG,SAAS,CAAC;IACrC,cAAc,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAA;KAAE,CAAC;IAC3D,iCAAiC,EAAE,MAAM,CAAC;CAC3C,CAAC;AAEF,qBAAa,UAAU;IAInB,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJzB,QAAQ,EAAE,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAa;gBAG9B,EAAE,EAAE,OAAO,EACX,MAAM,EAAE,cAAc;IAGzC,GAAG,CAAC,SAAS,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS;IAIjD,OAAO,CAAC,qBAAqB;IAoB7B,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC/B,cAAc,CACZ,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAC9B,eAAe,EAAE,WAAW,EAAE,EAC9B,YAAY,EAAE,SAAS,EACvB,UAAU,GAAE,OAAe,GAC1B,MAAM,CAAC,IAAI,EAAE,uBAAuB,CAAC;IAoBxC,yBAAyB,CACvB,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,wBAAwB,EACrC,OAAO,EAAE,SAAS,EAAE,EACpB,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,UAAU,GAAG,SAAS,EAC5B,MAAM,EAAE,MAAM,GACb;QAAE,SAAS,EAAE,SAAS,CAAC;QAAC,WAAW,EAAE,WAAW,CAAA;KAAE;IAwBrD,0BAA0B,CACxB,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,wBAAwB,EACrC,OAAO,EAAE,SAAS,EAAE,EACpB,IAAI,EAAE,UAAU,GAAG,SAAS,EAC5B,MAAM,EAAE,MAAM,GACb;QAAE,SAAS,EAAE,SAAS,CAAC;QAAC,WAAW,EAAE,WAAW,CAAA;KAAE;IAsBrD,OAAO,CAAC,sBAAsB;IAyB9B,UAAU,IAAI,iBAAiB;IAQ/B,kBAAkB,CAChB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,SAAS,GACnB,SAAS,EAAE,GAAG,SAAS;IAe1B,sBAAsB,CACpB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,SAAS,GACnB,UAAU,GAAG,SAAS;IAezB,IAAI,IAAI,WAEP;IAED,OAAO;IAIP,MAAM;IAIN,IAAI;IAIJ,KAAK,IAAI,UAAU;CAiBpB"}
|
|
@@ -42,16 +42,14 @@ export class SessionMap {
|
|
|
42
42
|
});
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
|
-
makeNewPrivateTransaction(sessionID, signerAgent, changes, keyID, keySecret, meta) {
|
|
45
|
+
makeNewPrivateTransaction(sessionID, signerAgent, changes, keyID, keySecret, meta, madeAt) {
|
|
46
46
|
const sessionLog = this.getOrCreateSessionLog(sessionID, signerAgent.currentSignerID());
|
|
47
|
-
const madeAt = Date.now();
|
|
48
47
|
const result = sessionLog.impl.addNewPrivateTransaction(signerAgent, changes, keyID, keySecret, madeAt, meta);
|
|
49
48
|
this.addTransactionsToJsLog(sessionLog, [result.transaction], result.signature);
|
|
50
49
|
return result;
|
|
51
50
|
}
|
|
52
|
-
makeNewTrustingTransaction(sessionID, signerAgent, changes, meta) {
|
|
51
|
+
makeNewTrustingTransaction(sessionID, signerAgent, changes, meta, madeAt) {
|
|
53
52
|
const sessionLog = this.getOrCreateSessionLog(sessionID, signerAgent.currentSignerID());
|
|
54
|
-
const madeAt = Date.now();
|
|
55
53
|
const result = sessionLog.impl.addNewTrustingTransaction(signerAgent, changes, madeAt, meta);
|
|
56
54
|
this.addTransactionsToJsLog(sessionLog, [result.transaction], result.signature);
|
|
57
55
|
return result;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionMap.js","sourceRoot":"","sources":["../../src/coValueCore/SessionMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,GAAG,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAY7C,OAAO,EAAE,SAAS,EAAgC,MAAM,qBAAqB,CAAC;AAK9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAWrE,MAAM,OAAO,UAAU;IAGrB,YACmB,EAAW,EACX,MAAsB;QADtB,OAAE,GAAF,EAAE,CAAS;QACX,WAAM,GAAN,MAAM,CAAgB;QAJzC,aAAQ,GAA+B,IAAI,GAAG,EAAE,CAAC;IAK9C,CAAC;IAEJ,GAAG,CAAC,SAAoB;QACtB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAEO,qBAAqB,CAC3B,SAAoB,EACpB,QAAmB;QAEnB,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,UAAU,GAAG;gBACX,QAAQ;gBACR,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC;gBAChE,YAAY,EAAE,EAAE;gBAChB,aAAa,EAAE,SAAS;gBACxB,cAAc,EAAE,EAAE;gBAClB,iCAAiC,EAAE,CAAC;aACrC,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAC3C,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAGD,cAAc,CACZ,SAAoB,EACpB,QAA8B,EAC9B,eAA8B,EAC9B,YAAuB,EACvB,aAAsB,KAAK;QAE3B,MAAM,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAEnE,IAAI,CAAC;YACH,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;YAElE,IAAI,CAAC,sBAAsB,CAAC,UAAU,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;YAEvE,OAAO,EAAE,CAAC,IAAa,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,GAAG,CAAC;gBACT,IAAI,EAAE,kBAAkB;gBACxB,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,SAAS;gBACT,YAAY;gBACZ,QAAQ;aACyB,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,yBAAyB,CACvB,SAAoB,EACpB,WAAqC,EACrC,OAAoB,EACpB,KAAY,EACZ,SAAoB,EACpB,IAA4B;
|
|
1
|
+
{"version":3,"file":"SessionMap.js","sourceRoot":"","sources":["../../src/coValueCore/SessionMap.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,37 @@
|
|
|
1
1
|
import type { CoValueCore } from "../exports.js";
|
|
2
|
-
import type { RawCoID } from "../ids.js";
|
|
2
|
+
import type { RawCoID, SessionID } from "../ids.js";
|
|
3
3
|
import { type AvailableCoValueCore } from "./coValueCore.js";
|
|
4
4
|
import type { CoValueHeader } from "./verifiedState.js";
|
|
5
5
|
import type { CoValueKnownState } from "../sync.js";
|
|
6
|
+
/**
|
|
7
|
+
* Commit to identify the starting point of the branch
|
|
8
|
+
*
|
|
9
|
+
* In case of clonflicts, the first commit of this kind is considered the source of truth
|
|
10
|
+
*/
|
|
11
|
+
export type BranchStartCommit = {
|
|
12
|
+
from: CoValueKnownState["sessions"];
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Commit that tracks a branch creation
|
|
16
|
+
*/
|
|
17
|
+
export type BranchPointerCommit = {
|
|
18
|
+
branch: string;
|
|
19
|
+
ownerId?: RawCoID;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Meta information attached to each merged transaction to retrieve the original transaction ID
|
|
23
|
+
*/
|
|
24
|
+
export type MergedTransactionMetadata = {
|
|
25
|
+
mi: number;
|
|
26
|
+
s?: SessionID;
|
|
27
|
+
b?: RawCoID;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Merge commit located in a branch to track how many transactions have already been merged
|
|
31
|
+
*/
|
|
32
|
+
export type MergeCommit = {
|
|
33
|
+
merged: CoValueKnownState["sessions"];
|
|
34
|
+
};
|
|
6
35
|
export declare function getBranchHeader({ type, branchName, ownerId, sourceId, }: {
|
|
7
36
|
type: CoValueHeader["type"];
|
|
8
37
|
branchName: string;
|
|
@@ -13,9 +42,7 @@ export declare function getBranchHeader({ type, branchName, ownerId, sourceId, }
|
|
|
13
42
|
* Given a coValue, a branch name and an owner id, returns the id for the branch
|
|
14
43
|
*/
|
|
15
44
|
export declare function getBranchId(coValue: CoValueCore, name: string, ownerId?: RawCoID): RawCoID;
|
|
16
|
-
export
|
|
17
|
-
branch: CoValueKnownState["sessions"];
|
|
18
|
-
};
|
|
45
|
+
export declare function getBranchOwnerId(coValue: CoValueCore): `co_z${string}` | undefined;
|
|
19
46
|
/**
|
|
20
47
|
* Given a coValue, a branch name and an owner id, creates a new branch CoValue
|
|
21
48
|
*/
|
|
@@ -24,11 +51,6 @@ export declare function createBranch(coValue: CoValueCore, name: string, ownerId
|
|
|
24
51
|
* Given a branch coValue, returns the source coValue if available
|
|
25
52
|
*/
|
|
26
53
|
export declare function getBranchSource(coValue: CoValueCore): AvailableCoValueCore | undefined;
|
|
27
|
-
export type MergeCommit = {
|
|
28
|
-
merge: CoValueKnownState["sessions"];
|
|
29
|
-
id: RawCoID;
|
|
30
|
-
count: number;
|
|
31
|
-
};
|
|
32
54
|
/**
|
|
33
55
|
* Given a branch coValue, merges the branch into the source coValue
|
|
34
56
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"branching.d.ts","sourceRoot":"","sources":["../../src/coValueCore/branching.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"branching.d.ts","sourceRoot":"","sources":["../../src/coValueCore/branching.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,KAAK,oBAAoB,EAAe,MAAM,kBAAkB,CAAC;AAC1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;CACrC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,SAAS,CAAC;IACd,CAAC,CAAC,EAAE,OAAO,CAAC;CACb,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;CACvC,CAAC;AAEF,wBAAgB,eAAe,CAAC,EAC9B,IAAI,EACJ,UAAU,EACV,OAAO,EACP,QAAQ,GACT,EAAE;IACD,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CACnB,GAAG,aAAa,CAkBhB;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAqBT;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,WAAW,+BAcpD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,OAAO,GAChB,WAAW,CAmCb;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,WAAW,GACnB,oBAAoB,GAAG,SAAS,CAkBlC;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CA6E5D"}
|
|
@@ -25,22 +25,28 @@ export function getBranchId(coValue, name, ownerId) {
|
|
|
25
25
|
if (!coValue.verified) {
|
|
26
26
|
throw new Error("CoValueCore: getBranchId called on coValue without verified state");
|
|
27
27
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
if (header.ruleset.type !== "ownedByGroup") {
|
|
32
|
-
return coValue.id;
|
|
33
|
-
}
|
|
34
|
-
ownerId = header.ruleset.group;
|
|
28
|
+
const currentOwnerId = ownerId ?? getBranchOwnerId(coValue);
|
|
29
|
+
if (!currentOwnerId) {
|
|
30
|
+
return coValue.id;
|
|
35
31
|
}
|
|
36
32
|
const header = getBranchHeader({
|
|
37
33
|
type: coValue.verified.header.type,
|
|
38
34
|
branchName: name,
|
|
39
|
-
ownerId,
|
|
35
|
+
ownerId: currentOwnerId,
|
|
40
36
|
sourceId: coValue.id,
|
|
41
37
|
});
|
|
42
38
|
return idforHeader(header, coValue.node.crypto);
|
|
43
39
|
}
|
|
40
|
+
export function getBranchOwnerId(coValue) {
|
|
41
|
+
if (!coValue.verified) {
|
|
42
|
+
throw new Error("CoValueCore: getBranchOwnerId called on coValue without verified state");
|
|
43
|
+
}
|
|
44
|
+
const header = coValue.verified.header;
|
|
45
|
+
if (header.ruleset.type !== "ownedByGroup") {
|
|
46
|
+
return undefined;
|
|
47
|
+
}
|
|
48
|
+
return header.ruleset.group;
|
|
49
|
+
}
|
|
44
50
|
/**
|
|
45
51
|
* Given a coValue, a branch name and an owner id, creates a new branch CoValue
|
|
46
52
|
*/
|
|
@@ -48,26 +54,28 @@ export function createBranch(coValue, name, ownerId) {
|
|
|
48
54
|
if (!coValue.verified) {
|
|
49
55
|
throw new Error("CoValueCore: createBranch called on coValue without verified state");
|
|
50
56
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
if (header.ruleset.type !== "ownedByGroup") {
|
|
55
|
-
return coValue;
|
|
56
|
-
}
|
|
57
|
-
ownerId = header.ruleset.group;
|
|
57
|
+
const branchOwnerId = ownerId ?? getBranchOwnerId(coValue);
|
|
58
|
+
if (!branchOwnerId) {
|
|
59
|
+
return coValue;
|
|
58
60
|
}
|
|
59
61
|
const header = getBranchHeader({
|
|
60
62
|
type: coValue.verified.header.type,
|
|
61
63
|
branchName: name,
|
|
62
|
-
ownerId,
|
|
64
|
+
ownerId: branchOwnerId,
|
|
63
65
|
sourceId: coValue.id,
|
|
64
66
|
});
|
|
65
|
-
const
|
|
67
|
+
const branch = coValue.node.createCoValue(header);
|
|
68
|
+
const sessions = { ...coValue.knownState().sessions };
|
|
66
69
|
// Create a branch commit to identify the starting point of the branch
|
|
67
|
-
|
|
68
|
-
|
|
70
|
+
branch.makeTransaction([], "private", {
|
|
71
|
+
from: sessions,
|
|
72
|
+
});
|
|
73
|
+
// Create a branch pointer, to identify that we created a branch
|
|
74
|
+
coValue.makeTransaction([], "private", {
|
|
75
|
+
branch: name,
|
|
76
|
+
ownerId,
|
|
69
77
|
});
|
|
70
|
-
return
|
|
78
|
+
return branch;
|
|
71
79
|
}
|
|
72
80
|
/**
|
|
73
81
|
* Given a branch coValue, returns the source coValue if available
|
|
@@ -96,21 +104,14 @@ export function mergeBranch(branch) {
|
|
|
96
104
|
if (branch.verified.header.ruleset.type !== "ownedByGroup") {
|
|
97
105
|
return branch;
|
|
98
106
|
}
|
|
99
|
-
const sourceId = branch.getCurrentBranchSourceId();
|
|
100
|
-
if (!sourceId) {
|
|
101
|
-
throw new Error("CoValueCore: mergeBranch called on a non-branch coValue");
|
|
102
|
-
}
|
|
103
107
|
const target = getBranchSource(branch);
|
|
104
108
|
if (!target) {
|
|
105
109
|
throw new Error("CoValueCore: unable to find source branch");
|
|
106
110
|
}
|
|
107
111
|
// Look for previous merge commits, to see which transactions needs to be merged
|
|
108
112
|
// Done mostly for performance reasons, as we could merge all the transactions every time and nothing would change
|
|
109
|
-
const mergedTransactions =
|
|
110
|
-
|
|
111
|
-
return acc;
|
|
112
|
-
}
|
|
113
|
-
for (const [sessionID, count] of Object.entries(commit.merge)) {
|
|
113
|
+
const mergedTransactions = branch.getMergeCommits().reduce((acc, { merged }) => {
|
|
114
|
+
for (const [sessionID, count] of Object.entries(merged)) {
|
|
114
115
|
acc[sessionID] = Math.max(acc[sessionID] ?? 0, count);
|
|
115
116
|
}
|
|
116
117
|
return acc;
|
|
@@ -127,80 +128,29 @@ export function mergeBranch(branch) {
|
|
|
127
128
|
if (branchValidTransactions.length === 0) {
|
|
128
129
|
return target;
|
|
129
130
|
}
|
|
130
|
-
//
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
let txIdx = session ? session.transactions.length : 0;
|
|
142
|
-
// Create a mapping from the branch transactions to the target transactions
|
|
143
|
-
for (const { txID } of branchValidTransactions) {
|
|
144
|
-
mapping[`${txID.sessionID}:${txID.txIndex}`] = txIdx;
|
|
145
|
-
txIdx++;
|
|
131
|
+
// We do track in the meta information the original txID to make sure that
|
|
132
|
+
// the CoList opid still point to the correct transaction
|
|
133
|
+
// To reduce the cost of the meta we skip the repeated information
|
|
134
|
+
let lastSessionId = undefined;
|
|
135
|
+
let lastBranchId = undefined;
|
|
136
|
+
for (const tx of branchValidTransactions) {
|
|
137
|
+
const mergeMeta = {
|
|
138
|
+
mi: tx.txID.txIndex,
|
|
139
|
+
};
|
|
140
|
+
if (lastSessionId !== tx.txID.sessionID) {
|
|
141
|
+
mergeMeta.s = tx.txID.sessionID;
|
|
146
142
|
}
|
|
147
|
-
|
|
148
|
-
|
|
143
|
+
if (lastBranchId !== tx.txID.branch) {
|
|
144
|
+
mergeMeta.b = tx.txID.branch;
|
|
149
145
|
}
|
|
146
|
+
target.makeTransaction(tx.changes, tx.tx.privacy, mergeMeta, tx.madeAt);
|
|
147
|
+
lastSessionId = tx.txID.sessionID;
|
|
148
|
+
lastBranchId = tx.txID.branch;
|
|
150
149
|
}
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
return target;
|
|
157
|
-
}
|
|
158
|
-
/**
|
|
159
|
-
* Given a list of changes, maps the opIDs to the target transactions
|
|
160
|
-
*/
|
|
161
|
-
function mapCoListChangesToTarget(changes, currentSessionID, mapping) {
|
|
162
|
-
return changes.map((change) => {
|
|
163
|
-
if (change.op === "app") {
|
|
164
|
-
if (change.after === "start") {
|
|
165
|
-
return change;
|
|
166
|
-
}
|
|
167
|
-
return {
|
|
168
|
-
...change,
|
|
169
|
-
after: convertOpID(change.after, currentSessionID, mapping),
|
|
170
|
-
};
|
|
171
|
-
}
|
|
172
|
-
if (change.op === "del") {
|
|
173
|
-
return {
|
|
174
|
-
...change,
|
|
175
|
-
insertion: convertOpID(change.insertion, currentSessionID, mapping),
|
|
176
|
-
};
|
|
177
|
-
}
|
|
178
|
-
if (change.op === "pre") {
|
|
179
|
-
if (change.before === "end") {
|
|
180
|
-
return change;
|
|
181
|
-
}
|
|
182
|
-
return {
|
|
183
|
-
...change,
|
|
184
|
-
before: convertOpID(change.before, currentSessionID, mapping),
|
|
185
|
-
};
|
|
186
|
-
}
|
|
187
|
-
return change;
|
|
150
|
+
// Track the merged transactions for the branch, so future merges will know which transactions have already been merged
|
|
151
|
+
branch.makeTransaction([], "private", {
|
|
152
|
+
merged: branch.knownState().sessions,
|
|
188
153
|
});
|
|
189
|
-
|
|
190
|
-
function convertOpID(opID, sessionID, mapping) {
|
|
191
|
-
// If the opID comes from the source branch, we don't need to map it
|
|
192
|
-
if (!opID.branch) {
|
|
193
|
-
return opID;
|
|
194
|
-
}
|
|
195
|
-
const mappedIndex = mapping[`${opID.sessionID}:${opID.txIndex}`];
|
|
196
|
-
// If the opID doesn't exist in the mapping, we don't need to map it
|
|
197
|
-
if (mappedIndex === undefined) {
|
|
198
|
-
return opID;
|
|
199
|
-
}
|
|
200
|
-
return {
|
|
201
|
-
sessionID: sessionID,
|
|
202
|
-
txIndex: mappedIndex,
|
|
203
|
-
changeIdx: opID.changeIdx,
|
|
204
|
-
};
|
|
154
|
+
return target;
|
|
205
155
|
}
|
|
206
156
|
//# sourceMappingURL=branching.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"branching.js","sourceRoot":"","sources":["../../src/coValueCore/branching.ts"],"names":[],"mappings":"AAEA,OAAO,EAA6B,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"branching.js","sourceRoot":"","sources":["../../src/coValueCore/branching.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ import { JsonObject, JsonValue } from "../jsonValue.js";
|
|
|
9
9
|
import { LocalNode, ResolveAccountAgentError } from "../localNode.js";
|
|
10
10
|
import { CoValueKnownState, PeerID } from "../sync.js";
|
|
11
11
|
import { CoValueHeader, Transaction, VerifiedState } from "./verifiedState.js";
|
|
12
|
-
import { MergeCommit } from "./branching.js";
|
|
12
|
+
import { MergeCommit, BranchPointerCommit, BranchStartCommit } from "./branching.js";
|
|
13
13
|
import { type RawAccountID } from "../coValues/account.js";
|
|
14
14
|
export declare function idforHeader(header: CoValueHeader, crypto: CryptoProvider): RawCoID;
|
|
15
15
|
export type VerifiedTransaction = {
|
|
@@ -24,6 +24,7 @@ export type VerifiedTransaction = {
|
|
|
24
24
|
hasInvalidChanges: boolean;
|
|
25
25
|
hasInvalidMeta: boolean;
|
|
26
26
|
hasMetaBeenParsed: boolean;
|
|
27
|
+
previous: VerifiedTransaction | undefined;
|
|
27
28
|
};
|
|
28
29
|
export type DecryptedTransaction = {
|
|
29
30
|
txID: TransactionID;
|
|
@@ -101,21 +102,22 @@ export declare class CoValueCore {
|
|
|
101
102
|
updateContentAndNotifyUpdate(notifyMode: "immediate" | "deferred"): void;
|
|
102
103
|
notifyUpdate(notifyMode: "immediate" | "deferred"): void;
|
|
103
104
|
subscribe(listener: (core: CoValueCore, unsub: () => void) => void, immediateInvoke?: boolean): () => void;
|
|
104
|
-
makeTransaction(changes: JsonValue[], privacy: "private" | "trusting", meta?: JsonObject): boolean;
|
|
105
|
+
makeTransaction(changes: JsonValue[], privacy: "private" | "trusting", meta?: JsonObject, madeAt?: number): boolean;
|
|
105
106
|
getCurrentContent(options?: {
|
|
106
107
|
ignorePrivateTransactions: true;
|
|
107
108
|
}): RawCoValue;
|
|
108
109
|
branchStart: {
|
|
109
|
-
|
|
110
|
+
from: BranchStartCommit["from"];
|
|
110
111
|
madeAt: number;
|
|
111
112
|
} | undefined;
|
|
112
|
-
mergeCommits:
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
113
|
+
mergeCommits: MergeCommit[];
|
|
114
|
+
branches: BranchPointerCommit[];
|
|
115
|
+
earliestTxMadeAt: number;
|
|
116
|
+
latestTxMadeAt: number;
|
|
116
117
|
resetParsedTransactions(): void;
|
|
117
118
|
verifiedTransactions: VerifiedTransaction[];
|
|
118
119
|
private verifiedTransactionsKnownSessions;
|
|
120
|
+
private lastVerifiedTransactionBySessionID;
|
|
119
121
|
/**
|
|
120
122
|
* Loads the new transaction from the SessionMap into verifiedTransactions as a VerifiedTransaction.
|
|
121
123
|
*
|
|
@@ -162,8 +164,10 @@ export declare class CoValueCore {
|
|
|
162
164
|
mergeBranch(): CoValueCore;
|
|
163
165
|
getBranch(name: string, ownerId?: RawCoID): CoValueCore;
|
|
164
166
|
getCurrentBranchName(): string | undefined;
|
|
165
|
-
getCurrentBranchSourceId():
|
|
167
|
+
getCurrentBranchSourceId(): `co_z${string}` | undefined;
|
|
166
168
|
isBranch(): boolean;
|
|
169
|
+
hasBranch(name: string, ownerId?: RawCoID): boolean;
|
|
170
|
+
getMergeCommits(): MergeCommit[];
|
|
167
171
|
getValidSortedTransactions(options?: {
|
|
168
172
|
ignorePrivateTransactions: boolean;
|
|
169
173
|
knownTransactions?: Set<Transaction>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coValueCore.d.ts","sourceRoot":"","sources":["../../src/coValueCore/coValueCore.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAW,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"coValueCore.d.ts","sourceRoot":"","sources":["../../src/coValueCore/coValueCore.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAW,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAIrD,OAAO,EACL,cAAc,EACd,IAAI,EACJ,KAAK,EACL,SAAS,EACT,SAAS,EACT,QAAQ,EACT,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAGtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAmB,MAAM,YAAY,CAAC;AAIxE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAE/E,OAAO,EACL,WAAW,EACX,mBAAmB,EAOnB,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAG3D,wBAAgB,WAAW,CACzB,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,cAAc,GACrB,OAAO,CAGT;AAED,MAAM,MAAM,mBAAmB,GAAG;IAEhC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC;IAE/B,IAAI,EAAE,aAAa,CAAC;IACpB,EAAE,EAAE,WAAW,CAAC;IAEhB,MAAM,EAAE,MAAM,CAAC;IAEf,WAAW,EAAE,OAAO,CAAC;IAErB,OAAO,EAAE,SAAS,EAAE,GAAG,SAAS,CAAC;IAEjC,IAAI,EAAE,UAAU,GAAG,SAAS,CAAC;IAG7B,OAAO,EAAE,OAAO,CAAC;IAGjB,iBAAiB,EAAE,OAAO,CAAC;IAE3B,cAAc,EAAE,OAAO,CAAC;IAGxB,iBAAiB,EAAE,OAAO,CAAC;IAG3B,QAAQ,EAAE,mBAAmB,GAAG,SAAS,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,aAAa,CAAC;IACpB,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,WAAW,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,WAAW,GAAG;IAAE,QAAQ,EAAE,aAAa,CAAA;CAAE,CAAC;AAE7E,qBAAa,WAAW;IAEtB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IAGxC,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,CAAC,SAAS,CAAuB;IACxC;;;;;;;;;;8EAU0E;IAC1E,IAAI,QAAQ,yBAEX;IACD,OAAO,CAAC,QAAQ,CAAC,KAAK,CASlB;IAGJ,OAAO,CAAC,cAAc,CAAC,CAAa;IACpC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC,CAC3D;IACZ,OAAO,CAAC,kBAAkB,CAAC,CAAe;IAC1C,OAAO,CAAC,OAAO,CAAgB;IAE/B,OAAO;IAyBP,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,GAAG,WAAW;IAIxD,MAAM,CAAC,UAAU,CACf,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,SAAS,GACd,oBAAoB;IAIvB,IAAI,YAAY,wDAgBf;IAED,WAAW,IAAI,IAAI,IAAI,oBAAoB;IAI3C,kBAAkB,IAAI,IAAI,IAAI,oBAAoB;IAIlD,eAAe,CAAC,MAAM,EAAE,MAAM;IAI9B,6BAA6B,IAAI,OAAO,CAAC,WAAW,CAAC;IAcrD,gBAAgB,IAAI,OAAO,CAAC,WAAW,CAAC;IAcxC,oBAAoB,IAAI,OAAO,CAAC,WAAW,CAAC;IAc5C,eAAe,CAAC,MAAM,EAAE,MAAM;cA3HlB,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,aAAa;;cAGnD,SAAS;eACR,uBAAuB;;IA2HpC,OAAO,CAAC,aAAa;IAWrB,OAAO;IAsBP,kBAAkB,CAAC,MAAM,EAAE,MAAM;IAOjC,mBAAmB,uBAAsB;IAGzC,yBAAyB,CAAC,UAAU,EAAE,WAAW;IA2BjD,qBAAqB,CAAC,UAAU,EAAE,OAAO;IAqBzC,aAAa,CACX,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,MAAM,EAClB,mBAAmB,CAAC,EAAE,iBAAiB,CAAC,UAAU,CAAC;IAuBrD,8BAA8B,CAC5B,QAAQ,EAAE,aAAa,EACvB,EAAE,cAAsB,EAAE,GAAE;QAAE,cAAc,CAAC,EAAE,OAAO,CAAA;KAAO;IAU/D,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,uBAAuB;IAO1D,WAAW,CAAC,MAAM,EAAE,MAAM;IAO1B,wCAAwC,CACtC,KAAK,EAAE,aAAa,EACpB,EAAE,cAAsB,EAAE,GAAE;QAAE,cAAc,CAAC,EAAE,OAAO,CAAA;KAAO;IAW/D,oCAAoC;IAMpC,6BAA6B,CAAC,EAAE,MAAM,IAAI,CAAC;IAE3C,4BAA4B;IA8B5B,uCAAuC,CAAC,OAAO,EAAE,wBAAwB;IAMzE,uBAAuB,IAAI,iBAAiB;IAQ5C,UAAU,IAAI,iBAAiB;IAQ/B,IAAI,IAAI,IAAI,SAAS,CAEpB;IAED,iBAAiB,IAAI,aAAa;IAsBlC,kBAAkB,CAChB,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,WAAW,EAAE,EAC9B,YAAY,EAAE,SAAS,EACvB,UAAU,GAAE,OAAe,GAC1B,MAAM,CAAC,IAAI,EAAE,uBAAuB,CAAC;IAwCxC,eAAe,SAAK;IACpB,kBAAkB,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;IAE9C,4BAA4B,CAAC,UAAU,EAAE,WAAW,GAAG,UAAU;IAgBjE,YAAY,CAAC,UAAU,EAAE,WAAW,GAAG,UAAU;IAwCjD,SAAS,CACP,QAAQ,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,IAAI,KAAK,IAAI,EACxD,eAAe,UAAO,GACrB,MAAM,IAAI;IAcb,eAAe,CACb,OAAO,EAAE,SAAS,EAAE,EACpB,OAAO,EAAE,SAAS,GAAG,UAAU,EAC/B,IAAI,CAAC,EAAE,UAAU,EACjB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO;IAsEV,iBAAiB,CAAC,OAAO,CAAC,EAAE;QAAE,yBAAyB,EAAE,IAAI,CAAA;KAAE,GAAG,UAAU;IAuB5E,WAAW,EAAE;QAAE,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IAG7E,YAAY,EAAE,WAAW,EAAE,CAAM;IACjC,QAAQ,EAAE,mBAAmB,EAAE,CAAM;IACrC,gBAAgB,EAAE,MAAM,CAA2B;IACnD,cAAc,EAAE,MAAM,CAAK;IAG3B,uBAAuB;IAUvB,oBAAoB,EAAE,mBAAmB,EAAE,CAAM;IACjD,OAAO,CAAC,iCAAiC,CAAqC;IAE9E,OAAO,CAAC,kCAAkC,CAGnC;IAEP;;;;;;;;;;;SAWK;IACL,gCAAgC,CAAC,OAAO,CAAC,EAAE;QACzC,WAAW,EAAE,WAAW,CAAC;QACzB,OAAO,EAAE,SAAS,EAAE,CAAC;QACrB,IAAI,EAAE,UAAU,GAAG,SAAS,CAAC;KAC9B;IA2DD;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAIlC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA8D5B;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IAkB5B;;OAEG;IACH,oBAAoB,CAAC,OAAO,CAAC,EAAE;QAC7B,yBAAyB,EAAE,OAAO,CAAC;QAEnC,IAAI,CAAC,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;QACrC,EAAE,CAAC,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAGnC,iBAAiB,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QAGrC,gBAAgB,CAAC,EAAE,OAAO,CAAC;KAC5B,GAAG,oBAAoB,EAAE;IAqD1B,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;IAI5C,WAAW;IAIX,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;IAIzC,oBAAoB;IAIpB,wBAAwB;IAIxB,QAAQ;IAIR,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;IAyBzC,eAAe;IAMf,0BAA0B,CAAC,OAAO,CAAC,EAAE;QACnC,yBAAyB,EAAE,OAAO,CAAC;QAGnC,iBAAiB,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;KACtC,GAAG,oBAAoB,EAAE;IAQ1B,mBAAmB,CACjB,CAAC,EAAE,IAAI,CAAC,oBAAoB,EAAE,QAAQ,GAAG,MAAM,CAAC,EAChD,CAAC,EAAE,IAAI,CAAC,oBAAoB,EAAE,QAAQ,GAAG,MAAM,CAAC;IAalD,iBAAiB,IAAI;QACnB,MAAM,EAAE,SAAS,GAAG,SAAS,CAAC;QAC9B,EAAE,EAAE,KAAK,CAAC;KACX;IAoBD,YAAY,gDAA+B;IAC3C,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,GAAG,SAAS;IAoC/C,QAAQ,IAAI,QAAQ;IAkBpB,KAAK,CAAC,IAAI,EAAE,aAAa,GAAG,WAAW,GAAG,SAAS;IAMnD,qBAAqB,IAAI,GAAG,CAAC,OAAO,CAAC;IAsBrC,WAAW,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;IAI1C,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE;IASvB,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI;IA+B/C,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE;IAehC,oBAAoB,CAAC,IAAI,EAAE,SAAS;CAqDrC;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,aAAa,CAAC;IACpB,EAAE,EAAE,OAAO,CAAC;IACZ,eAAe,EAAE,IAAI,CAAC;IACtB,oBAAoB,EAAE,IAAI,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,kBAAkB,CAAC;IACzB,EAAE,EAAE,OAAO,CAAC;IACZ,YAAY,EAAE,SAAS,CAAC;IACxB,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,+CAA+C,GAAG;IAC5D,IAAI,EAAE,4CAA4C,CAAC;IACnD,EAAE,EAAE,OAAO,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,0CAA0C,GAAG;IACvD,IAAI,EAAE,uCAAuC,CAAC;IAC9C,EAAE,EAAE,OAAO,CAAC;IACZ,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAC/B,+CAA+C,GAC/C,0CAA0C,GAC1C,wBAAwB,GACxB,gBAAgB,GAChB,qBAAqB,CAAC"}
|