@bitgo-beta/abstract-eth 1.2.3-alpha.343 → 1.2.3-alpha.344
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eip191Message.d.ts","sourceRoot":"","sources":["../../../../../src/lib/messages/eip191/eip191Message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAuB,MAAM,sBAAsB,CAAC;AAExF;;GAEG;AACH,qBAAa,aAAc,SAAQ,WAAW;gBAChC,OAAO,EAAE,cAAc;IAOnC;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"eip191Message.d.ts","sourceRoot":"","sources":["../../../../../src/lib/messages/eip191/eip191Message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAuB,MAAM,sBAAsB,CAAC;AAExF;;GAEG;AACH,qBAAa,aAAc,SAAQ,WAAW;gBAChC,OAAO,EAAE,cAAc;IAOnC;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;CAKrD"}
|
|
@@ -16,12 +16,10 @@ class EIP191Message extends sdk_core_1.BaseMessage {
|
|
|
16
16
|
* Returns the hash of the EIP-191 prefixed message
|
|
17
17
|
*/
|
|
18
18
|
async getSignablePayload() {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
this.signablePayload = Buffer.from(prefix.concat(this.payload)).toString('hex');
|
|
22
|
-
}
|
|
19
|
+
const prefix = `\u0019Ethereum Signed Message:\n${this.payload.length}`;
|
|
20
|
+
this.signablePayload = Buffer.from(prefix.concat(this.payload)).toString('hex');
|
|
23
21
|
return this.signablePayload;
|
|
24
22
|
}
|
|
25
23
|
}
|
|
26
24
|
exports.EIP191Message = EIP191Message;
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWlwMTkxTWVzc2FnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvbWVzc2FnZXMvZWlwMTkxL2VpcDE5MU1lc3NhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbURBQXdGO0FBRXhGOztHQUVHO0FBQ0gsTUFBYSxhQUFjLFNBQVEsc0JBQVc7SUFDNUMsWUFBWSxPQUF1QjtRQUNqQyxLQUFLLENBQUM7WUFDSixHQUFHLE9BQU87WUFDVixJQUFJLEVBQUUsOEJBQW1CLENBQUMsTUFBTTtTQUNqQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsa0JBQWtCO1FBQ3RCLE1BQU0sTUFBTSxHQUFHLG1DQUFtQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3hFLElBQUksQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoRixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQztDQUNGO0FBaEJELHNDQWdCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VNZXNzYWdlLCBNZXNzYWdlT3B0aW9ucywgTWVzc2FnZVN0YW5kYXJkVHlwZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcblxuLyoqXG4gKiBJbXBsZW1lbnRhdGlvbiBvZiBNZXNzYWdlIGZvciBFSVAxOTEgc3RhbmRhcmRcbiAqL1xuZXhwb3J0IGNsYXNzIEVJUDE5MU1lc3NhZ2UgZXh0ZW5kcyBCYXNlTWVzc2FnZSB7XG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IE1lc3NhZ2VPcHRpb25zKSB7XG4gICAgc3VwZXIoe1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHR5cGU6IE1lc3NhZ2VTdGFuZGFyZFR5cGUuRUlQMTkxLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGhhc2ggb2YgdGhlIEVJUC0xOTEgcHJlZml4ZWQgbWVzc2FnZVxuICAgKi9cbiAgYXN5bmMgZ2V0U2lnbmFibGVQYXlsb2FkKCk6IFByb21pc2U8c3RyaW5nIHwgQnVmZmVyPiB7XG4gICAgY29uc3QgcHJlZml4ID0gYFxcdTAwMTlFdGhlcmV1bSBTaWduZWQgTWVzc2FnZTpcXG4ke3RoaXMucGF5bG9hZC5sZW5ndGh9YDtcbiAgICB0aGlzLnNpZ25hYmxlUGF5bG9hZCA9IEJ1ZmZlci5mcm9tKHByZWZpeC5jb25jYXQodGhpcy5wYXlsb2FkKSkudG9TdHJpbmcoJ2hleCcpO1xuICAgIHJldHVybiB0aGlzLnNpZ25hYmxlUGF5bG9hZDtcbiAgfVxufVxuIl19
|
|
@@ -52,15 +52,6 @@ describe('EIP191 Message', () => {
|
|
|
52
52
|
const expectedPayload = Buffer.from(expectedPrefix.concat(fixtures_1.fixtures.messages.specialCharsMessage)).toString('hex');
|
|
53
53
|
signablePayload.should.equal(expectedPayload);
|
|
54
54
|
});
|
|
55
|
-
it('should reuse existing signable payload if already set', async () => {
|
|
56
|
-
const message = new src_1.EIP191Message({
|
|
57
|
-
coinConfig: fixtures_1.fixtures.coin,
|
|
58
|
-
payload: fixtures_1.fixtures.messages.validMessage,
|
|
59
|
-
signablePayload: 'predefined-payload',
|
|
60
|
-
});
|
|
61
|
-
const signablePayload = await message.getSignablePayload();
|
|
62
|
-
signablePayload.should.equal('predefined-payload');
|
|
63
|
-
});
|
|
64
55
|
it('should maintain signatures and signers correctly', () => {
|
|
65
56
|
const message = new src_1.EIP191Message({
|
|
66
57
|
coinConfig: fixtures_1.fixtures.coin,
|
|
@@ -113,7 +104,6 @@ describe('EIP191 Message', () => {
|
|
|
113
104
|
signatures: [fixtures_1.fixtures.eip191.signature],
|
|
114
105
|
signers: [fixtures_1.fixtures.eip191.signer],
|
|
115
106
|
metadata: fixtures_1.fixtures.eip191.metadata,
|
|
116
|
-
signablePayload: 'test-signable-payload',
|
|
117
107
|
});
|
|
118
108
|
const broadcastFormat = await message.toBroadcastFormat();
|
|
119
109
|
const expectedSerializedSignatures = (0, sdk_core_1.serializeSignatures)([fixtures_1.fixtures.eip191.signature]);
|
|
@@ -122,7 +112,7 @@ describe('EIP191 Message', () => {
|
|
|
122
112
|
broadcastFormat.serializedSignatures?.should.deepEqual(expectedSerializedSignatures);
|
|
123
113
|
broadcastFormat.signers?.should.deepEqual([fixtures_1.fixtures.eip191.signer]);
|
|
124
114
|
broadcastFormat.metadata.should.deepEqual(fixtures_1.fixtures.eip191.metadata);
|
|
125
|
-
broadcastFormat.signablePayload.should.equal('
|
|
115
|
+
broadcastFormat.signablePayload.should.equal('MTk0NTc0Njg2NTcyNjU3NTZkMjA1MzY5Njc2ZTY1NjQyMDRkNjU3MzczNjE2NzY1M2EwYTMxMzM0ODY1NmM2YzZmMmMyMDc3NmY3MjZjNjQyMQ==');
|
|
126
116
|
});
|
|
127
117
|
it('should convert to broadcast string correctly', async () => {
|
|
128
118
|
const message = new src_1.EIP191Message({
|
|
@@ -143,4 +133,4 @@ describe('EIP191 Message', () => {
|
|
|
143
133
|
});
|
|
144
134
|
});
|
|
145
135
|
});
|
|
146
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWlwMTkxTWVzc2FnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Rlc3QvdW5pdC9tZXNzYWdlcy9laXAxOTEvZWlwMTkxTWVzc2FnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGtCQUFnQjtBQUNoQixrREFBMEI7QUFDMUIsbURBQWdGO0FBQ2hGLDBDQUF1QztBQUN2Qyx5Q0FBZ0Q7QUFFaEQsUUFBUSxDQUFDLGdCQUFnQixFQUFFLEdBQUcsRUFBRTtJQUM5QixNQUFNLE9BQU8sR0FBRyxlQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7SUFFdEMsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUNiLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNwQixDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyx5Q0FBeUMsRUFBRSxHQUFHLEVBQUU7UUFDakQsTUFBTSxPQUFPLEdBQUcsSUFBSSxtQkFBYSxDQUFDO1lBQ2hDLFVBQVUsRUFBRSxtQkFBUSxDQUFDLElBQUk7WUFDekIsT0FBTyxFQUFFLG1CQUFRLENBQUMsUUFBUSxDQUFDLFlBQVk7U0FDeEMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsOEJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0QsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsbUVBQW1FLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDakYsTUFBTSxPQUFPLEdBQUcsSUFBSSxtQkFBYSxDQUFDO1lBQ2hDLFVBQVUsRUFBRSxtQkFBUSxDQUFDLElBQUk7WUFDekIsT0FBTyxFQUFFLG1CQUFRLENBQUMsUUFBUSxDQUFDLFlBQVk7U0FDeEMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxlQUFlLEdBQUcsTUFBTSxPQUFPLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMzRCwrRUFBK0U7UUFDL0UsTUFBTSxjQUFjLEdBQUcsbUNB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QixFQUFFLENBQUM7WUFDMUQsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUNwRCxNQUFNLDRCQUE0QixHQUFHLElBQUEsOEJBQW1CLEVBQUMsQ0FBQyxtQkFBUSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1lBRXRGLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyw4QkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM5RCxlQUFlLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsbUJBQVEsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDckUsZUFBZSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsNEJBQTRCLENBQUMsQ0FBQztZQUNwRixlQUFlLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxtQkFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ25FLGVBQWUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxtQkFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN0RSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJ3Nob3VsZCc7XG5pbXBvcnQgc2lub24gZnJvbSAnc2lub24nO1xuaW1wb3J0IHsgTWVzc2FnZVN0YW5kYXJkVHlwZSwgc2VyaWFsaXplU2lnbmF0dXJlcyB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IGZpeHR1cmVzIH0gZnJvbSAnLi4vZml4dHVyZXMnO1xuaW1wb3J0IHsgRUlQMTkxTWVzc2FnZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NyYyc7XG5cbmRlc2NyaWJlKCdFSVAxOTEgTWVzc2FnZScsICgpID0+IHtcbiAgY29uc3Qgc2FuZGJveCA9IHNpbm9uLmNyZWF0ZVNhbmRib3goKTtcblxuICBhZnRlckVhY2goKCkgPT4ge1xuICAgIHNhbmRib3gucmVzdG9yZSgpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGluaXRpYWxpemUgd2l0aCB0aGUgY29ycmVjdCB0eXBlJywgKCkgPT4ge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBuZXcgRUlQMTkxTWVzc2FnZSh7XG4gICAgICBjb2luQ29uZmlnOiBmaXh0dXJlcy5jb2luLFxuICAgICAgcGF5bG9hZDogZml4dHVyZXMubWVzc2FnZXMudmFsaWRNZXNzYWdlLFxuICAgIH0pO1xuXG4gICAgbWVzc2FnZS5nZXRUeXBlKCkuc2hvdWxkLmVxdWFsKE1lc3NhZ2VTdGFuZGFyZFR5cGUuRUlQMTkxKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBnZW5lcmF0ZSB0aGUgY29ycmVjdCBzaWduYWJsZSBwYXlsb2FkIHdpdGggRXRoZXJldW0gcHJlZml4JywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBuZXcgRUlQMTkxTWVzc2FnZSh7XG4gICAgICBjb2luQ29uZmlnOiBmaXh0dXJlcy5jb2luLFxuICAgICAgcGF5bG9hZDogZml4dHVyZXMubWVzc2FnZXMudmFsaWRNZXNzYWdlLFxuICAgIH0pO1xuXG4gICAgY29uc3Qgc2lnbmFibGVQYXlsb2FkID0gYXdhaXQgbWVzc2FnZS5nZXRTaWduYWJsZVBheWxvYWQoKTtcbiAgICAvLyBNZXNzYWdlIGlzIHByZWZpeGVkIHdpdGggXCJcXHUwMDE5RXRoZXJldW0gU2lnbmVkIE1lc3NhZ2U6XFxuPGxlbmd0aD48bWVzc2FnZT5cIlxuICAgIGNvbnN0IGV4cGVjdGVkUHJlZml4ID0gYFxcdTAwMTlFdGhlcmV1bSBTaWduZWQgTWVzc2FnZTpcXG4ke2ZpeHR1cmVzLm1lc3NhZ2VzLnZhbGlkTWVzc2FnZS5sZW5ndGh9YDtcbiAgICBjb25zdCBleHBlY3RlZFBheWxvYWQgPSBCdWZmZXIuZnJvbShleHBlY3RlZFByZWZpeC5jb25jYXQoZml4dHVyZXMubWVzc2FnZXMudmFsaWRNZXNzYWdlKSkudG9TdHJpbmcoJ2hleCcpO1xuXG4gICAgc2lnbmFibGVQYXlsb2FkLnNob3VsZC5lcXVhbChleHBlY3RlZFBheWxvYWQpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGhhbmRsZSBlbXB0eSBtZXNzYWdlcyBjb3JyZWN0bHknLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgbWVzc2FnZSA9IG5ldyBFSVAxOTFNZXNzYWdlKHtcbiAgICAgIGNvaW5Db25maWc6IGZpeHR1cmVzLmNvaW4sXG4gICAgICBwYXlsb2FkOiBmaXh0dXJlcy5tZXNzYWdlcy5lbXB0eU1lc3NhZ2UsXG4gICAgfSk7XG5cbiAgICBjb25zdCBzaWduYWJsZVBheWxvYWQgPSBhd2FpdCBtZXNzYWdlLmdldFNpZ25hYmxlUGF5bG9hZCgpO1xuICAgIC8vIEVtcHR5IG1lc3NhZ2UgaGFzIGxlbmd0aCAwXG4gICAgY29uc3QgZXhwZWN0ZWRQcmVmaXggPSBgXFx1MDAxOUV0aGVyZXVtIFNpZ25lZCBNZXNzYWdlOlxcbjBgO1xuICAgIGNvbnN0IGV4cGVjdGVkUGF5bG9hZCA9IEJ1ZmZlci5mcm9tKGV4cGVjdGVkUHJlZml4LmNvbmNhdCgnJykpLnRvU3RyaW5nKCdoZXgnKTtcblxuICAgIHNpZ25hYmxlUGF5bG9hZC5zaG91bGQuZXF1YWwoZXhwZWN0ZWRQYXlsb2FkKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBoYW5kbGUgbWVzc2FnZXMgd2l0aCBzcGVjaWFsIGNoYXJhY3RlcnMnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgbWVzc2FnZSA9IG5ldyBFSVAxOTFNZXNzYWdlKHtcbiAgICAgIGNvaW5Db25maWc6IGZpeHR1cmVzLmNvaW4sXG4gICAgICBwYXlsb2FkOiBmaXh0dXJlcy5tZXNzYWdlcy5zcGVjaWFsQ2hhcnNNZXNzYWdlLFxuICAgIH0pO1xuXG4gICAgY29uc3Qgc2lnbmFibGVQYXlsb2FkID0gYXdhaXQgbWVzc2FnZS5nZXRTaWduYWJsZVBheWxvYWQoKTtcbiAgICBjb25zdCBleHBlY3RlZFByZWZpeCA9IGBcXHUwMDE5RXRoZXJldW0gU2lnbmVkIE1lc3NhZ2U6XFxuJHtmaXh0dXJlcy5tZXNzYWdlcy5zcGVjaWFsQ2hhcnNNZXNzYWdlLmxlbmd0aH1gO1xuICAgIGNvbnN0IGV4cGVjdGVkUGF5bG9hZCA9IEJ1ZmZlci5mcm9tKGV4cGVjdGVkUHJlZml4LmNvbmNhdChmaXh0dXJlcy5tZXNzYWdlcy5zcGVjaWFsQ2hhcnNNZXNzYWdlKSkudG9TdHJpbmcoJ2hleCcpO1xuXG4gICAgc2lnbmFibGVQYXlsb2FkLnNob3VsZC5lcXVhbChleHBlY3RlZFBheWxvYWQpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHJldXNlIGV4aXN0aW5nIHNpZ25hYmxlIHBheWxvYWQgaWYgYWxyZWFkeSBzZXQnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgbWVzc2FnZSA9IG5ldyBFSVAxOTFNZXNzYWdlKHtcbiAgICAgIGNvaW5Db25maWc6IGZpeHR1cmVzLmNvaW4sXG4gICAgICBwYXlsb2FkOiBmaXh0dXJlcy5tZXNzYWdlcy52YWxpZE1lc3NhZ2UsXG4gICAgICBzaWduYWJsZVBheWxvYWQ6ICdwcmVkZWZpbmVkLXBheWxvYWQnLFxuICAgIH0pO1xuXG4gICAgY29uc3Qgc2lnbmFibGVQYXlsb2FkID0gYXdhaXQgbWVzc2FnZS5nZXRTaWduYWJsZVBheWxvYWQoKTtcbiAgICBzaWduYWJsZVBheWxvYWQuc2hvdWxkLmVxdWFsKCdwcmVkZWZpbmVkLXBheWxvYWQnKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBtYWludGFpbiBzaWduYXR1cmVzIGFuZCBzaWduZXJzIGNvcnJlY3RseScsICgpID0+IHtcbiAgICBjb25zdCBtZXNzYWdlID0gbmV3IEVJUDE5MU1lc3NhZ2Uoe1xuICAgICAgY29pbkNvbmZpZzogZml4dHVyZXMuY29pbixcbiAgICAgIHBheWxvYWQ6IGZpeHR1cmVzLm1lc3NhZ2VzLnZhbGlkTWVzc2FnZSxcbiAgICAgIHNpZ25hdHVyZXM6IFtmaXh0dXJlcy5laXAxOTEuc2lnbmF0dXJlXSxcbiAgICAgIHNpZ25lcnM6IFtmaXh0dXJlcy5laXAxOTEuc2lnbmVyXSxcbiAgICB9KTtcblxuICAgIG1lc3NhZ2UuZ2V0U2lnbmF0dXJlcygpLnNob3VsZC5jb250YWluRXFsKGZpeHR1cmVzLmVpcDE5MS5zaWduYXR1cmUpO1xuICAgIG1lc3NhZ2UuZ2V0U2lnbmVycygpLnNob3VsZC5jb250YWluRXFsKGZpeHR1cmVzLmVpcDE5MS5zaWduZXIpO1xuXG4gICAgLy8gVGVzdCBhZGRpbmcgbmV3IG9uZXNcbiAgICBtZXNzYWdlLmFkZFNpZ25hdHVyZSh7XG4gICAgICBwdWJsaWNLZXk6IHsgcHViOiAncHViMScgfSxcbiAgICAgIHNpZ25hdHVyZTogQnVmZmVyLmZyb20oJ25ldy1zaWduYXR1cmUnKSxcbiAgICB9KTtcbiAgICBtZXNzYWdlLmFkZFNpZ25lcignbmV3LXNpZ25lcicpO1xuXG4gICAgbWVzc2FnZS5nZXRTaWduYXR1cmVzKCkuc2hvdWxkLmNvbnRhaW5FcWwoe1xuICAgICAgcHVibGljS2V5OiB7IHB1YjogJ3B1YjEnIH0sXG4gICAgICBzaWduYXR1cmU6IEJ1ZmZlci5mcm9tKCduZXctc2lnbmF0dXJlJyksXG4gICAgfSk7XG4gICAgbWVzc2FnZS5nZXRTaWduZXJzKCkuc2hvdWxkLmNvbnRhaW5FcWwoJ25ldy1zaWduZXInKTtcblxuICAgIC8vIFRlc3QgcmVwbGFjaW5nIGFsbFxuICAgIG1lc3NhZ2Uuc2V0U2lnbmF0dXJlcyhbXG4gICAgICB7XG4gICAgICAgIHB1YmxpY0tleTogeyBwdWI6ICdwdWIyJyB9LFxuICAgICAgICBzaWduYXR1cmU6IEJ1ZmZlci5mcm9tKCdyZXBsYWNlZC1zaWduYXR1cmUnKSxcbiAgICAgIH0sXG4gICAgXSk7XG4gICAgbWVzc2FnZS5zZXRTaWduZXJzKFsncmVwbGFjZWQtc2lnbmVyJ10pO1xuXG4gICAgbWVzc2FnZS5nZXRTaWduYXR1cmVzKCkuc2hvdWxkLmRlZXBFcXVhbChbXG4gICAgICB7XG4gICAgICAgIHB1YmxpY0tleTogeyBwdWI6ICdwdWIyJyB9LFxuICAgICAgICBzaWduYXR1cmU6IEJ1ZmZlci5mcm9tKCdyZXBsYWNlZC1zaWduYXR1cmUnKSxcbiAgICAgIH0sXG4gICAgXSk7XG4gICAgbWVzc2FnZS5nZXRTaWduZXJzKCkuc2hvdWxkLmRlZXBFcXVhbChbJ3JlcGxhY2VkLXNpZ25lciddKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBzdG9yZSBhbmQgcmV0cmlldmUgbWV0YWRhdGEgY29ycmVjdGx5JywgKCkgPT4ge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBuZXcgRUlQMTkxTWVzc2FnZSh7XG4gICAgICBjb2luQ29uZmlnOiBmaXh0dXJlcy5jb2luLFxuICAgICAgcGF5bG9hZDogZml4dHVyZXMubWVzc2FnZXMudmFsaWRNZXNzYWdlLFxuICAgICAgbWV0YWRhdGE6IGZpeHR1cmVzLmVpcDE5MS5tZXRhZGF0YSxcbiAgICB9KTtcblxuICAgIG1lc3NhZ2UuZ2V0TWV0YWRhdGEoKSEuc2hvdWxkLmRlZXBFcXVhbChmaXh0dXJlcy5laXAxOTEubWV0YWRhdGEpO1xuICB9KTtcblxuICBkZXNjcmliZSgnQnJvYWRjYXN0IEZvcm1hdCcsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIGNvbnZlcnQgdG8gYnJvYWRjYXN0IGZvcm1hdCBjb3JyZWN0bHknLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gbmV3IEVJUDE5MU1lc3NhZ2Uoe1xuICAgICAgICBjb2luQ29uZmlnOiBmaXh0dXJlcy5jb2luLFxuICAgICAgICBwYXlsb2FkOiBmaXh0dXJlcy5tZXNzYWdlcy52YWxpZE1lc3NhZ2UsXG4gICAgICAgIHNpZ25hdHVyZXM6IFtmaXh0dXJlcy5laXAxOTEuc2lnbmF0dXJlXSxcbiAgICAgICAgc2lnbmVyczogW2ZpeHR1cmVzLmVpcDE5MS5zaWduZXJdLFxuICAgICAgICBtZXRhZGF0YTogZml4dHVyZXMuZWlwMTkxLm1ldGFkYXRhLFxuICAgICAgICBzaWduYWJsZVBheWxvYWQ6ICd0ZXN0LXNpZ25hYmxlLXBheWxvYWQnLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGJyb2FkY2FzdEZvcm1hdCA9IGF3YWl0IG1lc3NhZ2UudG9Ccm9hZGNhc3RGb3JtYXQoKTtcblxuICAgICAgY29uc3QgZXhwZWN0ZWRTZXJpYWxpemVkU2lnbmF0dXJlcyA9IHNlcmlhbGl6ZVNpZ25hdHVyZXMoW2ZpeHR1cmVzLmVpcDE5MS5zaWduYXR1cmVdKTtcbiAgICAgIGJyb2FkY2FzdEZvcm1hdC50eXBlLnNob3VsZC5lcXVhbChNZXNzYWdlU3RhbmRhcmRUeXBlLkVJUDE5MSk7XG4gICAgICBicm9hZGNhc3RGb3JtYXQucGF5bG9hZC5zaG91bGQuZXF1YWwoZml4dHVyZXMubWVzc2FnZXMudmFsaWRNZXNzYWdlKTtcbiAgICAgIGJyb2FkY2FzdEZvcm1hdC5zZXJpYWxpemVkU2lnbmF0dXJlcz8uc2hvdWxkLmRlZXBFcXVhbChleHBlY3RlZFNlcmlhbGl6ZWRTaWduYXR1cmVzKTtcbiAgICAgIGJyb2FkY2FzdEZvcm1hdC5zaWduZXJzPy5zaG91bGQuZGVlcEVxdWFsKFtmaXh0dXJlcy5laXAxOTEuc2lnbmVyXSk7XG4gICAgICBicm9hZGNhc3RGb3JtYXQubWV0YWRhdGEhLnNob3VsZC5kZWVwRXF1YWwoZml4dHVyZXMuZWlwMTkxLm1ldGFkYXRhKTtcbiAgICAgIGJyb2FkY2FzdEZvcm1hdC5zaWduYWJsZVBheWxvYWQhLnNob3VsZC5lcXVhbCgnZEdWemRDMXphV2R1WVdKc1pTMXdZWGxzYjJGaycpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBjb252ZXJ0IHRvIGJyb2FkY2FzdCBzdHJpbmcgY29ycmVjdGx5JywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IG5ldyBFSVAxOTFNZXNzYWdlKHtcbiAgICAgICAgY29pbkNvbmZpZzogZml4dHVyZXMuY29pbixcbiAgICAgICAgcGF5bG9hZDogZml4dHVyZXMubWVzc2FnZXMudmFsaWRNZXNzYWdlLFxuICAgICAgICBzaWduYXR1cmVzOiBbZml4dHVyZXMuZWlwMTkxLnNpZ25hdHVyZV0sXG4gICAgICAgIHNpZ25lcnM6IFtmaXh0dXJlcy5laXAxOTEuc2lnbmVyXSxcbiAgICAgICAgbWV0YWRhdGE6IGZpeHR1cmVzLmVpcDE5MS5tZXRhZGF0YSxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBicm9hZGNhc3RTdHJpbmcgPSBhd2FpdCBtZXNzYWdlLnRvQnJvYWRjYXN0U3RyaW5nKCk7XG4gICAgICBjb25zdCBwYXJzZWRCcm9hZGNhc3QgPSBKU09OLnBhcnNlKGJyb2FkY2FzdFN0cmluZyk7XG4gICAgICBjb25zdCBleHBlY3RlZFNlcmlhbGl6ZWRTaWduYXR1cmVzID0gc2VyaWFsaXplU2lnbmF0dXJlcyhbZml4dHVyZXMuZWlwMTkxLnNpZ25hdHVyZV0pO1xuXG4gICAgICBwYXJzZWRCcm9hZGNhc3QudHlwZS5zaG91bGQuZXF1YWwoTWVzc2FnZVN0YW5kYXJkVHlwZS5FSVAxOTEpO1xuICAgICAgcGFyc2VkQnJvYWRjYXN0LnBheWxvYWQuc2hvdWxkLmVxdWFsKGZpeHR1cmVzLm1lc3NhZ2VzLnZhbGlkTWVzc2FnZSk7XG4gICAgICBwYXJzZWRCcm9hZGNhc3Quc2VyaWFsaXplZFNpZ25hdHVyZXMuc2hvdWxkLmRlZXBFcXVhbChleHBlY3RlZFNlcmlhbGl6ZWRTaWduYXR1cmVzKTtcbiAgICAgIHBhcnNlZEJyb2FkY2FzdC5zaWduZXJzLnNob3VsZC5kZWVwRXF1YWwoW2ZpeHR1cmVzLmVpcDE5MS5zaWduZXJdKTtcbiAgICAgIHBhcnNlZEJyb2FkY2FzdC5tZXRhZGF0YS5zaG91bGQuZGVlcEVxdWFsKGZpeHR1cmVzLmVpcDE5MS5tZXRhZGF0YSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
|
|
136
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWlwMTkxTWVzc2FnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Rlc3QvdW5pdC9tZXNzYWdlcy9laXAxOTEvZWlwMTkxTWVzc2FnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGtCQUFnQjtBQUNoQixrREFBMEI7QUFDMUIsbURBQWdGO0FBQ2hGLDBDQUF1QztBQUN2Qyx5Q0FBZ0Q7QUFFaEQsUUFBUSxDQUFDLGdCQUFnQixFQUFFLEdBQUcsRUFBRTtJQUM5QixNQUFNLE9BQU8sR0FBRyxlQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7SUFFdEMsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUNiLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNwQixDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyx5Q0FBeUMsRUFBRSxHQUFHLEVBQUU7UUFDakQsTUFBTSxPQUFPLEdBQUcsSUFBSSxtQkFBYSxDQUFDO1lBQ2hDLFVBQVUsRUFBRSxtQkFBUSxDQUFDLElBQUk7WUFDekIsT0FBTyxFQUFFLG1CQUFRLENBQUMsUUFBUSxDQUFDLFlBQVk7U0FDeEMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsOEJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0QsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsbUVBQW1FLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDakYsTUFBTSxPQUFPLEdBQUcsSUFBSSxtQkFBYSxDQUFDO1lBQ2hDLFVBQVUsRUFBRSxtQkFBUSxDQUFDLElBQUk7WUFDekIsT0FBTyxFQUFFLG1CQUFRLENBQUMsUUFBUSxDQUFDLFlBQVk7U0FDeEMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxlQUFlLEdBQUcsTUFBTSxPQUFPLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMzRCwrRUFBK0U7UUFDL0UsTUFBTSxjQUFjLEdBQUcsbUNB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LENBQUMsU0FBUyxDQUFDLDRCQUE0QixDQUFDLENBQUM7WUFDcEYsZUFBZSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsbUJBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUNuRSxlQUFlLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsbUJBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdEUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICdzaG91bGQnO1xuaW1wb3J0IHNpbm9uIGZyb20gJ3Npbm9uJztcbmltcG9ydCB7IE1lc3NhZ2VTdGFuZGFyZFR5cGUsIHNlcmlhbGl6ZVNpZ25hdHVyZXMgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBmaXh0dXJlcyB9IGZyb20gJy4uL2ZpeHR1cmVzJztcbmltcG9ydCB7IEVJUDE5MU1lc3NhZ2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zcmMnO1xuXG5kZXNjcmliZSgnRUlQMTkxIE1lc3NhZ2UnLCAoKSA9PiB7XG4gIGNvbnN0IHNhbmRib3ggPSBzaW5vbi5jcmVhdGVTYW5kYm94KCk7XG5cbiAgYWZ0ZXJFYWNoKCgpID0+IHtcbiAgICBzYW5kYm94LnJlc3RvcmUoKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBpbml0aWFsaXplIHdpdGggdGhlIGNvcnJlY3QgdHlwZScsICgpID0+IHtcbiAgICBjb25zdCBtZXNzYWdlID0gbmV3IEVJUDE5MU1lc3NhZ2Uoe1xuICAgICAgY29pbkNvbmZpZzogZml4dHVyZXMuY29pbixcbiAgICAgIHBheWxvYWQ6IGZpeHR1cmVzLm1lc3NhZ2VzLnZhbGlkTWVzc2FnZSxcbiAgICB9KTtcblxuICAgIG1lc3NhZ2UuZ2V0VHlwZSgpLnNob3VsZC5lcXVhbChNZXNzYWdlU3RhbmRhcmRUeXBlLkVJUDE5MSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgZ2VuZXJhdGUgdGhlIGNvcnJlY3Qgc2lnbmFibGUgcGF5bG9hZCB3aXRoIEV0aGVyZXVtIHByZWZpeCcsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBtZXNzYWdlID0gbmV3IEVJUDE5MU1lc3NhZ2Uoe1xuICAgICAgY29pbkNvbmZpZzogZml4dHVyZXMuY29pbixcbiAgICAgIHBheWxvYWQ6IGZpeHR1cmVzLm1lc3NhZ2VzLnZhbGlkTWVzc2FnZSxcbiAgICB9KTtcblxuICAgIGNvbnN0IHNpZ25hYmxlUGF5bG9hZCA9IGF3YWl0IG1lc3NhZ2UuZ2V0U2lnbmFibGVQYXlsb2FkKCk7XG4gICAgLy8gTWVzc2FnZSBpcyBwcmVmaXhlZCB3aXRoIFwiXFx1MDAxOUV0aGVyZXVtIFNpZ25lZCBNZXNzYWdlOlxcbjxsZW5ndGg+PG1lc3NhZ2U+XCJcbiAgICBjb25zdCBleHBlY3RlZFByZWZpeCA9IGBcXHUwMDE5RXRoZXJldW0gU2lnbmVkIE1lc3NhZ2U6XFxuJHtmaXh0dXJlcy5tZXNzYWdlcy52YWxpZE1lc3NhZ2UubGVuZ3RofWA7XG4gICAgY29uc3QgZXhwZWN0ZWRQYXlsb2FkID0gQnVmZmVyLmZyb20oZXhwZWN0ZWRQcmVmaXguY29uY2F0KGZpeHR1cmVzLm1lc3NhZ2VzLnZhbGlkTWVzc2FnZSkpLnRvU3RyaW5nKCdoZXgnKTtcblxuICAgIHNpZ25hYmxlUGF5bG9hZC5zaG91bGQuZXF1YWwoZXhwZWN0ZWRQYXlsb2FkKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBoYW5kbGUgZW1wdHkgbWVzc2FnZXMgY29ycmVjdGx5JywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBuZXcgRUlQMTkxTWVzc2FnZSh7XG4gICAgICBjb2luQ29uZmlnOiBmaXh0dXJlcy5jb2luLFxuICAgICAgcGF5bG9hZDogZml4dHVyZXMubWVzc2FnZXMuZW1wdHlNZXNzYWdlLFxuICAgIH0pO1xuXG4gICAgY29uc3Qgc2lnbmFibGVQYXlsb2FkID0gYXdhaXQgbWVzc2FnZS5nZXRTaWduYWJsZVBheWxvYWQoKTtcbiAgICAvLyBFbXB0eSBtZXNzYWdlIGhhcyBsZW5ndGggMFxuICAgIGNvbnN0IGV4cGVjdGVkUHJlZml4ID0gYFxcdTAwMTlFdGhlcmV1bSBTaWduZWQgTWVzc2FnZTpcXG4wYDtcbiAgICBjb25zdCBleHBlY3RlZFBheWxvYWQgPSBCdWZmZXIuZnJvbShleHBlY3RlZFByZWZpeC5jb25jYXQoJycpKS50b1N0cmluZygnaGV4Jyk7XG5cbiAgICBzaWduYWJsZVBheWxvYWQuc2hvdWxkLmVxdWFsKGV4cGVjdGVkUGF5bG9hZCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgaGFuZGxlIG1lc3NhZ2VzIHdpdGggc3BlY2lhbCBjaGFyYWN0ZXJzJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBuZXcgRUlQMTkxTWVzc2FnZSh7XG4gICAgICBjb2luQ29uZmlnOiBmaXh0dXJlcy5jb2luLFxuICAgICAgcGF5bG9hZDogZml4dHVyZXMubWVzc2FnZXMuc3BlY2lhbENoYXJzTWVzc2FnZSxcbiAgICB9KTtcblxuICAgIGNvbnN0IHNpZ25hYmxlUGF5bG9hZCA9IGF3YWl0IG1lc3NhZ2UuZ2V0U2lnbmFibGVQYXlsb2FkKCk7XG4gICAgY29uc3QgZXhwZWN0ZWRQcmVmaXggPSBgXFx1MDAxOUV0aGVyZXVtIFNpZ25lZCBNZXNzYWdlOlxcbiR7Zml4dHVyZXMubWVzc2FnZXMuc3BlY2lhbENoYXJzTWVzc2FnZS5sZW5ndGh9YDtcbiAgICBjb25zdCBleHBlY3RlZFBheWxvYWQgPSBCdWZmZXIuZnJvbShleHBlY3RlZFByZWZpeC5jb25jYXQoZml4dHVyZXMubWVzc2FnZXMuc3BlY2lhbENoYXJzTWVzc2FnZSkpLnRvU3RyaW5nKCdoZXgnKTtcblxuICAgIHNpZ25hYmxlUGF5bG9hZC5zaG91bGQuZXF1YWwoZXhwZWN0ZWRQYXlsb2FkKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBtYWludGFpbiBzaWduYXR1cmVzIGFuZCBzaWduZXJzIGNvcnJlY3RseScsICgpID0+IHtcbiAgICBjb25zdCBtZXNzYWdlID0gbmV3IEVJUDE5MU1lc3NhZ2Uoe1xuICAgICAgY29pbkNvbmZpZzogZml4dHVyZXMuY29pbixcbiAgICAgIHBheWxvYWQ6IGZpeHR1cmVzLm1lc3NhZ2VzLnZhbGlkTWVzc2FnZSxcbiAgICAgIHNpZ25hdHVyZXM6IFtmaXh0dXJlcy5laXAxOTEuc2lnbmF0dXJlXSxcbiAgICAgIHNpZ25lcnM6IFtmaXh0dXJlcy5laXAxOTEuc2lnbmVyXSxcbiAgICB9KTtcblxuICAgIG1lc3NhZ2UuZ2V0U2lnbmF0dXJlcygpLnNob3VsZC5jb250YWluRXFsKGZpeHR1cmVzLmVpcDE5MS5zaWduYXR1cmUpO1xuICAgIG1lc3NhZ2UuZ2V0U2lnbmVycygpLnNob3VsZC5jb250YWluRXFsKGZpeHR1cmVzLmVpcDE5MS5zaWduZXIpO1xuXG4gICAgLy8gVGVzdCBhZGRpbmcgbmV3IG9uZXNcbiAgICBtZXNzYWdlLmFkZFNpZ25hdHVyZSh7XG4gICAgICBwdWJsaWNLZXk6IHsgcHViOiAncHViMScgfSxcbiAgICAgIHNpZ25hdHVyZTogQnVmZmVyLmZyb20oJ25ldy1zaWduYXR1cmUnKSxcbiAgICB9KTtcbiAgICBtZXNzYWdlLmFkZFNpZ25lcignbmV3LXNpZ25lcicpO1xuXG4gICAgbWVzc2FnZS5nZXRTaWduYXR1cmVzKCkuc2hvdWxkLmNvbnRhaW5FcWwoe1xuICAgICAgcHVibGljS2V5OiB7IHB1YjogJ3B1YjEnIH0sXG4gICAgICBzaWduYXR1cmU6IEJ1ZmZlci5mcm9tKCduZXctc2lnbmF0dXJlJyksXG4gICAgfSk7XG4gICAgbWVzc2FnZS5nZXRTaWduZXJzKCkuc2hvdWxkLmNvbnRhaW5FcWwoJ25ldy1zaWduZXInKTtcblxuICAgIC8vIFRlc3QgcmVwbGFjaW5nIGFsbFxuICAgIG1lc3NhZ2Uuc2V0U2lnbmF0dXJlcyhbXG4gICAgICB7XG4gICAgICAgIHB1YmxpY0tleTogeyBwdWI6ICdwdWIyJyB9LFxuICAgICAgICBzaWduYXR1cmU6IEJ1ZmZlci5mcm9tKCdyZXBsYWNlZC1zaWduYXR1cmUnKSxcbiAgICAgIH0sXG4gICAgXSk7XG4gICAgbWVzc2FnZS5zZXRTaWduZXJzKFsncmVwbGFjZWQtc2lnbmVyJ10pO1xuXG4gICAgbWVzc2FnZS5nZXRTaWduYXR1cmVzKCkuc2hvdWxkLmRlZXBFcXVhbChbXG4gICAgICB7XG4gICAgICAgIHB1YmxpY0tleTogeyBwdWI6ICdwdWIyJyB9LFxuICAgICAgICBzaWduYXR1cmU6IEJ1ZmZlci5mcm9tKCdyZXBsYWNlZC1zaWduYXR1cmUnKSxcbiAgICAgIH0sXG4gICAgXSk7XG4gICAgbWVzc2FnZS5nZXRTaWduZXJzKCkuc2hvdWxkLmRlZXBFcXVhbChbJ3JlcGxhY2VkLXNpZ25lciddKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBzdG9yZSBhbmQgcmV0cmlldmUgbWV0YWRhdGEgY29ycmVjdGx5JywgKCkgPT4ge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBuZXcgRUlQMTkxTWVzc2FnZSh7XG4gICAgICBjb2luQ29uZmlnOiBmaXh0dXJlcy5jb2luLFxuICAgICAgcGF5bG9hZDogZml4dHVyZXMubWVzc2FnZXMudmFsaWRNZXNzYWdlLFxuICAgICAgbWV0YWRhdGE6IGZpeHR1cmVzLmVpcDE5MS5tZXRhZGF0YSxcbiAgICB9KTtcblxuICAgIG1lc3NhZ2UuZ2V0TWV0YWRhdGEoKSEuc2hvdWxkLmRlZXBFcXVhbChmaXh0dXJlcy5laXAxOTEubWV0YWRhdGEpO1xuICB9KTtcblxuICBkZXNjcmliZSgnQnJvYWRjYXN0IEZvcm1hdCcsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIGNvbnZlcnQgdG8gYnJvYWRjYXN0IGZvcm1hdCBjb3JyZWN0bHknLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gbmV3IEVJUDE5MU1lc3NhZ2Uoe1xuICAgICAgICBjb2luQ29uZmlnOiBmaXh0dXJlcy5jb2luLFxuICAgICAgICBwYXlsb2FkOiBmaXh0dXJlcy5tZXNzYWdlcy52YWxpZE1lc3NhZ2UsXG4gICAgICAgIHNpZ25hdHVyZXM6IFtmaXh0dXJlcy5laXAxOTEuc2lnbmF0dXJlXSxcbiAgICAgICAgc2lnbmVyczogW2ZpeHR1cmVzLmVpcDE5MS5zaWduZXJdLFxuICAgICAgICBtZXRhZGF0YTogZml4dHVyZXMuZWlwMTkxLm1ldGFkYXRhLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGJyb2FkY2FzdEZvcm1hdCA9IGF3YWl0IG1lc3NhZ2UudG9Ccm9hZGNhc3RGb3JtYXQoKTtcblxuICAgICAgY29uc3QgZXhwZWN0ZWRTZXJpYWxpemVkU2lnbmF0dXJlcyA9IHNlcmlhbGl6ZVNpZ25hdHVyZXMoW2ZpeHR1cmVzLmVpcDE5MS5zaWduYXR1cmVdKTtcbiAgICAgIGJyb2FkY2FzdEZvcm1hdC50eXBlLnNob3VsZC5lcXVhbChNZXNzYWdlU3RhbmRhcmRUeXBlLkVJUDE5MSk7XG4gICAgICBicm9hZGNhc3RGb3JtYXQucGF5bG9hZC5zaG91bGQuZXF1YWwoZml4dHVyZXMubWVzc2FnZXMudmFsaWRNZXNzYWdlKTtcbiAgICAgIGJyb2FkY2FzdEZvcm1hdC5zZXJpYWxpemVkU2lnbmF0dXJlcz8uc2hvdWxkLmRlZXBFcXVhbChleHBlY3RlZFNlcmlhbGl6ZWRTaWduYXR1cmVzKTtcbiAgICAgIGJyb2FkY2FzdEZvcm1hdC5zaWduZXJzPy5zaG91bGQuZGVlcEVxdWFsKFtmaXh0dXJlcy5laXAxOTEuc2lnbmVyXSk7XG4gICAgICBicm9hZGNhc3RGb3JtYXQubWV0YWRhdGEhLnNob3VsZC5kZWVwRXF1YWwoZml4dHVyZXMuZWlwMTkxLm1ldGFkYXRhKTtcbiAgICAgIGJyb2FkY2FzdEZvcm1hdC5zaWduYWJsZVBheWxvYWQhLnNob3VsZC5lcXVhbChcbiAgICAgICAgJ01UazBOVGMwTmpnMk5UY3lOalUzTlRaa01qQTFNelk1TmpjMlpUWTFOalF5TURSa05qVTNNemN6TmpFMk56WTFNMkV3WVRNeE16TTBPRFkxTm1NMll6Wm1NbU15TURjM05tWTNNalpqTmpReU1RPT0nXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBjb252ZXJ0IHRvIGJyb2FkY2FzdCBzdHJpbmcgY29ycmVjdGx5JywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IG5ldyBFSVAxOTFNZXNzYWdlKHtcbiAgICAgICAgY29pbkNvbmZpZzogZml4dHVyZXMuY29pbixcbiAgICAgICAgcGF5bG9hZDogZml4dHVyZXMubWVzc2FnZXMudmFsaWRNZXNzYWdlLFxuICAgICAgICBzaWduYXR1cmVzOiBbZml4dHVyZXMuZWlwMTkxLnNpZ25hdHVyZV0sXG4gICAgICAgIHNpZ25lcnM6IFtmaXh0dXJlcy5laXAxOTEuc2lnbmVyXSxcbiAgICAgICAgbWV0YWRhdGE6IGZpeHR1cmVzLmVpcDE5MS5tZXRhZGF0YSxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBicm9hZGNhc3RTdHJpbmcgPSBhd2FpdCBtZXNzYWdlLnRvQnJvYWRjYXN0U3RyaW5nKCk7XG4gICAgICBjb25zdCBwYXJzZWRCcm9hZGNhc3QgPSBKU09OLnBhcnNlKGJyb2FkY2FzdFN0cmluZyk7XG4gICAgICBjb25zdCBleHBlY3RlZFNlcmlhbGl6ZWRTaWduYXR1cmVzID0gc2VyaWFsaXplU2lnbmF0dXJlcyhbZml4dHVyZXMuZWlwMTkxLnNpZ25hdHVyZV0pO1xuXG4gICAgICBwYXJzZWRCcm9hZGNhc3QudHlwZS5zaG91bGQuZXF1YWwoTWVzc2FnZVN0YW5kYXJkVHlwZS5FSVAxOTEpO1xuICAgICAgcGFyc2VkQnJvYWRjYXN0LnBheWxvYWQuc2hvdWxkLmVxdWFsKGZpeHR1cmVzLm1lc3NhZ2VzLnZhbGlkTWVzc2FnZSk7XG4gICAgICBwYXJzZWRCcm9hZGNhc3Quc2VyaWFsaXplZFNpZ25hdHVyZXMuc2hvdWxkLmRlZXBFcXVhbChleHBlY3RlZFNlcmlhbGl6ZWRTaWduYXR1cmVzKTtcbiAgICAgIHBhcnNlZEJyb2FkY2FzdC5zaWduZXJzLnNob3VsZC5kZWVwRXF1YWwoW2ZpeHR1cmVzLmVpcDE5MS5zaWduZXJdKTtcbiAgICAgIHBhcnNlZEJyb2FkY2FzdC5tZXRhZGF0YS5zaG91bGQuZGVlcEVxdWFsKGZpeHR1cmVzLmVpcDE5MS5tZXRhZGF0YSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
|