@bitgo-beta/sdk-lib-mpc 8.2.1-alpha.60 → 8.2.1-alpha.62
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/CHANGELOG.md +18 -0
- package/dist/src/curves/ed25519.js +12 -12
- package/dist/src/curves/ed25519Bip32HdTree.js +14 -14
- package/dist/src/curves/index.js +6 -2
- package/dist/src/curves/secp256k1.js +18 -14
- package/dist/src/curves/secp256k1Bip32HdTree.js +10 -10
- package/dist/src/hashCommitment.js +5 -5
- package/dist/src/index.js +6 -2
- package/dist/src/openssl/index.js +6 -2
- package/dist/src/openssl/openssl.js +3 -3
- package/dist/src/schnorrProof.js +6 -6
- package/dist/src/shamir/index.js +6 -2
- package/dist/src/shamir/shamir.js +2 -2
- package/dist/src/tss/ecdsa/index.js +6 -2
- package/dist/src/tss/ecdsa/paillierproof.js +6 -6
- package/dist/src/tss/ecdsa/rangeproof.js +96 -96
- package/dist/src/tss/ecdsa/types.js +19 -19
- package/dist/src/tss/ecdsa/zkVProof.js +7 -7
- package/dist/src/tss/ecdsa-dkls/commsLayer.js +6 -2
- package/dist/src/tss/ecdsa-dkls/dkg.d.ts.map +1 -1
- package/dist/src/tss/ecdsa-dkls/dkg.js +7 -3
- package/dist/src/tss/ecdsa-dkls/dsg.d.ts +30 -0
- package/dist/src/tss/ecdsa-dkls/dsg.d.ts.map +1 -0
- package/dist/src/tss/ecdsa-dkls/dsg.js +169 -0
- package/dist/src/tss/ecdsa-dkls/index.d.ts +1 -0
- package/dist/src/tss/ecdsa-dkls/index.d.ts.map +1 -1
- package/dist/src/tss/ecdsa-dkls/index.js +8 -3
- package/dist/src/tss/ecdsa-dkls/types.d.ts +13 -0
- package/dist/src/tss/ecdsa-dkls/types.d.ts.map +1 -1
- package/dist/src/tss/ecdsa-dkls/types.js +12 -2
- package/dist/src/tss/index.d.ts +1 -0
- package/dist/src/tss/index.d.ts.map +1 -1
- package/dist/src/tss/index.js +7 -2
- package/dist/src/util.js +6 -6
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -4
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Dsg = void 0;
|
|
4
|
+
const dkls_wasm_ll_node_1 = require("@silencelaboratories/dkls-wasm-ll-node");
|
|
5
|
+
const types_1 = require("./types");
|
|
6
|
+
const cbor_1 = require("cbor");
|
|
7
|
+
class Dsg {
|
|
8
|
+
constructor(keyShare, partyIdx, derivationPath, messageHash) {
|
|
9
|
+
this.dsgState = types_1.DsgState.Uninitialized;
|
|
10
|
+
this.keyShare = dkls_wasm_ll_node_1.Keyshare.fromBytes(keyShare);
|
|
11
|
+
this.partyIdx = partyIdx;
|
|
12
|
+
if (this.keyShare.partyId !== partyIdx) {
|
|
13
|
+
throw Error(`Party index: ${partyIdx} does not match key share partyId: ${this.keyShare.partyId} `);
|
|
14
|
+
}
|
|
15
|
+
this.derivationPath = derivationPath;
|
|
16
|
+
this.messageHash = messageHash;
|
|
17
|
+
}
|
|
18
|
+
_restoreSession() {
|
|
19
|
+
if (!this.dsgSession) {
|
|
20
|
+
this.dsgSession = dkls_wasm_ll_node_1.SignSession.fromBytes(this.dsgSessionBytes);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
_deserializeState() {
|
|
24
|
+
if (!this.dsgSession) {
|
|
25
|
+
throw Error('Session not intialized');
|
|
26
|
+
}
|
|
27
|
+
const round = (0, cbor_1.decode)(this.dsgSession.toBytes()).round;
|
|
28
|
+
switch (round) {
|
|
29
|
+
case 'WaitMsg1':
|
|
30
|
+
this.dsgState = types_1.DsgState.Round1;
|
|
31
|
+
break;
|
|
32
|
+
case 'WaitMsg2':
|
|
33
|
+
this.dsgState = types_1.DsgState.Round2;
|
|
34
|
+
break;
|
|
35
|
+
case 'WaitMsg3':
|
|
36
|
+
this.dsgState = types_1.DsgState.Round3;
|
|
37
|
+
break;
|
|
38
|
+
case 'Ended':
|
|
39
|
+
this.dsgState = types_1.DsgState.Complete;
|
|
40
|
+
break;
|
|
41
|
+
default:
|
|
42
|
+
this.dsgState = types_1.DsgState.InvalidState;
|
|
43
|
+
throw `Invalid State: ${round}`;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
async init() {
|
|
47
|
+
if (this.dsgState !== types_1.DsgState.Uninitialized) {
|
|
48
|
+
throw 'DSG session already initialized';
|
|
49
|
+
}
|
|
50
|
+
if (typeof window !== 'undefined') {
|
|
51
|
+
const initDkls = require('@silencelaboratories/dkls-wasm-ll-web');
|
|
52
|
+
await initDkls();
|
|
53
|
+
}
|
|
54
|
+
this.dsgSession = new dkls_wasm_ll_node_1.SignSession(this.keyShare, this.derivationPath);
|
|
55
|
+
try {
|
|
56
|
+
const payload = this.dsgSession.createFirstMessage().payload;
|
|
57
|
+
this._deserializeState();
|
|
58
|
+
return {
|
|
59
|
+
payload: payload,
|
|
60
|
+
from: this.partyIdx,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
catch (e) {
|
|
64
|
+
throw `Error while creating the first message from party ${this.partyIdx}: ${e}`;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
get signature() {
|
|
68
|
+
if (!this._signature) {
|
|
69
|
+
throw Error('Can not request signature. Signature not produced yet.');
|
|
70
|
+
}
|
|
71
|
+
return this._signature;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Ends the DSG session by freeing any heap allocations from wasm. Note that the session is freed if a signature is produced.
|
|
75
|
+
*/
|
|
76
|
+
endSession() {
|
|
77
|
+
if (this.signature) {
|
|
78
|
+
new Error('Session already ended because combined signature was produced.');
|
|
79
|
+
}
|
|
80
|
+
if (this.dsgSession) {
|
|
81
|
+
this.dsgSession.free();
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Proccesses incoming messages to this party in the DKLs DSG protocol and
|
|
86
|
+
* produces messages from this party to other parties for the next round.
|
|
87
|
+
* @param messagesForIthRound - messages to process the current round
|
|
88
|
+
* @returns {DeserializedMessages} - messages to send to other parties for the next round
|
|
89
|
+
*/
|
|
90
|
+
handleIncomingMessages(messagesForIthRound) {
|
|
91
|
+
let nextRoundMessages = [];
|
|
92
|
+
let nextRoundDeserializedMessages = { broadcastMessages: [], p2pMessages: [] };
|
|
93
|
+
this._restoreSession();
|
|
94
|
+
if (!this.dsgSession) {
|
|
95
|
+
throw Error('Session not initialized');
|
|
96
|
+
}
|
|
97
|
+
try {
|
|
98
|
+
if (this.dsgState === types_1.DsgState.Round4) {
|
|
99
|
+
this.dsgState = types_1.DsgState.Complete;
|
|
100
|
+
const combineResult = this.dsgSession.combine(messagesForIthRound.broadcastMessages.map((m) => new dkls_wasm_ll_node_1.Message(m.payload, m.from, undefined)));
|
|
101
|
+
this._signature = {
|
|
102
|
+
R: combineResult[0],
|
|
103
|
+
S: combineResult[1],
|
|
104
|
+
};
|
|
105
|
+
return { broadcastMessages: [], p2pMessages: [] };
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
nextRoundMessages = this.dsgSession.handleMessages(messagesForIthRound.broadcastMessages
|
|
109
|
+
.map((m) => new dkls_wasm_ll_node_1.Message(m.payload, m.from, undefined))
|
|
110
|
+
.concat(messagesForIthRound.p2pMessages.map((m) => new dkls_wasm_ll_node_1.Message(m.payload, m.from, m.to))));
|
|
111
|
+
}
|
|
112
|
+
if (this.dsgState === types_1.DsgState.Round3) {
|
|
113
|
+
nextRoundMessages = [this.dsgSession.lastMessage(this.messageHash)];
|
|
114
|
+
this.dsgState = types_1.DsgState.Round4;
|
|
115
|
+
return {
|
|
116
|
+
broadcastMessages: [
|
|
117
|
+
{
|
|
118
|
+
payload: nextRoundMessages[0].payload,
|
|
119
|
+
from: nextRoundMessages[0].from_id,
|
|
120
|
+
},
|
|
121
|
+
],
|
|
122
|
+
p2pMessages: [],
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
// Update round data.
|
|
127
|
+
this._deserializeState();
|
|
128
|
+
}
|
|
129
|
+
nextRoundDeserializedMessages = {
|
|
130
|
+
p2pMessages: nextRoundMessages
|
|
131
|
+
.filter((m) => m.to_id !== undefined)
|
|
132
|
+
.map((m) => {
|
|
133
|
+
if (m.to_id === undefined) {
|
|
134
|
+
throw Error('Invalid P2P message, missing to_id.');
|
|
135
|
+
}
|
|
136
|
+
const p2pReturn = {
|
|
137
|
+
payload: m.payload,
|
|
138
|
+
from: m.from_id,
|
|
139
|
+
to: m.to_id,
|
|
140
|
+
};
|
|
141
|
+
return p2pReturn;
|
|
142
|
+
}),
|
|
143
|
+
broadcastMessages: nextRoundMessages
|
|
144
|
+
.filter((m) => m.to_id === undefined)
|
|
145
|
+
.map((m) => {
|
|
146
|
+
const broadcastReturn = {
|
|
147
|
+
payload: m.payload,
|
|
148
|
+
from: m.from_id,
|
|
149
|
+
};
|
|
150
|
+
return broadcastReturn;
|
|
151
|
+
}),
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
catch (e) {
|
|
155
|
+
throw `Error while creating messages from party ${this.partyIdx}, round ${this.dsgState}: ${e}`;
|
|
156
|
+
}
|
|
157
|
+
finally {
|
|
158
|
+
nextRoundMessages.forEach((m) => m.free());
|
|
159
|
+
// Session is freed when combine is called.
|
|
160
|
+
if (this.dsgState !== types_1.DsgState.Complete) {
|
|
161
|
+
this.dsgSessionBytes = this.dsgSession.toBytes();
|
|
162
|
+
this.dsgSession = undefined;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
return nextRoundDeserializedMessages;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
exports.Dsg = Dsg;
|
|
169
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHNnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3Rzcy9lY2RzYS1ka2xzL2RzZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw4RUFBd0Y7QUFDeEYsbUNBQXNHO0FBQ3RHLCtCQUE4QjtBQUU5QixNQUFhLEdBQUc7SUFVZCxZQUFZLFFBQWdCLEVBQUUsUUFBZ0IsRUFBRSxjQUFzQixFQUFFLFdBQW1CO1FBRmpGLGFBQVEsR0FBYSxnQkFBUSxDQUFDLGFBQWEsQ0FBQztRQUdwRCxJQUFJLENBQUMsUUFBUSxHQUFHLDRCQUFRLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEtBQUssUUFBUSxFQUFFO1lBQ3RDLE1BQU0sS0FBSyxDQUFDLGdCQUFnQixRQUFRLHNDQUFzQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7U0FDckc7UUFDRCxJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztRQUNyQyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUNqQyxDQUFDO0lBRU8sZUFBZTtRQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNwQixJQUFJLENBQUMsVUFBVSxHQUFHLCtCQUFXLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztTQUMvRDtJQUNILENBQUM7SUFFTyxpQkFBaUI7UUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDcEIsTUFBTSxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQztTQUN2QztRQUNELE1BQU0sS0FBSyxHQUFHLElBQUEsYUFBTSxFQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDdEQsUUFB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SyxDQUFDLEVBQUUsQ0FBQztTQUNqRztnQkFBUztZQUNSLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7WUFDM0MsMkNBQTJDO1lBQzNDLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxnQkFBUSxDQUFDLFFBQVEsRUFBRTtnQkFDdkMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNqRCxJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQzthQUM3QjtTQUNGO1FBQ0QsT0FBTyw2QkFBNkIsQ0FBQztJQUN2QyxDQUFDO0NBQ0Y7QUE3S0Qsa0JBNktDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2lnblNlc3Npb24sIEtleXNoYXJlLCBNZXNzYWdlIH0gZnJvbSAnQHNpbGVuY2VsYWJvcmF0b3JpZXMvZGtscy13YXNtLWxsLW5vZGUnO1xuaW1wb3J0IHsgRGVzZXJpYWxpemVkQnJvYWRjYXN0TWVzc2FnZSwgRGVzZXJpYWxpemVkTWVzc2FnZXMsIERrbHNTaWduYXR1cmUsIERzZ1N0YXRlIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBkZWNvZGUgfSBmcm9tICdjYm9yJztcblxuZXhwb3J0IGNsYXNzIERzZyB7XG4gIHByb3RlY3RlZCBkc2dTZXNzaW9uOiBTaWduU2Vzc2lvbiB8IHVuZGVmaW5lZDtcbiAgcHJvdGVjdGVkIGRzZ1Nlc3Npb25CeXRlczogVWludDhBcnJheTtcbiAgcHJpdmF0ZSBfc2lnbmF0dXJlOiBEa2xzU2lnbmF0dXJlIHwgdW5kZWZpbmVkO1xuICBwcm90ZWN0ZWQga2V5U2hhcmU6IEtleXNoYXJlO1xuICBwcm90ZWN0ZWQgbWVzc2FnZUhhc2g6IEJ1ZmZlcjtcbiAgcHJvdGVjdGVkIGRlcml2YXRpb25QYXRoOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBwYXJ0eUlkeDogbnVtYmVyO1xuICBwcm90ZWN0ZWQgZHNnU3RhdGU6IERzZ1N0YXRlID0gRHNnU3RhdGUuVW5pbml0aWFsaXplZDtcblxuICBjb25zdHJ1Y3RvcihrZXlTaGFyZTogQnVmZmVyLCBwYXJ0eUlkeDogbnVtYmVyLCBkZXJpdmF0aW9uUGF0aDogc3RyaW5nLCBtZXNzYWdlSGFzaDogQnVmZmVyKSB7XG4gICAgdGhpcy5rZXlTaGFyZSA9IEtleXNoYXJlLmZyb21CeXRlcyhrZXlTaGFyZSk7XG4gICAgdGhpcy5wYXJ0eUlkeCA9IHBhcnR5SWR4O1xuICAgIGlmICh0aGlzLmtleVNoYXJlLnBhcnR5SWQgIT09IHBhcnR5SWR4KSB7XG4gICAgICB0aHJvdyBFcnJvcihgUGFydHkgaW5kZXg6ICR7cGFydHlJZHh9IGRvZXMgbm90IG1hdGNoIGtleSBzaGFyZSBwYXJ0eUlkOiAke3RoaXMua2V5U2hhcmUucGFydHlJZH0gYCk7XG4gICAgfVxuICAgIHRoaXMuZGVyaXZhdGlvblBhdGggPSBkZXJpdmF0aW9uUGF0aDtcbiAgICB0aGlzLm1lc3NhZ2VIYXNoID0gbWVzc2FnZUhhc2g7XG4gIH1cblxuICBwcml2YXRlIF9yZXN0b3JlU2Vzc2lvbigpIHtcbiAgICBpZiAoIXRoaXMuZHNnU2Vzc2lvbikge1xuICAgICAgdGhpcy5kc2dTZXNzaW9uID0gU2lnblNlc3Npb24uZnJvbUJ5dGVzKHRoaXMuZHNnU2Vzc2lvbkJ5dGVzKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9kZXNlcmlhbGl6ZVN0YXRlKCkge1xuICAgIGlmICghdGhpcy5kc2dTZXNzaW9uKSB7XG4gICAgICB0aHJvdyBFcnJvcignU2Vzc2lvbiBub3QgaW50aWFsaXplZCcpO1xuICAgIH1cbiAgICBjb25zdCByb3VuZCA9IGRlY29kZSh0aGlzLmRzZ1Nlc3Npb24udG9CeXRlcygpKS5yb3VuZDtcbiAgICBzd2l0Y2ggKHJvdW5kKSB7XG4gICAgICBjYXNlICdXYWl0TXNnMSc6XG4gICAgICAgIHRoaXMuZHNnU3RhdGUgPSBEc2dTdGF0ZS5Sb3VuZDE7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnV2FpdE1zZzInOlxuICAgICAgICB0aGlzLmRzZ1N0YXRlID0gRHNnU3RhdGUuUm91bmQyO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ1dhaXRNc2czJzpcbiAgICAgICAgdGhpcy5kc2dTdGF0ZSA9IERzZ1N0YXRlLlJvdW5kMztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdFbmRlZCc6XG4gICAgICAgIHRoaXMuZHNnU3RhdGUgPSBEc2dTdGF0ZS5Db21wbGV0ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aGlzLmRzZ1N0YXRlID0gRHNnU3RhdGUuSW52YWxpZFN0YXRlO1xuICAgICAgICB0aHJvdyBgSW52YWxpZCBTdGF0ZTogJHtyb3VuZH1gO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGluaXQoKTogUHJvbWlzZTxEZXNlcmlhbGl6ZWRCcm9hZGNhc3RNZXNzYWdlPiB7XG4gICAgaWYgKHRoaXMuZHNnU3RhdGUgIT09IERzZ1N0YXRlLlVuaW5pdGlhbGl6ZWQpIHtcbiAgICAgIHRocm93ICdEU0cgc2Vzc2lvbiBhbHJlYWR5IGluaXRpYWxpemVkJztcbiAgICB9XG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBjb25zdCBpbml0RGtscyA9IHJlcXVpcmUoJ0BzaWxlbmNlbGFib3JhdG9yaWVzL2RrbHMtd2FzbS1sbC13ZWInKTtcbiAgICAgIGF3YWl0IGluaXREa2xzKCk7XG4gICAgfVxuICAgIHRoaXMuZHNnU2Vzc2lvbiA9IG5ldyBTaWduU2Vzc2lvbih0aGlzLmtleVNoYXJlLCB0aGlzLmRlcml2YXRpb25QYXRoKTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcGF5bG9hZCA9IHRoaXMuZHNnU2Vzc2lvbi5jcmVhdGVGaXJzdE1lc3NhZ2UoKS5wYXlsb2FkO1xuICAgICAgdGhpcy5fZGVzZXJpYWxpemVTdGF0ZSgpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcGF5bG9hZDogcGF5bG9hZCxcbiAgICAgICAgZnJvbTogdGhpcy5wYXJ0eUlkeCxcbiAgICAgIH07XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgYEVycm9yIHdoaWxlIGNyZWF0aW5nIHRoZSBmaXJzdCBtZXNzYWdlIGZyb20gcGFydHkgJHt0aGlzLnBhcnR5SWR4fTogJHtlfWA7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHNpZ25hdHVyZSgpOiBEa2xzU2lnbmF0dXJlIHtcbiAgICBpZiAoIXRoaXMuX3NpZ25hdHVyZSkge1xuICAgICAgdGhyb3cgRXJyb3IoJ0NhbiBub3QgcmVxdWVzdCBzaWduYXR1cmUuIFNpZ25hdHVyZSBub3QgcHJvZHVjZWQgeWV0LicpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fc2lnbmF0dXJlO1xuICB9XG5cbiAgLyoqXG4gICAqIEVuZHMgdGhlIERTRyBzZXNzaW9uIGJ5IGZyZWVpbmcgYW55IGhlYXAgYWxsb2NhdGlvbnMgZnJvbSB3YXNtLiBOb3RlIHRoYXQgdGhlIHNlc3Npb24gaXMgZnJlZWQgaWYgYSBzaWduYXR1cmUgaXMgcHJvZHVjZWQuXG4gICAqL1xuICBlbmRTZXNzaW9uKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNpZ25hdHVyZSkge1xuICAgICAgbmV3IEVycm9yKCdTZXNzaW9uIGFscmVhZHkgZW5kZWQgYmVjYXVzZSBjb21iaW5lZCBzaWduYXR1cmUgd2FzIHByb2R1Y2VkLicpO1xuICAgIH1cbiAgICBpZiAodGhpcy5kc2dTZXNzaW9uKSB7XG4gICAgICB0aGlzLmRzZ1Nlc3Npb24uZnJlZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBQcm9jY2Vzc2VzIGluY29taW5nIG1lc3NhZ2VzIHRvIHRoaXMgcGFydHkgaW4gdGhlIERLTHMgRFNHIHByb3RvY29sIGFuZFxuICAgKiBwcm9kdWNlcyBtZXNzYWdlcyBmcm9tIHRoaXMgcGFydHkgdG8gb3RoZXIgcGFydGllcyBmb3IgdGhlIG5leHQgcm91bmQuXG4gICAqIEBwYXJhbSBtZXNzYWdlc0Zvckl0aFJvdW5kIC0gbWVzc2FnZXMgdG8gcHJvY2VzcyB0aGUgY3VycmVudCByb3VuZFxuICAgKiBAcmV0dXJucyB7RGVzZXJpYWxpemVkTWVzc2FnZXN9IC0gbWVzc2FnZXMgdG8gc2VuZCB0byBvdGhlciBwYXJ0aWVzIGZvciB0aGUgbmV4dCByb3VuZFxuICAgKi9cbiAgaGFuZGxlSW5jb21pbmdNZXNzYWdlcyhtZXNzYWdlc0Zvckl0aFJvdW5kOiBEZXNlcmlhbGl6ZWRNZXNzYWdlcyk6IERlc2VyaWFsaXplZE1lc3NhZ2VzIHtcbiAgICBsZXQgbmV4dFJvdW5kTWVzc2FnZXM6IE1lc3NhZ2VbXSA9IFtdO1xuICAgIGxldCBuZXh0Um91bmREZXNlcmlhbGl6ZWRNZXNzYWdlczogRGVzZXJpYWxpemVkTWVzc2FnZXMgPSB7IGJyb2FkY2FzdE1lc3NhZ2VzOiBbXSwgcDJwTWVzc2FnZXM6IFtdIH07XG4gICAgdGhpcy5fcmVzdG9yZVNlc3Npb24oKTtcbiAgICBpZiAoIXRoaXMuZHNnU2Vzc2lvbikge1xuICAgICAgdGhyb3cgRXJyb3IoJ1Nlc3Npb24gbm90IGluaXRpYWxpemVkJyk7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBpZiAodGhpcy5kc2dTdGF0ZSA9PT0gRHNnU3RhdGUuUm91bmQ0KSB7XG4gICAgICAgIHRoaXMuZHNnU3RhdGUgPSBEc2dTdGF0ZS5Db21wbGV0ZTtcbiAgICAgICAgY29uc3QgY29tYmluZVJlc3VsdCA9IHRoaXMuZHNnU2Vzc2lvbi5jb21iaW5lKFxuICAgICAgICAgIG1lc3NhZ2VzRm9ySXRoUm91bmQuYnJvYWRjYXN0TWVzc2FnZXMubWFwKChtKSA9PiBuZXcgTWVzc2FnZShtLnBheWxvYWQsIG0uZnJvbSwgdW5kZWZpbmVkKSlcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5fc2lnbmF0dXJlID0ge1xuICAgICAgICAgIFI6IGNvbWJpbmVSZXN1bHRbMF0sXG4gICAgICAgICAgUzogY29tYmluZVJlc3VsdFsxXSxcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIHsgYnJvYWRjYXN0TWVzc2FnZXM6IFtdLCBwMnBNZXNzYWdlczogW10gfTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5leHRSb3VuZE1lc3NhZ2VzID0gdGhpcy5kc2dTZXNzaW9uLmhhbmRsZU1lc3NhZ2VzKFxuICAgICAgICAgIG1lc3NhZ2VzRm9ySXRoUm91bmQuYnJvYWRjYXN0TWVzc2FnZXNcbiAgICAgICAgICAgIC5tYXAoKG0pID0+IG5ldyBNZXNzYWdlKG0ucGF5bG9hZCwgbS5mcm9tLCB1bmRlZmluZWQpKVxuICAgICAgICAgICAgLmNvbmNhdChtZXNzYWdlc0Zvckl0aFJvdW5kLnAycE1lc3NhZ2VzLm1hcCgobSkgPT4gbmV3IE1lc3NhZ2UobS5wYXlsb2FkLCBtLmZyb20sIG0udG8pKSlcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmRzZ1N0YXRlID09PSBEc2dTdGF0ZS5Sb3VuZDMpIHtcbiAgICAgICAgbmV4dFJvdW5kTWVzc2FnZXMgPSBbdGhpcy5kc2dTZXNzaW9uLmxhc3RNZXNzYWdlKHRoaXMubWVzc2FnZUhhc2gpXTtcbiAgICAgICAgdGhpcy5kc2dTdGF0ZSA9IERzZ1N0YXRlLlJvdW5kNDtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBicm9hZGNhc3RNZXNzYWdlczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBwYXlsb2FkOiBuZXh0Um91bmRNZXNzYWdlc1swXS5wYXlsb2FkLFxuICAgICAgICAgICAgICBmcm9tOiBuZXh0Um91bmRNZXNzYWdlc1swXS5mcm9tX2lkLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIHAycE1lc3NhZ2VzOiBbXSxcbiAgICAgICAgfTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFVwZGF0ZSByb3VuZCBkYXRhLlxuICAgICAgICB0aGlzLl9kZXNlcmlhbGl6ZVN0YXRlKCk7XG4gICAgICB9XG4gICAgICBuZXh0Um91bmREZXNlcmlhbGl6ZWRNZXNzYWdlcyA9IHtcbiAgICAgICAgcDJwTWVzc2FnZXM6IG5leHRSb3VuZE1lc3NhZ2VzXG4gICAgICAgICAgLmZpbHRlcigobSkgPT4gbS50b19pZCAhPT0gdW5kZWZpbmVkKVxuICAgICAgICAgIC5tYXAoKG0pID0+IHtcbiAgICAgICAgICAgIGlmIChtLnRvX2lkID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoJ0ludmFsaWQgUDJQIG1lc3NhZ2UsIG1pc3NpbmcgdG9faWQuJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBwMnBSZXR1cm4gPSB7XG4gICAgICAgICAgICAgIHBheWxvYWQ6IG0ucGF5bG9hZCxcbiAgICAgICAgICAgICAgZnJvbTogbS5mcm9tX2lkLFxuICAgICAgICAgICAgICB0bzogbS50b19pZCxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICByZXR1cm4gcDJwUmV0dXJuO1xuICAgICAgICAgIH0pLFxuICAgICAgICBicm9hZGNhc3RNZXNzYWdlczogbmV4dFJvdW5kTWVzc2FnZXNcbiAgICAgICAgICAuZmlsdGVyKChtKSA9PiBtLnRvX2lkID09PSB1bmRlZmluZWQpXG4gICAgICAgICAgLm1hcCgobSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgYnJvYWRjYXN0UmV0dXJuID0ge1xuICAgICAgICAgICAgICBwYXlsb2FkOiBtLnBheWxvYWQsXG4gICAgICAgICAgICAgIGZyb206IG0uZnJvbV9pZCxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICByZXR1cm4gYnJvYWRjYXN0UmV0dXJuO1xuICAgICAgICAgIH0pLFxuICAgICAgfTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBgRXJyb3Igd2hpbGUgY3JlYXRpbmcgbWVzc2FnZXMgZnJvbSBwYXJ0eSAke3RoaXMucGFydHlJZHh9LCByb3VuZCAke3RoaXMuZHNnU3RhdGV9OiAke2V9YDtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgbmV4dFJvdW5kTWVzc2FnZXMuZm9yRWFjaCgobSkgPT4gbS5mcmVlKCkpO1xuICAgICAgLy8gU2Vzc2lvbiBpcyBmcmVlZCB3aGVuIGNvbWJpbmUgaXMgY2FsbGVkLlxuICAgICAgaWYgKHRoaXMuZHNnU3RhdGUgIT09IERzZ1N0YXRlLkNvbXBsZXRlKSB7XG4gICAgICAgIHRoaXMuZHNnU2Vzc2lvbkJ5dGVzID0gdGhpcy5kc2dTZXNzaW9uLnRvQnl0ZXMoKTtcbiAgICAgICAgdGhpcy5kc2dTZXNzaW9uID0gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbmV4dFJvdW5kRGVzZXJpYWxpemVkTWVzc2FnZXM7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/tss/ecdsa-dkls/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,OAAO,CAAC;AACjC,OAAO,KAAK,SAAS,MAAM,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/tss/ecdsa-dkls/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,OAAO,CAAC;AACjC,OAAO,KAAK,OAAO,MAAM,OAAO,CAAC;AACjC,OAAO,KAAK,SAAS,MAAM,SAAS,CAAC"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -19,7 +23,8 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
19
23
|
return result;
|
|
20
24
|
};
|
|
21
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
-
exports.DklsTypes = exports.DklsDkg = void 0;
|
|
26
|
+
exports.DklsTypes = exports.DklsDsg = exports.DklsDkg = void 0;
|
|
23
27
|
exports.DklsDkg = __importStar(require("./dkg"));
|
|
28
|
+
exports.DklsDsg = __importStar(require("./dsg"));
|
|
24
29
|
exports.DklsTypes = __importStar(require("./types"));
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdHNzL2VjZHNhLWRrbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpREFBaUM7QUFDakMsaURBQWlDO0FBQ2pDLHFEQUFxQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGFzIERrbHNEa2cgZnJvbSAnLi9ka2cnO1xuZXhwb3J0ICogYXMgRGtsc0RzZyBmcm9tICcuL2RzZyc7XG5leHBvcnQgKiBhcyBEa2xzVHlwZXMgZnJvbSAnLi90eXBlcyc7XG4iXX0=
|
|
@@ -17,6 +17,15 @@ export declare enum DkgState {
|
|
|
17
17
|
Complete = 5,
|
|
18
18
|
InvalidState = 6
|
|
19
19
|
}
|
|
20
|
+
export declare enum DsgState {
|
|
21
|
+
Uninitialized = 0,
|
|
22
|
+
Round1 = 1,
|
|
23
|
+
Round2 = 2,
|
|
24
|
+
Round3 = 3,
|
|
25
|
+
Round4 = 4,
|
|
26
|
+
Complete = 5,
|
|
27
|
+
InvalidState = 6
|
|
28
|
+
}
|
|
20
29
|
export declare type AuthEncMessage = {
|
|
21
30
|
encryptedMessage: string;
|
|
22
31
|
signature: string;
|
|
@@ -29,6 +38,10 @@ export declare type PartyGpgKey = {
|
|
|
29
38
|
partyId: number;
|
|
30
39
|
gpgKey: string;
|
|
31
40
|
};
|
|
41
|
+
export declare type DklsSignature = {
|
|
42
|
+
R: Uint8Array;
|
|
43
|
+
S: Uint8Array;
|
|
44
|
+
};
|
|
32
45
|
export declare type SerializedBroadcastMessage = BroadcastMessage<string>;
|
|
33
46
|
export declare type DeserializedBroadcastMessage = BroadcastMessage<Uint8Array>;
|
|
34
47
|
export declare type SerializedP2PMessage = P2PMessage<string, string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/tss/ecdsa-dkls/types.ts"],"names":[],"mappings":"AACA,UAAU,gBAAgB,CAAC,CAAC;IAC1B,OAAO,EAAE,CAAC,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAGD,UAAU,UAAU,CAAC,CAAC,EAAE,CAAC;IACvB,OAAO,EAAE,CAAC,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,CAAC,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,oBAAY,QAAQ;IAClB,aAAa,IAAI;IACjB,MAAM,IAAA;IACN,MAAM,IAAA;IACN,MAAM,IAAA;IACN,MAAM,IAAA;IACN,QAAQ,IAAA;IACR,YAAY,IAAA;CACb;AAED,oBAAY,cAAc,GAAG;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AACF,oBAAY,WAAW,GAAG;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AACF,oBAAY,WAAW,GAAG;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AACF,oBAAY,0BAA0B,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAClE,oBAAY,4BAA4B,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;AACxE,oBAAY,oBAAoB,GAAG,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC9D,oBAAY,sBAAsB,GAAG,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;AACxE,oBAAY,iBAAiB,GAAG,UAAU,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;AACnE,oBAAY,oBAAoB,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;AACjE,oBAAY,kBAAkB,GAAG;IAC/B,WAAW,EAAE,oBAAoB,EAAE,CAAC;IACpC,iBAAiB,EAAE,0BAA0B,EAAE,CAAC;CACjD,CAAC;AACF,oBAAY,eAAe,GAAG;IAC5B,WAAW,EAAE,iBAAiB,EAAE,CAAC;IACjC,iBAAiB,EAAE,oBAAoB,EAAE,CAAC;CAC3C,CAAC;AACF,oBAAY,oBAAoB,GAAG;IACjC,WAAW,EAAE,sBAAsB,EAAE,CAAC;IACtC,iBAAiB,EAAE,4BAA4B,EAAE,CAAC;CACnD,CAAC;AAEF;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,kBAAkB,CAiBpF;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,oBAAoB,CAiBtF"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/tss/ecdsa-dkls/types.ts"],"names":[],"mappings":"AACA,UAAU,gBAAgB,CAAC,CAAC;IAC1B,OAAO,EAAE,CAAC,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAGD,UAAU,UAAU,CAAC,CAAC,EAAE,CAAC;IACvB,OAAO,EAAE,CAAC,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,CAAC,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,oBAAY,QAAQ;IAClB,aAAa,IAAI;IACjB,MAAM,IAAA;IACN,MAAM,IAAA;IACN,MAAM,IAAA;IACN,MAAM,IAAA;IACN,QAAQ,IAAA;IACR,YAAY,IAAA;CACb;AAED,oBAAY,QAAQ;IAClB,aAAa,IAAI;IACjB,MAAM,IAAA;IACN,MAAM,IAAA;IACN,MAAM,IAAA;IACN,MAAM,IAAA;IACN,QAAQ,IAAA;IACR,YAAY,IAAA;CACb;AAED,oBAAY,cAAc,GAAG;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AACF,oBAAY,WAAW,GAAG;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AACF,oBAAY,WAAW,GAAG;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AACF,oBAAY,aAAa,GAAG;IAC1B,CAAC,EAAE,UAAU,CAAC;IACd,CAAC,EAAE,UAAU,CAAC;CACf,CAAC;AACF,oBAAY,0BAA0B,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAClE,oBAAY,4BAA4B,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;AACxE,oBAAY,oBAAoB,GAAG,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC9D,oBAAY,sBAAsB,GAAG,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;AACxE,oBAAY,iBAAiB,GAAG,UAAU,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;AACnE,oBAAY,oBAAoB,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;AACjE,oBAAY,kBAAkB,GAAG;IAC/B,WAAW,EAAE,oBAAoB,EAAE,CAAC;IACpC,iBAAiB,EAAE,0BAA0B,EAAE,CAAC;CACjD,CAAC;AACF,oBAAY,eAAe,GAAG;IAC5B,WAAW,EAAE,iBAAiB,EAAE,CAAC;IACjC,iBAAiB,EAAE,oBAAoB,EAAE,CAAC;CAC3C,CAAC;AACF,oBAAY,oBAAoB,GAAG;IACjC,WAAW,EAAE,sBAAsB,EAAE,CAAC;IACtC,iBAAiB,EAAE,4BAA4B,EAAE,CAAC;CACnD,CAAC;AAEF;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,kBAAkB,CAiBpF;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,oBAAoB,CAiBtF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.deserializeMessages = exports.serializeMessages = exports.DkgState = void 0;
|
|
3
|
+
exports.deserializeMessages = exports.serializeMessages = exports.DsgState = exports.DkgState = void 0;
|
|
4
4
|
var DkgState;
|
|
5
5
|
(function (DkgState) {
|
|
6
6
|
DkgState[DkgState["Uninitialized"] = 0] = "Uninitialized";
|
|
@@ -11,6 +11,16 @@ var DkgState;
|
|
|
11
11
|
DkgState[DkgState["Complete"] = 5] = "Complete";
|
|
12
12
|
DkgState[DkgState["InvalidState"] = 6] = "InvalidState";
|
|
13
13
|
})(DkgState = exports.DkgState || (exports.DkgState = {}));
|
|
14
|
+
var DsgState;
|
|
15
|
+
(function (DsgState) {
|
|
16
|
+
DsgState[DsgState["Uninitialized"] = 0] = "Uninitialized";
|
|
17
|
+
DsgState[DsgState["Round1"] = 1] = "Round1";
|
|
18
|
+
DsgState[DsgState["Round2"] = 2] = "Round2";
|
|
19
|
+
DsgState[DsgState["Round3"] = 3] = "Round3";
|
|
20
|
+
DsgState[DsgState["Round4"] = 4] = "Round4";
|
|
21
|
+
DsgState[DsgState["Complete"] = 5] = "Complete";
|
|
22
|
+
DsgState[DsgState["InvalidState"] = 6] = "InvalidState";
|
|
23
|
+
})(DsgState = exports.DsgState || (exports.DsgState = {}));
|
|
14
24
|
/**
|
|
15
25
|
* Serializes messages payloads to base64 strings.
|
|
16
26
|
* @param messages
|
|
@@ -57,4 +67,4 @@ function deserializeMessages(messages) {
|
|
|
57
67
|
};
|
|
58
68
|
}
|
|
59
69
|
exports.deserializeMessages = deserializeMessages;
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdHNzL2VjZHNhLWRrbHMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBY0EsSUFBWSxRQVFYO0FBUkQsV0FBWSxRQUFRO0lBQ2xCLHlEQUFpQixDQUFBO0lBQ2pCLDJDQUFNLENBQUE7SUFDTiwyQ0FBTSxDQUFBO0lBQ04sMkNBQU0sQ0FBQTtJQUNOLDJDQUFNLENBQUE7SUFDTiwrQ0FBUSxDQUFBO0lBQ1IsdURBQVksQ0FBQTtBQUNkLENBQUMsRUFSVyxRQUFRLEdBQVIsZ0JBQVEsS0FBUixnQkFBUSxRQVFuQjtBQUVELElBQVksUUFRWDtBQVJELFdBQVksUUFBUTtJQUNsQix5REFBaUIsQ0FBQTtJQUNqQiwyQ0FBTSxDQUFBO0lBQ04sMkNBQU0sQ0FBQTtJQUNOLDJDQUFNLENBQUE7SUFDTiwyQ0FBTSxDQUFBO0lBQ04sK0NBQVEsQ0FBQTtJQUNSLHVEQUFZLENBQUE7QUFDZCxDQUFDLEVBUlcsUUFBUSxHQUFSLGdCQUFRLEtBQVIsZ0JBQVEsUUFRbkI7QUFxQ0Q7OztHQUdHO0FBQ0gsU0FBZ0IsaUJBQWlCLENBQUMsUUFBOEI7SUFDOUQsT0FBTztRQUNMLFdBQVcsRUFBRSxRQUFRLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQzFDLE9BQU87Z0JBQ0wsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFO2dCQUNSLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSTtnQkFDWixPQUFPLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztnQkFDbEQsVUFBVSxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVU7YUFDdkYsQ0FBQztRQUNKLENBQUMsQ0FBQztRQUNGLGlCQUFpQixFQUFFLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN0RCxPQUFPO2dCQUNMLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSTtnQkFDWixPQUFPLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQzthQUNuRCxDQUFDO1FBQ0osQ0FBQyxDQUFDO0tBQ0gsQ0FBQztBQUNKLENBQUM7QUFqQkQsOENBaUJDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBZ0IsbUJBQW1CLENBQUMsUUFBNEI7SUFDOUQsT0FBTztRQUNMLFdBQVcsRUFBRSxRQUFRLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQzFDLE9BQU87Z0JBQ0wsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFO2dCQUNSLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSTtnQkFDWixPQUFPLEVBQUUsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUN6RCxVQUFVLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7YUFDM0YsQ0FBQztRQUNKLENBQUMsQ0FBQztRQUNGLGlCQUFpQixFQUFFLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN0RCxPQUFPO2dCQUNMLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSTtnQkFDWixPQUFPLEVBQUUsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2FBQzFELENBQUM7UUFDSixDQUFDLENBQUM7S0FDSCxDQUFDO0FBQ0osQ0FBQztBQWpCRCxrREFpQkMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBCcm9hZGNhc3QgbWVzc2FnZSBtZWFudCB0byBiZSBzZW50IHRvIG11bHRpcGxlIHBhcnRpZXNcbmludGVyZmFjZSBCcm9hZGNhc3RNZXNzYWdlPFQ+IHtcbiAgcGF5bG9hZDogVDtcbiAgZnJvbTogbnVtYmVyO1xufVxuXG4vLyBQMlAgbWVzc2FnZSBtZWFudCB0byBiZSBzZW50IHRvIGEgc3BlY2lmaWMgcGFydHlcbmludGVyZmFjZSBQMlBNZXNzYWdlPFQsIEc+IHtcbiAgcGF5bG9hZDogVDtcbiAgZnJvbTogbnVtYmVyO1xuICBjb21taXRtZW50PzogRztcbiAgdG86IG51bWJlcjtcbn1cblxuZXhwb3J0IGVudW0gRGtnU3RhdGUge1xuICBVbmluaXRpYWxpemVkID0gMCxcbiAgUm91bmQxLFxuICBSb3VuZDIsXG4gIFJvdW5kMyxcbiAgUm91bmQ0LFxuICBDb21wbGV0ZSxcbiAgSW52YWxpZFN0YXRlLFxufVxuXG5leHBvcnQgZW51bSBEc2dTdGF0ZSB7XG4gIFVuaW5pdGlhbGl6ZWQgPSAwLFxuICBSb3VuZDEsXG4gIFJvdW5kMixcbiAgUm91bmQzLFxuICBSb3VuZDQsXG4gIENvbXBsZXRlLFxuICBJbnZhbGlkU3RhdGUsXG59XG5cbmV4cG9ydCB0eXBlIEF1dGhFbmNNZXNzYWdlID0ge1xuICBlbmNyeXB0ZWRNZXNzYWdlOiBzdHJpbmc7XG4gIHNpZ25hdHVyZTogc3RyaW5nO1xufTtcbmV4cG9ydCB0eXBlIEF1dGhNZXNzYWdlID0ge1xuICBtZXNzYWdlOiBzdHJpbmc7XG4gIHNpZ25hdHVyZTogc3RyaW5nO1xufTtcbmV4cG9ydCB0eXBlIFBhcnR5R3BnS2V5ID0ge1xuICBwYXJ0eUlkOiBudW1iZXI7XG4gIGdwZ0tleTogc3RyaW5nO1xufTtcbmV4cG9ydCB0eXBlIERrbHNTaWduYXR1cmUgPSB7XG4gIFI6IFVpbnQ4QXJyYXk7XG4gIFM6IFVpbnQ4QXJyYXk7XG59O1xuZXhwb3J0IHR5cGUgU2VyaWFsaXplZEJyb2FkY2FzdE1lc3NhZ2UgPSBCcm9hZGNhc3RNZXNzYWdlPHN0cmluZz47XG5leHBvcnQgdHlwZSBEZXNlcmlhbGl6ZWRCcm9hZGNhc3RNZXNzYWdlID0gQnJvYWRjYXN0TWVzc2FnZTxVaW50OEFycmF5PjtcbmV4cG9ydCB0eXBlIFNlcmlhbGl6ZWRQMlBNZXNzYWdlID0gUDJQTWVzc2FnZTxzdHJpbmcsIHN0cmluZz47XG5leHBvcnQgdHlwZSBEZXNlcmlhbGl6ZWRQMlBNZXNzYWdlID0gUDJQTWVzc2FnZTxVaW50OEFycmF5LCBVaW50OEFycmF5PjtcbmV4cG9ydCB0eXBlIEF1dGhFbmNQMlBNZXNzYWdlID0gUDJQTWVzc2FnZTxBdXRoRW5jTWVzc2FnZSwgc3RyaW5nPjtcbmV4cG9ydCB0eXBlIEF1dGhCcm9hZGNhc3RNZXNzYWdlID0gQnJvYWRjYXN0TWVzc2FnZTxBdXRoTWVzc2FnZT47XG5leHBvcnQgdHlwZSBTZXJpYWxpemVkTWVzc2FnZXMgPSB7XG4gIHAycE1lc3NhZ2VzOiBTZXJpYWxpemVkUDJQTWVzc2FnZVtdO1xuICBicm9hZGNhc3RNZXNzYWdlczogU2VyaWFsaXplZEJyb2FkY2FzdE1lc3NhZ2VbXTtcbn07XG5leHBvcnQgdHlwZSBBdXRoRW5jTWVzc2FnZXMgPSB7XG4gIHAycE1lc3NhZ2VzOiBBdXRoRW5jUDJQTWVzc2FnZVtdO1xuICBicm9hZGNhc3RNZXNzYWdlczogQXV0aEJyb2FkY2FzdE1lc3NhZ2VbXTtcbn07XG5leHBvcnQgdHlwZSBEZXNlcmlhbGl6ZWRNZXNzYWdlcyA9IHtcbiAgcDJwTWVzc2FnZXM6IERlc2VyaWFsaXplZFAyUE1lc3NhZ2VbXTtcbiAgYnJvYWRjYXN0TWVzc2FnZXM6IERlc2VyaWFsaXplZEJyb2FkY2FzdE1lc3NhZ2VbXTtcbn07XG5cbi8qKlxuICogU2VyaWFsaXplcyBtZXNzYWdlcyBwYXlsb2FkcyB0byBiYXNlNjQgc3RyaW5ncy5cbiAqIEBwYXJhbSBtZXNzYWdlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gc2VyaWFsaXplTWVzc2FnZXMobWVzc2FnZXM6IERlc2VyaWFsaXplZE1lc3NhZ2VzKTogU2VyaWFsaXplZE1lc3NhZ2VzIHtcbiAgcmV0dXJuIHtcbiAgICBwMnBNZXNzYWdlczogbWVzc2FnZXMucDJwTWVzc2FnZXMubWFwKChtKSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0bzogbS50byxcbiAgICAgICAgZnJvbTogbS5mcm9tLFxuICAgICAgICBwYXlsb2FkOiBCdWZmZXIuZnJvbShtLnBheWxvYWQpLnRvU3RyaW5nKCdiYXNlNjQnKSxcbiAgICAgICAgY29tbWl0bWVudDogbS5jb21taXRtZW50ID8gQnVmZmVyLmZyb20obS5jb21taXRtZW50KS50b1N0cmluZygnYmFzZTY0JykgOiBtLmNvbW1pdG1lbnQsXG4gICAgICB9O1xuICAgIH0pLFxuICAgIGJyb2FkY2FzdE1lc3NhZ2VzOiBtZXNzYWdlcy5icm9hZGNhc3RNZXNzYWdlcy5tYXAoKG0pID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGZyb206IG0uZnJvbSxcbiAgICAgICAgcGF5bG9hZDogQnVmZmVyLmZyb20obS5wYXlsb2FkKS50b1N0cmluZygnYmFzZTY0JyksXG4gICAgICB9O1xuICAgIH0pLFxuICB9O1xufVxuXG4vKipcbiAqIERlc3JpYWxpemVzIG1lc3NhZ2VzIHBheWxvYWRzIHRvIFVpbnQ4QXJyYXkuXG4gKiBAcGFyYW0gbWVzc2FnZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlc2VyaWFsaXplTWVzc2FnZXMobWVzc2FnZXM6IFNlcmlhbGl6ZWRNZXNzYWdlcyk6IERlc2VyaWFsaXplZE1lc3NhZ2VzIHtcbiAgcmV0dXJuIHtcbiAgICBwMnBNZXNzYWdlczogbWVzc2FnZXMucDJwTWVzc2FnZXMubWFwKChtKSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0bzogbS50byxcbiAgICAgICAgZnJvbTogbS5mcm9tLFxuICAgICAgICBwYXlsb2FkOiBuZXcgVWludDhBcnJheShCdWZmZXIuZnJvbShtLnBheWxvYWQsICdiYXNlNjQnKSksXG4gICAgICAgIGNvbW1pdG1lbnQ6IG0uY29tbWl0bWVudCA/IG5ldyBVaW50OEFycmF5KEJ1ZmZlci5mcm9tKG0uY29tbWl0bWVudCwgJ2Jhc2U2NCcpKSA6IHVuZGVmaW5lZCxcbiAgICAgIH07XG4gICAgfSksXG4gICAgYnJvYWRjYXN0TWVzc2FnZXM6IG1lc3NhZ2VzLmJyb2FkY2FzdE1lc3NhZ2VzLm1hcCgobSkgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZnJvbTogbS5mcm9tLFxuICAgICAgICBwYXlsb2FkOiBuZXcgVWludDhBcnJheShCdWZmZXIuZnJvbShtLnBheWxvYWQsICdiYXNlNjQnKSksXG4gICAgICB9O1xuICAgIH0pLFxuICB9O1xufVxuIl19
|
package/dist/src/tss/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tss/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tss/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC"}
|
package/dist/src/tss/index.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -11,4 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
11
15
|
};
|
|
12
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
17
|
__exportStar(require("./ecdsa"), exports);
|
|
14
|
-
|
|
18
|
+
__exportStar(require("./ecdsa-dkls"), exports);
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHNzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwwQ0FBd0I7QUFDeEIsK0NBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9lY2RzYSc7XG5leHBvcnQgKiBmcm9tICcuL2VjZHNhLWRrbHMnO1xuIl19
|
package/dist/src/util.js
CHANGED
|
@@ -111,8 +111,8 @@ exports.getPaillierPublicKey = getPaillierPublicKey;
|
|
|
111
111
|
*/
|
|
112
112
|
async function randomPositiveCoPrimeTo(x) {
|
|
113
113
|
while (true) {
|
|
114
|
-
const y = await randomBigInt(bigint_crypto_utils_1.bitLength(x));
|
|
115
|
-
if (y > BigInt(0) && bigint_mod_arith_1.gcd(x, y) === BigInt(1)) {
|
|
114
|
+
const y = await randomBigInt((0, bigint_crypto_utils_1.bitLength)(x));
|
|
115
|
+
if (y > BigInt(0) && (0, bigint_mod_arith_1.gcd)(x, y) === BigInt(1)) {
|
|
116
116
|
return y;
|
|
117
117
|
}
|
|
118
118
|
}
|
|
@@ -128,8 +128,8 @@ async function randomPositiveCoPrimeLessThan(x) {
|
|
|
128
128
|
throw new Error('x must be larger than 2');
|
|
129
129
|
}
|
|
130
130
|
while (true) {
|
|
131
|
-
const y = await randomBigInt(bigint_crypto_utils_1.bitLength(x));
|
|
132
|
-
if (y > BigInt(0) && y < x && bigint_mod_arith_1.gcd(x, y) === BigInt(1)) {
|
|
131
|
+
const y = await randomBigInt((0, bigint_crypto_utils_1.bitLength)(x));
|
|
132
|
+
if (y > BigInt(0) && y < x && (0, bigint_mod_arith_1.gcd)(x, y) === BigInt(1)) {
|
|
133
133
|
return y;
|
|
134
134
|
}
|
|
135
135
|
}
|
|
@@ -141,7 +141,7 @@ exports.randomPositiveCoPrimeLessThan = randomPositiveCoPrimeLessThan;
|
|
|
141
141
|
* @returns {Promise<bigint>}
|
|
142
142
|
*/
|
|
143
143
|
async function randomBigInt(bitlength) {
|
|
144
|
-
return bigIntFromBufferBE(Buffer.from(await bigint_crypto_utils_1.randBits(bitlength, true)));
|
|
144
|
+
return bigIntFromBufferBE(Buffer.from(await (0, bigint_crypto_utils_1.randBits)(bitlength, true)));
|
|
145
145
|
}
|
|
146
146
|
exports.randomBigInt = randomBigInt;
|
|
147
147
|
/**
|
|
@@ -162,4 +162,4 @@ exports.getDerivationPath = getDerivationPath;
|
|
|
162
162
|
function sha256(input) {
|
|
163
163
|
return crypto_1.default.createHash('sha256').update(input).digest();
|
|
164
164
|
}
|
|
165
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHFEQUE0QztBQUM1Qyw2REFBMEQ7QUFDMUQsdURBQXVDO0FBQ3ZDLG9EQUE0QjtBQUU1Qjs7O0dBR0c7QUFDSCxTQUFnQix3QkFBd0IsQ0FBQyxNQUFnQjtJQUN2RCxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtRQUMxQixPQUFPLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFKRCw0REFJQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQix3QkFBd0IsQ0FBQyxNQUFnQixFQUFFLFNBQWtCO0lBQzNFLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQzFCLE9BQU8sV0FBVyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztJQUN2QyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFKRCw0REFJQztBQUVELFNBQWdCLFdBQVcsQ0FBQyxHQUFXO0lBQ3JDLCtEQUErRDtJQUMvRCw0REFBNEQ7SUFDNUQsOERBQThEO0lBQzlELG1EQUFtRDtJQUNuRCxtQkFBbUI7SUFDbkIsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUU7UUFDNUIsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7S0FDcEI7SUFDRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7QUFDNUIsQ0FBQztBQVZELGtDQVVDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsU0FBZ0IsV0FBVyxDQUFDLE1BQWMsRUFBRSxTQUFrQjtJQUM1RCxJQUFJLEdBQUcsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzlC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OztHQUlHO0FBQ0gsU0FBZ0IsaUJBQWlCLENBQUMsSUFBWSxFQUFFLFFBQVEsR0FBRyxJQUFJO0lBQzdELE1BQU0sbUJBQW1CLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEUsTUFBTSxtQkFBbUIsR0FBRztRQUMxQixRQUFRLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDN0MsUUFBUSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO0tBQy9DLENBQUM7SUFDRixNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3BDLE9BQU8sTUFBTSxHQUFHLFNBQVMsR0FBRyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDNUQsQ0FBQztBQVJELDhDQVFDO0FBRUQsU0FBUyxNQUFNLENBQUMsS0FBd0I7SUFDdEMsT0FBTyxnQkFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7QUFDNUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFB1YmxpY0tleSB9IGZyb20gJ3BhaWxsaWVyLWJpZ2ludCc7XG5pbXBvcnQgeyBiaXRMZW5ndGgsIHJhbmRCaXRzIH0gZnJvbSAnYmlnaW50LWNyeXB0by11dGlscyc7XG5pbXBvcnQgeyBnY2QgfSBmcm9tICdiaWdpbnQtbW9kLWFyaXRoJztcbmltcG9ydCBjcnlwdG8gZnJvbSAnY3J5cHRvJztcblxuLyoqXG4gKiBSZXR1cm5zIGEgYmlnaW50IGFycmF5IGZyb20gYSBoZXggc3RyaW5nIGFycmF5XG4gKiBAcGFyYW0gdmFsdWVzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0SGV4QXJyVG9CaWdJbnRBcnIodmFsdWVzOiBzdHJpbmdbXSk6IGJpZ2ludFtdIHtcbiAgcmV0dXJuIHZhbHVlcy5tYXAoKHZhbHVlKSA9PiB7XG4gICAgcmV0dXJuIGhleFRvQmlnSW50KHZhbHVlKTtcbiAgfSk7XG59XG5cbi8qKlxuICogUmV0dXJucyBhIGhleCBzdHJpbmcgYXJyYXkgZnJvbSBhIGJpZ2ludCBhcnJheVxuICogQHBhcmFtIHZhbHVlc1xuICogQHBhcmFtIGhleExlbmd0aCAtIGxlbmd0aCB0byBwYWQgZWFjaCBiaWcgaW50IG51bWJlciB0b29cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRCaWdJbnRBcnJUb0hleEFycih2YWx1ZXM6IGJpZ2ludFtdLCBoZXhMZW5ndGg/OiBudW1iZXIpOiBzdHJpbmdbXSB7XG4gIHJldHVybiB2YWx1ZXMubWFwKCh2YWx1ZSkgPT4ge1xuICAgIHJldHVybiBiaWdJbnRUb0hleCh2YWx1ZSwgaGV4TGVuZ3RoKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoZXhUb0JpZ0ludChoZXg6IHN0cmluZyk6IGJpZ2ludCB7XG4gIC8vIFN0cmFuZ2VseSBiaWdpbnQudG9TdHJpbmcoMTYpIGdpdmVzIGEgaGV4IHN0cmluZyB3aXRob3V0IDB4LFxuICAvLyBidXQgaXQgd29uJ3QgYWNjZXB0IHRoZSBzYW1lIHN0cmluZyB3aXRob3V0IDB4IHRvIGNvbnZlcnRcbiAgLy8gdG8gYSBiaWdpbnQgKEJpZ0ludChoZXggc3RyaW5nKSkuIFNvIGhhdmUgdG8gaW50cm9kdWNlIHRoaXNcbiAgLy8gY2hlY2sgdG8gY29udmVydCB0byBhZGQgMHggaW4gY2FzZSBpZiBoZXggc3RyaW5nXG4gIC8vIGRvZXNuJ3QgaGF2ZSBpdC5cbiAgaWYgKGhleC5zbGljZSgwLCAyKSA9PT0gJzB4Jykge1xuICAgIHJldHVybiBCaWdJbnQoaGV4KTtcbiAgfVxuICByZXR1cm4gQmlnSW50KCcweCcgKyBoZXgpO1xufVxuXG4vKipcbiAqIFJldHVybnMgYW4gaGV4IHN0cmluZyBvZiB0aGUgZ2l2ZW4gYmlnaW50XG4gKlxuICogQHBhcmFtIHtiaWdpbnR9IGJpZ2ludCAtIHRoZSBiaWdpbnQgdG8gYmUgY29udmVydGVkIHRvIGhleFxuICogQHBhcmFtIGhleExlbmd0aFxuICogQHJldHVybnMge3N0cmluZ30gLSB0aGUgaGV4IHZhbHVlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBiaWdJbnRUb0hleChiaWdpbnQ6IGJpZ2ludCwgaGV4TGVuZ3RoPzogbnVtYmVyKTogc3RyaW5nIHtcbiAgbGV0IGhleCA9IGJpZ2ludC50b1N0cmluZygxNik7XG4gIGhleCA9ICcwJy5zbGljZSgwLCBoZXgubGVuZ3RoICUgMikgKyBoZXg7XG4gIGlmIChoZXhMZW5ndGgpIHtcbiAgICBoZXggPSBoZXgucGFkU3RhcnQoaGV4TGVuZ3RoLCAnMCcpO1xuICB9XG4gIHJldHVybiBoZXg7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBiaWdJbnRUb0J1ZmZlckxFKG46IGJpZ2ludCwgbWluQnl0ZXM/OiBudW1iZXIpOiBCdWZmZXIge1xuICBsZXQgdiA9IG4udG9TdHJpbmcoMTYpO1xuICB2ID0gJzAnLnNsaWNlKDAsIHYubGVuZ3RoICUgMikgKyB2O1xuICBjb25zdCBidWYgPSBCdWZmZXIuZnJvbSh2LCAnaGV4JykucmV2ZXJzZSgpO1xuICBpZiAobWluQnl0ZXMgJiYgYnVmLmxlbmd0aCA8IG1pbkJ5dGVzKSB7XG4gICAgcmV0dXJuIEJ1ZmZlci5jb25jYXQoW2J1ZiwgQnVmZmVyLmFsbG9jKG1pbkJ5dGVzIC0gYnVmLmxlbmd0aCldKTtcbiAgfVxuICByZXR1cm4gYnVmO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYmlnSW50RnJvbUJ1ZmZlckxFKGJ1ZjogQnVmZmVyKTogYmlnaW50IHtcbiAgcmV0dXJuIEJpZ0ludCgnMHgnICsgQnVmZmVyLmZyb20oYnVmKS5yZXZlcnNlKCkudG9TdHJpbmcoJ2hleCcpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJpZ0ludFRvQnVmZmVyQkUobjogYmlnaW50LCBtaW5CeXRlcz86IG51bWJlcik6IEJ1ZmZlciB7XG4gIGxldCB2ID0gbi50b1N0cmluZygxNik7XG4gIHYgPSAnMCcuc2xpY2UoMCwgdi5sZW5ndGggJSAyKSArIHY7XG4gIGNvbnN0IGJ1ZiA9IEJ1ZmZlci5mcm9tKHYsICdoZXgnKTtcbiAgaWYgKG1pbkJ5dGVzICYmIGJ1Zi5sZW5ndGggPCBtaW5CeXRlcykge1xuICAgIHJldHVybiBCdWZmZXIuY29uY2F0KFtCdWZmZXIuYWxsb2MobWluQnl0ZXMgLSBidWYubGVuZ3RoKSwgYnVmXSk7XG4gIH1cbiAgcmV0dXJuIGJ1Zjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJpZ0ludEZyb21CdWZmZXJCRShidWY6IEJ1ZmZlcik6IGJpZ2ludCB7XG4gIHJldHVybiBCaWdJbnQoJzB4JyArIGJ1Zi50b1N0cmluZygnaGV4JykpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYmlnSW50RnJvbVU4QUJFKGJ1ZjogVWludDhBcnJheSk6IGJpZ2ludCB7XG4gIHJldHVybiBiaWdJbnRGcm9tQnVmZmVyQkUoQnVmZmVyLmZyb20oYnVmKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGFtcCh1OiBiaWdpbnQpOiBiaWdpbnQge1xuICB1ICY9IEJpZ0ludCgnMHg3ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY4Jyk7XG4gIHUgfD0gQmlnSW50KCcweDQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnKTtcbiAgcmV0dXJuIHU7XG59XG5cbi8qKlxuICogRnVuY3Rpb24gZ2V0IHBhaWxsaWVyIHB1YmxpYyBrZXkgc2ltcGxlIHZhcmllbnRcbiAqIEBwYXJhbSB7YmlnaW50fSBuXG4gKiBAcmV0dXJucyB7YmlnaW50fVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UGFpbGxpZXJQdWJsaWNLZXkobjogYmlnaW50KTogUHVibGljS2V5IHtcbiAgcmV0dXJuIG5ldyBQdWJsaWNLZXkobiwgbiArIEJpZ0ludCgxKSk7XG59XG5cbi8qKlxuICogR2VuZXJhdGUgYSByYW5kb20gcG9zaXRpdmUgaW50ZWdlciBjby1wcmltZSB0byB4XG4gKiBAcGFyYW0geFxuICogQHJldHVybnMge1Byb21pc2U8YmlnaW50Pn1cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJhbmRvbVBvc2l0aXZlQ29QcmltZVRvKHg6IGJpZ2ludCk6IFByb21pc2U8YmlnaW50PiB7XG4gIHdoaWxlICh0cnVlKSB7XG4gICAgY29uc3QgeSA9IGF3YWl0IHJhbmRvbUJpZ0ludChiaXRMZW5ndGgoeCkpO1xuICAgIGlmICh5ID4gQmlnSW50KDApICYmIGdjZCh4LCB5KSA9PT0gQmlnSW50KDEpKSB7XG4gICAgICByZXR1cm4geTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBHZW5lcmF0ZSBhIHJhbmRvbSBwb3NpdGl2ZSBpbnRlZ2VyIGNvcHJpbWUgbGVzcyB0aGFuIHggd2l0aCB0aGUgc2FtZSBiaXQgZGVwdGguXG4gKiBAcGFyYW0geFxuICogQHJldHVybnMge1Byb21pc2U8YmlnaW50Pn1cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJhbmRvbVBvc2l0aXZlQ29QcmltZUxlc3NUaGFuKHg6IGJpZ2ludCk6IFByb21pc2U8YmlnaW50PiB7XG4gIGlmICh4IDw9IEJpZ0ludCgyKSkge1xuICAgIHRocm93IG5ldyBFcnJvcigneCBtdXN0IGJlIGxhcmdlciB0aGFuIDInKTtcbiAgfVxuICB3aGlsZSAodHJ1ZSkge1xuICAgIGNvbnN0IHkgPSBhd2FpdCByYW5kb21CaWdJbnQoYml0TGVuZ3RoKHgpKTtcbiAgICBpZiAoeSA+IEJpZ0ludCgwKSAmJiB5IDwgeCAmJiBnY2QoeCwgeSkgPT09IEJpZ0ludCgxKSkge1xuICAgICAgcmV0dXJuIHk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogR2VuZXJhdGUgYSByYW5kb20gbnVtYmVyIG9mIGEgZ2l2ZW4gYml0bGVuZ3RoXG4gKiBAcGFyYW0gYml0bGVuZ3RoXG4gKiBAcmV0dXJucyB7UHJvbWlzZTxiaWdpbnQ+fVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmFuZG9tQmlnSW50KGJpdGxlbmd0aDogbnVtYmVyKTogUHJvbWlzZTxiaWdpbnQ+IHtcbiAgcmV0dXJuIGJpZ0ludEZyb21CdWZmZXJCRShCdWZmZXIuZnJvbShhd2FpdCByYW5kQml0cyhiaXRsZW5ndGgsIHRydWUpKSk7XG59XG5cbi8qKlxuICogQHBhcmFtIHNlZWQgLSB1c2VkIHRvIGNvbnN0cnVjdCBkZXJpdmF0aW9uIHBhdGggZGV0ZXJtaW5pc3RpY2FsbHlcbiAqIEBwYXJhbSBpc01hc3RlciAtIGlmIHNldCwgcGF0aCBzdGFydHMgd2l0aCBwcmVmaXggYG0vYFxuICogQHJldHVybiBwYXRoIGAobS8pLzk5OTk5OS9hL2JgIHdoZXJlIGBhYCBhbmQgYGJgIGFyZSA3LWJ5dGUgcHNldWRvcmFuZG9tIG51bWJlcnMgYmFzZWQgb24gc2VlZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGVyaXZhdGlvblBhdGgoc2VlZDogc3RyaW5nLCBpc01hc3RlciA9IHRydWUpOiBzdHJpbmcge1xuICBjb25zdCBkZXJpdmF0aW9uUGF0aElucHV0ID0gc2hhMjU2KHNoYTI1NihgJHtzZWVkfWApKS50b1N0cmluZygnaGV4Jyk7XG4gIGNvbnN0IGRlcml2YXRpb25QYXRoUGFydHMgPSBbXG4gICAgcGFyc2VJbnQoZGVyaXZhdGlvblBhdGhJbnB1dC5zbGljZSgwLCA3KSwgMTYpLFxuICAgIHBhcnNlSW50KGRlcml2YXRpb25QYXRoSW5wdXQuc2xpY2UoNywgMTQpLCAxNiksXG4gIF07XG4gIGNvbnN0IHByZWZpeCA9IGlzTWFzdGVyID8gJ20vJyA6ICcnO1xuICByZXR1cm4gcHJlZml4ICsgJzk5OTk5OS8nICsgZGVyaXZhdGlvblBhdGhQYXJ0cy5qb2luKCcvJyk7XG59XG5cbmZ1bmN0aW9uIHNoYTI1NihpbnB1dDogY3J5cHRvLkJpbmFyeUxpa2UpOiBCdWZmZXIge1xuICByZXR1cm4gY3J5cHRvLmNyZWF0ZUhhc2goJ3NoYTI1NicpLnVwZGF0ZShpbnB1dCkuZGlnZXN0KCk7XG59XG4iXX0=
|
|
165
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHFEQUE0QztBQUM1Qyw2REFBMEQ7QUFDMUQsdURBQXVDO0FBQ3ZDLG9EQUE0QjtBQUU1Qjs7O0dBR0c7QUFDSCxTQUFnQix3QkFBd0IsQ0FBQyxNQUFnQjtJQUN2RCxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtRQUMxQixPQUFPLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFKRCw0REFJQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQix3QkFBd0IsQ0FBQyxNQUFnQixFQUFFLFNBQWtCO0lBQzNFLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQzFCLE9BQU8sV0FBVyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztJQUN2QyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFKRCw0REFJQztBQUVELFNBQWdCLFdBQVcsQ0FBQyxHQUFXO0lBQ3JDLCtEQUErRDtJQUMvRCw0REFBNEQ7SUFDNUQsOERBQThEO0lBQzlELG1EQUFtRDtJQUNuRCxtQkFBbUI7SUFDbkIsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUU7UUFDNUIsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7S0FDcEI7SUFDRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7QUFDNUIsQ0FBQztBQVZELGtDQVVDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsU0FBZ0IsV0FBVyxDQUFDLE1BQWMsRUFBRSxTQUFrQjtJQUM1RCxJQUFJLEdBQUcsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzlC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MUUsQ0FBQztBQUZELG9DQUVDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQWdCLGlCQUFpQixDQUFDLElBQVksRUFBRSxRQUFRLEdBQUcsSUFBSTtJQUM3RCxNQUFNLG1CQUFtQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RFLE1BQU0sbUJBQW1CLEdBQUc7UUFDMUIsUUFBUSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQzdDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztLQUMvQyxDQUFDO0lBQ0YsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNwQyxPQUFPLE1BQU0sR0FBRyxTQUFTLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzVELENBQUM7QUFSRCw4Q0FRQztBQUVELFNBQVMsTUFBTSxDQUFDLEtBQXdCO0lBQ3RDLE9BQU8sZ0JBQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO0FBQzVELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQdWJsaWNLZXkgfSBmcm9tICdwYWlsbGllci1iaWdpbnQnO1xuaW1wb3J0IHsgYml0TGVuZ3RoLCByYW5kQml0cyB9IGZyb20gJ2JpZ2ludC1jcnlwdG8tdXRpbHMnO1xuaW1wb3J0IHsgZ2NkIH0gZnJvbSAnYmlnaW50LW1vZC1hcml0aCc7XG5pbXBvcnQgY3J5cHRvIGZyb20gJ2NyeXB0byc7XG5cbi8qKlxuICogUmV0dXJucyBhIGJpZ2ludCBhcnJheSBmcm9tIGEgaGV4IHN0cmluZyBhcnJheVxuICogQHBhcmFtIHZhbHVlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gY29udmVydEhleEFyclRvQmlnSW50QXJyKHZhbHVlczogc3RyaW5nW10pOiBiaWdpbnRbXSB7XG4gIHJldHVybiB2YWx1ZXMubWFwKCh2YWx1ZSkgPT4ge1xuICAgIHJldHVybiBoZXhUb0JpZ0ludCh2YWx1ZSk7XG4gIH0pO1xufVxuXG4vKipcbiAqIFJldHVybnMgYSBoZXggc3RyaW5nIGFycmF5IGZyb20gYSBiaWdpbnQgYXJyYXlcbiAqIEBwYXJhbSB2YWx1ZXNcbiAqIEBwYXJhbSBoZXhMZW5ndGggLSBsZW5ndGggdG8gcGFkIGVhY2ggYmlnIGludCBudW1iZXIgdG9vXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0QmlnSW50QXJyVG9IZXhBcnIodmFsdWVzOiBiaWdpbnRbXSwgaGV4TGVuZ3RoPzogbnVtYmVyKTogc3RyaW5nW10ge1xuICByZXR1cm4gdmFsdWVzLm1hcCgodmFsdWUpID0+IHtcbiAgICByZXR1cm4gYmlnSW50VG9IZXgodmFsdWUsIGhleExlbmd0aCk7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGV4VG9CaWdJbnQoaGV4OiBzdHJpbmcpOiBiaWdpbnQge1xuICAvLyBTdHJhbmdlbHkgYmlnaW50LnRvU3RyaW5nKDE2KSBnaXZlcyBhIGhleCBzdHJpbmcgd2l0aG91dCAweCxcbiAgLy8gYnV0IGl0IHdvbid0IGFjY2VwdCB0aGUgc2FtZSBzdHJpbmcgd2l0aG91dCAweCB0byBjb252ZXJ0XG4gIC8vIHRvIGEgYmlnaW50IChCaWdJbnQoaGV4IHN0cmluZykpLiBTbyBoYXZlIHRvIGludHJvZHVjZSB0aGlzXG4gIC8vIGNoZWNrIHRvIGNvbnZlcnQgdG8gYWRkIDB4IGluIGNhc2UgaWYgaGV4IHN0cmluZ1xuICAvLyBkb2Vzbid0IGhhdmUgaXQuXG4gIGlmIChoZXguc2xpY2UoMCwgMikgPT09ICcweCcpIHtcbiAgICByZXR1cm4gQmlnSW50KGhleCk7XG4gIH1cbiAgcmV0dXJuIEJpZ0ludCgnMHgnICsgaGV4KTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIGFuIGhleCBzdHJpbmcgb2YgdGhlIGdpdmVuIGJpZ2ludFxuICpcbiAqIEBwYXJhbSB7YmlnaW50fSBiaWdpbnQgLSB0aGUgYmlnaW50IHRvIGJlIGNvbnZlcnRlZCB0byBoZXhcbiAqIEBwYXJhbSBoZXhMZW5ndGhcbiAqIEByZXR1cm5zIHtzdHJpbmd9IC0gdGhlIGhleCB2YWx1ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gYmlnSW50VG9IZXgoYmlnaW50OiBiaWdpbnQsIGhleExlbmd0aD86IG51bWJlcik6IHN0cmluZyB7XG4gIGxldCBoZXggPSBiaWdpbnQudG9TdHJpbmcoMTYpO1xuICBoZXggPSAnMCcuc2xpY2UoMCwgaGV4Lmxlbmd0aCAlIDIpICsgaGV4O1xuICBpZiAoaGV4TGVuZ3RoKSB7XG4gICAgaGV4ID0gaGV4LnBhZFN0YXJ0KGhleExlbmd0aCwgJzAnKTtcbiAgfVxuICByZXR1cm4gaGV4O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYmlnSW50VG9CdWZmZXJMRShuOiBiaWdpbnQsIG1pbkJ5dGVzPzogbnVtYmVyKTogQnVmZmVyIHtcbiAgbGV0IHYgPSBuLnRvU3RyaW5nKDE2KTtcbiAgdiA9ICcwJy5zbGljZSgwLCB2Lmxlbmd0aCAlIDIpICsgdjtcbiAgY29uc3QgYnVmID0gQnVmZmVyLmZyb20odiwgJ2hleCcpLnJldmVyc2UoKTtcbiAgaWYgKG1pbkJ5dGVzICYmIGJ1Zi5sZW5ndGggPCBtaW5CeXRlcykge1xuICAgIHJldHVybiBCdWZmZXIuY29uY2F0KFtidWYsIEJ1ZmZlci5hbGxvYyhtaW5CeXRlcyAtIGJ1Zi5sZW5ndGgpXSk7XG4gIH1cbiAgcmV0dXJuIGJ1Zjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJpZ0ludEZyb21CdWZmZXJMRShidWY6IEJ1ZmZlcik6IGJpZ2ludCB7XG4gIHJldHVybiBCaWdJbnQoJzB4JyArIEJ1ZmZlci5mcm9tKGJ1ZikucmV2ZXJzZSgpLnRvU3RyaW5nKCdoZXgnKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBiaWdJbnRUb0J1ZmZlckJFKG46IGJpZ2ludCwgbWluQnl0ZXM/OiBudW1iZXIpOiBCdWZmZXIge1xuICBsZXQgdiA9IG4udG9TdHJpbmcoMTYpO1xuICB2ID0gJzAnLnNsaWNlKDAsIHYubGVuZ3RoICUgMikgKyB2O1xuICBjb25zdCBidWYgPSBCdWZmZXIuZnJvbSh2LCAnaGV4Jyk7XG4gIGlmIChtaW5CeXRlcyAmJiBidWYubGVuZ3RoIDwgbWluQnl0ZXMpIHtcbiAgICByZXR1cm4gQnVmZmVyLmNvbmNhdChbQnVmZmVyLmFsbG9jKG1pbkJ5dGVzIC0gYnVmLmxlbmd0aCksIGJ1Zl0pO1xuICB9XG4gIHJldHVybiBidWY7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBiaWdJbnRGcm9tQnVmZmVyQkUoYnVmOiBCdWZmZXIpOiBiaWdpbnQge1xuICByZXR1cm4gQmlnSW50KCcweCcgKyBidWYudG9TdHJpbmcoJ2hleCcpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJpZ0ludEZyb21VOEFCRShidWY6IFVpbnQ4QXJyYXkpOiBiaWdpbnQge1xuICByZXR1cm4gYmlnSW50RnJvbUJ1ZmZlckJFKEJ1ZmZlci5mcm9tKGJ1ZikpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xhbXAodTogYmlnaW50KTogYmlnaW50IHtcbiAgdSAmPSBCaWdJbnQoJzB4N2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmOCcpO1xuICB1IHw9IEJpZ0ludCgnMHg0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJyk7XG4gIHJldHVybiB1O1xufVxuXG4vKipcbiAqIEZ1bmN0aW9uIGdldCBwYWlsbGllciBwdWJsaWMga2V5IHNpbXBsZSB2YXJpZW50XG4gKiBAcGFyYW0ge2JpZ2ludH0gblxuICogQHJldHVybnMge2JpZ2ludH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFBhaWxsaWVyUHVibGljS2V5KG46IGJpZ2ludCk6IFB1YmxpY0tleSB7XG4gIHJldHVybiBuZXcgUHVibGljS2V5KG4sIG4gKyBCaWdJbnQoMSkpO1xufVxuXG4vKipcbiAqIEdlbmVyYXRlIGEgcmFuZG9tIHBvc2l0aXZlIGludGVnZXIgY28tcHJpbWUgdG8geFxuICogQHBhcmFtIHhcbiAqIEByZXR1cm5zIHtQcm9taXNlPGJpZ2ludD59XG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByYW5kb21Qb3NpdGl2ZUNvUHJpbWVUbyh4OiBiaWdpbnQpOiBQcm9taXNlPGJpZ2ludD4ge1xuICB3aGlsZSAodHJ1ZSkge1xuICAgIGNvbnN0IHkgPSBhd2FpdCByYW5kb21CaWdJbnQoYml0TGVuZ3RoKHgpKTtcbiAgICBpZiAoeSA+IEJpZ0ludCgwKSAmJiBnY2QoeCwgeSkgPT09IEJpZ0ludCgxKSkge1xuICAgICAgcmV0dXJuIHk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogR2VuZXJhdGUgYSByYW5kb20gcG9zaXRpdmUgaW50ZWdlciBjb3ByaW1lIGxlc3MgdGhhbiB4IHdpdGggdGhlIHNhbWUgYml0IGRlcHRoLlxuICogQHBhcmFtIHhcbiAqIEByZXR1cm5zIHtQcm9taXNlPGJpZ2ludD59XG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByYW5kb21Qb3NpdGl2ZUNvUHJpbWVMZXNzVGhhbih4OiBiaWdpbnQpOiBQcm9taXNlPGJpZ2ludD4ge1xuICBpZiAoeCA8PSBCaWdJbnQoMikpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3ggbXVzdCBiZSBsYXJnZXIgdGhhbiAyJyk7XG4gIH1cbiAgd2hpbGUgKHRydWUpIHtcbiAgICBjb25zdCB5ID0gYXdhaXQgcmFuZG9tQmlnSW50KGJpdExlbmd0aCh4KSk7XG4gICAgaWYgKHkgPiBCaWdJbnQoMCkgJiYgeSA8IHggJiYgZ2NkKHgsIHkpID09PSBCaWdJbnQoMSkpIHtcbiAgICAgIHJldHVybiB5O1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIEdlbmVyYXRlIGEgcmFuZG9tIG51bWJlciBvZiBhIGdpdmVuIGJpdGxlbmd0aFxuICogQHBhcmFtIGJpdGxlbmd0aFxuICogQHJldHVybnMge1Byb21pc2U8YmlnaW50Pn1cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJhbmRvbUJpZ0ludChiaXRsZW5ndGg6IG51bWJlcik6IFByb21pc2U8YmlnaW50PiB7XG4gIHJldHVybiBiaWdJbnRGcm9tQnVmZmVyQkUoQnVmZmVyLmZyb20oYXdhaXQgcmFuZEJpdHMoYml0bGVuZ3RoLCB0cnVlKSkpO1xufVxuXG4vKipcbiAqIEBwYXJhbSBzZWVkIC0gdXNlZCB0byBjb25zdHJ1Y3QgZGVyaXZhdGlvbiBwYXRoIGRldGVybWluaXN0aWNhbGx5XG4gKiBAcGFyYW0gaXNNYXN0ZXIgLSBpZiBzZXQsIHBhdGggc3RhcnRzIHdpdGggcHJlZml4IGBtL2BcbiAqIEByZXR1cm4gcGF0aCBgKG0vKS85OTk5OTkvYS9iYCB3aGVyZSBgYWAgYW5kIGBiYCBhcmUgNy1ieXRlIHBzZXVkb3JhbmRvbSBudW1iZXJzIGJhc2VkIG9uIHNlZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldERlcml2YXRpb25QYXRoKHNlZWQ6IHN0cmluZywgaXNNYXN0ZXIgPSB0cnVlKTogc3RyaW5nIHtcbiAgY29uc3QgZGVyaXZhdGlvblBhdGhJbnB1dCA9IHNoYTI1NihzaGEyNTYoYCR7c2VlZH1gKSkudG9TdHJpbmcoJ2hleCcpO1xuICBjb25zdCBkZXJpdmF0aW9uUGF0aFBhcnRzID0gW1xuICAgIHBhcnNlSW50KGRlcml2YXRpb25QYXRoSW5wdXQuc2xpY2UoMCwgNyksIDE2KSxcbiAgICBwYXJzZUludChkZXJpdmF0aW9uUGF0aElucHV0LnNsaWNlKDcsIDE0KSwgMTYpLFxuICBdO1xuICBjb25zdCBwcmVmaXggPSBpc01hc3RlciA/ICdtLycgOiAnJztcbiAgcmV0dXJuIHByZWZpeCArICc5OTk5OTkvJyArIGRlcml2YXRpb25QYXRoUGFydHMuam9pbignLycpO1xufVxuXG5mdW5jdGlvbiBzaGEyNTYoaW5wdXQ6IGNyeXB0by5CaW5hcnlMaWtlKTogQnVmZmVyIHtcbiAgcmV0dXJuIGNyeXB0by5jcmVhdGVIYXNoKCdzaGEyNTYnKS51cGRhdGUoaW5wdXQpLmRpZ2VzdCgpO1xufVxuIl19
|