@bitgo-beta/sdk-coin-flrp 1.0.0-alpha.53 → 1.0.0-alpha.55
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/dist/src/lib/ExportInCTxBuilder.d.ts +6 -13
- package/dist/src/lib/ExportInCTxBuilder.d.ts.map +1 -1
- package/dist/src/lib/ExportInCTxBuilder.js +25 -62
- package/dist/src/lib/ExportInPTxBuilder.d.ts +2 -25
- package/dist/src/lib/ExportInPTxBuilder.d.ts.map +1 -1
- package/dist/src/lib/ExportInPTxBuilder.js +32 -213
- package/dist/src/lib/ImportInCTxBuilder.d.ts +1 -19
- package/dist/src/lib/ImportInCTxBuilder.d.ts.map +1 -1
- package/dist/src/lib/ImportInCTxBuilder.js +54 -132
- package/dist/src/lib/ImportInPTxBuilder.d.ts +10 -12
- package/dist/src/lib/ImportInPTxBuilder.d.ts.map +1 -1
- package/dist/src/lib/ImportInPTxBuilder.js +56 -154
- package/dist/src/lib/atomicInCTransactionBuilder.d.ts +0 -6
- package/dist/src/lib/atomicInCTransactionBuilder.d.ts.map +1 -1
- package/dist/src/lib/atomicInCTransactionBuilder.js +1 -14
- package/dist/src/lib/atomicTransactionBuilder.d.ts +35 -17
- package/dist/src/lib/atomicTransactionBuilder.d.ts.map +1 -1
- package/dist/src/lib/atomicTransactionBuilder.js +105 -138
- package/dist/src/lib/iface.d.ts +49 -0
- package/dist/src/lib/iface.d.ts.map +1 -1
- package/dist/src/lib/iface.js +9 -2
- package/dist/src/lib/permissionlessValidatorTxBuilder.d.ts +0 -2
- package/dist/src/lib/permissionlessValidatorTxBuilder.d.ts.map +1 -1
- package/dist/src/lib/permissionlessValidatorTxBuilder.js +1 -7
- package/dist/src/lib/transaction.d.ts +10 -5
- package/dist/src/lib/transaction.d.ts.map +1 -1
- package/dist/src/lib/transaction.js +14 -14
- package/dist/src/lib/transactionBuilder.d.ts +23 -16
- package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
- package/dist/src/lib/transactionBuilder.js +50 -28
- package/dist/src/lib/utils.d.ts +31 -2
- package/dist/src/lib/utils.d.ts.map +1 -1
- package/dist/src/lib/utils.js +64 -1
- package/dist/test/resources/account.d.ts +30 -0
- package/dist/test/resources/account.d.ts.map +1 -1
- package/dist/test/resources/account.js +27 -2
- package/dist/test/resources/transactionData/exportInC.d.ts +30 -0
- package/dist/test/resources/transactionData/exportInC.d.ts.map +1 -1
- package/dist/test/resources/transactionData/exportInC.js +32 -8
- package/dist/test/resources/transactionData/exportInP.d.ts +37 -54
- package/dist/test/resources/transactionData/exportInP.d.ts.map +1 -1
- package/dist/test/resources/transactionData/exportInP.js +45 -120
- package/dist/test/resources/transactionData/importInC.d.ts +31 -10
- package/dist/test/resources/transactionData/importInC.d.ts.map +1 -1
- package/dist/test/resources/transactionData/importInC.js +42 -25
- package/dist/test/resources/transactionData/importInP.d.ts +38 -15
- package/dist/test/resources/transactionData/importInP.d.ts.map +1 -1
- package/dist/test/resources/transactionData/importInP.js +54 -39
- package/dist/test/unit/flrp.js +15 -14
- package/dist/test/unit/lib/exportInCTxBuilder.js +58 -31
- package/dist/test/unit/lib/exportInPTxBuilder.js +50 -85
- package/dist/test/unit/lib/importInCTxBuilder.js +470 -10
- package/dist/test/unit/lib/importInPTxBuilder.js +55 -36
- package/dist/test/unit/lib/signFlowTestSuit.d.ts.map +1 -1
- package/dist/test/unit/lib/signFlowTestSuit.js +1 -7
- package/dist/test/unit/lib/transactionBuilderFactory.js +2 -2
- package/dist/test/unit/lib/utils.js +65 -32
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -6
|
@@ -12,37 +12,21 @@ const signFlowTestSuit_1 = __importDefault(require("./signFlowTestSuit"));
|
|
|
12
12
|
describe('Flrp Import In P Tx Builder', () => {
|
|
13
13
|
const coinConfig = statics_1.coins.get('tflrp');
|
|
14
14
|
const factory = new lib_1.TransactionBuilderFactory(coinConfig);
|
|
15
|
-
describe('
|
|
16
|
-
|
|
17
|
-
it('should set fixedFee (1000000) by default in constructor', () => {
|
|
18
|
-
const txBuilder = factory.getImportInPBuilder();
|
|
19
|
-
// The fixedFee should be set from network.txFee = '1000000'
|
|
20
|
-
const transaction = txBuilder.transaction;
|
|
21
|
-
transaction._fee.fee.should.equal(FIXED_FEE);
|
|
22
|
-
});
|
|
23
|
-
it('should use default fixedFee when fee is not explicitly set', async () => {
|
|
24
|
-
// Create a UTXO with enough balance to cover the default fee
|
|
25
|
-
const utxoAmount = '50000000'; // 0.05 FLR - enough to cover fee and have output
|
|
15
|
+
describe('feeState requirement', () => {
|
|
16
|
+
it('should throw if feeState is not set when building', async () => {
|
|
26
17
|
const txBuilder = factory
|
|
27
18
|
.getImportInPBuilder()
|
|
28
19
|
.threshold(importInP_1.IMPORT_IN_P.threshold)
|
|
29
20
|
.locktime(importInP_1.IMPORT_IN_P.locktime)
|
|
30
21
|
.fromPubKey(importInP_1.IMPORT_IN_P.pAddresses)
|
|
31
22
|
.externalChainId(importInP_1.IMPORT_IN_P.sourceChainId)
|
|
32
|
-
|
|
33
|
-
.
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
addresses: importInP_1.IMPORT_IN_P.outputs[0].addresses,
|
|
40
|
-
threshold: importInP_1.IMPORT_IN_P.threshold,
|
|
41
|
-
},
|
|
42
|
-
]);
|
|
43
|
-
const tx = (await txBuilder.build());
|
|
44
|
-
// Verify the fee in the built transaction equals the fixedFee
|
|
45
|
-
tx.fee.fee.should.equal(FIXED_FEE);
|
|
23
|
+
.utxos(importInP_1.IMPORT_IN_P.utxoHex)
|
|
24
|
+
.context(importInP_1.IMPORT_IN_P.context);
|
|
25
|
+
await txBuilder.build().should.be.rejectedWith('Fee state is required');
|
|
26
|
+
});
|
|
27
|
+
it('should accept valid feeState', () => {
|
|
28
|
+
const txBuilder = factory.getImportInPBuilder();
|
|
29
|
+
(() => txBuilder.feeState(importInP_1.IMPORT_IN_P.feeState)).should.not.throw();
|
|
46
30
|
});
|
|
47
31
|
});
|
|
48
32
|
describe('validate txBuilder fields', () => {
|
|
@@ -62,15 +46,38 @@ describe('Flrp Import In P Tx Builder', () => {
|
|
|
62
46
|
txBuilder.externalChainId(importInP_1.IMPORT_IN_P.VALID_C_CHAIN_ID.slice(2));
|
|
63
47
|
}, (e) => e.message === 'Invalid checksum');
|
|
64
48
|
});
|
|
65
|
-
it('should fail validate Utxos empty
|
|
49
|
+
it('should fail validate Utxos empty array', () => {
|
|
66
50
|
assert_1.default.throws(() => {
|
|
67
51
|
txBuilder.validateUtxos([]);
|
|
68
52
|
}, (e) => e.message === 'UTXOs array cannot be empty');
|
|
69
53
|
});
|
|
70
|
-
it('should fail
|
|
54
|
+
it('should fail when utxos hex array is empty', () => {
|
|
71
55
|
assert_1.default.throws(() => {
|
|
72
|
-
txBuilder.
|
|
73
|
-
}, (e) => e.message === '
|
|
56
|
+
txBuilder.utxos([]);
|
|
57
|
+
}, (e) => e.message === 'UTXOs array cannot be empty');
|
|
58
|
+
});
|
|
59
|
+
it('should fail when context is not set when building', async () => {
|
|
60
|
+
const builder = factory
|
|
61
|
+
.getImportInPBuilder()
|
|
62
|
+
.threshold(importInP_1.IMPORT_IN_P.threshold)
|
|
63
|
+
.locktime(importInP_1.IMPORT_IN_P.locktime)
|
|
64
|
+
.fromPubKey(importInP_1.IMPORT_IN_P.pAddresses)
|
|
65
|
+
.externalChainId(importInP_1.IMPORT_IN_P.sourceChainId)
|
|
66
|
+
.utxos(importInP_1.IMPORT_IN_P.utxoHex)
|
|
67
|
+
.feeState(importInP_1.IMPORT_IN_P.feeState);
|
|
68
|
+
// context is NOT set
|
|
69
|
+
await builder.build().should.be.rejectedWith('context is required');
|
|
70
|
+
});
|
|
71
|
+
it('should fail when fromPubKey addresses are not set', async () => {
|
|
72
|
+
const builder = factory
|
|
73
|
+
.getImportInPBuilder()
|
|
74
|
+
.threshold(importInP_1.IMPORT_IN_P.threshold)
|
|
75
|
+
.locktime(importInP_1.IMPORT_IN_P.locktime)
|
|
76
|
+
.externalChainId(importInP_1.IMPORT_IN_P.sourceChainId)
|
|
77
|
+
.utxos(importInP_1.IMPORT_IN_P.utxoHex)
|
|
78
|
+
.feeState(importInP_1.IMPORT_IN_P.feeState)
|
|
79
|
+
.context(importInP_1.IMPORT_IN_P.context);
|
|
80
|
+
await builder.build().should.be.rejectedWith('fromAddresses are required');
|
|
74
81
|
});
|
|
75
82
|
});
|
|
76
83
|
(0, signFlowTestSuit_1.default)({
|
|
@@ -80,16 +87,18 @@ describe('Flrp Import In P Tx Builder', () => {
|
|
|
80
87
|
.getImportInPBuilder()
|
|
81
88
|
.threshold(importInP_1.IMPORT_IN_P.threshold)
|
|
82
89
|
.locktime(importInP_1.IMPORT_IN_P.locktime)
|
|
83
|
-
.fromPubKey(importInP_1.IMPORT_IN_P.
|
|
90
|
+
.fromPubKey(importInP_1.IMPORT_IN_P.corethAddresses)
|
|
91
|
+
.to(importInP_1.IMPORT_IN_P.pAddresses)
|
|
84
92
|
.externalChainId(importInP_1.IMPORT_IN_P.sourceChainId)
|
|
85
|
-
.
|
|
86
|
-
.
|
|
93
|
+
.feeState(importInP_1.IMPORT_IN_P.feeState)
|
|
94
|
+
.context(importInP_1.IMPORT_IN_P.context)
|
|
95
|
+
.utxos(importInP_1.IMPORT_IN_P.utxoHex),
|
|
87
96
|
unsignedTxHex: importInP_1.IMPORT_IN_P.unsignedHex,
|
|
88
97
|
halfSignedTxHex: importInP_1.IMPORT_IN_P.halfSigntxHex,
|
|
89
|
-
fullSignedTxHex: importInP_1.IMPORT_IN_P.
|
|
98
|
+
fullSignedTxHex: importInP_1.IMPORT_IN_P.signedHex,
|
|
90
99
|
privateKey: {
|
|
91
|
-
prv1: importInP_1.IMPORT_IN_P.privateKeys[
|
|
92
|
-
prv2: importInP_1.IMPORT_IN_P.privateKeys[
|
|
100
|
+
prv1: importInP_1.IMPORT_IN_P.privateKeys[2],
|
|
101
|
+
prv2: importInP_1.IMPORT_IN_P.privateKeys[0],
|
|
93
102
|
},
|
|
94
103
|
txHash: importInP_1.IMPORT_IN_P.txhash,
|
|
95
104
|
});
|
|
@@ -103,5 +112,15 @@ describe('Flrp Import In P Tx Builder', () => {
|
|
|
103
112
|
err.message.should.be.equal('Private key cannot sign the transaction');
|
|
104
113
|
});
|
|
105
114
|
});
|
|
115
|
+
describe('on-chain verified transactions', () => {
|
|
116
|
+
it('should verify on-chain tx id for signed P-chain import', async () => {
|
|
117
|
+
const signedImportHex = '0x0000000000110000007200000000000000000000000000000000000000000000000000000000000000000000000158734f94af871c3d131b56131b6fb7a0291eacadd261e69dfb42a9cdf6f7fddd000000070000000002e79f04000000000000000000000002000000033329be7d01cd3ebaae6654d7327dd9f17a2e15817e918a5e8083ae4c9f2f0ed77055c24bf3665001c7324437c96c7c8a6a152da2385c1db5c3ab1f91000000000000000078db5c30bed04c05ce209179812850bbb3fe6d46d7eef3744d814c0da555247900000001063ec620d1892f802c8f0c124d05ce1e73a85686bea2b09380fc58f6d72497db0000000058734f94af871c3d131b56131b6fb7a0291eacadd261e69dfb42a9cdf6f7fddd000000050000000002faf0800000000200000000000000010000000100000009000000022ed4ebc2c81e38820cc7bd6e952d10bd30382fa0679c8a0ba5dc67990a09125656d47eadcc622af935fd5dad654f9b00d3b9563df38e875ef1964e1c9ded851100ec514ace26baefce3ffeab94e3580443abcc3cea669a87c7c26ef8ffa3fe79b330e4bdbacabfd1cce9f7b6a9f2515b4fdf627f7d2678e9532d861a7673444aa700';
|
|
118
|
+
const txBuilder = new lib_1.TransactionBuilderFactory(statics_1.coins.get('tflrp')).from(signedImportHex);
|
|
119
|
+
const tx = await txBuilder.build();
|
|
120
|
+
const rawTx = tx.toBroadcastFormat();
|
|
121
|
+
rawTx.should.equal(signedImportHex);
|
|
122
|
+
tx.id.should.equal('2vwvuXp47dsUmqb4vkaMk7UsukrZNapKXT2ruZhVibbjMDpqr9');
|
|
123
|
+
});
|
|
124
|
+
});
|
|
106
125
|
});
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0SW5QVHhCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdGVzdC91bml0L2xpYi9pbXBvcnRJblBUeEJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxvREFBNEI7QUFDNUIsa0JBQWdCO0FBQ2hCLHlFQUFvRjtBQUNwRiwwQ0FBMEY7QUFDMUYsaURBQTBEO0FBQzFELDBFQUE4QztBQUU5QyxRQUFRLENBQUMsNkJBQTZCLEVBQUUsR0FBRyxFQUFFO0lBQzNDLE1BQU0sVUFBVSxHQUFHLGVBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEMsTUFBTSxPQUFPLEdBQUcsSUFBSSwrQkFBeUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUUxRCxRQUFRLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRTtRQUMzQixNQUFNLFNBQVMsR0FBSSxVQUFVLENBQUMsT0FBd0IsQ0FBQyxLQUFLLENBQUM7UUFFN0QsRUFBRSxDQUFDLHlEQUF5RCxFQUFFLEdBQUcsRUFBRTtZQUNqRSxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUNoRCw0REFBNEQ7WUFDNUQsTUFBTSxXQUFXLEdBQUksU0FBaUIsQ0FBQyxXQUFXLENBQUM7WUFDbkQsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMvQyxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyw0REFBNEQsRUFBRSxLQUFLLElBQUksRUFBRTtZQUMxRSw2REFBNkQ7WUFDN0QsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLENBQUMsaURBQWlEO1lBRWhGLE1BQU0sU0FBUyxHQUFHLE9BQU87aUJBQ3RCLG1CQUFtQixFQUFFO2lCQUNyQixTQUFTLENBQUMsdUJBQVEsQ0FBQyxTQUFTLENBQUM7aUJBQzdCLFFBQVEsQ0FBQyx1QkFBUSxD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UUFDL0YsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSx1QkFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDakQsU0FBUzthQUNOLEtBQUssRUFBRTthQUNQLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxnQkFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUN0QyxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNiLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMseUNBQXlDLENBQUMsQ0FBQztRQUN6RSxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5pbXBvcnQgJ3Nob3VsZCc7XG5pbXBvcnQgeyBJTVBPUlRfSU5fUCBhcyB0ZXN0RGF0YSB9IGZyb20gJy4uLy4uL3Jlc291cmNlcy90cmFuc2FjdGlvbkRhdGEvaW1wb3J0SW5QJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksIERlY29kZWRVdHhvT2JqLCBUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uLy4uL3NyYy9saWInO1xuaW1wb3J0IHsgY29pbnMsIEZsYXJlTmV0d29yayB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHNpZ25GbG93VGVzdCBmcm9tICcuL3NpZ25GbG93VGVzdFN1aXQnO1xuXG5kZXNjcmliZSgnRmxycCBJbXBvcnQgSW4gUCBUeCBCdWlsZGVyJywgKCkgPT4ge1xuICBjb25zdCBjb2luQ29uZmlnID0gY29pbnMuZ2V0KCd0ZmxycCcpO1xuICBjb25zdCBmYWN0b3J5ID0gbmV3IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkoY29pbkNvbmZpZyk7XG5cbiAgZGVzY3JpYmUoJ2RlZmF1bHQgZmVlJywgKCkgPT4ge1xuICAgIGNvbnN0IEZJWEVEX0ZFRSA9IChjb2luQ29uZmlnLm5ldHdvcmsgYXMgRmxhcmVOZXR3b3JrKS50eEZlZTtcblxuICAgIGl0KCdzaG91bGQgc2V0IGZpeGVkRmVlICgxMDAwMDAwKSBieSBkZWZhdWx0IGluIGNvbnN0cnVjdG9yJywgKCkgPT4ge1xuICAgICAgY29uc3QgdHhCdWlsZGVyID0gZmFjdG9yeS5nZXRJbXBvcnRJblBCdWlsZGVyKCk7XG4gICAgICAvLyBUaGUgZml4ZWRGZWUgc2hvdWxkIGJlIHNldCBmcm9tIG5ldHdvcmsudHhGZWUgPSAnMTAwMDAwMCdcbiAgICAgIGNvbnN0IHRyYW5zYWN0aW9uID0gKHR4QnVpbGRlciBhcyBhbnkpLnRyYW5zYWN0aW9uO1xuICAgICAgdHJhbnNhY3Rpb24uX2ZlZS5mZWUuc2hvdWxkLmVxdWFsKEZJWEVEX0ZFRSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHVzZSBkZWZhdWx0IGZpeGVkRmVlIHdoZW4gZmVlIGlzIG5vdCBleHBsaWNpdGx5IHNldCcsIGFzeW5jICgpID0+IHtcbiAgICAgIC8vIENyZWF0ZSBhIFVUWE8gd2l0aCBlbm91Z2ggYmFsYW5jZSB0byBjb3ZlciB0aGUgZGVmYXVsdCBmZWVcbiAgICAgIGNvbnN0IHV0eG9BbW91bnQgPSAnNTAwMDAwMDAnOyAvLyAwLjA1IEZMUiAtIGVub3VnaCB0byBjb3ZlciBmZWUgYW5kIGhhdmUgb3V0cHV0XG5cbiAgICAgIGNvbnN0IHR4QnVpbGRlciA9IGZhY3RvcnlcbiAgICAgICAgLmdldEltcG9ydEluUEJ1aWxkZXIoKVxuICAgICAgICAudGhyZXNob2xkKHRlc3REYXRhLnRocmVzaG9sZClcbiAgICAgICAgLmxvY2t0aW1lKHRlc3REYXRhLmxvY2t0aW1lKVxuICAgICAgICAuZnJvbVB1YktleSh0ZXN0RGF0YS5wQWRkcmVzc2VzKVxuICAgICAgICAuZXh0ZXJuYWxDaGFpbklkKHRlc3REYXRhLnNvdXJjZUNoYWluSWQpXG4gICAgICAgIC8vIE5PVEU6IC5mZWUoKSBpcyBOT1QgY2FsbGVkIC0gc2hvdWxkIHVzZSBkZWZhdWx0IGZpeGVkRmVlXG4gICAgICAgIC51dHhvcyhbXG4gICAgICAgICAge1xuICAgICAgICAgICAgb3V0cHV0SUQ6IDAsXG4gICAgICAgICAgICBhbW91bnQ6IHV0eG9BbW91bnQsXG4gICAgICAgICAgICB0eGlkOiB0ZXN0RGF0YS5vdXRwdXRzWzBdLnR4aWQsXG4gICAgICAgICAgICBvdXRwdXRpZHg6ICcwJyxcbiAgICAgICAgICAgIGFkZHJlc3NlczogdGVzdERhdGEub3V0cHV0c1swXS5hZGRyZXNzZXMsXG4gICAgICAgICAgICB0aHJlc2hvbGQ6IHRlc3REYXRhLnRocmVzaG9sZCxcbiAgICAgICAgICB9LFxuICAgICAgICBdKTtcblxuICAgICAgY29uc3QgdHggPSAoYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCkpIGFzIFRyYW5zYWN0aW9uO1xuXG4gICAgICAvLyBWZXJpZnkgdGhlIGZlZSBpbiB0aGUgYnVpbHQgdHJhbnNhY3Rpb24gZXF1YWxzIHRoZSBmaXhlZEZlZVxuICAgICAgdHguZmVlLmZlZS5zaG91bGQuZXF1YWwoRklYRURfRkVFKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3ZhbGlkYXRlIHR4QnVpbGRlciBmaWVsZHMnLCAoKSA9PiB7XG4gICAgY29uc3QgdHhCdWlsZGVyID0gZmFjdG9yeS5nZXRJbXBvcnRJblBCdWlsZGVyKCk7XG5cbiAgICBpdCgnc2hvdWxkIGZhaWwgdGFyZ2V0IGNoYWluIGlkIGxlbmd0aCBpbmNvcnJlY3QnLCAoKSA9PiB7XG4gICAgICBhc3NlcnQudGhyb3dzKFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgdHhCdWlsZGVyLmV4dGVybmFsQ2hhaW5JZChCdWZmZXIuZnJvbSh0ZXN0RGF0YS5JTlZBTElEX0NIQUlOX0lEKSk7XG4gICAgICAgIH0sXG4gICAgICAgIChlOiBhbnkpID0+IGUubWVzc2FnZSA9PT0gJ0NoYWluIGlkIGFyZSAzMiBieXRlIHNpemUnXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBmYWlsIHRhcmdldCBjaGFpbiBpZCBub3QgYSB2YWxpZCBiYXNlNTggc3RyaW5nJywgKCkgPT4ge1xuICAgICAgYXNzZXJ0LnRocm93cyhcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHR4QnVpbGRlci5leHRlcm5hbENoYWluSWQodGVzdERhdGEuSU5WQUxJRF9DSEFJTl9JRCk7XG4gICAgICAgIH0sXG4gICAgICAgIChlOiBhbnkpID0+IGUubWVzc2FnZSA9PT0gJ05vbi1iYXNlNTggY2hhcmFjdGVyJ1xuICAgICAgKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZmFpbCB0YXJnZXQgY2hhaW4gaWQgY2I1OCBpbnZhbGlkIGNoZWNrc3VtJywgKCkgPT4ge1xuICAgICAgYXNzZXJ0LnRocm93cyhcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHR4QnVpbGRlci5leHRlcm5hbENoYWluSWQodGVzdERhdGEuVkFMSURfQ19DSEFJTl9JRC5zbGljZSgyKSk7XG4gICAgICAgIH0sXG4gICAgICAgIChlOiBhbnkpID0+IGUubWVzc2FnZSA9PT0gJ0ludmFsaWQgY2hlY2tzdW0nXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBmYWlsIHZhbGlkYXRlIFV0eG9zIGVtcHR5IHN0cmluZycsICgpID0+IHtcbiAgICAgIGFzc2VydC50aHJvd3MoXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICB0eEJ1aWxkZXIudmFsaWRhdGVVdHhvcyhbXSk7XG4gICAgICAgIH0sXG4gICAgICAgIChlOiBhbnkpID0+IGUubWVzc2FnZSA9PT0gJ1VUWE9zIGFycmF5IGNhbm5vdCBiZSBlbXB0eSdcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGZhaWwgdmFsaWRhdGUgVXR4b3Mgd2l0aG91dCBhbW91bnQgZmllbGQnLCAoKSA9PiB7XG4gICAgICBhc3NlcnQudGhyb3dzKFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgdHhCdWlsZGVyLnZhbGlkYXRlVXR4b3MoW3sgb3V0cHV0SUQ6ICcnIH0gYXMgYW55IGFzIERlY29kZWRVdHhvT2JqXSk7XG4gICAgICAgIH0sXG4gICAgICAgIChlOiBhbnkpID0+IGUubWVzc2FnZSA9PT0gJ1VUWE8gbWlzc2luZyByZXF1aXJlZCBmaWVsZDogYW1vdW50J1xuICAgICAgKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgc2lnbkZsb3dUZXN0KHtcbiAgICB0cmFuc2FjdGlvblR5cGU6ICdJbXBvcnQgUDJDJyxcbiAgICBuZXdUeEZhY3Rvcnk6ICgpID0+IG5ldyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5KGNvaW5zLmdldCgndGZscnAnKSksXG4gICAgbmV3VHhCdWlsZGVyOiAoKSA9PlxuICAgICAgbmV3IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkoY29pbnMuZ2V0KCd0ZmxycCcpKVxuICAgICAgICAuZ2V0SW1wb3J0SW5QQnVpbGRlcigpXG4gICAgICAgIC50aHJlc2hvbGQodGVzdERhdGEudGhyZXNob2xkKVxuICAgICAgICAubG9ja3RpbWUodGVzdERhdGEubG9ja3RpbWUpXG4gICAgICAgIC5mcm9tUHViS2V5KHRlc3REYXRhLnBBZGRyZXNzZXMpXG4gICAgICAgIC5leHRlcm5hbENoYWluSWQodGVzdERhdGEuc291cmNlQ2hhaW5JZClcbiAgICAgICAgLmZlZSh0ZXN0RGF0YS5mZWUpXG4gICAgICAgIC51dHhvcyh0ZXN0RGF0YS5vdXRwdXRzKSxcbiAgICB1bnNpZ25lZFR4SGV4OiB0ZXN0RGF0YS51bnNpZ25lZEhleCxcbiAgICBoYWxmU2lnbmVkVHhIZXg6IHRlc3REYXRhLmhhbGZTaWdudHhIZXgsXG4gICAgZnVsbFNpZ25lZFR4SGV4OiB0ZXN0RGF0YS5mdWxsU2lnbnR4SGV4LFxuICAgIHByaXZhdGVLZXk6IHtcbiAgICAgIHBydjE6IHRlc3REYXRhLnByaXZhdGVLZXlzWzBdLFxuICAgICAgcHJ2MjogdGVzdERhdGEucHJpdmF0ZUtleXNbMV0sXG4gICAgfSxcbiAgICB0eEhhc2g6IHRlc3REYXRhLnR4aGFzaCxcbiAgfSk7XG5cbiAgaXQoJ1Nob3VsZCBmdWxsIHNpZ24gYSBpbXBvcnQgdHggZnJvbSB1bnNpZ25lZCByYXcgdHgnLCAoKSA9PiB7XG4gICAgY29uc3QgdHhCdWlsZGVyID0gbmV3IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkoY29pbnMuZ2V0KCd0ZmxycCcpKS5mcm9tKHRlc3REYXRhLnVuc2lnbmVkSGV4KTtcbiAgICB0eEJ1aWxkZXIuc2lnbih7IGtleTogdGVzdERhdGEucHJpdmF0ZUtleXNbMF0gfSk7XG4gICAgdHhCdWlsZGVyXG4gICAgICAuYnVpbGQoKVxuICAgICAgLnRoZW4oKCkgPT4gYXNzZXJ0LmZhaWwoJ2l0IGNhbiBzaWduJykpXG4gICAgICAuY2F0Y2goKGVycikgPT4ge1xuICAgICAgICBlcnIubWVzc2FnZS5zaG91bGQuYmUuZXF1YWwoJ1ByaXZhdGUga2V5IGNhbm5vdCBzaWduIHRoZSB0cmFuc2FjdGlvbicpO1xuICAgICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0SW5QVHhCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdGVzdC91bml0L2xpYi9pbXBvcnRJblBUeEJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxvREFBNEI7QUFDNUIsa0JBQWdCO0FBQ2hCLHlFQUFvRjtBQUNwRiwwQ0FBNkQ7QUFDN0QsaURBQTRDO0FBQzVDLDBFQUE4QztBQUU5QyxRQUFRLENBQUMsNkJBQTZCLEVBQUUsR0FBRyxFQUFFO0lBQzNDLE1BQU0sVUFBVSxHQUFHLGVBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEMsTUFBTSxPQUFPLEdBQUcsSUFBSSwrQkFBeUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUUxRCxRQUFRLENBQUMsc0JBQXNCLEVBQUUsR0FBRyxFQUFFO1FBQ3BDLEVBQUUsQ0FBQyxtREFBbUQsRUFBRSxLQUFLLElBQUksRUFBRTtZQUNqRSxNQUFNLFNBQVMsR0FBRyxPQUFPO2lCQUN0QixtQkFBbUIsRUFBRTtpQkFDckIsU0FBUyxDQUFDLHVCQUFRLENBQUMsU0FBUyxDQUFDO2lCQUM3QixRQUFRLENBQUMsdUJBQVEsQ0FBQyxRQUFRLENBQUM7aUJBQzNCLFVBQVUsQ0FBQyx1QkFBUSxDQUFDLFVBQVUsQ0FBQztpQkFDL0IsZUFBZSxDQUFDLHVCQUFRLENBQUMsYUFBYSxDQUFDO2lCQUN2QyxLQUFLLENBQUMsdUJBQVEsQ0FBQyxPQUFPLENBQUM7aUJBQ3ZCLE9BQU8sQ0FBQyx1QkFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBRTdCLE1BQU0sU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDMUUsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsOEJBQThCLEVBQUUsR0FBRyxFQUFFO1lBQ3RDLE1BQU0sU0FBUyxHQUFHLE9BQU8s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OUMsRUFBRSxDQUFDLHdEQUF3RCxFQUFFLEtBQUssSUFBSSxFQUFFO1lBQ3RFLE1BQU0sZUFBZSxHQUNuQiw0M0JBQTQzQixDQUFDO1lBQy8zQixNQUFNLFNBQVMsR0FBRyxJQUFJLCtCQUF5QixDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDMUYsTUFBTSxFQUFFLEdBQUcsTUFBTSxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDbkMsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDckMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDcEMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLG9EQUFvRCxDQUFDLENBQUM7UUFDM0UsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0ICdzaG91bGQnO1xuaW1wb3J0IHsgSU1QT1JUX0lOX1AgYXMgdGVzdERhdGEgfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvdHJhbnNhY3Rpb25EYXRhL2ltcG9ydEluUCc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IH0gZnJvbSAnLi4vLi4vLi4vc3JjL2xpYic7XG5pbXBvcnQgeyBjb2lucyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHNpZ25GbG93VGVzdCBmcm9tICcuL3NpZ25GbG93VGVzdFN1aXQnO1xuXG5kZXNjcmliZSgnRmxycCBJbXBvcnQgSW4gUCBUeCBCdWlsZGVyJywgKCkgPT4ge1xuICBjb25zdCBjb2luQ29uZmlnID0gY29pbnMuZ2V0KCd0ZmxycCcpO1xuICBjb25zdCBmYWN0b3J5ID0gbmV3IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkoY29pbkNvbmZpZyk7XG5cbiAgZGVzY3JpYmUoJ2ZlZVN0YXRlIHJlcXVpcmVtZW50JywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgdGhyb3cgaWYgZmVlU3RhdGUgaXMgbm90IHNldCB3aGVuIGJ1aWxkaW5nJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgdHhCdWlsZGVyID0gZmFjdG9yeVxuICAgICAgICAuZ2V0SW1wb3J0SW5QQnVpbGRlcigpXG4gICAgICAgIC50aHJlc2hvbGQodGVzdERhdGEudGhyZXNob2xkKVxuICAgICAgICAubG9ja3RpbWUodGVzdERhdGEubG9ja3RpbWUpXG4gICAgICAgIC5mcm9tUHViS2V5KHRlc3REYXRhLnBBZGRyZXNzZXMpXG4gICAgICAgIC5leHRlcm5hbENoYWluSWQodGVzdERhdGEuc291cmNlQ2hhaW5JZClcbiAgICAgICAgLnV0eG9zKHRlc3REYXRhLnV0eG9IZXgpXG4gICAgICAgIC5jb250ZXh0KHRlc3REYXRhLmNvbnRleHQpO1xuXG4gICAgICBhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKS5zaG91bGQuYmUucmVqZWN0ZWRXaXRoKCdGZWUgc3RhdGUgaXMgcmVxdWlyZWQnKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgYWNjZXB0IHZhbGlkIGZlZVN0YXRlJywgKCkgPT4ge1xuICAgICAgY29uc3QgdHhCdWlsZGVyID0gZmFjdG9yeS5nZXRJbXBvcnRJblBCdWlsZGVyKCk7XG4gICAgICAoKCkgPT4gdHhCdWlsZGVyLmZlZVN0YXRlKHRlc3REYXRhLmZlZVN0YXRlKSkuc2hvdWxkLm5vdC50aHJvdygpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgndmFsaWRhdGUgdHhCdWlsZGVyIGZpZWxkcycsICgpID0+IHtcbiAgICBjb25zdCB0eEJ1aWxkZXIgPSBmYWN0b3J5LmdldEltcG9ydEluUEJ1aWxkZXIoKTtcblxuICAgIGl0KCdzaG91bGQgZmFpbCB0YXJnZXQgY2hhaW4gaWQgbGVuZ3RoIGluY29ycmVjdCcsICgpID0+IHtcbiAgICAgIGFzc2VydC50aHJvd3MoXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICB0eEJ1aWxkZXIuZXh0ZXJuYWxDaGFpbklkKEJ1ZmZlci5mcm9tKHRlc3REYXRhLklOVkFMSURfQ0hBSU5fSUQpKTtcbiAgICAgICAgfSxcbiAgICAgICAgKGU6IGFueSkgPT4gZS5tZXNzYWdlID09PSAnQ2hhaW4gaWQgYXJlIDMyIGJ5dGUgc2l6ZSdcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGZhaWwgdGFyZ2V0IGNoYWluIGlkIG5vdCBhIHZhbGlkIGJhc2U1OCBzdHJpbmcnLCAoKSA9PiB7XG4gICAgICBhc3NlcnQudGhyb3dzKFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgdHhCdWlsZGVyLmV4dGVybmFsQ2hhaW5JZCh0ZXN0RGF0YS5JTlZBTElEX0NIQUlOX0lEKTtcbiAgICAgICAgfSxcbiAgICAgICAgKGU6IGFueSkgPT4gZS5tZXNzYWdlID09PSAnTm9uLWJhc2U1OCBjaGFyYWN0ZXInXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBmYWlsIHRhcmdldCBjaGFpbiBpZCBjYjU4IGludmFsaWQgY2hlY2tzdW0nLCAoKSA9PiB7XG4gICAgICBhc3NlcnQudGhyb3dzKFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgdHhCdWlsZGVyLmV4dGVybmFsQ2hhaW5JZCh0ZXN0RGF0YS5WQUxJRF9DX0NIQUlOX0lELnNsaWNlKDIpKTtcbiAgICAgICAgfSxcbiAgICAgICAgKGU6IGFueSkgPT4gZS5tZXNzYWdlID09PSAnSW52YWxpZCBjaGVja3N1bSdcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGZhaWwgdmFsaWRhdGUgVXR4b3MgZW1wdHkgYXJyYXknLCAoKSA9PiB7XG4gICAgICBhc3NlcnQudGhyb3dzKFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgdHhCdWlsZGVyLnZhbGlkYXRlVXR4b3MoW10pO1xuICAgICAgICB9LFxuICAgICAgICAoZTogYW55KSA9PiBlLm1lc3NhZ2UgPT09ICdVVFhPcyBhcnJheSBjYW5ub3QgYmUgZW1wdHknXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBmYWlsIHdoZW4gdXR4b3MgaGV4IGFycmF5IGlzIGVtcHR5JywgKCkgPT4ge1xuICAgICAgYXNzZXJ0LnRocm93cyhcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHR4QnVpbGRlci51dHhvcyhbXSk7XG4gICAgICAgIH0sXG4gICAgICAgIChlOiBhbnkpID0+IGUubWVzc2FnZSA9PT0gJ1VUWE9zIGFycmF5IGNhbm5vdCBiZSBlbXB0eSdcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGZhaWwgd2hlbiBjb250ZXh0IGlzIG5vdCBzZXQgd2hlbiBidWlsZGluZycsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGJ1aWxkZXIgPSBmYWN0b3J5XG4gICAgICAgIC5nZXRJbXBvcnRJblBCdWlsZGVyKClcbiAgICAgICAgLnRocmVzaG9sZCh0ZXN0RGF0YS50aHJlc2hvbGQpXG4gICAgICAgIC5sb2NrdGltZSh0ZXN0RGF0YS5sb2NrdGltZSlcbiAgICAgICAgLmZyb21QdWJLZXkodGVzdERhdGEucEFkZHJlc3NlcylcbiAgICAgICAgLmV4dGVybmFsQ2hhaW5JZCh0ZXN0RGF0YS5zb3VyY2VDaGFpbklkKVxuICAgICAgICAudXR4b3ModGVzdERhdGEudXR4b0hleClcbiAgICAgICAgLmZlZVN0YXRlKHRlc3REYXRhLmZlZVN0YXRlKTtcbiAgICAgIC8vIGNvbnRleHQgaXMgTk9UIHNldFxuXG4gICAgICBhd2FpdCBidWlsZGVyLmJ1aWxkKCkuc2hvdWxkLmJlLnJlamVjdGVkV2l0aCgnY29udGV4dCBpcyByZXF1aXJlZCcpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBmYWlsIHdoZW4gZnJvbVB1YktleSBhZGRyZXNzZXMgYXJlIG5vdCBzZXQnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBidWlsZGVyID0gZmFjdG9yeVxuICAgICAgICAuZ2V0SW1wb3J0SW5QQnVpbGRlcigpXG4gICAgICAgIC50aHJlc2hvbGQodGVzdERhdGEudGhyZXNob2xkKVxuICAgICAgICAubG9ja3RpbWUodGVzdERhdGEubG9ja3RpbWUpXG4gICAgICAgIC5leHRlcm5hbENoYWluSWQodGVzdERhdGEuc291cmNlQ2hhaW5JZClcbiAgICAgICAgLnV0eG9zKHRlc3REYXRhLnV0eG9IZXgpXG4gICAgICAgIC5mZWVTdGF0ZSh0ZXN0RGF0YS5mZWVTdGF0ZSlcbiAgICAgICAgLmNvbnRleHQodGVzdERhdGEuY29udGV4dCk7XG5cbiAgICAgIGF3YWl0IGJ1aWxkZXIuYnVpbGQoKS5zaG91bGQuYmUucmVqZWN0ZWRXaXRoKCdmcm9tQWRkcmVzc2VzIGFyZSByZXF1aXJlZCcpO1xuICAgIH0pO1xuICB9KTtcblxuICBzaWduRmxvd1Rlc3Qoe1xuICAgIHRyYW5zYWN0aW9uVHlwZTogJ0ltcG9ydCBQMkMnLFxuICAgIG5ld1R4RmFjdG9yeTogKCkgPT4gbmV3IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkoY29pbnMuZ2V0KCd0ZmxycCcpKSxcbiAgICBuZXdUeEJ1aWxkZXI6ICgpID0+XG4gICAgICBuZXcgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeShjb2lucy5nZXQoJ3RmbHJwJykpXG4gICAgICAgIC5nZXRJbXBvcnRJblBCdWlsZGVyKClcbiAgICAgICAgLnRocmVzaG9sZCh0ZXN0RGF0YS50aHJlc2hvbGQpXG4gICAgICAgIC5sb2NrdGltZSh0ZXN0RGF0YS5sb2NrdGltZSlcbiAgICAgICAgLmZyb21QdWJLZXkodGVzdERhdGEuY29yZXRoQWRkcmVzc2VzKVxuICAgICAgICAudG8odGVzdERhdGEucEFkZHJlc3NlcylcbiAgICAgICAgLmV4dGVybmFsQ2hhaW5JZCh0ZXN0RGF0YS5zb3VyY2VDaGFpbklkKVxuICAgICAgICAuZmVlU3RhdGUodGVzdERhdGEuZmVlU3RhdGUpXG4gICAgICAgIC5jb250ZXh0KHRlc3REYXRhLmNvbnRleHQpXG4gICAgICAgIC51dHhvcyh0ZXN0RGF0YS51dHhvSGV4KSxcbiAgICB1bnNpZ25lZFR4SGV4OiB0ZXN0RGF0YS51bnNpZ25lZEhleCxcbiAgICBoYWxmU2lnbmVkVHhIZXg6IHRlc3REYXRhLmhhbGZTaWdudHhIZXgsXG4gICAgZnVsbFNpZ25lZFR4SGV4OiB0ZXN0RGF0YS5zaWduZWRIZXgsXG4gICAgcHJpdmF0ZUtleToge1xuICAgICAgcHJ2MTogdGVzdERhdGEucHJpdmF0ZUtleXNbMl0sXG4gICAgICBwcnYyOiB0ZXN0RGF0YS5wcml2YXRlS2V5c1swXSxcbiAgICB9LFxuICAgIHR4SGFzaDogdGVzdERhdGEudHhoYXNoLFxuICB9KTtcblxuICBpdCgnU2hvdWxkIGZ1bGwgc2lnbiBhIGltcG9ydCB0eCBmcm9tIHVuc2lnbmVkIHJhdyB0eCcsICgpID0+IHtcbiAgICBjb25zdCB0eEJ1aWxkZXIgPSBuZXcgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeShjb2lucy5nZXQoJ3RmbHJwJykpLmZyb20odGVzdERhdGEudW5zaWduZWRIZXgpO1xuICAgIHR4QnVpbGRlci5zaWduKHsga2V5OiB0ZXN0RGF0YS5wcml2YXRlS2V5c1swXSB9KTtcbiAgICB0eEJ1aWxkZXJcbiAgICAgIC5idWlsZCgpXG4gICAgICAudGhlbigoKSA9PiBhc3NlcnQuZmFpbCgnaXQgY2FuIHNpZ24nKSlcbiAgICAgIC5jYXRjaCgoZXJyKSA9PiB7XG4gICAgICAgIGVyci5tZXNzYWdlLnNob3VsZC5iZS5lcXVhbCgnUHJpdmF0ZSBrZXkgY2Fubm90IHNpZ24gdGhlIHRyYW5zYWN0aW9uJyk7XG4gICAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ29uLWNoYWluIHZlcmlmaWVkIHRyYW5zYWN0aW9ucycsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHZlcmlmeSBvbi1jaGFpbiB0eCBpZCBmb3Igc2lnbmVkIFAtY2hhaW4gaW1wb3J0JywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3Qgc2lnbmVkSW1wb3J0SGV4ID1cbiAgICAgICAgJzB4MDAwMDAwMDAwMDExMDAwMDAwNzIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE1ODczNGY5NGFmODcxYzNkMTMxYjU2MTMxYjZmYjdhMDI5MWVhY2FkZDI2MWU2OWRmYjQyYTljZGY2ZjdmZGRkMDAwMDAwMDcwMDAwMDAwMDAyZTc5ZjA0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDMzMzI5YmU3ZDAxY2QzZWJhYWU2NjU0ZDczMjdkZDlmMTdhMmUxNTgxN2U5MThhNWU4MDgzYWU0YzlmMmYwZWQ3NzA1NWMyNGJmMzY2NTAwMWM3MzI0NDM3Yzk2YzdjOGE2YTE1MmRhMjM4NWMxZGI1YzNhYjFmOTEwMDAwMDAwMDAwMDAwMDAwNzhkYjVjMzBiZWQwNGMwNWNlMjA5MTc5ODEyODUwYmJiM2ZlNmQ0NmQ3ZWVmMzc0NGQ4MTRjMGRhNTU1MjQ3OTAwMDAwMDAxMDYzZWM2MjBkMTg5MmY4MDJjOGYwYzEyNGQwNWNlMWU3M2E4NTY4NmJlYTJiMDkzODBmYzU4ZjZkNzI0OTdkYjAwMDAwMDAwNTg3MzRmOTRhZjg3MWMzZDEzMWI1NjEzMWI2ZmI3YTAyOTFlYWNhZGQyNjFlNjlkZmI0MmE5Y2RmNmY3ZmRkZDAwMDAwMDA1MDAwMDAwMDAwMmZhZjA4MDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAxMDAwMDAwMDkwMDAwMDAwMjJlZDRlYmMyYzgxZTM4ODIwY2M3YmQ2ZTk1MmQxMGJkMzAzODJmYTA2NzljOGEwYmE1ZGM2Nzk5MGEwOTEyNTY1NmQ0N2VhZGNjNjIyYWY5MzVmZDVkYWQ2NTRmOWIwMGQzYjk1NjNkZjM4ZTg3NWVmMTk2NGUxYzlkZWQ4NTExMDBlYzUxNGFjZTI2YmFlZmNlM2ZmZWFiOTRlMzU4MDQ0M2FiY2MzY2VhNjY5YTg3YzdjMjZlZjhmZmEzZmU3OWIzMzBlNGJkYmFjYWJmZDFjY2U5ZjdiNmE5ZjI1MTViNGZkZjYyN2Y3ZDI2NzhlOTUzMmQ4NjFhNzY3MzQ0NGFhNzAwJztcbiAgICAgIGNvbnN0IHR4QnVpbGRlciA9IG5ldyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5KGNvaW5zLmdldCgndGZscnAnKSkuZnJvbShzaWduZWRJbXBvcnRIZXgpO1xuICAgICAgY29uc3QgdHggPSBhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKTtcbiAgICAgIGNvbnN0IHJhd1R4ID0gdHgudG9Ccm9hZGNhc3RGb3JtYXQoKTtcbiAgICAgIHJhd1R4LnNob3VsZC5lcXVhbChzaWduZWRJbXBvcnRIZXgpO1xuICAgICAgdHguaWQuc2hvdWxkLmVxdWFsKCcydnd2dVhwNDdkc1VtcWI0dmthTWs3VXN1a3JaTmFwS1hUMnJ1WmhWaWJiak1EcHFyOScpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signFlowTestSuit.d.ts","sourceRoot":"","sources":["../../../../test/unit/lib/signFlowTestSuit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AAE7F,MAAM,WAAW,oBAAoB;IACnC,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,6BAA6B,CAAC;IAClD,YAAY,EAAE,MAAM,sBAAsB,CAAC;IAC3C,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"signFlowTestSuit.d.ts","sourceRoot":"","sources":["../../../../test/unit/lib/signFlowTestSuit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AAE7F,MAAM,WAAW,oBAAoB;IACnC,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,6BAA6B,CAAC;IAClD,YAAY,EAAE,MAAM,sBAAsB,CAAC;IAC3C,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,GAAG,IAAI,CAoFzE"}
|
|
@@ -12,14 +12,12 @@ function signFlowTestSuit(data) {
|
|
|
12
12
|
const tx = await txBuilder.build();
|
|
13
13
|
const rawTx = tx.toBroadcastFormat();
|
|
14
14
|
rawTx.should.equal(data.unsignedTxHex);
|
|
15
|
-
tx.id.should.equal(data.txHash);
|
|
16
15
|
});
|
|
17
16
|
it('Should recover tx from raw tx', async () => {
|
|
18
17
|
const txBuilder = data.newTxFactory().from(data.unsignedTxHex);
|
|
19
18
|
const tx = await txBuilder.build();
|
|
20
19
|
const rawTx = tx.toBroadcastFormat();
|
|
21
20
|
rawTx.should.equal(data.unsignedTxHex);
|
|
22
|
-
tx.id.should.equal(data.txHash);
|
|
23
21
|
});
|
|
24
22
|
it('Should create half signed tx for same values', async () => {
|
|
25
23
|
const txBuilder = data.newTxBuilder();
|
|
@@ -27,14 +25,12 @@ function signFlowTestSuit(data) {
|
|
|
27
25
|
const tx = await txBuilder.build();
|
|
28
26
|
const rawTx = tx.toBroadcastFormat();
|
|
29
27
|
rawTx.should.equal(data.halfSignedTxHex);
|
|
30
|
-
tx.id.should.equal(data.txHash);
|
|
31
28
|
});
|
|
32
29
|
it('Should recover half signed tx from raw tx', async () => {
|
|
33
30
|
const txBuilder = data.newTxFactory().from(data.halfSignedTxHex);
|
|
34
31
|
const tx = await txBuilder.build();
|
|
35
32
|
const rawTx = tx.toBroadcastFormat();
|
|
36
33
|
rawTx.should.equal(data.halfSignedTxHex);
|
|
37
|
-
tx.id.should.equal(data.txHash);
|
|
38
34
|
});
|
|
39
35
|
it('Should half sign tx from unsigned raw tx', async () => {
|
|
40
36
|
const txBuilder = data.newTxFactory().from(data.unsignedTxHex);
|
|
@@ -42,14 +38,12 @@ function signFlowTestSuit(data) {
|
|
|
42
38
|
const tx = await txBuilder.build();
|
|
43
39
|
const rawTx = tx.toBroadcastFormat();
|
|
44
40
|
rawTx.should.equal(data.halfSignedTxHex);
|
|
45
|
-
tx.id.should.equal(data.txHash);
|
|
46
41
|
});
|
|
47
42
|
it('Should recover half signed tx from half signed raw tx', async () => {
|
|
48
43
|
const txBuilder = data.newTxFactory().from(data.halfSignedTxHex);
|
|
49
44
|
const tx = await txBuilder.build();
|
|
50
45
|
const rawTx = tx.toBroadcastFormat();
|
|
51
46
|
rawTx.should.equal(data.halfSignedTxHex);
|
|
52
|
-
tx.id.should.equal(data.txHash);
|
|
53
47
|
});
|
|
54
48
|
it('Should recover signed tx from signed raw tx', async () => {
|
|
55
49
|
const txBuilder = data.newTxFactory().from(data.fullSignedTxHex);
|
|
@@ -86,4 +80,4 @@ function signFlowTestSuit(data) {
|
|
|
86
80
|
});
|
|
87
81
|
});
|
|
88
82
|
}
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbkZsb3dUZXN0U3VpdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Rlc3QvdW5pdC9saWIvc2lnbkZsb3dUZXN0U3VpdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWlCQSxtQ0EyRkM7QUEvRkQ7OztHQUdHO0FBQ0gsU0FBd0IsZ0JBQWdCLENBQUMsSUFBMEI7SUFDakUsUUFBUSxDQUFDLGVBQWUsSUFBSSxDQUFDLGVBQWUsZ0JBQWdCLEVBQUUsR0FBRyxFQUFFO1FBQ2pFLEVBQUUsQ0FBQyxrQ0FBa0MsRUFBRSxLQUFLLElBQUksRUFBRTtZQUNoRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdEMsTUFBTSxFQUFFLEdBQUcsTUFBTSxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDbkMsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDckMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3ZDLEVBQUUsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsK0JBQStCLEVBQUUsS0FBSyxJQUFJLEVBQUU7WUFDN0MsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDL0QsTUFBTSxFQUFFLEdBQUcsTUFBTSxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDbkMsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDckMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3ZDLEVBQUUsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsOENBQThDLEVBQUUsS0FBSyxJQUFJLEVBQUU7WUFDNUQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBRXRDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQzlDLE1BQU0sRUFBRSxHQUFHLE1BQU0sU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ25DLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3JDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUN6QyxFQUFFLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLDJDQUEyQyxFQUFFLEtBQUssSUFBSSxFQUFFO1lBQ3pELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ2pFLE1BQU0sRUFBRSxHQUFHLE1BQU0sU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ25DLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3JDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUN6QyxFQUFFLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLDBDQUEwQyxFQUFFLEtBQUssSUFBSSxFQUFFO1lBQ3hELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQy9ELFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQzlDLE1BQU0sRUFBRSxHQUFHLE1BQU0sU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ25DLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3JDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUN6QyxFQUFFLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLHVEQUF1RCxFQUFFLEtBQUssSUFBSSxFQUFFO1lBQ3JFLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ2pFLE1BQU0sRUFBRSxHQUFHLE1BQU0sU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ25DLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3JDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUN6QyxFQUFFLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLDZDQUE2QyxFQUFFLEtBQUssSUFBSSxFQUFFO1lBQzNELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ2pFLE1BQU0sRUFBRSxHQUFHLE1BQU0sU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ25DLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3JDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUN6QyxFQUFFLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLHVDQUF1QyxFQUFFLEtBQUssSUFBSSxFQUFFO1lBQ3JELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUV0QyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUM5QyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUM5QyxNQUFNLEVBQUUsR0FBRyxNQUFNLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNuQyxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUNyQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDekMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQywrQ0FBK0MsRUFBRSxLQUFLLElBQUksRUFBRTtZQUM3RCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUNqRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUM5QyxNQUFNLEVBQUUsR0FBRyxNQUFNLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNuQyxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUNyQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDekMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyw0Q0FBNEMsRUFBRSxLQUFLLElBQUksRUFBRTtZQUMxRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUMvRCxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUM5QyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUM5QyxNQUFNLEVBQUUsR0FBRyxNQUFNLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNuQyxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUNyQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDekMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXIsIEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIHNpZ25GbG93VGVzdFN1aXRBcmdzIHtcbiAgdHJhbnNhY3Rpb25UeXBlOiBzdHJpbmc7XG4gIG5ld1R4RmFjdG9yeTogKCkgPT4gQmFzZVRyYW5zYWN0aW9uQnVpbGRlckZhY3Rvcnk7XG4gIG5ld1R4QnVpbGRlcjogKCkgPT4gQmFzZVRyYW5zYWN0aW9uQnVpbGRlcjtcbiAgdW5zaWduZWRUeEhleDogc3RyaW5nO1xuICBoYWxmU2lnbmVkVHhIZXg6IHN0cmluZztcbiAgZnVsbFNpZ25lZFR4SGV4OiBzdHJpbmc7XG4gIHByaXZhdGVLZXk6IHsgcHJ2MTogc3RyaW5nOyBwcnYyOiBzdHJpbmcgfTtcbiAgdHhIYXNoOiBzdHJpbmc7XG59XG5cbi8qKlxuICogVGVzdCBzdWl0IGZvY3VzIGluIHJhdyB0eCBzaWduaW5nIGNoYW5nZXMuXG4gKiBAcGFyYW0ge3NpZ25GbG93VGVzdFN1aXRBcmdzfSBkYXRhIHdpdGggcmVxdWlyZSBpbmZvLlxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBzaWduRmxvd1Rlc3RTdWl0KGRhdGE6IHNpZ25GbG93VGVzdFN1aXRBcmdzKTogdm9pZCB7XG4gIGRlc2NyaWJlKGBzaG91bGQgc2lnbiAke2RhdGEudHJhbnNhY3Rpb25UeXBlfSBpbiBmdWxsIGZsb3cgYCwgKCkgPT4ge1xuICAgIGl0KCdTaG91bGQgY3JlYXRlIHR4IGZvciBzYW1lIHZhbHVlcycsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHR4QnVpbGRlciA9IGRhdGEubmV3VHhCdWlsZGVyKCk7XG4gICAgICBjb25zdCB0eCA9IGF3YWl0IHR4QnVpbGRlci5idWlsZCgpO1xuICAgICAgY29uc3QgcmF3VHggPSB0eC50b0Jyb2FkY2FzdEZvcm1hdCgpO1xuICAgICAgcmF3VHguc2hvdWxkLmVxdWFsKGRhdGEudW5zaWduZWRUeEhleCk7XG4gICAgICB0eC5pZC5zaG91bGQuZXF1YWwoZGF0YS50eEhhc2gpO1xuICAgIH0pO1xuXG4gICAgaXQoJ1Nob3VsZCByZWNvdmVyIHR4IGZyb20gcmF3IHR4JywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgdHhCdWlsZGVyID0gZGF0YS5uZXdUeEZhY3RvcnkoKS5mcm9tKGRhdGEudW5zaWduZWRUeEhleCk7XG4gICAgICBjb25zdCB0eCA9IGF3YWl0IHR4QnVpbGRlci5idWlsZCgpO1xuICAgICAgY29uc3QgcmF3VHggPSB0eC50b0Jyb2FkY2FzdEZvcm1hdCgpO1xuICAgICAgcmF3VHguc2hvdWxkLmVxdWFsKGRhdGEudW5zaWduZWRUeEhleCk7XG4gICAgICB0eC5pZC5zaG91bGQuZXF1YWwoZGF0YS50eEhhc2gpO1xuICAgIH0pO1xuXG4gICAgaXQoJ1Nob3VsZCBjcmVhdGUgaGFsZiBzaWduZWQgdHggZm9yIHNhbWUgdmFsdWVzJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgdHhCdWlsZGVyID0gZGF0YS5uZXdUeEJ1aWxkZXIoKTtcblxuICAgICAgdHhCdWlsZGVyLnNpZ24oeyBrZXk6IGRhdGEucHJpdmF0ZUtleS5wcnYxIH0pO1xuICAgICAgY29uc3QgdHggPSBhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKTtcbiAgICAgIGNvbnN0IHJhd1R4ID0gdHgudG9Ccm9hZGNhc3RGb3JtYXQoKTtcbiAgICAgIHJhd1R4LnNob3VsZC5lcXVhbChkYXRhLmhhbGZTaWduZWRUeEhleCk7XG4gICAgICB0eC5pZC5zaG91bGQuZXF1YWwoZGF0YS50eEhhc2gpO1xuICAgIH0pO1xuXG4gICAgaXQoJ1Nob3VsZCByZWNvdmVyIGhhbGYgc2lnbmVkIHR4IGZyb20gcmF3IHR4JywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgdHhCdWlsZGVyID0gZGF0YS5uZXdUeEZhY3RvcnkoKS5mcm9tKGRhdGEuaGFsZlNpZ25lZFR4SGV4KTtcbiAgICAgIGNvbnN0IHR4ID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG4gICAgICBjb25zdCByYXdUeCA9IHR4LnRvQnJvYWRjYXN0Rm9ybWF0KCk7XG4gICAgICByYXdUeC5zaG91bGQuZXF1YWwoZGF0YS5oYWxmU2lnbmVkVHhIZXgpO1xuICAgICAgdHguaWQuc2hvdWxkLmVxdWFsKGRhdGEudHhIYXNoKTtcbiAgICB9KTtcblxuICAgIGl0KCdTaG91bGQgaGFsZiBzaWduIHR4IGZyb20gdW5zaWduZWQgcmF3IHR4JywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgdHhCdWlsZGVyID0gZGF0YS5uZXdUeEZhY3RvcnkoKS5mcm9tKGRhdGEudW5zaWduZWRUeEhleCk7XG4gICAgICB0eEJ1aWxkZXIuc2lnbih7IGtleTogZGF0YS5wcml2YXRlS2V5LnBydjEgfSk7XG4gICAgICBjb25zdCB0eCA9IGF3YWl0IHR4QnVpbGRlci5idWlsZCgpO1xuICAgICAgY29uc3QgcmF3VHggPSB0eC50b0Jyb2FkY2FzdEZvcm1hdCgpO1xuICAgICAgcmF3VHguc2hvdWxkLmVxdWFsKGRhdGEuaGFsZlNpZ25lZFR4SGV4KTtcbiAgICAgIHR4LmlkLnNob3VsZC5lcXVhbChkYXRhLnR4SGFzaCk7XG4gICAgfSk7XG5cbiAgICBpdCgnU2hvdWxkIHJlY292ZXIgaGFsZiBzaWduZWQgdHggZnJvbSBoYWxmIHNpZ25lZCByYXcgdHgnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB0eEJ1aWxkZXIgPSBkYXRhLm5ld1R4RmFjdG9yeSgpLmZyb20oZGF0YS5oYWxmU2lnbmVkVHhIZXgpO1xuICAgICAgY29uc3QgdHggPSBhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKTtcbiAgICAgIGNvbnN0IHJhd1R4ID0gdHgudG9Ccm9hZGNhc3RGb3JtYXQoKTtcbiAgICAgIHJhd1R4LnNob3VsZC5lcXVhbChkYXRhLmhhbGZTaWduZWRUeEhleCk7XG4gICAgICB0eC5pZC5zaG91bGQuZXF1YWwoZGF0YS50eEhhc2gpO1xuICAgIH0pO1xuXG4gICAgaXQoJ1Nob3VsZCByZWNvdmVyIHNpZ25lZCB0eCBmcm9tIHNpZ25lZCByYXcgdHgnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB0eEJ1aWxkZXIgPSBkYXRhLm5ld1R4RmFjdG9yeSgpLmZyb20oZGF0YS5mdWxsU2lnbmVkVHhIZXgpO1xuICAgICAgY29uc3QgdHggPSBhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKTtcbiAgICAgIGNvbnN0IHJhd1R4ID0gdHgudG9Ccm9hZGNhc3RGb3JtYXQoKTtcbiAgICAgIHJhd1R4LnNob3VsZC5lcXVhbChkYXRhLmZ1bGxTaWduZWRUeEhleCk7XG4gICAgICB0eC5pZC5zaG91bGQuZXF1YWwoZGF0YS50eEhhc2gpO1xuICAgIH0pO1xuXG4gICAgaXQoJ1Nob3VsZCBmdWxsIHNpZ24gYSB0eCBmb3Igc2FtZSB2YWx1ZXMnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB0eEJ1aWxkZXIgPSBkYXRhLm5ld1R4QnVpbGRlcigpO1xuXG4gICAgICB0eEJ1aWxkZXIuc2lnbih7IGtleTogZGF0YS5wcml2YXRlS2V5LnBydjEgfSk7XG4gICAgICB0eEJ1aWxkZXIuc2lnbih7IGtleTogZGF0YS5wcml2YXRlS2V5LnBydjIgfSk7XG4gICAgICBjb25zdCB0eCA9IGF3YWl0IHR4QnVpbGRlci5idWlsZCgpO1xuICAgICAgY29uc3QgcmF3VHggPSB0eC50b0Jyb2FkY2FzdEZvcm1hdCgpO1xuICAgICAgcmF3VHguc2hvdWxkLmVxdWFsKGRhdGEuZnVsbFNpZ25lZFR4SGV4KTtcbiAgICAgIHR4LmlkLnNob3VsZC5lcXVhbChkYXRhLnR4SGFzaCk7XG4gICAgfSk7XG5cbiAgICBpdCgnU2hvdWxkIGZ1bGwgc2lnbiBhIHR4IGZyb20gaGFsZiBzaWduZWQgcmF3IHR4JywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgdHhCdWlsZGVyID0gZGF0YS5uZXdUeEZhY3RvcnkoKS5mcm9tKGRhdGEuaGFsZlNpZ25lZFR4SGV4KTtcbiAgICAgIHR4QnVpbGRlci5zaWduKHsga2V5OiBkYXRhLnByaXZhdGVLZXkucHJ2MiB9KTtcbiAgICAgIGNvbnN0IHR4ID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG4gICAgICBjb25zdCByYXdUeCA9IHR4LnRvQnJvYWRjYXN0Rm9ybWF0KCk7XG4gICAgICByYXdUeC5zaG91bGQuZXF1YWwoZGF0YS5mdWxsU2lnbmVkVHhIZXgpO1xuICAgICAgdHguaWQuc2hvdWxkLmVxdWFsKGRhdGEudHhIYXNoKTtcbiAgICB9KTtcblxuICAgIGl0KCdTaG91bGQgZnVsbCBzaWduIGEgdHggZnJvbSB1bnNpZ25lZCByYXcgdHgnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB0eEJ1aWxkZXIgPSBkYXRhLm5ld1R4RmFjdG9yeSgpLmZyb20oZGF0YS51bnNpZ25lZFR4SGV4KTtcbiAgICAgIHR4QnVpbGRlci5zaWduKHsga2V5OiBkYXRhLnByaXZhdGVLZXkucHJ2MSB9KTtcbiAgICAgIHR4QnVpbGRlci5zaWduKHsga2V5OiBkYXRhLnByaXZhdGVLZXkucHJ2MiB9KTtcbiAgICAgIGNvbnN0IHR4ID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG4gICAgICBjb25zdCByYXdUeCA9IHR4LnRvQnJvYWRjYXN0Rm9ybWF0KCk7XG4gICAgICByYXdUeC5zaG91bGQuZXF1YWwoZGF0YS5mdWxsU2lnbmVkVHhIZXgpO1xuICAgICAgdHguaWQuc2hvdWxkLmVxdWFsKGRhdGEudHhIYXNoKTtcbiAgICB9KTtcbiAgfSk7XG59XG4iXX0=
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbkZsb3dUZXN0U3VpdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Rlc3QvdW5pdC9saWIvc2lnbkZsb3dUZXN0U3VpdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWlCQSxtQ0FvRkM7QUF4RkQ7OztHQUdHO0FBQ0gsU0FBd0IsZ0JBQWdCLENBQUMsSUFBMEI7SUFDakUsUUFBUSxDQUFDLGVBQWUsSUFBSSxDQUFDLGVBQWUsZ0JBQWdCLEVBQUUsR0FBRyxFQUFFO1FBQ2pFLEVBQUUsQ0FBQyxrQ0FBa0MsRUFBRSxLQUFLLElBQUksRUFBRTtZQUNoRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdEMsTUFBTSxFQUFFLEdBQUcsTUFBTSxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDbkMsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDckMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLCtCQUErQixFQUFFLEtBQUssSUFBSSxFQUFFO1lBQzdDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQy9ELE1BQU0sRUFBRSxHQUFHLE1BQU0sU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ25DLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3JDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN6QyxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyw4Q0FBOEMsRUFBRSxLQUFLLElBQUksRUFBRTtZQUM1RCxNQUFNLFNBQVMsR0FBRyxJQUFJLENB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SSxFQUFFLENBQUMsQ0FBQztZQUM5QyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUM5QyxNQUFNLEVBQUUsR0FBRyxNQUFNLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNuQyxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUNyQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDekMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQywrQ0FBK0MsRUFBRSxLQUFLLElBQUksRUFBRTtZQUM3RCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUNqRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUM5QyxNQUFNLEVBQUUsR0FBRyxNQUFNLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNuQyxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUNyQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDekMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyw0Q0FBNEMsRUFBRSxLQUFLLElBQUksRUFBRTtZQUMxRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUMvRCxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUM5QyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUM5QyxNQUFNLEVBQUUsR0FBRyxNQUFNLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNuQyxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUNyQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDekMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXIsIEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIHNpZ25GbG93VGVzdFN1aXRBcmdzIHtcbiAgdHJhbnNhY3Rpb25UeXBlOiBzdHJpbmc7XG4gIG5ld1R4RmFjdG9yeTogKCkgPT4gQmFzZVRyYW5zYWN0aW9uQnVpbGRlckZhY3Rvcnk7XG4gIG5ld1R4QnVpbGRlcjogKCkgPT4gQmFzZVRyYW5zYWN0aW9uQnVpbGRlcjtcbiAgdW5zaWduZWRUeEhleDogc3RyaW5nO1xuICBoYWxmU2lnbmVkVHhIZXg6IHN0cmluZztcbiAgZnVsbFNpZ25lZFR4SGV4OiBzdHJpbmc7XG4gIHByaXZhdGVLZXk6IHsgcHJ2MTogc3RyaW5nOyBwcnYyOiBzdHJpbmcgfTtcbiAgdHhIYXNoOiBzdHJpbmc7XG59XG5cbi8qKlxuICogVGVzdCBzdWl0IGZvY3VzIGluIHJhdyB0eCBzaWduaW5nIGNoYW5nZXMuXG4gKiBAcGFyYW0ge3NpZ25GbG93VGVzdFN1aXRBcmdzfSBkYXRhIHdpdGggcmVxdWlyZSBpbmZvLlxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBzaWduRmxvd1Rlc3RTdWl0KGRhdGE6IHNpZ25GbG93VGVzdFN1aXRBcmdzKTogdm9pZCB7XG4gIGRlc2NyaWJlKGBzaG91bGQgc2lnbiAke2RhdGEudHJhbnNhY3Rpb25UeXBlfSBpbiBmdWxsIGZsb3cgYCwgKCkgPT4ge1xuICAgIGl0KCdTaG91bGQgY3JlYXRlIHR4IGZvciBzYW1lIHZhbHVlcycsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHR4QnVpbGRlciA9IGRhdGEubmV3VHhCdWlsZGVyKCk7XG4gICAgICBjb25zdCB0eCA9IGF3YWl0IHR4QnVpbGRlci5idWlsZCgpO1xuICAgICAgY29uc3QgcmF3VHggPSB0eC50b0Jyb2FkY2FzdEZvcm1hdCgpO1xuICAgICAgcmF3VHguc2hvdWxkLmVxdWFsKGRhdGEudW5zaWduZWRUeEhleCk7XG4gICAgfSk7XG5cbiAgICBpdCgnU2hvdWxkIHJlY292ZXIgdHggZnJvbSByYXcgdHgnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB0eEJ1aWxkZXIgPSBkYXRhLm5ld1R4RmFjdG9yeSgpLmZyb20oZGF0YS51bnNpZ25lZFR4SGV4KTtcbiAgICAgIGNvbnN0IHR4ID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG4gICAgICBjb25zdCByYXdUeCA9IHR4LnRvQnJvYWRjYXN0Rm9ybWF0KCk7XG4gICAgICByYXdUeC5zaG91bGQuZXF1YWwoZGF0YS51bnNpZ25lZFR4SGV4KTtcbiAgICB9KTtcblxuICAgIGl0KCdTaG91bGQgY3JlYXRlIGhhbGYgc2lnbmVkIHR4IGZvciBzYW1lIHZhbHVlcycsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHR4QnVpbGRlciA9IGRhdGEubmV3VHhCdWlsZGVyKCk7XG5cbiAgICAgIHR4QnVpbGRlci5zaWduKHsga2V5OiBkYXRhLnByaXZhdGVLZXkucHJ2MSB9KTtcbiAgICAgIGNvbnN0IHR4ID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG4gICAgICBjb25zdCByYXdUeCA9IHR4LnRvQnJvYWRjYXN0Rm9ybWF0KCk7XG4gICAgICByYXdUeC5zaG91bGQuZXF1YWwoZGF0YS5oYWxmU2lnbmVkVHhIZXgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ1Nob3VsZCByZWNvdmVyIGhhbGYgc2lnbmVkIHR4IGZyb20gcmF3IHR4JywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgdHhCdWlsZGVyID0gZGF0YS5uZXdUeEZhY3RvcnkoKS5mcm9tKGRhdGEuaGFsZlNpZ25lZFR4SGV4KTtcbiAgICAgIGNvbnN0IHR4ID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG4gICAgICBjb25zdCByYXdUeCA9IHR4LnRvQnJvYWRjYXN0Rm9ybWF0KCk7XG4gICAgICByYXdUeC5zaG91bGQuZXF1YWwoZGF0YS5oYWxmU2lnbmVkVHhIZXgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ1Nob3VsZCBoYWxmIHNpZ24gdHggZnJvbSB1bnNpZ25lZCByYXcgdHgnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB0eEJ1aWxkZXIgPSBkYXRhLm5ld1R4RmFjdG9yeSgpLmZyb20oZGF0YS51bnNpZ25lZFR4SGV4KTtcbiAgICAgIHR4QnVpbGRlci5zaWduKHsga2V5OiBkYXRhLnByaXZhdGVLZXkucHJ2MSB9KTtcbiAgICAgIGNvbnN0IHR4ID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG4gICAgICBjb25zdCByYXdUeCA9IHR4LnRvQnJvYWRjYXN0Rm9ybWF0KCk7XG4gICAgICByYXdUeC5zaG91bGQuZXF1YWwoZGF0YS5oYWxmU2lnbmVkVHhIZXgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ1Nob3VsZCByZWNvdmVyIGhhbGYgc2lnbmVkIHR4IGZyb20gaGFsZiBzaWduZWQgcmF3IHR4JywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgdHhCdWlsZGVyID0gZGF0YS5uZXdUeEZhY3RvcnkoKS5mcm9tKGRhdGEuaGFsZlNpZ25lZFR4SGV4KTtcbiAgICAgIGNvbnN0IHR4ID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG4gICAgICBjb25zdCByYXdUeCA9IHR4LnRvQnJvYWRjYXN0Rm9ybWF0KCk7XG4gICAgICByYXdUeC5zaG91bGQuZXF1YWwoZGF0YS5oYWxmU2lnbmVkVHhIZXgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ1Nob3VsZCByZWNvdmVyIHNpZ25lZCB0eCBmcm9tIHNpZ25lZCByYXcgdHgnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB0eEJ1aWxkZXIgPSBkYXRhLm5ld1R4RmFjdG9yeSgpLmZyb20oZGF0YS5mdWxsU2lnbmVkVHhIZXgpO1xuICAgICAgY29uc3QgdHggPSBhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKTtcbiAgICAgIGNvbnN0IHJhd1R4ID0gdHgudG9Ccm9hZGNhc3RGb3JtYXQoKTtcbiAgICAgIHJhd1R4LnNob3VsZC5lcXVhbChkYXRhLmZ1bGxTaWduZWRUeEhleCk7XG4gICAgICB0eC5pZC5zaG91bGQuZXF1YWwoZGF0YS50eEhhc2gpO1xuICAgIH0pO1xuXG4gICAgaXQoJ1Nob3VsZCBmdWxsIHNpZ24gYSB0eCBmb3Igc2FtZSB2YWx1ZXMnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB0eEJ1aWxkZXIgPSBkYXRhLm5ld1R4QnVpbGRlcigpO1xuICAgICAgdHhCdWlsZGVyLnNpZ24oeyBrZXk6IGRhdGEucHJpdmF0ZUtleS5wcnYxIH0pO1xuICAgICAgdHhCdWlsZGVyLnNpZ24oeyBrZXk6IGRhdGEucHJpdmF0ZUtleS5wcnYyIH0pO1xuICAgICAgY29uc3QgdHggPSBhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKTtcbiAgICAgIGNvbnN0IHJhd1R4ID0gdHgudG9Ccm9hZGNhc3RGb3JtYXQoKTtcbiAgICAgIHJhd1R4LnNob3VsZC5lcXVhbChkYXRhLmZ1bGxTaWduZWRUeEhleCk7XG4gICAgICB0eC5pZC5zaG91bGQuZXF1YWwoZGF0YS50eEhhc2gpO1xuICAgIH0pO1xuXG4gICAgaXQoJ1Nob3VsZCBmdWxsIHNpZ24gYSB0eCBmcm9tIGhhbGYgc2lnbmVkIHJhdyB0eCcsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHR4QnVpbGRlciA9IGRhdGEubmV3VHhGYWN0b3J5KCkuZnJvbShkYXRhLmhhbGZTaWduZWRUeEhleCk7XG4gICAgICB0eEJ1aWxkZXIuc2lnbih7IGtleTogZGF0YS5wcml2YXRlS2V5LnBydjIgfSk7XG4gICAgICBjb25zdCB0eCA9IGF3YWl0IHR4QnVpbGRlci5idWlsZCgpO1xuICAgICAgY29uc3QgcmF3VHggPSB0eC50b0Jyb2FkY2FzdEZvcm1hdCgpO1xuICAgICAgcmF3VHguc2hvdWxkLmVxdWFsKGRhdGEuZnVsbFNpZ25lZFR4SGV4KTtcbiAgICAgIHR4LmlkLnNob3VsZC5lcXVhbChkYXRhLnR4SGFzaCk7XG4gICAgfSk7XG5cbiAgICBpdCgnU2hvdWxkIGZ1bGwgc2lnbiBhIHR4IGZyb20gdW5zaWduZWQgcmF3IHR4JywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgdHhCdWlsZGVyID0gZGF0YS5uZXdUeEZhY3RvcnkoKS5mcm9tKGRhdGEudW5zaWduZWRUeEhleCk7XG4gICAgICB0eEJ1aWxkZXIuc2lnbih7IGtleTogZGF0YS5wcml2YXRlS2V5LnBydjEgfSk7XG4gICAgICB0eEJ1aWxkZXIuc2lnbih7IGtleTogZGF0YS5wcml2YXRlS2V5LnBydjIgfSk7XG4gICAgICBjb25zdCB0eCA9IGF3YWl0IHR4QnVpbGRlci5idWlsZCgpO1xuICAgICAgY29uc3QgcmF3VHggPSB0eC50b0Jyb2FkY2FzdEZvcm1hdCgpO1xuICAgICAgcmF3VHguc2hvdWxkLmVxdWFsKGRhdGEuZnVsbFNpZ25lZFR4SGV4KTtcbiAgICAgIHR4LmlkLnNob3VsZC5lcXVhbChkYXRhLnR4SGFzaCk7XG4gICAgfSk7XG4gIH0pO1xufVxuIl19
|
|
@@ -15,7 +15,7 @@ describe('Flrp Transaction Builder Factory', () => {
|
|
|
15
15
|
// C-chain Import from P-chain: source is P, destination is C
|
|
16
16
|
const p2cImportTxs = [importInC_1.IMPORT_IN_C.unsignedHex, importInC_1.IMPORT_IN_C.halfSigntxHex, importInC_1.IMPORT_IN_C.fullSigntxHex];
|
|
17
17
|
// P-chain Import from C-chain: source is C, destination is P
|
|
18
|
-
const c2pImportTxs = [importInP_1.IMPORT_IN_P.unsignedHex, importInP_1.IMPORT_IN_P.halfSigntxHex, importInP_1.IMPORT_IN_P.
|
|
18
|
+
const c2pImportTxs = [importInP_1.IMPORT_IN_P.unsignedHex, importInP_1.IMPORT_IN_P.halfSigntxHex, importInP_1.IMPORT_IN_P.signedHex];
|
|
19
19
|
// C-chain Export to P-chain: source is C, destination is P
|
|
20
20
|
const c2pExportTxs = [exportInC_1.EXPORT_IN_C.unsignedHex, exportInC_1.EXPORT_IN_C.signedHex];
|
|
21
21
|
async function toJson(txHex) {
|
|
@@ -57,4 +57,4 @@ describe('Flrp Transaction Builder Factory', () => {
|
|
|
57
57
|
});
|
|
58
58
|
});
|
|
59
59
|
});
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Rlc3QvdW5pdC9saWIvdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLGtCQUFnQjtBQUNoQixpREFBNEM7QUFDNUMsMENBQXFFO0FBQ3JFLHlFQUF3RTtBQUN4RSx5RUFBd0U7QUFDeEUseUVBQXdFO0FBQ3hFLHlFQUF3RTtBQUV4RSxRQUFRLENBQUMsa0NBQWtDLEVBQUUsR0FBRyxFQUFFO0lBQ2hELE1BQU0sT0FBTyxHQUFHLElBQUksK0JBQXlCLENBQUMsZUFBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBRWxFLFFBQVEsQ0FBQyx3REFBd0QsRUFBRSxHQUFHLEVBQUU7UUFDdEUsMkRBQTJEO1FBQzNELE1BQU0sWUFBWSxHQUFHLENBQUMsdUJBQVcsQ0FBQyxXQUFXLEVBQUUsdUJBQVcsQ0FBQyxhQUFhLEVBQUUsdUJBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUVyRyw2REFBNkQ7UUFDN0QsTUFBTSxZQUFZLEdBQUcsQ0FBQyx1QkFBVyxDQUFDLFdBQVcsRUFBRSx1QkFBVyxDQUFDLGFBQWEsRUFBRSx1QkFBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRXJHLDZEQUE2RDtRQUM3RCxNQUFNLFlBQVksR0FBRyxDQUFDLHVCQUFXLENBQUMsV0FBVyxFQUFFLHVCQUFXLENBQUMsYUFBYSxFQUFFLHVCQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFakcsMkRBQTJEO1FBQzNELE1BQU0sWUFBWSxHQUFHLENBQUMsdUJBQVcsQ0FBQyxXQUFXLEVBQUUsdUJBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUV0RSxLQUFLLFVBQVUsTUFBTSxDQUFDLEtBQWE7WUFDakMsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN0QyxNQUFNLEVBQUUsR0FBRyxNQUFNLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNuQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNyQixDQUFDO1FBRUQsUUFBUSxDQUFDLHdCQUF3QixFQUFFLEdBQUcsRUFBRTtZQUN0QyxFQUFFLENBQUMsMEVBQTBFLEVBQUUsS0FBSyxJQUFJLEVBQUU7Z0JBQ3hGLEtBQUssTUFBTSxLQUFLLElBQUksWUFBWSxFQUFFLENBQUM7b0JBQ2pDLE1BQU0sTUFBTSxHQUFHLE1BQU0sTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUNuQyxNQUFNLENBQUMsV0FBWSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ3RDLE1BQU0sQ0FBQyxnQkFBaUIsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUM3QyxDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7WUFFSCxFQUFFLENBQUMsd0VBQXdFLEVBQUUsS0FBSyxJQUFJLEVBQUU7Z0JBQ3RGLEtBQUssTUFBTSxLQUFLLElBQUksWUFBWSxFQUFFLENBQUM7b0JBQ2pDLE1BQU0sTUFBTSxHQUFHLE1BQU0sTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUNuQyxNQUFNLENBQUMsV0FBWSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ3RDLE1BQU0sQ0FBQyxnQkFBaUIsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUM3QyxDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILFFBQVEsQ0FBQyx3QkFBd0IsRUFBRSxHQUFHLEVBQUU7WUFDdEMsRUFBRSxDQUFDLHdFQUF3RSxFQUFFLEtBQUssSUFBSSxFQUFFO2dCQUN0RixLQUFLLE1BQU0sS0FBSyxJQUFJLFlBQVksRUFBRSxDQUFDO29CQUNqQyxNQUFNLE1BQU0sR0FBRyxNQUFNLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDbkMsTUFBTSxDQUFDLFdBQVksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUN0QyxNQUFNLENBQUMsZ0JBQWlCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDN0MsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFDO1lBRUgsRUFBRSxDQUFDLDBFQUEwRSxFQUFFLEtBQUssSUFBSSxFQUFFO2dCQUN4RixLQUFLLE1BQU0sS0FBSyxJQUFJLFlBQVksRUFBRSxDQUFDO29CQUNqQyxNQUFNLE1BQU0sR0FBRyxNQUFNLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDbkMsTUFBTSxDQUFDLFdBQVksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUN0QyxNQUFNLENBQUMsZ0JBQWlCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDN0MsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICdzaG91bGQnO1xuaW1wb3J0IHsgY29pbnMgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksIFR4RGF0YSB9IGZyb20gJy4uLy4uLy4uL3NyYy9saWInO1xuaW1wb3J0IHsgRVhQT1JUX0lOX1AgfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvdHJhbnNhY3Rpb25EYXRhL2V4cG9ydEluUCc7XG5pbXBvcnQgeyBJTVBPUlRfSU5fUCB9IGZyb20gJy4uLy4uL3Jlc291cmNlcy90cmFuc2FjdGlvbkRhdGEvaW1wb3J0SW5QJztcbmltcG9ydCB7IElNUE9SVF9JTl9DIH0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL3RyYW5zYWN0aW9uRGF0YS9pbXBvcnRJbkMnO1xuaW1wb3J0IHsgRVhQT1JUX0lOX0MgfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvdHJhbnNhY3Rpb25EYXRhL2V4cG9ydEluQyc7XG5cbmRlc2NyaWJlKCdGbHJwIFRyYW5zYWN0aW9uIEJ1aWxkZXIgRmFjdG9yeScsICgpID0+IHtcbiAgY29uc3QgZmFjdG9yeSA9IG5ldyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5KGNvaW5zLmdldCgndGZscnAnKSk7XG5cbiAgZGVzY3JpYmUoJ0Nyb3NzIGNoYWluIHRyYW5zZmVyIGhhcyBzb3VyY2UgYW5kIGRlc3RpbmF0aW9uIGNoYWlucycsICgpID0+IHtcbiAgICAvLyBQLWNoYWluIEV4cG9ydCB0byBDLWNoYWluOiBzb3VyY2UgaXMgUCwgZGVzdGluYXRpb24gaXMgQ1xuICAgIGNvbnN0IHAyY0V4cG9ydFR4cyA9IFtFWFBPUlRfSU5fUC51bnNpZ25lZEhleCwgRVhQT1JUX0lOX1AuaGFsZlNpZ250eEhleCwgRVhQT1JUX0lOX1AuZnVsbFNpZ250eEhleF07XG5cbiAgICAvLyBDLWNoYWluIEltcG9ydCBmcm9tIFAtY2hhaW46IHNvdXJjZSBpcyBQLCBkZXN0aW5hdGlvbiBpcyBDXG4gICAgY29uc3QgcDJjSW1wb3J0VHhzID0gW0lNUE9SVF9JTl9DLnVuc2lnbmVkSGV4LCBJTVBPUlRfSU5fQy5oYWxmU2lnbnR4SGV4LCBJTVBPUlRfSU5fQy5mdWxsU2lnbnR4SGV4XTtcblxuICAgIC8vIFAtY2hhaW4gSW1wb3J0IGZyb20gQy1jaGFpbjogc291cmNlIGlzIEMsIGRlc3RpbmF0aW9uIGlzIFBcbiAgICBjb25zdCBjMnBJbXBvcnRUeHMgPSBbSU1QT1JUX0lOX1AudW5zaWduZWRIZXgsIElNUE9SVF9JTl9QLmhhbGZTaWdudHhIZXgsIElNUE9SVF9JTl9QLnNpZ25lZEhleF07XG5cbiAgICAvLyBDLWNoYWluIEV4cG9ydCB0byBQLWNoYWluOiBzb3VyY2UgaXMgQywgZGVzdGluYXRpb24gaXMgUFxuICAgIGNvbnN0IGMycEV4cG9ydFR4cyA9IFtFWFBPUlRfSU5fQy51bnNpZ25lZEhleCwgRVhQT1JUX0lOX0Muc2lnbmVkSGV4XTtcblxuICAgIGFzeW5jIGZ1bmN0aW9uIHRvSnNvbih0eEhleDogc3RyaW5nKTogUHJvbWlzZTxUeERhdGE+IHtcbiAgICAgIGNvbnN0IHR4QnVpbGRlciA9IGZhY3RvcnkuZnJvbSh0eEhleCk7XG4gICAgICBjb25zdCB0eCA9IGF3YWl0IHR4QnVpbGRlci5idWlsZCgpO1xuICAgICAgcmV0dXJuIHR4LnRvSnNvbigpO1xuICAgIH1cblxuICAgIGRlc2NyaWJlKCdQIHRvIEMgY2hhaW4gdHJhbnNmZXJzJywgKCkgPT4ge1xuICAgICAgaXQoJ1Nob3VsZCBoYXZlIHNvdXJjZUNoYWluIFAgYW5kIGRlc3RpbmF0aW9uQ2hhaW4gQyBmb3IgRXhwb3J0IGZyb20gUC1jaGFpbicsIGFzeW5jICgpID0+IHtcbiAgICAgICAgZm9yIChjb25zdCByYXdUeCBvZiBwMmNFeHBvcnRUeHMpIHtcbiAgICAgICAgICBjb25zdCB0eEpzb24gPSBhd2FpdCB0b0pzb24ocmF3VHgpO1xuICAgICAgICAgIHR4SnNvbi5zb3VyY2VDaGFpbiEuc2hvdWxkLmVxdWFsKCdQJyk7XG4gICAgICAgICAgdHhKc29uLmRlc3RpbmF0aW9uQ2hhaW4hLnNob3VsZC5lcXVhbCgnQycpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgaXQoJ1Nob3VsZCBoYXZlIHNvdXJjZUNoYWluIFAgYW5kIGRlc3RpbmF0aW9uQ2hhaW4gQyBmb3IgSW1wb3J0IHRvIEMtY2hhaW4nLCBhc3luYyAoKSA9PiB7XG4gICAgICAgIGZvciAoY29uc3QgcmF3VHggb2YgcDJjSW1wb3J0VHhzKSB7XG4gICAgICAgICAgY29uc3QgdHhKc29uID0gYXdhaXQgdG9Kc29uKHJhd1R4KTtcbiAgICAgICAgICB0eEpzb24uc291cmNlQ2hhaW4hLnNob3VsZC5lcXVhbCgnUCcpO1xuICAgICAgICAgIHR4SnNvbi5kZXN0aW5hdGlvbkNoYWluIS5zaG91bGQuZXF1YWwoJ0MnKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBkZXNjcmliZSgnQyB0byBQIGNoYWluIHRyYW5zZmVycycsICgpID0+IHtcbiAgICAgIGl0KCdTaG91bGQgaGF2ZSBzb3VyY2VDaGFpbiBDIGFuZCBkZXN0aW5hdGlvbkNoYWluIFAgZm9yIEltcG9ydCB0byBQLWNoYWluJywgYXN5bmMgKCkgPT4ge1xuICAgICAgICBmb3IgKGNvbnN0IHJhd1R4IG9mIGMycEltcG9ydFR4cykge1xuICAgICAgICAgIGNvbnN0IHR4SnNvbiA9IGF3YWl0IHRvSnNvbihyYXdUeCk7XG4gICAgICAgICAgdHhKc29uLnNvdXJjZUNoYWluIS5zaG91bGQuZXF1YWwoJ0MnKTtcbiAgICAgICAgICB0eEpzb24uZGVzdGluYXRpb25DaGFpbiEuc2hvdWxkLmVxdWFsKCdQJyk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBpdCgnU2hvdWxkIGhhdmUgc291cmNlQ2hhaW4gQyBhbmQgZGVzdGluYXRpb25DaGFpbiBQIGZvciBFeHBvcnQgZnJvbSBDLWNoYWluJywgYXN5bmMgKCkgPT4ge1xuICAgICAgICBmb3IgKGNvbnN0IHJhd1R4IG9mIGMycEV4cG9ydFR4cykge1xuICAgICAgICAgIGNvbnN0IHR4SnNvbiA9IGF3YWl0IHRvSnNvbihyYXdUeCk7XG4gICAgICAgICAgdHhKc29uLnNvdXJjZUNoYWluIS5zaG91bGQuZXF1YWwoJ0MnKTtcbiAgICAgICAgICB0eEpzb24uZGVzdGluYXRpb25DaGFpbiEuc2hvdWxkLmVxdWFsKCdQJyk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
|