@bitgo/sdk-core 2.0.0-rc.10 → 2.0.0-rc.13
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 +43 -0
- package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts +5 -2
- package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.js +7 -5
- package/dist/src/bitgo/baseCoin/baseCoin.d.ts +5 -0
- package/dist/src/bitgo/baseCoin/baseCoin.d.ts.map +1 -1
- package/dist/src/bitgo/baseCoin/baseCoin.js +8 -1
- package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts +12 -4
- package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts.map +1 -1
- package/dist/src/bitgo/baseCoin/iBaseCoin.js +1 -1
- package/dist/src/bitgo/environments.d.ts +2 -0
- package/dist/src/bitgo/environments.d.ts.map +1 -1
- package/dist/src/bitgo/environments.js +7 -1
- package/dist/src/bitgo/index.d.ts +1 -0
- package/dist/src/bitgo/index.d.ts.map +1 -1
- package/dist/src/bitgo/index.js +2 -1
- package/dist/src/bitgo/lightning/iLightning.d.ts +25 -0
- package/dist/src/bitgo/lightning/iLightning.d.ts.map +1 -1
- package/dist/src/bitgo/lightning/iLightning.js +12 -2
- package/dist/src/bitgo/lightning/index.d.ts +2 -0
- package/dist/src/bitgo/lightning/index.d.ts.map +1 -1
- package/dist/src/bitgo/lightning/index.js +3 -1
- package/dist/src/bitgo/lightning/lightning.d.ts +3 -1
- package/dist/src/bitgo/lightning/lightning.d.ts.map +1 -1
- package/dist/src/bitgo/lightning/lightning.js +8 -1
- package/dist/src/bitgo/lightning/lightningUtils.d.ts +42 -0
- package/dist/src/bitgo/lightning/lightningUtils.d.ts.map +1 -0
- package/dist/src/bitgo/lightning/lightningUtils.js +139 -0
- package/dist/src/bitgo/lightning/lnurlCodec.d.ts +3 -0
- package/dist/src/bitgo/lightning/lnurlCodec.d.ts.map +1 -0
- package/dist/src/bitgo/lightning/lnurlCodec.js +28 -0
- package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts +3 -6
- package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/baseTSSUtils.js +4 -1
- package/dist/src/bitgo/utils/tss/baseTypes.d.ts +15 -0
- package/dist/src/bitgo/utils/tss/baseTypes.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/baseTypes.js +7 -2
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts +20 -9
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.js +33 -6
- package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts +2 -7
- package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/eddsa/eddsa.js +1 -1
- package/dist/src/bitgo/wallet/iWallet.d.ts +9 -3
- package/dist/src/bitgo/wallet/iWallet.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/iWallet.js +1 -1
- package/dist/src/bitgo/wallet/wallet.d.ts +16 -2
- package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/wallet.js +47 -1
- package/dist/tsconfig.tsbuildinfo +112 -38
- package/package.json +4 -2
|
@@ -24,10 +24,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
24
24
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
25
|
exports.EcdsaUtils = void 0;
|
|
26
26
|
const tss_1 = require("../../../../account-lib/mpc/tss");
|
|
27
|
-
const ecdsa_1 = __importDefault(require("../../../tss/ecdsa"));
|
|
28
27
|
const openpgp = __importStar(require("openpgp"));
|
|
28
|
+
const ecdsa_1 = __importDefault(require("../../../tss/ecdsa"));
|
|
29
29
|
const crypto = __importStar(require("crypto"));
|
|
30
30
|
const baseTSSUtils_1 = __importDefault(require("../baseTSSUtils"));
|
|
31
|
+
const baseTypes_1 = require("../baseTypes");
|
|
31
32
|
const common_1 = require("../../../tss/common");
|
|
32
33
|
const types_1 = require("../../../tss/ecdsa/types");
|
|
33
34
|
const opengpgUtils_1 = require("../../opengpgUtils");
|
|
@@ -182,13 +183,13 @@ class EcdsaUtils extends baseTSSUtils_1.default {
|
|
|
182
183
|
return result;
|
|
183
184
|
}
|
|
184
185
|
/**
|
|
185
|
-
*
|
|
186
|
+
* Gets signing key, txRequestResolved and txRequestId
|
|
186
187
|
* @param {string | TxRequest} params.txRequest - transaction request object or id
|
|
187
188
|
* @param {string} params.prv - decrypted private key
|
|
188
189
|
* @param { string} params.reqId - request id
|
|
189
|
-
* @returns {Promise<
|
|
190
|
+
* @returns {Promise<ECDSASigningRequestBaseResult>}
|
|
190
191
|
*/
|
|
191
|
-
async
|
|
192
|
+
async signRequestBase(params, requestType) {
|
|
192
193
|
let txRequestResolved;
|
|
193
194
|
let txRequestId;
|
|
194
195
|
const { txRequest, prv } = params;
|
|
@@ -217,11 +218,37 @@ class EcdsaUtils extends baseTSSUtils_1.default {
|
|
|
217
218
|
const userGammaAndMuShares = await ecdsa_1.default.createUserGammaAndMuShare(userSignShare.wShare, bitgoToUserAShare);
|
|
218
219
|
const bitgoToUserDShare = (await ecdsa_1.default.sendShareToBitgo(this.bitgo, this.wallet.id(), txRequestId, types_1.SendShareType.MUShare, userGammaAndMuShares.muShare));
|
|
219
220
|
const userOmicronAndDeltaShare = await ecdsa_1.default.createUserOmicronAndDeltaShare(userGammaAndMuShares.gShare);
|
|
220
|
-
|
|
221
|
+
let signablePayload;
|
|
222
|
+
if (requestType === baseTypes_1.RequestType.tx) {
|
|
223
|
+
signablePayload = Buffer.from(txRequestResolved.unsignedTxs[0].signableHex, 'hex');
|
|
224
|
+
}
|
|
225
|
+
else if (requestType === baseTypes_1.RequestType.message) {
|
|
226
|
+
signablePayload = Buffer.from(txRequestResolved.unsignedMessages[0].message, 'hex');
|
|
227
|
+
}
|
|
221
228
|
const userSShare = await ecdsa_1.default.createUserSignatureShare(userOmicronAndDeltaShare.oShare, bitgoToUserDShare, signablePayload);
|
|
222
229
|
await ecdsa_1.default.sendShareToBitgo(this.bitgo, this.wallet.id(), txRequestId, types_1.SendShareType.SShare, userSShare, userOmicronAndDeltaShare.dShare);
|
|
223
230
|
return await common_1.getTxRequest(this.bitgo, this.wallet.id(), txRequestId);
|
|
224
231
|
}
|
|
232
|
+
/**
|
|
233
|
+
* Signs the transaction associated to the transaction request.
|
|
234
|
+
* @param {string | TxRequest} params.txRequest - transaction request object or id
|
|
235
|
+
* @param {string} params.prv - decrypted private key
|
|
236
|
+
* @param {string} params.reqId - request id
|
|
237
|
+
* @returns {Promise<TxRequest>} fully signed TxRequest object
|
|
238
|
+
*/
|
|
239
|
+
async signTxRequest(params) {
|
|
240
|
+
return this.signRequestBase(params, baseTypes_1.RequestType.tx);
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* Signs the message associated to the transaction request.
|
|
244
|
+
* @param {string | TxRequest} params.txRequest - transaction request object or id
|
|
245
|
+
* @param {string} params.prv - decrypted private key
|
|
246
|
+
* @param {string} params.reqId - request id
|
|
247
|
+
* @returns {Promise<TxRequest>} fully signed TxRequest object
|
|
248
|
+
*/
|
|
249
|
+
async signTxRequestForMessage(params) {
|
|
250
|
+
return this.signRequestBase(params, baseTypes_1.RequestType.message);
|
|
251
|
+
}
|
|
225
252
|
}
|
|
226
253
|
exports.EcdsaUtils = EcdsaUtils;
|
|
227
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNkc2EuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYml0Z28vdXRpbHMvdHNzL2VjZHNhL2VjZHNhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx5REFBK0Q7QUFHL0QsK0RBQW9FO0FBQ3BFLGlEQUFtQztBQUVuQywrQ0FBaUM7QUFDakMsbUVBQTJDO0FBSTNDLGdEQUFtRDtBQUNuRCxvREFBeUU7QUFDekUscURBQXVEO0FBSXZELE1BQU0sYUFBYSxHQUFHLGVBQVksQ0FBQyxhQUFhLENBQUM7QUFFakQsa0JBQWtCO0FBQ2xCLE1BQWEsVUFBVyxTQUFRLHNCQUFzQjtJQUdwRCxZQUFZLEtBQWdCLEVBQUUsUUFBbUIsRUFBRSxNQUFnQjtRQUNqRSxLQUFLLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUh6QixzQkFBaUIsR0FBNEIsU0FBUyxDQUFDO1FBSTdELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRU8sS0FBSyxDQUFDLGlCQUFpQixDQUFDLEtBQUs7UUFDbkMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLE1BQU0sZ0NBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELEtBQUssQ0FBQyxvQkFBb0I7UUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUMzQixnQ0FBZ0M7WUFDaEMsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3pDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUU7Z0JBQzNCLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLENBQUMsQ0FBQzthQUNsRDtTQUNGO1FBRUQsT0FBTyxJQUFJLENBQUMsaUJBQWtCLENBQUM7SUFDakMsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixLQUFLLENBQUMsZUFBZSxDQUFDLE1BSXJCO1FBQ0MsTUFBTSxHQUFHLEdBQUcsSUFBSSxXQUFLLEVBQUUsQ0FBQztRQUN4QixNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDWixNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFWixNQUFNLFlBQVksR0FBRyxNQUFNLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNqRCxNQUFNLGNBQWMsR0FBRyxNQUFNLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUVuRCxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvRCxPQUFPLENBQUMsTUFBTSxDQUFDLFlBQVksR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBRXhDLE1BQU0sVUFBVSxHQUFHLE1BQU0sT0FBTyxDQUFDLFdBQVcsQ0FBQztZQUMzQyxPQUFPLEVBQUU7Z0JBQ1A7b0JBQ0UsSUFBSSxFQUFFLGVBQWU7b0JBQ3JCLEtBQUssRUFBRSxRQUFRLGVBQWUsSUFBSSxlQUFlLE1BQU07aUJBQ3hEO2FBQ0Y7WUFDRCxLQUFLLEVBQUUsV0FBVztTQUNuQixDQUFDLENBQUM7UUFFSCxNQUFNLGFBQWEsR0FBRyxNQUFNLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbEgsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQ3hELFVBQVUsRUFDVixDQUFDLEVBQ0QsWUFBWSxFQUNaLGNBQWMsRUFDZCxhQUFhLEVBQ2IsTUFBTSxDQUFDLFVBQVUsRUFDakIsTUFBTSxDQUFDLDhCQUE4QixDQUN0QyxDQUFDO1FBQ0YsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQzFELFVBQVUsRUFDVixDQUFDLEVBQ0QsWUFBWSxFQUNaLGNBQWMsRUFDZCxhQUFhLEVBQ2IsTUFBTSxDQUFDLFVBQVUsQ0FDbEIsQ0FBQztRQUVGLE1BQU0sQ0FBQyxZQUFZLEVBQUUsY0FBYyxDQUFDLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsbUJBQW1CLEVBQUUscUJBQXFCLENBQUMsQ0FBQyxDQUFDO1FBRXZHLE9BQU87WUFDTCxZQUFZO1lBQ1osY0FBYztZQUNkLGFBQWE7U0FDZCxDQUFDO0lBQ0osQ0FBQztJQUVELGtCQUFrQixDQUNoQixVQUFxQyxFQUNyQyxZQUFzQixFQUN0QixjQUF3QixFQUN4QixhQUF1QixFQUN2QixVQUFrQixFQUNsQiw4QkFBc0M7UUFFdEMsT0FBTyxJQUFJLENBQUMseUJBQXlCLENBQ25DLFVBQVUsRUFDVixDQUFDLEVBQ0QsWUFBWSxFQUNaLGNBQWMsRUFDZCxhQUFhLEVBQ2IsVUFBVSxFQUNWLDhCQUE4QixDQUMvQixDQUFDO0lBQ0osQ0FBQztJQUVELG9CQUFvQixDQUNsQixVQUFxQyxFQUNyQyxZQUFzQixFQUN0QixjQUF3QixFQUN4QixhQUF1QixFQUN2QixVQUFrQjtRQUVsQixPQUFPLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ2hILENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsS0FBSyxDQUFDLG1CQUFtQixDQUN2QixVQUFxQyxFQUNyQyxZQUFzQixFQUN0QixjQUF3QixFQUN4QixVQUFtQjtRQUVuQixNQUFNLGlCQUFpQixHQUFHLE1BQU0sSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDNUQsTUFBTSxjQUFjLEdBQUcsQ0FBQyxDQUFDO1FBQ3pCLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxhQUFhLENBQzFDLFlBQVksRUFDWixjQUFjLEVBQ2QsaUJBQWlCLENBQUMsS0FBSyxFQUFFLEVBQ3pCLFVBQVUsQ0FBQyxVQUFVLENBQ3RCLENBQUM7UUFFRixNQUFNLGtCQUFrQixHQUFHLE1BQU0sYUFBYSxDQUM1QyxjQUFjLEVBQ2QsY0FBYyxFQUNkLGlCQUFpQixDQUFDLEtBQUssRUFBRSxFQUN6QixVQUFVLENBQUMsVUFBVSxDQUN0QixDQUFDO1FBRUYsTUFBTSxvQkFBb0IsR0FBdUI7WUFDL0MsT0FBTyxFQUFFLEtBQWdCO1lBQ3pCLE1BQU0sRUFBRSxPQUFPO1lBQ2YsU0FBUyxFQUFFO2dCQUNUO29CQUNFLElBQUksRUFBRSxNQUFNO29CQUNaLEVBQUUsRUFBRSxPQUFPO29CQUNYLFdBQVcsRUFBRSxnQkFBZ0IsQ0FBQyxXQUFXO29CQUN6QyxZQUFZLEVBQUUsZ0JBQWdCLENBQUMscUJBQXFCO2lCQUNyRDtnQkFDRDtvQkFDRSxJQUFJLEVBQUUsUUFBUTtvQkFDZCxFQUFFLEVBQUUsT0FBTztvQkFDWCxXQUFXLEVBQUUsa0JBQWtCLENBQUMsV0FBVztvQkFDM0MsWUFBWSxFQUFFLGtCQUFrQixDQUFDLHFCQUFxQjtpQkFDdkQ7YUFDRjtZQUNELGdCQUFnQixFQUFFLFVBQVUsQ0FBQyxTQUFTO1lBQ3RDLGtCQUFrQixFQUFFLFVBQVUsQ0FBQyxTQUFTO1lBQ3hDLFVBQVUsRUFBRSxVQUFVO1NBQ3ZCLENBQUM7UUFFRixNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDNUUsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixLQUFLLENBQUMseUJBQXlCLENBQzdCLFVBQTZDLEVBQzdDLGNBQXNCLEVBQ3RCLFlBQXNCLEVBQ3RCLGNBQXdCLEVBQ3hCLGFBQXVCLEVBQ3ZCLFVBQWtCLEVBQ2xCLDhCQUF1QztRQUV2QyxNQUFNLGNBQWMsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDO1FBQy9DLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDbkIsTUFBTSxJQUFJLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1NBQzdDO1FBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLEVBQUU7WUFDakMsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsYUFBYSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7U0FDOUU7UUFFRCxJQUFJLElBQVksQ0FBQztRQUNqQixJQUFJLFFBQWtCLENBQUM7UUFDdkIsSUFBSSxVQUFvQixDQUFDO1FBQ3pCLElBQUksY0FBYyxLQUFLLENBQUMsRUFBRTtZQUN4QixRQUFRLEdBQUcsWUFBWSxDQUFDO1lBQ3hCLFVBQVUsR0FBRyxjQUFjLENBQUM7WUFDNUIsSUFBSSxHQUFHLE1BQU0sQ0FBQztTQUNmO2FBQU0sSUFBSSxjQUFjLEtBQUssQ0FBQyxFQUFFO1lBQy9CLFFBQVEsR0FBRyxjQUFjLENBQUM7WUFDMUIsVUFBVSxHQUFHLFlBQVksQ0FBQztZQUMxQixJQUFJLEdBQUcsUUFBUSxDQUFDO1NBQ2pCO2FBQU07WUFDTCxNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUM7U0FDdkM7UUFFRCxNQUFNLGdCQUFnQixHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEtBQUssT0FBTyxJQUFJLFFBQVEsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLENBQUM7UUFDOUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMsaUNBQWlDLENBQUMsQ0FBQztTQUNwRDtRQUVELE1BQU0saUJBQWlCLEdBQUcsTUFBTSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUU1RCxNQUFNLGlCQUFpQixHQUFHLE1BQU0sYUFBYSxDQUMzQyxVQUFVLEVBQ1YsY0FBYyxFQUNkLFVBQVUsQ0FBQyxTQUFTLEVBQ3BCLFVBQVUsQ0FBQyxVQUFVLENBQ3RCLENBQUM7UUFDRixNQUFNLGdCQUFnQixHQUF3QjtZQUM1QztnQkFDRSxNQUFNLEVBQUUsaUJBQWlCO2dCQUN6QixxQkFBcUIsRUFBRSxVQUFVLENBQUMsVUFBVTtnQkFDNUMsaUJBQWlCLEVBQUUsVUFBVSxDQUFDLFNBQVM7YUFDeEM7WUFDRDtnQkFDRSxNQUFNLEVBQUU7b0JBQ04sQ0FBQyxFQUFFLGNBQWM7b0JBQ2pCLENBQUMsRUFBRSxDQUFDO29CQUNKLFdBQVcsRUFBRSxnQkFBZ0IsQ0FBQyxXQUFXO29CQUN6QyxxQkFBcUIsRUFBRSxnQkFBZ0IsQ0FBQyxZQUFZO2lCQUNyRDtnQkFDRCxxQkFBcUIsRUFBRSxVQUFVLENBQUMsVUFBVTtnQkFDNUMsaUJBQWlCLEVBQUUsaUJBQWlCLENBQUMsS0FBSyxFQUFFO2FBQzdDO1NBQ0YsQ0FBQztRQUVGLE1BQU0sZUFBZSxHQUFHLE1BQU0sZUFBWSxDQUFDLGlCQUFpQixDQUMxRCxRQUFRLEVBQ1IsZ0JBQWdCLEVBQ2hCLGFBQWEsQ0FBQyxjQUFjLENBQzdCLENBQUM7UUFFRixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUM1RCxNQUFNLGtCQUFrQixHQUFHO1lBQ3pCLE1BQU0sRUFBRSxJQUFJO1lBQ1osT0FBTyxFQUFFLEtBQWdCO1lBQ3pCLGNBQWMsRUFBRSxhQUFhLENBQUMsY0FBYztZQUM1QyxHQUFHLEVBQUUsR0FBRztZQUNSLFlBQVksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztnQkFDL0IsS0FBSyxFQUFFLEdBQUc7Z0JBQ1YsUUFBUSxFQUFFLFVBQVU7YUFDckIsQ0FBQztZQUNGLDhCQUE4QjtTQUMvQixDQUFDO1FBRUYsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUM1QyxNQUFNLE1BQU0sR0FDVixjQUFjLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLFNBQVMsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxTQUFTLENBQUMsWUFBWSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDcEgsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILEtBQUssQ0FBQyxhQUFhLENBQUMsTUFJbkI7UUFDQyxJQUFJLGlCQUE0QixDQUFDO1FBQ2pDLElBQUksV0FBbUIsQ0FBQztRQUV4QixNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxHQUFHLE1BQU0sQ0FBQztRQUVsQyxJQUFJLE9BQU8sU0FBUyxLQUFLLFFBQVEsRUFBRTtZQUNqQyxpQkFBaUIsR0FBRyxNQUFNLHFCQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQ2hGLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQyxXQUFXLENBQUM7U0FDN0M7YUFBTTtZQUNMLGlCQUFpQixHQUFHLFNBQVMsQ0FBQztZQUM5QixXQUFXLEdBQUcsU0FBUyxDQUFDLFdBQVcsQ0FBQztTQUNyQztRQUVELE1BQU0sbUJBQW1CLEdBQXFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUUsSUFBSSxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN0QyxNQUFNLElBQUksS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUM7U0FDckM7UUFDRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxFQUFFO1lBQ3JDLE1BQU0sSUFBSSxLQUFLLENBQUMseUNBQXlDLENBQUMsQ0FBQztTQUM1RDtRQUNELE1BQU0sR0FBRyxHQUFHLElBQUksV0FBSyxFQUFFLENBQUM7UUFDeEIsTUFBTSxVQUFVLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUU7WUFDNUQsbUJBQW1CLENBQUMsV0FBVztZQUMvQixtQkFBbUIsQ0FBQyxZQUFZO1NBQ2pDLENBQUMsQ0FBQztRQUVILE1BQU0sYUFBYSxHQUFHLE1BQU0sZUFBWSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXZHLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxNQUFNLGVBQVksQ0FBQyxnQkFBZ0IsQ0FDNUQsSUFBSSxDQUFDLEtBQUssRUFDVixJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxFQUNoQixXQUFXLEVBQ1gscUJBQWEsQ0FBQyxNQUFNLEVBQ3BCLGFBQWEsQ0FBQyxNQUFNLENBQ3JCLENBQVcsQ0FBQztRQUViLE1BQU0sb0JBQW9CLEdBQUcsTUFBTSxlQUFZLENBQUMseUJBQXlCLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBRW5ILE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxNQUFNLGVBQVksQ0FBQyxnQkFBZ0IsQ0FDNUQsSUFBSSxDQUFDLEtBQUssRUFDVixJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxFQUNoQixXQUFXLEVBQ1gscUJBQWEsQ0FBQyxPQUFPLEVBQ3JCLG9CQUFvQixDQUFDLE9BQXdCLENBQzlDLENBQVcsQ0FBQztRQUViLE1BQU0sd0JBQXdCLEdBQUcsTUFBTSxlQUFZLENBQUMsOEJBQThCLENBQ2hGLG9CQUFvQixDQUFDLE1BQXNCLENBQzVDLENBQUM7UUFFRixNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFekYsTUFBTSxVQUFVLEdBQUcsTUFBTSxlQUFZLENBQUMsd0JBQXdCLENBQzVELHdCQUF3QixDQUFDLE1BQU0sRUFDL0IsaUJBQWlCLEVBQ2pCLGVBQWUsQ0FDaEIsQ0FBQztRQUVGLE1BQU0sZUFBWSxDQUFDLGdCQUFnQixDQUNqQyxJQUFJLENBQUMsS0FBSyxFQUNWLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEVBQ2hCLFdBQVcsRUFDWCxxQkFBYSxDQUFDLE1BQU0sRUFDcEIsVUFBVSxFQUNWLHdCQUF3QixDQUFDLE1BQU0sQ0FDaEMsQ0FBQztRQUNGLE9BQU8sTUFBTSxxQkFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUN2RSxDQUFDO0NBQ0Y7QUFyVUQsZ0NBcVVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRUNEU0EsIEVjZHNhIH0gZnJvbSAnLi4vLi4vLi4vLi4vYWNjb3VudC1saWIvbXBjL3Rzcyc7XG5pbXBvcnQgeyBTZXJpYWxpemVkS2V5UGFpciB9IGZyb20gJ29wZW5wZ3AnO1xuaW1wb3J0IHsgQWRkS2V5Y2hhaW5PcHRpb25zLCBLZXljaGFpbiwgS2V5VHlwZSB9IGZyb20gJy4uLy4uLy4uL2tleWNoYWluJztcbmltcG9ydCBFQ0RTQU1ldGhvZHMsIHsgRUNEU0FNZXRob2RUeXBlcyB9IGZyb20gJy4uLy4uLy4uL3Rzcy9lY2RzYSc7XG5pbXBvcnQgKiBhcyBvcGVucGdwIGZyb20gJ29wZW5wZ3AnO1xuaW1wb3J0IHsgSUJhc2VDb2luLCBLZXljaGFpbnNUcmlwbGV0IH0gZnJvbSAnLi4vLi4vLi4vYmFzZUNvaW4nO1xuaW1wb3J0ICogYXMgY3J5cHRvIGZyb20gJ2NyeXB0byc7XG5pbXBvcnQgYmFzZVRTU1V0aWxzIGZyb20gJy4uL2Jhc2VUU1NVdGlscyc7XG5pbXBvcnQgeyBEZWNyeXB0YWJsZU5TaGFyZSwgS2V5U2hhcmUgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IFR4UmVxdWVzdCB9IGZyb20gJy4uL2Jhc2VUeXBlcyc7XG5pbXBvcnQgeyBJUmVxdWVzdFRyYWNlciB9IGZyb20gJy4uLy4uLy4uLy4uL2FwaSc7XG5pbXBvcnQgeyBnZXRUeFJlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi90c3MvY29tbW9uJztcbmltcG9ydCB7IEFTaGFyZSwgRFNoYXJlLCBTZW5kU2hhcmVUeXBlIH0gZnJvbSAnLi4vLi4vLi4vdHNzL2VjZHNhL3R5cGVzJztcbmltcG9ydCB7IGdldEJpdGdvR3BnUHViS2V5IH0gZnJvbSAnLi4vLi4vb3BlbmdwZ1V0aWxzJztcbmltcG9ydCB7IEJpdEdvQmFzZSB9IGZyb20gJy4uLy4uLy4uL2JpdGdvQmFzZSc7XG5pbXBvcnQgeyBJV2FsbGV0IH0gZnJvbSAnLi4vLi4vLi4vd2FsbGV0JztcblxuY29uc3QgZW5jcnlwdE5TaGFyZSA9IEVDRFNBTWV0aG9kcy5lbmNyeXB0TlNoYXJlO1xuXG4vKiogQGluaGVyaXRkb2MgKi9cbmV4cG9ydCBjbGFzcyBFY2RzYVV0aWxzIGV4dGVuZHMgYmFzZVRTU1V0aWxzPEtleVNoYXJlPiB7XG4gIHByaXZhdGUgYml0Z29QdWJsaWNHcGdLZXk6IG9wZW5wZ3AuS2V5IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKGJpdGdvOiBCaXRHb0Jhc2UsIGJhc2VDb2luOiBJQmFzZUNvaW4sIHdhbGxldD86IElXYWxsZXQpIHtcbiAgICBzdXBlcihiaXRnbywgYmFzZUNvaW4sIHdhbGxldCk7XG4gICAgdGhpcy5zZXRCaXRnb0dwZ1B1YktleShiaXRnbyk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHNldEJpdGdvR3BnUHViS2V5KGJpdGdvKSB7XG4gICAgdGhpcy5iaXRnb1B1YmxpY0dwZ0tleSA9IGF3YWl0IGdldEJpdGdvR3BnUHViS2V5KGJpdGdvKTtcbiAgfVxuXG4gIGFzeW5jIGdldEJpdGdvUHVibGljR3BnS2V5KCk6IFByb21pc2U8b3BlbnBncC5LZXk+IHtcbiAgICBpZiAoIXRoaXMuYml0Z29QdWJsaWNHcGdLZXkpIHtcbiAgICAgIC8vIHJldHJ5IGdldHRpbmcgYml0Z28ncyBncGcga2V5XG4gICAgICBhd2FpdCB0aGlzLnNldEJpdGdvR3BnUHViS2V5KHRoaXMuYml0Z28pO1xuICAgICAgaWYgKCF0aGlzLmJpdGdvUHVibGljR3BnS2V5KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkZhaWxlZCB0byBnZXQgQml0Z28ncyBncGcga2V5XCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmJpdGdvUHVibGljR3BnS2V5ITtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBhc3luYyBjcmVhdGVLZXljaGFpbnMocGFyYW1zOiB7XG4gICAgcGFzc3BocmFzZTogc3RyaW5nO1xuICAgIGVudGVycHJpc2U/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgb3JpZ2luYWxQYXNzY29kZUVuY3J5cHRpb25Db2RlPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICB9KTogUHJvbWlzZTxLZXljaGFpbnNUcmlwbGV0PiB7XG4gICAgY29uc3QgTVBDID0gbmV3IEVjZHNhKCk7XG4gICAgY29uc3QgbSA9IDI7XG4gICAgY29uc3QgbiA9IDM7XG5cbiAgICBjb25zdCB1c2VyS2V5U2hhcmUgPSBhd2FpdCBNUEMua2V5U2hhcmUoMSwgbSwgbik7XG4gICAgY29uc3QgYmFja3VwS2V5U2hhcmUgPSBhd2FpdCBNUEMua2V5U2hhcmUoMiwgbSwgbik7XG5cbiAgICBjb25zdCByYW5kb21IZXhTdHJpbmcgPSBjcnlwdG8ucmFuZG9tQnl0ZXMoMTIpLnRvU3RyaW5nKCdoZXgnKTtcbiAgICBvcGVucGdwLmNvbmZpZy5yZWplY3RDdXJ2ZXMgPSBuZXcgU2V0KCk7XG5cbiAgICBjb25zdCB1c2VyR3BnS2V5ID0gYXdhaXQgb3BlbnBncC5nZW5lcmF0ZUtleSh7XG4gICAgICB1c2VySURzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiByYW5kb21IZXhTdHJpbmcsXG4gICAgICAgICAgZW1haWw6IGB1c2VyLSR7cmFuZG9tSGV4U3RyaW5nfUAke3JhbmRvbUhleFN0cmluZ30uY29tYCxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBjdXJ2ZTogJ3NlY3AyNTZrMScsXG4gICAgfSk7XG5cbiAgICBjb25zdCBiaXRnb0tleWNoYWluID0gYXdhaXQgdGhpcy5jcmVhdGVCaXRnb0tleWNoYWluKHVzZXJHcGdLZXksIHVzZXJLZXlTaGFyZSwgYmFja3VwS2V5U2hhcmUsIHBhcmFtcy5lbnRlcnByaXNlKTtcbiAgICBjb25zdCB1c2VyS2V5Y2hhaW5Qcm9taXNlID0gdGhpcy5jcmVhdGVQYXJ0aWNpcGFudEtleWNoYWluKFxuICAgICAgdXNlckdwZ0tleSxcbiAgICAgIDEsXG4gICAgICB1c2VyS2V5U2hhcmUsXG4gICAgICBiYWNrdXBLZXlTaGFyZSxcbiAgICAgIGJpdGdvS2V5Y2hhaW4sXG4gICAgICBwYXJhbXMucGFzc3BocmFzZSxcbiAgICAgIHBhcmFtcy5vcmlnaW5hbFBhc3Njb2RlRW5jcnlwdGlvbkNvZGVcbiAgICApO1xuICAgIGNvbnN0IGJhY2t1cEtleWNoYWluUHJvbWlzZSA9IHRoaXMuY3JlYXRlUGFydGljaXBhbnRLZXljaGFpbihcbiAgICAgIHVzZXJHcGdLZXksXG4gICAgICAyLFxuICAgICAgdXNlcktleVNoYXJlLFxuICAgICAgYmFja3VwS2V5U2hhcmUsXG4gICAgICBiaXRnb0tleWNoYWluLFxuICAgICAgcGFyYW1zLnBhc3NwaHJhc2VcbiAgICApO1xuXG4gICAgY29uc3QgW3VzZXJLZXljaGFpbiwgYmFja3VwS2V5Y2hhaW5dID0gYXdhaXQgUHJvbWlzZS5hbGwoW3VzZXJLZXljaGFpblByb21pc2UsIGJhY2t1cEtleWNoYWluUHJvbWlzZV0pO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHVzZXJLZXljaGFpbixcbiAgICAgIGJhY2t1cEtleWNoYWluLFxuICAgICAgYml0Z29LZXljaGFpbixcbiAgICB9O1xuICB9XG5cbiAgY3JlYXRlVXNlcktleWNoYWluKFxuICAgIHVzZXJHcGdLZXk6IFNlcmlhbGl6ZWRLZXlQYWlyPHN0cmluZz4sXG4gICAgdXNlcktleVNoYXJlOiBLZXlTaGFyZSxcbiAgICBiYWNrdXBLZXlTaGFyZTogS2V5U2hhcmUsXG4gICAgYml0Z29LZXljaGFpbjogS2V5Y2hhaW4sXG4gICAgcGFzc3BocmFzZTogc3RyaW5nLFxuICAgIG9yaWdpbmFsUGFzc2NvZGVFbmNyeXB0aW9uQ29kZTogc3RyaW5nXG4gICk6IFByb21pc2U8S2V5Y2hhaW4+IHtcbiAgICByZXR1cm4gdGhpcy5jcmVhdGVQYXJ0aWNpcGFudEtleWNoYWluKFxuICAgICAgdXNlckdwZ0tleSxcbiAgICAgIDEsXG4gICAgICB1c2VyS2V5U2hhcmUsXG4gICAgICBiYWNrdXBLZXlTaGFyZSxcbiAgICAgIGJpdGdvS2V5Y2hhaW4sXG4gICAgICBwYXNzcGhyYXNlLFxuICAgICAgb3JpZ2luYWxQYXNzY29kZUVuY3J5cHRpb25Db2RlXG4gICAgKTtcbiAgfVxuXG4gIGNyZWF0ZUJhY2t1cEtleWNoYWluKFxuICAgIHVzZXJHcGdLZXk6IFNlcmlhbGl6ZWRLZXlQYWlyPHN0cmluZz4sXG4gICAgdXNlcktleVNoYXJlOiBLZXlTaGFyZSxcbiAgICBiYWNrdXBLZXlTaGFyZTogS2V5U2hhcmUsXG4gICAgYml0Z29LZXljaGFpbjogS2V5Y2hhaW4sXG4gICAgcGFzc3BocmFzZTogc3RyaW5nXG4gICk6IFByb21pc2U8S2V5Y2hhaW4+IHtcbiAgICByZXR1cm4gdGhpcy5jcmVhdGVQYXJ0aWNpcGFudEtleWNoYWluKHVzZXJHcGdLZXksIDIsIHVzZXJLZXlTaGFyZSwgYmFja3VwS2V5U2hhcmUsIGJpdGdvS2V5Y2hhaW4sIHBhc3NwaHJhc2UpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGFzeW5jIGNyZWF0ZUJpdGdvS2V5Y2hhaW4oXG4gICAgdXNlckdwZ0tleTogU2VyaWFsaXplZEtleVBhaXI8c3RyaW5nPixcbiAgICB1c2VyS2V5U2hhcmU6IEtleVNoYXJlLFxuICAgIGJhY2t1cEtleVNoYXJlOiBLZXlTaGFyZSxcbiAgICBlbnRlcnByaXNlPzogc3RyaW5nXG4gICk6IFByb21pc2U8S2V5Y2hhaW4+IHtcbiAgICBjb25zdCBiaXRnb1B1YmxpY0dwZ0tleSA9IGF3YWl0IHRoaXMuZ2V0Qml0Z29QdWJsaWNHcGdLZXkoKTtcbiAgICBjb25zdCByZWNpcGllbnRJbmRleCA9IDM7XG4gICAgY29uc3QgdXNlclRvQml0Z29TaGFyZSA9IGF3YWl0IGVuY3J5cHROU2hhcmUoXG4gICAgICB1c2VyS2V5U2hhcmUsXG4gICAgICByZWNpcGllbnRJbmRleCxcbiAgICAgIGJpdGdvUHVibGljR3BnS2V5LmFybW9yKCksXG4gICAgICB1c2VyR3BnS2V5LnByaXZhdGVLZXlcbiAgICApO1xuXG4gICAgY29uc3QgYmFja3VwVG9CaXRnb1NoYXJlID0gYXdhaXQgZW5jcnlwdE5TaGFyZShcbiAgICAgIGJhY2t1cEtleVNoYXJlLFxuICAgICAgcmVjaXBpZW50SW5kZXgsXG4gICAgICBiaXRnb1B1YmxpY0dwZ0tleS5hcm1vcigpLFxuICAgICAgdXNlckdwZ0tleS5wcml2YXRlS2V5XG4gICAgKTtcblxuICAgIGNvbnN0IGNyZWF0ZUJpdEdvTVBDUGFyYW1zOiBBZGRLZXljaGFpbk9wdGlvbnMgPSB7XG4gICAgICBrZXlUeXBlOiAndHNzJyBhcyBLZXlUeXBlLFxuICAgICAgc291cmNlOiAnYml0Z28nLFxuICAgICAga2V5U2hhcmVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBmcm9tOiAndXNlcicsXG4gICAgICAgICAgdG86ICdiaXRnbycsXG4gICAgICAgICAgcHVibGljU2hhcmU6IHVzZXJUb0JpdGdvU2hhcmUucHVibGljU2hhcmUsXG4gICAgICAgICAgcHJpdmF0ZVNoYXJlOiB1c2VyVG9CaXRnb1NoYXJlLmVuY3J5cHRlZFByaXZhdGVTaGFyZSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGZyb206ICdiYWNrdXAnLFxuICAgICAgICAgIHRvOiAnYml0Z28nLFxuICAgICAgICAgIHB1YmxpY1NoYXJlOiBiYWNrdXBUb0JpdGdvU2hhcmUucHVibGljU2hhcmUsXG4gICAgICAgICAgcHJpdmF0ZVNoYXJlOiBiYWNrdXBUb0JpdGdvU2hhcmUuZW5jcnlwdGVkUHJpdmF0ZVNoYXJlLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHVzZXJHUEdQdWJsaWNLZXk6IHVzZXJHcGdLZXkucHVibGljS2V5LFxuICAgICAgYmFja3VwR1BHUHVibGljS2V5OiB1c2VyR3BnS2V5LnB1YmxpY0tleSxcbiAgICAgIGVudGVycHJpc2U6IGVudGVycHJpc2UsXG4gICAgfTtcblxuICAgIGNvbnN0IGtleWNoYWlucyA9IGF3YWl0IHRoaXMuYmFzZUNvaW4ua2V5Y2hhaW5zKCkuYWRkKGNyZWF0ZUJpdEdvTVBDUGFyYW1zKTtcbiAgICByZXR1cm4ga2V5Y2hhaW5zO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGFzeW5jIGNyZWF0ZVBhcnRpY2lwYW50S2V5Y2hhaW4oXG4gICAgdXNlckdwZ0tleTogb3BlbnBncC5TZXJpYWxpemVkS2V5UGFpcjxzdHJpbmc+LFxuICAgIHJlY2lwaWVudEluZGV4OiBudW1iZXIsXG4gICAgdXNlcktleVNoYXJlOiBLZXlTaGFyZSxcbiAgICBiYWNrdXBLZXlTaGFyZTogS2V5U2hhcmUsXG4gICAgYml0Z29LZXljaGFpbjogS2V5Y2hhaW4sXG4gICAgcGFzc3BocmFzZTogc3RyaW5nLFxuICAgIG9yaWdpbmFsUGFzc2NvZGVFbmNyeXB0aW9uQ29kZT86IHN0cmluZ1xuICApOiBQcm9taXNlPEtleWNoYWluPiB7XG4gICAgY29uc3QgYml0Z29LZXlTaGFyZXMgPSBiaXRnb0tleWNoYWluLmtleVNoYXJlcztcbiAgICBpZiAoIWJpdGdvS2V5U2hhcmVzKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgQml0R28ga2V5IHNoYXJlcycpO1xuICAgIH1cbiAgICBpZiAoIWJpdGdvS2V5Y2hhaW4uY29tbW9uS2V5Y2hhaW4pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTWlzc2luZyBjb21tb24ga2V5IGNoYWluOiAke2JpdGdvS2V5Y2hhaW4uY29tbW9uS2V5Y2hhaW59YCk7XG4gICAgfVxuXG4gICAgbGV0IHVzZXI6IHN0cmluZztcbiAgICBsZXQga2V5U2hhcmU6IEtleVNoYXJlO1xuICAgIGxldCBvdGhlclNoYXJlOiBLZXlTaGFyZTtcbiAgICBpZiAocmVjaXBpZW50SW5kZXggPT09IDEpIHtcbiAgICAgIGtleVNoYXJlID0gdXNlcktleVNoYXJlO1xuICAgICAgb3RoZXJTaGFyZSA9IGJhY2t1cEtleVNoYXJlO1xuICAgICAgdXNlciA9ICd1c2VyJztcbiAgICB9IGVsc2UgaWYgKHJlY2lwaWVudEluZGV4ID09PSAyKSB7XG4gICAgICBrZXlTaGFyZSA9IGJhY2t1cEtleVNoYXJlO1xuICAgICAgb3RoZXJTaGFyZSA9IHVzZXJLZXlTaGFyZTtcbiAgICAgIHVzZXIgPSAnYmFja3VwJztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHVzZXIgaW5kZXgnKTtcbiAgICB9XG5cbiAgICBjb25zdCBiaXRHb1RvVXNlclNoYXJlID0gYml0Z29LZXlTaGFyZXMuZmluZCgoa2V5U2hhcmUpID0+IGtleVNoYXJlLmZyb20gPT09ICdiaXRnbycgJiYga2V5U2hhcmUudG8gPT09IHVzZXIpO1xuICAgIGlmICghYml0R29Ub1VzZXJTaGFyZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIEJpdEdvIHRvIFVzZXIga2V5IHNoYXJlJyk7XG4gICAgfVxuXG4gICAgY29uc3QgYml0Z29QdWJsaWNHcGdLZXkgPSBhd2FpdCB0aGlzLmdldEJpdGdvUHVibGljR3BnS2V5KCk7XG5cbiAgICBjb25zdCBiYWNrdXBUb1VzZXJTaGFyZSA9IGF3YWl0IGVuY3J5cHROU2hhcmUoXG4gICAgICBvdGhlclNoYXJlLFxuICAgICAgcmVjaXBpZW50SW5kZXgsXG4gICAgICB1c2VyR3BnS2V5LnB1YmxpY0tleSxcbiAgICAgIHVzZXJHcGdLZXkucHJpdmF0ZUtleVxuICAgICk7XG4gICAgY29uc3QgZW5jcnlwdGVkTlNoYXJlczogRGVjcnlwdGFibGVOU2hhcmVbXSA9IFtcbiAgICAgIHtcbiAgICAgICAgblNoYXJlOiBiYWNrdXBUb1VzZXJTaGFyZSxcbiAgICAgICAgcmVjaXBpZW50UHJpdmF0ZUFybW9yOiB1c2VyR3BnS2V5LnByaXZhdGVLZXksXG4gICAgICAgIHNlbmRlclB1YmxpY0FybW9yOiB1c2VyR3BnS2V5LnB1YmxpY0tleSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5TaGFyZToge1xuICAgICAgICAgIGk6IHJlY2lwaWVudEluZGV4LFxuICAgICAgICAgIGo6IDMsXG4gICAgICAgICAgcHVibGljU2hhcmU6IGJpdEdvVG9Vc2VyU2hhcmUucHVibGljU2hhcmUsXG4gICAgICAgICAgZW5jcnlwdGVkUHJpdmF0ZVNoYXJlOiBiaXRHb1RvVXNlclNoYXJlLnByaXZhdGVTaGFyZSxcbiAgICAgICAgfSxcbiAgICAgICAgcmVjaXBpZW50UHJpdmF0ZUFybW9yOiB1c2VyR3BnS2V5LnByaXZhdGVLZXksXG4gICAgICAgIHNlbmRlclB1YmxpY0FybW9yOiBiaXRnb1B1YmxpY0dwZ0tleS5hcm1vcigpLFxuICAgICAgfSxcbiAgICBdO1xuXG4gICAgY29uc3QgdXNlckNvbWJpbmVkS2V5ID0gYXdhaXQgRUNEU0FNZXRob2RzLmNyZWF0ZUNvbWJpbmVkS2V5KFxuICAgICAga2V5U2hhcmUsXG4gICAgICBlbmNyeXB0ZWROU2hhcmVzLFxuICAgICAgYml0Z29LZXljaGFpbi5jb21tb25LZXljaGFpblxuICAgICk7XG5cbiAgICBjb25zdCBwcnYgPSBKU09OLnN0cmluZ2lmeSh1c2VyQ29tYmluZWRLZXkuc2lnbmluZ01hdGVyaWFsKTtcbiAgICBjb25zdCB1c2VyS2V5Y2hhaW5QYXJhbXMgPSB7XG4gICAgICBzb3VyY2U6IHVzZXIsXG4gICAgICBrZXlUeXBlOiAndHNzJyBhcyBLZXlUeXBlLFxuICAgICAgY29tbW9uS2V5Y2hhaW46IGJpdGdvS2V5Y2hhaW4uY29tbW9uS2V5Y2hhaW4sXG4gICAgICBwcnY6IHBydixcbiAgICAgIGVuY3J5cHRlZFBydjogdGhpcy5iaXRnby5lbmNyeXB0KHtcbiAgICAgICAgaW5wdXQ6IHBydixcbiAgICAgICAgcGFzc3dvcmQ6IHBhc3NwaHJhc2UsXG4gICAgICB9KSxcbiAgICAgIG9yaWdpbmFsUGFzc2NvZGVFbmNyeXB0aW9uQ29kZSxcbiAgICB9O1xuXG4gICAgY29uc3Qga2V5Y2hhaW5zID0gdGhpcy5iYXNlQ29pbi5rZXljaGFpbnMoKTtcbiAgICBjb25zdCByZXN1bHQgPVxuICAgICAgcmVjaXBpZW50SW5kZXggPT09IDEgPyBhd2FpdCBrZXljaGFpbnMuYWRkKHVzZXJLZXljaGFpblBhcmFtcykgOiBhd2FpdCBrZXljaGFpbnMuY3JlYXRlQmFja3VwKHVzZXJLZXljaGFpblBhcmFtcyk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTaWducyB0aGUgdHJhbnNhY3Rpb24gYXNzb2NpYXRlZCB0byB0aGUgdHJhbnNhY3Rpb24gcmVxdWVzdC5cbiAgICogQHBhcmFtIHtzdHJpbmcgfCBUeFJlcXVlc3R9IHBhcmFtcy50eFJlcXVlc3QgLSB0cmFuc2FjdGlvbiByZXF1ZXN0IG9iamVjdCBvciBpZFxuICAgKiBAcGFyYW0ge3N0cmluZ30gcGFyYW1zLnBydiAtIGRlY3J5cHRlZCBwcml2YXRlIGtleVxuICAgKiBAcGFyYW0geyBzdHJpbmd9IHBhcmFtcy5yZXFJZCAtIHJlcXVlc3QgaWRcbiAgICogQHJldHVybnMge1Byb21pc2U8VHhSZXF1ZXN0Pn0gZnVsbHkgc2lnbmVkIFR4UmVxdWVzdCBvYmplY3RcbiAgICovXG4gIGFzeW5jIHNpZ25UeFJlcXVlc3QocGFyYW1zOiB7XG4gICAgdHhSZXF1ZXN0OiBzdHJpbmcgfCBUeFJlcXVlc3Q7XG4gICAgcHJ2OiBzdHJpbmc7XG4gICAgcmVxSWQ6IElSZXF1ZXN0VHJhY2VyO1xuICB9KTogUHJvbWlzZTxUeFJlcXVlc3Q+IHtcbiAgICBsZXQgdHhSZXF1ZXN0UmVzb2x2ZWQ6IFR4UmVxdWVzdDtcbiAgICBsZXQgdHhSZXF1ZXN0SWQ6IHN0cmluZztcblxuICAgIGNvbnN0IHsgdHhSZXF1ZXN0LCBwcnYgfSA9IHBhcmFtcztcblxuICAgIGlmICh0eXBlb2YgdHhSZXF1ZXN0ID09PSAnc3RyaW5nJykge1xuICAgICAgdHhSZXF1ZXN0UmVzb2x2ZWQgPSBhd2FpdCBnZXRUeFJlcXVlc3QodGhpcy5iaXRnbywgdGhpcy53YWxsZXQuaWQoKSwgdHhSZXF1ZXN0KTtcbiAgICAgIHR4UmVxdWVzdElkID0gdHhSZXF1ZXN0UmVzb2x2ZWQudHhSZXF1ZXN0SWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHR4UmVxdWVzdFJlc29sdmVkID0gdHhSZXF1ZXN0O1xuICAgICAgdHhSZXF1ZXN0SWQgPSB0eFJlcXVlc3QudHhSZXF1ZXN0SWQ7XG4gICAgfVxuXG4gICAgY29uc3QgdXNlclNpZ25pbmdNYXRlcmlhbDogRUNEU0FNZXRob2RUeXBlcy5TaWduaW5nTWF0ZXJpYWwgPSBKU09OLnBhcnNlKHBydik7XG4gICAgaWYgKHVzZXJTaWduaW5nTWF0ZXJpYWwucFNoYXJlLmkgIT09IDEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCB1c2VyIGtleScpO1xuICAgIH1cbiAgICBpZiAoIXVzZXJTaWduaW5nTWF0ZXJpYWwuYmFja3VwTlNoYXJlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdXNlciBrZXkgLSBtaXNzaW5nIGJhY2t1cE5TaGFyZScpO1xuICAgIH1cbiAgICBjb25zdCBNUEMgPSBuZXcgRWNkc2EoKTtcbiAgICBjb25zdCBzaWduaW5nS2V5ID0gTVBDLmtleUNvbWJpbmUodXNlclNpZ25pbmdNYXRlcmlhbC5wU2hhcmUsIFtcbiAgICAgIHVzZXJTaWduaW5nTWF0ZXJpYWwuYml0Z29OU2hhcmUsXG4gICAgICB1c2VyU2lnbmluZ01hdGVyaWFsLmJhY2t1cE5TaGFyZSxcbiAgICBdKTtcblxuICAgIGNvbnN0IHVzZXJTaWduU2hhcmUgPSBhd2FpdCBFQ0RTQU1ldGhvZHMuY3JlYXRlVXNlclNpZ25TaGFyZShzaWduaW5nS2V5LnhTaGFyZSwgc2lnbmluZ0tleS55U2hhcmVzWzNdKTtcblxuICAgIGNvbnN0IGJpdGdvVG9Vc2VyQVNoYXJlID0gKGF3YWl0IEVDRFNBTWV0aG9kcy5zZW5kU2hhcmVUb0JpdGdvKFxuICAgICAgdGhpcy5iaXRnbyxcbiAgICAgIHRoaXMud2FsbGV0LmlkKCksXG4gICAgICB0eFJlcXVlc3RJZCxcbiAgICAgIFNlbmRTaGFyZVR5cGUuS1NoYXJlLFxuICAgICAgdXNlclNpZ25TaGFyZS5rU2hhcmVcbiAgICApKSBhcyBBU2hhcmU7XG5cbiAgICBjb25zdCB1c2VyR2FtbWFBbmRNdVNoYXJlcyA9IGF3YWl0IEVDRFNBTWV0aG9kcy5jcmVhdGVVc2VyR2FtbWFBbmRNdVNoYXJlKHVzZXJTaWduU2hhcmUud1NoYXJlLCBiaXRnb1RvVXNlckFTaGFyZSk7XG5cbiAgICBjb25zdCBiaXRnb1RvVXNlckRTaGFyZSA9IChhd2FpdCBFQ0RTQU1ldGhvZHMuc2VuZFNoYXJlVG9CaXRnbyhcbiAgICAgIHRoaXMuYml0Z28sXG4gICAgICB0aGlzLndhbGxldC5pZCgpLFxuICAgICAgdHhSZXF1ZXN0SWQsXG4gICAgICBTZW5kU2hhcmVUeXBlLk1VU2hhcmUsXG4gICAgICB1c2VyR2FtbWFBbmRNdVNoYXJlcy5tdVNoYXJlIGFzIEVDRFNBLk1VU2hhcmVcbiAgICApKSBhcyBEU2hhcmU7XG5cbiAgICBjb25zdCB1c2VyT21pY3JvbkFuZERlbHRhU2hhcmUgPSBhd2FpdCBFQ0RTQU1ldGhvZHMuY3JlYXRlVXNlck9taWNyb25BbmREZWx0YVNoYXJlKFxuICAgICAgdXNlckdhbW1hQW5kTXVTaGFyZXMuZ1NoYXJlIGFzIEVDRFNBLkdTaGFyZVxuICAgICk7XG5cbiAgICBjb25zdCBzaWduYWJsZVBheWxvYWQgPSBCdWZmZXIuZnJvbSh0eFJlcXVlc3RSZXNvbHZlZC51bnNpZ25lZFR4c1swXS5zaWduYWJsZUhleCwgJ2hleCcpO1xuXG4gICAgY29uc3QgdXNlclNTaGFyZSA9IGF3YWl0IEVDRFNBTWV0aG9kcy5jcmVhdGVVc2VyU2lnbmF0dXJlU2hhcmUoXG4gICAgICB1c2VyT21pY3JvbkFuZERlbHRhU2hhcmUub1NoYXJlLFxuICAgICAgYml0Z29Ub1VzZXJEU2hhcmUsXG4gICAgICBzaWduYWJsZVBheWxvYWRcbiAgICApO1xuXG4gICAgYXdhaXQgRUNEU0FNZXRob2RzLnNlbmRTaGFyZVRvQml0Z28oXG4gICAgICB0aGlzLmJpdGdvLFxuICAgICAgdGhpcy53YWxsZXQuaWQoKSxcbiAgICAgIHR4UmVxdWVzdElkLFxuICAgICAgU2VuZFNoYXJlVHlwZS5TU2hhcmUsXG4gICAgICB1c2VyU1NoYXJlLFxuICAgICAgdXNlck9taWNyb25BbmREZWx0YVNoYXJlLmRTaGFyZVxuICAgICk7XG4gICAgcmV0dXJuIGF3YWl0IGdldFR4UmVxdWVzdCh0aGlzLmJpdGdvLCB0aGlzLndhbGxldC5pZCgpLCB0eFJlcXVlc3RJZCk7XG4gIH1cbn1cbiJdfQ==
|
|
254
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNkc2EuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYml0Z28vdXRpbHMvdHNzL2VjZHNhL2VjZHNhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx5REFBK0Q7QUFDL0QsaURBQW1DO0FBR25DLCtEQUFvRTtBQUVwRSwrQ0FBaUM7QUFDakMsbUVBQTJDO0FBRTNDLDRDQUFpRTtBQUNqRSxnREFBbUQ7QUFDbkQsb0RBQXlFO0FBQ3pFLHFEQUF1RDtBQUl2RCxNQUFNLGFBQWEsR0FBRyxlQUFZLENBQUMsYUFBYSxDQUFDO0FBRWpELGtCQUFrQjtBQUNsQixNQUFhLFVBQVcsU0FBUSxzQkFBc0I7SUFHcEQsWUFBWSxLQUFnQixFQUFFLFFBQW1CLEVBQUUsTUFBZ0I7UUFDakUsS0FBSyxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFIekIsc0JBQWlCLEdBQTRCLFNBQVMsQ0FBQztRQUk3RCxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVPLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLO1FBQ25DLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxNQUFNLGdDQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCxLQUFLLENBQUMsb0JBQW9CO1FBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDM0IsZ0NBQWdDO1lBQ2hDLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN6QyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFO2dCQUMzQixNQUFNLElBQUksS0FBSyxDQUFDLCtCQUErQixDQUFDLENBQUM7YUFDbEQ7U0FDRjtRQUVELE9BQU8sSUFBSSxDQUFDLGlCQUFrQixDQUFDO0lBQ2pDLENB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QU0sVUFBVSxHQUFHLE1BQU0sZUFBWSxDQUFDLHdCQUF3QixDQUM1RCx3QkFBd0IsQ0FBQyxNQUFNLEVBQy9CLGlCQUFpQixFQUNqQixlQUFlLENBQ2hCLENBQUM7UUFFRixNQUFNLGVBQVksQ0FBQyxnQkFBZ0IsQ0FDakMsSUFBSSxDQUFDLEtBQUssRUFDVixJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxFQUNoQixXQUFXLEVBQ1gscUJBQWEsQ0FBQyxNQUFNLEVBQ3BCLFVBQVUsRUFDVix3QkFBd0IsQ0FBQyxNQUFNLENBQ2hDLENBQUM7UUFDRixPQUFPLE1BQU0scUJBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILEtBQUssQ0FBQyxhQUFhLENBQUMsTUFBaUI7UUFDbkMsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRSx1QkFBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxLQUFLLENBQUMsdUJBQXVCLENBQUMsTUFBaUI7UUFDN0MsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRSx1QkFBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNELENBQUM7Q0FDRjtBQTdWRCxnQ0E2VkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFQ0RTQSwgRWNkc2EgfSBmcm9tICcuLi8uLi8uLi8uLi9hY2NvdW50LWxpYi9tcGMvdHNzJztcbmltcG9ydCAqIGFzIG9wZW5wZ3AgZnJvbSAnb3BlbnBncCc7XG5pbXBvcnQgeyBTZXJpYWxpemVkS2V5UGFpciB9IGZyb20gJ29wZW5wZ3AnO1xuaW1wb3J0IHsgQWRkS2V5Y2hhaW5PcHRpb25zLCBLZXljaGFpbiwgS2V5VHlwZSB9IGZyb20gJy4uLy4uLy4uL2tleWNoYWluJztcbmltcG9ydCBFQ0RTQU1ldGhvZHMsIHsgRUNEU0FNZXRob2RUeXBlcyB9IGZyb20gJy4uLy4uLy4uL3Rzcy9lY2RzYSc7XG5pbXBvcnQgeyBJQmFzZUNvaW4sIEtleWNoYWluc1RyaXBsZXQgfSBmcm9tICcuLi8uLi8uLi9iYXNlQ29pbic7XG5pbXBvcnQgKiBhcyBjcnlwdG8gZnJvbSAnY3J5cHRvJztcbmltcG9ydCBiYXNlVFNTVXRpbHMgZnJvbSAnLi4vYmFzZVRTU1V0aWxzJztcbmltcG9ydCB7IERlY3J5cHRhYmxlTlNoYXJlLCBLZXlTaGFyZSB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgUmVxdWVzdFR5cGUsIFRTU1BhcmFtcywgVHhSZXF1ZXN0IH0gZnJvbSAnLi4vYmFzZVR5cGVzJztcbmltcG9ydCB7IGdldFR4UmVxdWVzdCB9IGZyb20gJy4uLy4uLy4uL3Rzcy9jb21tb24nO1xuaW1wb3J0IHsgQVNoYXJlLCBEU2hhcmUsIFNlbmRTaGFyZVR5cGUgfSBmcm9tICcuLi8uLi8uLi90c3MvZWNkc2EvdHlwZXMnO1xuaW1wb3J0IHsgZ2V0Qml0Z29HcGdQdWJLZXkgfSBmcm9tICcuLi8uLi9vcGVuZ3BnVXRpbHMnO1xuaW1wb3J0IHsgQml0R29CYXNlIH0gZnJvbSAnLi4vLi4vLi4vYml0Z29CYXNlJztcbmltcG9ydCB7IElXYWxsZXQgfSBmcm9tICcuLi8uLi8uLi93YWxsZXQnO1xuXG5jb25zdCBlbmNyeXB0TlNoYXJlID0gRUNEU0FNZXRob2RzLmVuY3J5cHROU2hhcmU7XG5cbi8qKiBAaW5oZXJpdGRvYyAqL1xuZXhwb3J0IGNsYXNzIEVjZHNhVXRpbHMgZXh0ZW5kcyBiYXNlVFNTVXRpbHM8S2V5U2hhcmU+IHtcbiAgcHJpdmF0ZSBiaXRnb1B1YmxpY0dwZ0tleTogb3BlbnBncC5LZXkgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IoYml0Z286IEJpdEdvQmFzZSwgYmFzZUNvaW46IElCYXNlQ29pbiwgd2FsbGV0PzogSVdhbGxldCkge1xuICAgIHN1cGVyKGJpdGdvLCBiYXNlQ29pbiwgd2FsbGV0KTtcbiAgICB0aGlzLnNldEJpdGdvR3BnUHViS2V5KGJpdGdvKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgc2V0Qml0Z29HcGdQdWJLZXkoYml0Z28pIHtcbiAgICB0aGlzLmJpdGdvUHVibGljR3BnS2V5ID0gYXdhaXQgZ2V0Qml0Z29HcGdQdWJLZXkoYml0Z28pO1xuICB9XG5cbiAgYXN5bmMgZ2V0Qml0Z29QdWJsaWNHcGdLZXkoKTogUHJvbWlzZTxvcGVucGdwLktleT4ge1xuICAgIGlmICghdGhpcy5iaXRnb1B1YmxpY0dwZ0tleSkge1xuICAgICAgLy8gcmV0cnkgZ2V0dGluZyBiaXRnbydzIGdwZyBrZXlcbiAgICAgIGF3YWl0IHRoaXMuc2V0Qml0Z29HcGdQdWJLZXkodGhpcy5iaXRnbyk7XG4gICAgICBpZiAoIXRoaXMuYml0Z29QdWJsaWNHcGdLZXkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRmFpbGVkIHRvIGdldCBCaXRnbydzIGdwZyBrZXlcIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuYml0Z29QdWJsaWNHcGdLZXkhO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGFzeW5jIGNyZWF0ZUtleWNoYWlucyhwYXJhbXM6IHtcbiAgICBwYXNzcGhyYXNlOiBzdHJpbmc7XG4gICAgZW50ZXJwcmlzZT86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBvcmlnaW5hbFBhc3Njb2RlRW5jcnlwdGlvbkNvZGU/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIH0pOiBQcm9taXNlPEtleWNoYWluc1RyaXBsZXQ+IHtcbiAgICBjb25zdCBNUEMgPSBuZXcgRWNkc2EoKTtcbiAgICBjb25zdCBtID0gMjtcbiAgICBjb25zdCBuID0gMztcblxuICAgIGNvbnN0IHVzZXJLZXlTaGFyZSA9IGF3YWl0IE1QQy5rZXlTaGFyZSgxLCBtLCBuKTtcbiAgICBjb25zdCBiYWNrdXBLZXlTaGFyZSA9IGF3YWl0IE1QQy5rZXlTaGFyZSgyLCBtLCBuKTtcblxuICAgIGNvbnN0IHJhbmRvbUhleFN0cmluZyA9IGNyeXB0by5yYW5kb21CeXRlcygxMikudG9TdHJpbmcoJ2hleCcpO1xuICAgIG9wZW5wZ3AuY29uZmlnLnJlamVjdEN1cnZlcyA9IG5ldyBTZXQoKTtcblxuICAgIGNvbnN0IHVzZXJHcGdLZXkgPSBhd2FpdCBvcGVucGdwLmdlbmVyYXRlS2V5KHtcbiAgICAgIHVzZXJJRHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IHJhbmRvbUhleFN0cmluZyxcbiAgICAgICAgICBlbWFpbDogYHVzZXItJHtyYW5kb21IZXhTdHJpbmd9QCR7cmFuZG9tSGV4U3RyaW5nfS5jb21gLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIGN1cnZlOiAnc2VjcDI1NmsxJyxcbiAgICB9KTtcblxuICAgIGNvbnN0IGJpdGdvS2V5Y2hhaW4gPSBhd2FpdCB0aGlzLmNyZWF0ZUJpdGdvS2V5Y2hhaW4odXNlckdwZ0tleSwgdXNlcktleVNoYXJlLCBiYWNrdXBLZXlTaGFyZSwgcGFyYW1zLmVudGVycHJpc2UpO1xuICAgIGNvbnN0IHVzZXJLZXljaGFpblByb21pc2UgPSB0aGlzLmNyZWF0ZVBhcnRpY2lwYW50S2V5Y2hhaW4oXG4gICAgICB1c2VyR3BnS2V5LFxuICAgICAgMSxcbiAgICAgIHVzZXJLZXlTaGFyZSxcbiAgICAgIGJhY2t1cEtleVNoYXJlLFxuICAgICAgYml0Z29LZXljaGFpbixcbiAgICAgIHBhcmFtcy5wYXNzcGhyYXNlLFxuICAgICAgcGFyYW1zLm9yaWdpbmFsUGFzc2NvZGVFbmNyeXB0aW9uQ29kZVxuICAgICk7XG4gICAgY29uc3QgYmFja3VwS2V5Y2hhaW5Qcm9taXNlID0gdGhpcy5jcmVhdGVQYXJ0aWNpcGFudEtleWNoYWluKFxuICAgICAgdXNlckdwZ0tleSxcbiAgICAgIDIsXG4gICAgICB1c2VyS2V5U2hhcmUsXG4gICAgICBiYWNrdXBLZXlTaGFyZSxcbiAgICAgIGJpdGdvS2V5Y2hhaW4sXG4gICAgICBwYXJhbXMucGFzc3BocmFzZVxuICAgICk7XG5cbiAgICBjb25zdCBbdXNlcktleWNoYWluLCBiYWNrdXBLZXljaGFpbl0gPSBhd2FpdCBQcm9taXNlLmFsbChbdXNlcktleWNoYWluUHJvbWlzZSwgYmFja3VwS2V5Y2hhaW5Qcm9taXNlXSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgdXNlcktleWNoYWluLFxuICAgICAgYmFja3VwS2V5Y2hhaW4sXG4gICAgICBiaXRnb0tleWNoYWluLFxuICAgIH07XG4gIH1cblxuICBjcmVhdGVVc2VyS2V5Y2hhaW4oXG4gICAgdXNlckdwZ0tleTogU2VyaWFsaXplZEtleVBhaXI8c3RyaW5nPixcbiAgICB1c2VyS2V5U2hhcmU6IEtleVNoYXJlLFxuICAgIGJhY2t1cEtleVNoYXJlOiBLZXlTaGFyZSxcbiAgICBiaXRnb0tleWNoYWluOiBLZXljaGFpbixcbiAgICBwYXNzcGhyYXNlOiBzdHJpbmcsXG4gICAgb3JpZ2luYWxQYXNzY29kZUVuY3J5cHRpb25Db2RlOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxLZXljaGFpbj4ge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZVBhcnRpY2lwYW50S2V5Y2hhaW4oXG4gICAgICB1c2VyR3BnS2V5LFxuICAgICAgMSxcbiAgICAgIHVzZXJLZXlTaGFyZSxcbiAgICAgIGJhY2t1cEtleVNoYXJlLFxuICAgICAgYml0Z29LZXljaGFpbixcbiAgICAgIHBhc3NwaHJhc2UsXG4gICAgICBvcmlnaW5hbFBhc3Njb2RlRW5jcnlwdGlvbkNvZGVcbiAgICApO1xuICB9XG5cbiAgY3JlYXRlQmFja3VwS2V5Y2hhaW4oXG4gICAgdXNlckdwZ0tleTogU2VyaWFsaXplZEtleVBhaXI8c3RyaW5nPixcbiAgICB1c2VyS2V5U2hhcmU6IEtleVNoYXJlLFxuICAgIGJhY2t1cEtleVNoYXJlOiBLZXlTaGFyZSxcbiAgICBiaXRnb0tleWNoYWluOiBLZXljaGFpbixcbiAgICBwYXNzcGhyYXNlOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxLZXljaGFpbj4ge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZVBhcnRpY2lwYW50S2V5Y2hhaW4odXNlckdwZ0tleSwgMiwgdXNlcktleVNoYXJlLCBiYWNrdXBLZXlTaGFyZSwgYml0Z29LZXljaGFpbiwgcGFzc3BocmFzZSk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgYXN5bmMgY3JlYXRlQml0Z29LZXljaGFpbihcbiAgICB1c2VyR3BnS2V5OiBTZXJpYWxpemVkS2V5UGFpcjxzdHJpbmc+LFxuICAgIHVzZXJLZXlTaGFyZTogS2V5U2hhcmUsXG4gICAgYmFja3VwS2V5U2hhcmU6IEtleVNoYXJlLFxuICAgIGVudGVycHJpc2U/OiBzdHJpbmdcbiAgKTogUHJvbWlzZTxLZXljaGFpbj4ge1xuICAgIGNvbnN0IGJpdGdvUHVibGljR3BnS2V5ID0gYXdhaXQgdGhpcy5nZXRCaXRnb1B1YmxpY0dwZ0tleSgpO1xuICAgIGNvbnN0IHJlY2lwaWVudEluZGV4ID0gMztcbiAgICBjb25zdCB1c2VyVG9CaXRnb1NoYXJlID0gYXdhaXQgZW5jcnlwdE5TaGFyZShcbiAgICAgIHVzZXJLZXlTaGFyZSxcbiAgICAgIHJlY2lwaWVudEluZGV4LFxuICAgICAgYml0Z29QdWJsaWNHcGdLZXkuYXJtb3IoKSxcbiAgICAgIHVzZXJHcGdLZXkucHJpdmF0ZUtleVxuICAgICk7XG5cbiAgICBjb25zdCBiYWNrdXBUb0JpdGdvU2hhcmUgPSBhd2FpdCBlbmNyeXB0TlNoYXJlKFxuICAgICAgYmFja3VwS2V5U2hhcmUsXG4gICAgICByZWNpcGllbnRJbmRleCxcbiAgICAgIGJpdGdvUHVibGljR3BnS2V5LmFybW9yKCksXG4gICAgICB1c2VyR3BnS2V5LnByaXZhdGVLZXlcbiAgICApO1xuXG4gICAgY29uc3QgY3JlYXRlQml0R29NUENQYXJhbXM6IEFkZEtleWNoYWluT3B0aW9ucyA9IHtcbiAgICAgIGtleVR5cGU6ICd0c3MnIGFzIEtleVR5cGUsXG4gICAgICBzb3VyY2U6ICdiaXRnbycsXG4gICAgICBrZXlTaGFyZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGZyb206ICd1c2VyJyxcbiAgICAgICAgICB0bzogJ2JpdGdvJyxcbiAgICAgICAgICBwdWJsaWNTaGFyZTogdXNlclRvQml0Z29TaGFyZS5wdWJsaWNTaGFyZSxcbiAgICAgICAgICBwcml2YXRlU2hhcmU6IHVzZXJUb0JpdGdvU2hhcmUuZW5jcnlwdGVkUHJpdmF0ZVNoYXJlLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgZnJvbTogJ2JhY2t1cCcsXG4gICAgICAgICAgdG86ICdiaXRnbycsXG4gICAgICAgICAgcHVibGljU2hhcmU6IGJhY2t1cFRvQml0Z29TaGFyZS5wdWJsaWNTaGFyZSxcbiAgICAgICAgICBwcml2YXRlU2hhcmU6IGJhY2t1cFRvQml0Z29TaGFyZS5lbmNyeXB0ZWRQcml2YXRlU2hhcmUsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgdXNlckdQR1B1YmxpY0tleTogdXNlckdwZ0tleS5wdWJsaWNLZXksXG4gICAgICBiYWNrdXBHUEdQdWJsaWNLZXk6IHVzZXJHcGdLZXkucHVibGljS2V5LFxuICAgICAgZW50ZXJwcmlzZTogZW50ZXJwcmlzZSxcbiAgICB9O1xuXG4gICAgY29uc3Qga2V5Y2hhaW5zID0gYXdhaXQgdGhpcy5iYXNlQ29pbi5rZXljaGFpbnMoKS5hZGQoY3JlYXRlQml0R29NUENQYXJhbXMpO1xuICAgIHJldHVybiBrZXljaGFpbnM7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgYXN5bmMgY3JlYXRlUGFydGljaXBhbnRLZXljaGFpbihcbiAgICB1c2VyR3BnS2V5OiBvcGVucGdwLlNlcmlhbGl6ZWRLZXlQYWlyPHN0cmluZz4sXG4gICAgcmVjaXBpZW50SW5kZXg6IG51bWJlcixcbiAgICB1c2VyS2V5U2hhcmU6IEtleVNoYXJlLFxuICAgIGJhY2t1cEtleVNoYXJlOiBLZXlTaGFyZSxcbiAgICBiaXRnb0tleWNoYWluOiBLZXljaGFpbixcbiAgICBwYXNzcGhyYXNlOiBzdHJpbmcsXG4gICAgb3JpZ2luYWxQYXNzY29kZUVuY3J5cHRpb25Db2RlPzogc3RyaW5nXG4gICk6IFByb21pc2U8S2V5Y2hhaW4+IHtcbiAgICBjb25zdCBiaXRnb0tleVNoYXJlcyA9IGJpdGdvS2V5Y2hhaW4ua2V5U2hhcmVzO1xuICAgIGlmICghYml0Z29LZXlTaGFyZXMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZyBCaXRHbyBrZXkgc2hhcmVzJyk7XG4gICAgfVxuICAgIGlmICghYml0Z29LZXljaGFpbi5jb21tb25LZXljaGFpbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBNaXNzaW5nIGNvbW1vbiBrZXkgY2hhaW46ICR7Yml0Z29LZXljaGFpbi5jb21tb25LZXljaGFpbn1gKTtcbiAgICB9XG5cbiAgICBsZXQgdXNlcjogc3RyaW5nO1xuICAgIGxldCBrZXlTaGFyZTogS2V5U2hhcmU7XG4gICAgbGV0IG90aGVyU2hhcmU6IEtleVNoYXJlO1xuICAgIGlmIChyZWNpcGllbnRJbmRleCA9PT0gMSkge1xuICAgICAga2V5U2hhcmUgPSB1c2VyS2V5U2hhcmU7XG4gICAgICBvdGhlclNoYXJlID0gYmFja3VwS2V5U2hhcmU7XG4gICAgICB1c2VyID0gJ3VzZXInO1xuICAgIH0gZWxzZSBpZiAocmVjaXBpZW50SW5kZXggPT09IDIpIHtcbiAgICAgIGtleVNoYXJlID0gYmFja3VwS2V5U2hhcmU7XG4gICAgICBvdGhlclNoYXJlID0gdXNlcktleVNoYXJlO1xuICAgICAgdXNlciA9ICdiYWNrdXAnO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdXNlciBpbmRleCcpO1xuICAgIH1cblxuICAgIGNvbnN0IGJpdEdvVG9Vc2VyU2hhcmUgPSBiaXRnb0tleVNoYXJlcy5maW5kKChrZXlTaGFyZSkgPT4ga2V5U2hhcmUuZnJvbSA9PT0gJ2JpdGdvJyAmJiBrZXlTaGFyZS50byA9PT0gdXNlcik7XG4gICAgaWYgKCFiaXRHb1RvVXNlclNoYXJlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgQml0R28gdG8gVXNlciBrZXkgc2hhcmUnKTtcbiAgICB9XG5cbiAgICBjb25zdCBiaXRnb1B1YmxpY0dwZ0tleSA9IGF3YWl0IHRoaXMuZ2V0Qml0Z29QdWJsaWNHcGdLZXkoKTtcblxuICAgIGNvbnN0IGJhY2t1cFRvVXNlclNoYXJlID0gYXdhaXQgZW5jcnlwdE5TaGFyZShcbiAgICAgIG90aGVyU2hhcmUsXG4gICAgICByZWNpcGllbnRJbmRleCxcbiAgICAgIHVzZXJHcGdLZXkucHVibGljS2V5LFxuICAgICAgdXNlckdwZ0tleS5wcml2YXRlS2V5XG4gICAgKTtcbiAgICBjb25zdCBlbmNyeXB0ZWROU2hhcmVzOiBEZWNyeXB0YWJsZU5TaGFyZVtdID0gW1xuICAgICAge1xuICAgICAgICBuU2hhcmU6IGJhY2t1cFRvVXNlclNoYXJlLFxuICAgICAgICByZWNpcGllbnRQcml2YXRlQXJtb3I6IHVzZXJHcGdLZXkucHJpdmF0ZUtleSxcbiAgICAgICAgc2VuZGVyUHVibGljQXJtb3I6IHVzZXJHcGdLZXkucHVibGljS2V5LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgblNoYXJlOiB7XG4gICAgICAgICAgaTogcmVjaXBpZW50SW5kZXgsXG4gICAgICAgICAgajogMyxcbiAgICAgICAgICBwdWJsaWNTaGFyZTogYml0R29Ub1VzZXJTaGFyZS5wdWJsaWNTaGFyZSxcbiAgICAgICAgICBlbmNyeXB0ZWRQcml2YXRlU2hhcmU6IGJpdEdvVG9Vc2VyU2hhcmUucHJpdmF0ZVNoYXJlLFxuICAgICAgICB9LFxuICAgICAgICByZWNpcGllbnRQcml2YXRlQXJtb3I6IHVzZXJHcGdLZXkucHJpdmF0ZUtleSxcbiAgICAgICAgc2VuZGVyUHVibGljQXJtb3I6IGJpdGdvUHVibGljR3BnS2V5LmFybW9yKCksXG4gICAgICB9LFxuICAgIF07XG5cbiAgICBjb25zdCB1c2VyQ29tYmluZWRLZXkgPSBhd2FpdCBFQ0RTQU1ldGhvZHMuY3JlYXRlQ29tYmluZWRLZXkoXG4gICAgICBrZXlTaGFyZSxcbiAgICAgIGVuY3J5cHRlZE5TaGFyZXMsXG4gICAgICBiaXRnb0tleWNoYWluLmNvbW1vbktleWNoYWluXG4gICAgKTtcblxuICAgIGNvbnN0IHBydiA9IEpTT04uc3RyaW5naWZ5KHVzZXJDb21iaW5lZEtleS5zaWduaW5nTWF0ZXJpYWwpO1xuICAgIGNvbnN0IHVzZXJLZXljaGFpblBhcmFtcyA9IHtcbiAgICAgIHNvdXJjZTogdXNlcixcbiAgICAgIGtleVR5cGU6ICd0c3MnIGFzIEtleVR5cGUsXG4gICAgICBjb21tb25LZXljaGFpbjogYml0Z29LZXljaGFpbi5jb21tb25LZXljaGFpbixcbiAgICAgIHBydjogcHJ2LFxuICAgICAgZW5jcnlwdGVkUHJ2OiB0aGlzLmJpdGdvLmVuY3J5cHQoe1xuICAgICAgICBpbnB1dDogcHJ2LFxuICAgICAgICBwYXNzd29yZDogcGFzc3BocmFzZSxcbiAgICAgIH0pLFxuICAgICAgb3JpZ2luYWxQYXNzY29kZUVuY3J5cHRpb25Db2RlLFxuICAgIH07XG5cbiAgICBjb25zdCBrZXljaGFpbnMgPSB0aGlzLmJhc2VDb2luLmtleWNoYWlucygpO1xuICAgIGNvbnN0IHJlc3VsdCA9XG4gICAgICByZWNpcGllbnRJbmRleCA9PT0gMSA/IGF3YWl0IGtleWNoYWlucy5hZGQodXNlcktleWNoYWluUGFyYW1zKSA6IGF3YWl0IGtleWNoYWlucy5jcmVhdGVCYWNrdXAodXNlcktleWNoYWluUGFyYW1zKTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgc2lnbmluZyBrZXksIHR4UmVxdWVzdFJlc29sdmVkIGFuZCB0eFJlcXVlc3RJZFxuICAgKiBAcGFyYW0ge3N0cmluZyB8IFR4UmVxdWVzdH0gcGFyYW1zLnR4UmVxdWVzdCAtIHRyYW5zYWN0aW9uIHJlcXVlc3Qgb2JqZWN0IG9yIGlkXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwYXJhbXMucHJ2IC0gZGVjcnlwdGVkIHByaXZhdGUga2V5XG4gICAqIEBwYXJhbSB7IHN0cmluZ30gcGFyYW1zLnJlcUlkIC0gcmVxdWVzdCBpZFxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxFQ0RTQVNpZ25pbmdSZXF1ZXN0QmFzZVJlc3VsdD59XG4gICAqL1xuICBwcml2YXRlIGFzeW5jIHNpZ25SZXF1ZXN0QmFzZShwYXJhbXM6IFRTU1BhcmFtcywgcmVxdWVzdFR5cGU6IFJlcXVlc3RUeXBlKTogUHJvbWlzZTxUeFJlcXVlc3Q+IHtcbiAgICBsZXQgdHhSZXF1ZXN0UmVzb2x2ZWQ6IFR4UmVxdWVzdDtcbiAgICBsZXQgdHhSZXF1ZXN0SWQ6IHN0cmluZztcblxuICAgIGNvbnN0IHsgdHhSZXF1ZXN0LCBwcnYgfSA9IHBhcmFtcztcblxuICAgIGlmICh0eXBlb2YgdHhSZXF1ZXN0ID09PSAnc3RyaW5nJykge1xuICAgICAgdHhSZXF1ZXN0UmVzb2x2ZWQgPSBhd2FpdCBnZXRUeFJlcXVlc3QodGhpcy5iaXRnbywgdGhpcy53YWxsZXQuaWQoKSwgdHhSZXF1ZXN0KTtcbiAgICAgIHR4UmVxdWVzdElkID0gdHhSZXF1ZXN0UmVzb2x2ZWQudHhSZXF1ZXN0SWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHR4UmVxdWVzdFJlc29sdmVkID0gdHhSZXF1ZXN0O1xuICAgICAgdHhSZXF1ZXN0SWQgPSB0eFJlcXVlc3QudHhSZXF1ZXN0SWQ7XG4gICAgfVxuXG4gICAgY29uc3QgdXNlclNpZ25pbmdNYXRlcmlhbDogRUNEU0FNZXRob2RUeXBlcy5TaWduaW5nTWF0ZXJpYWwgPSBKU09OLnBhcnNlKHBydik7XG4gICAgaWYgKHVzZXJTaWduaW5nTWF0ZXJpYWwucFNoYXJlLmkgIT09IDEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCB1c2VyIGtleScpO1xuICAgIH1cbiAgICBpZiAoIXVzZXJTaWduaW5nTWF0ZXJpYWwuYmFja3VwTlNoYXJlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdXNlciBrZXkgLSBtaXNzaW5nIGJhY2t1cE5TaGFyZScpO1xuICAgIH1cbiAgICBjb25zdCBNUEMgPSBuZXcgRWNkc2EoKTtcbiAgICBjb25zdCBzaWduaW5nS2V5ID0gTVBDLmtleUNvbWJpbmUodXNlclNpZ25pbmdNYXRlcmlhbC5wU2hhcmUsIFtcbiAgICAgIHVzZXJTaWduaW5nTWF0ZXJpYWwuYml0Z29OU2hhcmUsXG4gICAgICB1c2VyU2lnbmluZ01hdGVyaWFsLmJhY2t1cE5TaGFyZSxcbiAgICBdKTtcblxuICAgIGNvbnN0IHVzZXJTaWduU2hhcmUgPSBhd2FpdCBFQ0RTQU1ldGhvZHMuY3JlYXRlVXNlclNpZ25TaGFyZShzaWduaW5nS2V5LnhTaGFyZSwgc2lnbmluZ0tleS55U2hhcmVzWzNdKTtcblxuICAgIGNvbnN0IGJpdGdvVG9Vc2VyQVNoYXJlID0gKGF3YWl0IEVDRFNBTWV0aG9kcy5zZW5kU2hhcmVUb0JpdGdvKFxuICAgICAgdGhpcy5iaXRnbyxcbiAgICAgIHRoaXMud2FsbGV0LmlkKCksXG4gICAgICB0eFJlcXVlc3RJZCxcbiAgICAgIFNlbmRTaGFyZVR5cGUuS1NoYXJlLFxuICAgICAgdXNlclNpZ25TaGFyZS5rU2hhcmVcbiAgICApKSBhcyBBU2hhcmU7XG5cbiAgICBjb25zdCB1c2VyR2FtbWFBbmRNdVNoYXJlcyA9IGF3YWl0IEVDRFNBTWV0aG9kcy5jcmVhdGVVc2VyR2FtbWFBbmRNdVNoYXJlKHVzZXJTaWduU2hhcmUud1NoYXJlLCBiaXRnb1RvVXNlckFTaGFyZSk7XG5cbiAgICBjb25zdCBiaXRnb1RvVXNlckRTaGFyZSA9IChhd2FpdCBFQ0RTQU1ldGhvZHMuc2VuZFNoYXJlVG9CaXRnbyhcbiAgICAgIHRoaXMuYml0Z28sXG4gICAgICB0aGlzLndhbGxldC5pZCgpLFxuICAgICAgdHhSZXF1ZXN0SWQsXG4gICAgICBTZW5kU2hhcmVUeXBlLk1VU2hhcmUsXG4gICAgICB1c2VyR2FtbWFBbmRNdVNoYXJlcy5tdVNoYXJlIGFzIEVDRFNBLk1VU2hhcmVcbiAgICApKSBhcyBEU2hhcmU7XG5cbiAgICBjb25zdCB1c2VyT21pY3JvbkFuZERlbHRhU2hhcmUgPSBhd2FpdCBFQ0RTQU1ldGhvZHMuY3JlYXRlVXNlck9taWNyb25BbmREZWx0YVNoYXJlKFxuICAgICAgdXNlckdhbW1hQW5kTXVTaGFyZXMuZ1NoYXJlIGFzIEVDRFNBLkdTaGFyZVxuICAgICk7XG5cbiAgICBsZXQgc2lnbmFibGVQYXlsb2FkO1xuXG4gICAgaWYgKHJlcXVlc3RUeXBlID09PSBSZXF1ZXN0VHlwZS50eCkge1xuICAgICAgc2lnbmFibGVQYXlsb2FkID0gQnVmZmVyLmZyb20odHhSZXF1ZXN0UmVzb2x2ZWQudW5zaWduZWRUeHNbMF0uc2lnbmFibGVIZXgsICdoZXgnKTtcbiAgICB9IGVsc2UgaWYgKHJlcXVlc3RUeXBlID09PSBSZXF1ZXN0VHlwZS5tZXNzYWdlKSB7XG4gICAgICBzaWduYWJsZVBheWxvYWQgPSBCdWZmZXIuZnJvbSh0eFJlcXVlc3RSZXNvbHZlZC51bnNpZ25lZE1lc3NhZ2VzIVswXS5tZXNzYWdlLCAnaGV4Jyk7XG4gICAgfVxuXG4gICAgY29uc3QgdXNlclNTaGFyZSA9IGF3YWl0IEVDRFNBTWV0aG9kcy5jcmVhdGVVc2VyU2lnbmF0dXJlU2hhcmUoXG4gICAgICB1c2VyT21pY3JvbkFuZERlbHRhU2hhcmUub1NoYXJlLFxuICAgICAgYml0Z29Ub1VzZXJEU2hhcmUsXG4gICAgICBzaWduYWJsZVBheWxvYWRcbiAgICApO1xuXG4gICAgYXdhaXQgRUNEU0FNZXRob2RzLnNlbmRTaGFyZVRvQml0Z28oXG4gICAgICB0aGlzLmJpdGdvLFxuICAgICAgdGhpcy53YWxsZXQuaWQoKSxcbiAgICAgIHR4UmVxdWVzdElkLFxuICAgICAgU2VuZFNoYXJlVHlwZS5TU2hhcmUsXG4gICAgICB1c2VyU1NoYXJlLFxuICAgICAgdXNlck9taWNyb25BbmREZWx0YVNoYXJlLmRTaGFyZVxuICAgICk7XG4gICAgcmV0dXJuIGF3YWl0IGdldFR4UmVxdWVzdCh0aGlzLmJpdGdvLCB0aGlzLndhbGxldC5pZCgpLCB0eFJlcXVlc3RJZCk7XG4gIH1cblxuICAvKipcbiAgICogU2lnbnMgdGhlIHRyYW5zYWN0aW9uIGFzc29jaWF0ZWQgdG8gdGhlIHRyYW5zYWN0aW9uIHJlcXVlc3QuXG4gICAqIEBwYXJhbSB7c3RyaW5nIHwgVHhSZXF1ZXN0fSBwYXJhbXMudHhSZXF1ZXN0IC0gdHJhbnNhY3Rpb24gcmVxdWVzdCBvYmplY3Qgb3IgaWRcbiAgICogQHBhcmFtIHtzdHJpbmd9IHBhcmFtcy5wcnYgLSBkZWNyeXB0ZWQgcHJpdmF0ZSBrZXlcbiAgICogQHBhcmFtIHtzdHJpbmd9IHBhcmFtcy5yZXFJZCAtIHJlcXVlc3QgaWRcbiAgICogQHJldHVybnMge1Byb21pc2U8VHhSZXF1ZXN0Pn0gZnVsbHkgc2lnbmVkIFR4UmVxdWVzdCBvYmplY3RcbiAgICovXG4gIGFzeW5jIHNpZ25UeFJlcXVlc3QocGFyYW1zOiBUU1NQYXJhbXMpOiBQcm9taXNlPFR4UmVxdWVzdD4ge1xuICAgIHJldHVybiB0aGlzLnNpZ25SZXF1ZXN0QmFzZShwYXJhbXMsIFJlcXVlc3RUeXBlLnR4KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTaWducyB0aGUgbWVzc2FnZSBhc3NvY2lhdGVkIHRvIHRoZSB0cmFuc2FjdGlvbiByZXF1ZXN0LlxuICAgKiBAcGFyYW0ge3N0cmluZyB8IFR4UmVxdWVzdH0gcGFyYW1zLnR4UmVxdWVzdCAtIHRyYW5zYWN0aW9uIHJlcXVlc3Qgb2JqZWN0IG9yIGlkXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwYXJhbXMucHJ2IC0gZGVjcnlwdGVkIHByaXZhdGUga2V5XG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwYXJhbXMucmVxSWQgLSByZXF1ZXN0IGlkXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPFR4UmVxdWVzdD59IGZ1bGx5IHNpZ25lZCBUeFJlcXVlc3Qgb2JqZWN0XG4gICAqL1xuICBhc3luYyBzaWduVHhSZXF1ZXN0Rm9yTWVzc2FnZShwYXJhbXM6IFRTU1BhcmFtcyk6IFByb21pc2U8VHhSZXF1ZXN0PiB7XG4gICAgcmV0dXJuIHRoaXMuc2lnblJlcXVlc3RCYXNlKHBhcmFtcywgUmVxdWVzdFR5cGUubWVzc2FnZSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import * as openpgp from 'openpgp';
|
|
2
|
-
import { IRequestTracer } from '../../../../api';
|
|
3
2
|
import { Keychain } from '../../../keychain';
|
|
4
|
-
import { TxRequest } from '../baseTypes';
|
|
3
|
+
import { TSSParams, TxRequest } from '../baseTypes';
|
|
5
4
|
import { KeyShare } from './types';
|
|
6
5
|
import baseTSSUtils from '../baseTSSUtils';
|
|
7
6
|
import { KeychainsTriplet } from '../../../baseCoin';
|
|
@@ -56,11 +55,7 @@ export declare class EddsaUtils extends baseTSSUtils<KeyShare> {
|
|
|
56
55
|
* @param reqId - request id
|
|
57
56
|
* @returns {Promise<TxRequest>} fully signed TxRequest object
|
|
58
57
|
*/
|
|
59
|
-
signTxRequest(params:
|
|
60
|
-
txRequest: string | TxRequest;
|
|
61
|
-
prv: string;
|
|
62
|
-
reqId: IRequestTracer;
|
|
63
|
-
}): Promise<TxRequest>;
|
|
58
|
+
signTxRequest(params: TSSParams): Promise<TxRequest>;
|
|
64
59
|
/**
|
|
65
60
|
* Get the commonPub portion of the commonKeychain.
|
|
66
61
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eddsa.d.ts","sourceRoot":"","sources":["../../../../../../src/bitgo/utils/tss/eddsa/eddsa.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAGnC,OAAO,
|
|
1
|
+
{"version":3,"file":"eddsa.d.ts","sourceRoot":"","sources":["../../../../../../src/bitgo/utils/tss/eddsa/eddsa.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAGnC,OAAO,EAAsB,QAAQ,EAAW,MAAM,mBAAmB,CAAC;AAW1E,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAU,MAAM,SAAS,CAAC;AAC3C,OAAO,YAAY,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD;;GAEG;AAEH,qBAAa,UAAW,SAAQ,YAAY,CAAC,QAAQ,CAAC;IACpD;;;;;;;;;OASG;IACG,kBAAkB,CACtB,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAC7C,YAAY,EAAE,QAAQ,EACtB,cAAc,EAAE,QAAQ,EACxB,aAAa,EAAE,QAAQ,EACvB,UAAU,EAAE,MAAM,EAClB,8BAA8B,CAAC,EAAE,MAAM,GACtC,OAAO,CAAC,QAAQ,CAAC;IA8CpB;;;;;;;;OAQG;IACG,oBAAoB,CACxB,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAC7C,YAAY,EAAE,QAAQ,EACtB,cAAc,EAAE,QAAQ,EACxB,aAAa,EAAE,QAAQ,EACvB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,QAAQ,CAAC;IA6CpB;;;;;;OAMG;IACG,mBAAmB,CACvB,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAC7C,YAAY,EAAE,QAAQ,EACtB,cAAc,EAAE,QAAQ,EACxB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,QAAQ,CAAC;IAuCpB;;;;OAIG;IACG,eAAe,CAAC,MAAM,EAAE;QAC5B,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,8BAA8B,CAAC,EAAE,MAAM,CAAC;KACzC,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAkD7B;;;;;;;OAOG;IACG,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IA0D1D;;;;;OAKG;IACH,MAAM,CAAC,8BAA8B,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM;CAOtE;AACD;;GAEG;AACH,eAAO,MAAM,QAAQ,mBAAa,CAAC"}
|
|
@@ -265,4 +265,4 @@ exports.EddsaUtils = EddsaUtils;
|
|
|
265
265
|
* @deprecated - use EddsaUtils
|
|
266
266
|
*/
|
|
267
267
|
exports.TssUtils = EddsaUtils;
|
|
268
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRkc2EuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYml0Z28vdXRpbHMvdHNzL2VkZHNhL2VkZHNhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7R0FFRztBQUNILDJDQUE2QjtBQUM3QiwrQ0FBaUM7QUFDakMsaURBQW1DO0FBQ25DLCtEQUFrRTtBQUNsRSwwRUFBb0Q7QUFHcEQscURBQXNGO0FBQ3RGLHNDQVFzQjtBQUd0QixtRUFBMkM7QUFFM0M7O0dBRUc7QUFFSCxNQUFhLFVBQVcsU0FBUSxzQkFBc0I7SUFDcEQ7Ozs7Ozs7OztPQVNHO0lBQ0gsS0FBSyxDQUFDLGtCQUFrQixDQUN0QixVQUE2QyxFQUM3QyxZQUFzQixFQUN0QixjQUF3QixFQUN4QixhQUF1QixFQUN2QixVQUFrQixFQUNsQiw4QkFBdUM7UUFFdkMsTUFBTSxHQUFHLEdBQUcsTUFBTSxhQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDckMsTUFBTSxjQUFjLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQztRQUMvQyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ25CLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztTQUM3QztRQUVELE1BQU0sZ0JBQWdCLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxPQUFPLElBQUksUUFBUSxDQUFDLEVBQUUsS0FBSyxNQUFNLENBQUMsQ0FBQztRQUNoSCxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDckIsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO1NBQ3BEO1FBRUQsTUFBTSx1QkFBdUIsR0FBRyxNQUFNLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFFMUcsTUFBTSxXQUFXLEdBQVc7WUFDMUIsQ0FBQyxFQUFFLENBQUM7WUFDSixDQUFDLEVBQUUsQ0FBQztZQUNKLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDNUMsQ0FBQyxFQUFFLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ3ZDLFNBQVMsRUFBRSx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1NBQzdDLENBQUM7UUFFRixpRkFBaUY7UUFDakYsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQ25HLE1BQU0sY0FBYyxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO1FBQzdFLElBQUksY0FBYyxLQUFLLGFBQWEsQ0FBQyxjQUFjLEVBQUU7WUFDbkQsTUFBTSxJQUFJLEtBQUssQ0FBQyxnRUFBZ0UsQ0FBQyxDQUFDO1NBQ25GO1FBRUQsTUFBTSxtQkFBbUIsR0FBb0I7WUFDM0MsTUFBTSxFQUFFLFlBQVksQ0FBQyxNQUFNO1lBQzNCLFdBQVcsRUFBRSxXQUFXO1lBQ3hCLFlBQVksRUFBRSxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztTQUN4QyxDQUFDO1FBRUYsTUFBTSxrQkFBa0IsR0FBdUI7WUFDN0MsTUFBTSxFQUFFLE1BQU07WUFDZCxPQUFPLEVBQUUsS0FBZ0I7WUFDekIsY0FBYyxFQUFFLGFBQWEsQ0FBQyxjQUFjO1lBQzVDLFlBQVksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUFDLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxDQUFDO1lBQ3RHLDhCQUE4QjtTQUMvQixDQUFDO1FBRUYsT0FBTyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsS0FBSyxDQUFDLG9CQUFvQixDQUN4QixVQUE2QyxFQUM3QyxZQUFzQixFQUN0QixjQUF3QixFQUN4QixhQUF1QixFQUN2QixVQUFrQjtRQUVsQixNQUFNLEdBQUcsR0FBRyxNQUFNLGFBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNyQyxNQUFNLGNBQWMsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDO1FBQy9DLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDbkIsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1NBQzVDO1FBRUQsTUFBTSxrQkFBa0IsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxLQUFLLE9BQU8sSUFBSSxRQUFRLENBQUMsRUFBRSxLQUFLLFFBQVEsQ0FBQyxDQUFDO1FBQ3BILElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUN2QixNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7U0FDcEQ7UUFFRCxNQUFNLHlCQUF5QixHQUFHLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxVQUFVLENBQUMsQ0FBQztRQUU5RyxNQUFNLGFBQWEsR0FBVztZQUM1QixDQUFDLEVBQUUsQ0FBQztZQUNKLENBQUMsRUFBRSxDQUFDO1lBQ0osQ0FBQyxFQUFFLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUM5QyxDQUFDLEVBQUUseUJBQXlCLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDekMsU0FBUyxFQUFFLHlCQUF5QixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7U0FDL0MsQ0FBQztRQUVGLGlGQUFpRjtRQUNqRixNQUFNLGNBQWMsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUM7UUFDdkcsTUFBTSxjQUFjLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDakYsSUFBSSxjQUFjLEtBQUssYUFBYSxDQUFDLGNBQWMsRUFBRTtZQUNuRCxNQUFNLElBQUksS0FBSyxDQUFDLGtFQUFrRSxDQUFDLENBQUM7U0FDckY7UUFFRCxNQUFNLHFCQUFxQixHQUFvQjtZQUM3QyxNQUFNLEVBQUUsY0FBYyxDQUFDLE1BQU07WUFDN0IsV0FBVyxFQUFFLGFBQWE7WUFDMUIsVUFBVSxFQUFFLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1NBQ3BDLENBQUM7UUFDRixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFFbEQsT0FBTyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLENBQUMsWUFBWSxDQUFDO1lBQ2xELE1BQU0sRUFBRSxRQUFRO1lBQ2hCLE9BQU8sRUFBRSxLQUFLO1lBQ2QsY0FBYyxFQUFFLGFBQWEsQ0FBQyxjQUFjO1lBQzVDLEdBQUcsRUFBRSxHQUFHO1lBQ1IsWUFBWSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLENBQUM7U0FDdkUsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILEtBQUssQ0FBQyxtQkFBbUIsQ0FDdkIsVUFBNkMsRUFDN0MsWUFBc0IsRUFDdEIsY0FBd0IsRUFDeEIsVUFBbUI7UUFFbkIsNkVBQTZFO1FBQzdFLE1BQU0sc0JBQXNCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztZQUMzQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQztZQUN6QyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQztTQUNsRCxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25CLE1BQU0sdUJBQXVCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztZQUM1QyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQztZQUM3QyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQztTQUN0RCxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25CLE1BQU0sbUJBQW1CLEdBQUc7WUFDMUIsV0FBVyxFQUFFLHNCQUFzQjtZQUNuQyxZQUFZLEVBQUUsdUJBQXVCO1lBQ3JDLGlCQUFpQixFQUFFLE1BQU0sK0JBQWdCLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQ3ZHLENBQUM7UUFFRixNQUFNLHdCQUF3QixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFDN0MsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUM7WUFDM0MsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUM7U0FDcEQsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuQixNQUFNLHlCQUF5QixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFDOUMsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUM7WUFDL0MsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUM7U0FDeEQsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuQixNQUFNLHFCQUFxQixHQUFHO1lBQzVCLFdBQVcsRUFBRSx3QkFBd0I7WUFDckMsWUFBWSxFQUFFLHlCQUF5QjtZQUN2QyxpQkFBaUIsRUFBRSxNQUFNLCtCQUFnQixDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUseUJBQXlCLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztTQUN6RyxDQUFDO1FBRUYsT0FBTyxNQUFNLElBQUksQ0FBQyx1QkFBdUIsQ0FDdkMsVUFBVSxFQUNWLG1CQUFtQixFQUNuQixxQkFBcUIsRUFDckIsS0FBSyxFQUNMLFVBQVUsQ0FDWCxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsZUFBZSxDQUFDLE1BSXJCO1FBQ0MsTUFBTSxHQUFHLEdBQUcsTUFBTSxhQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDckMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ1osTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRVosTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzNDLE1BQU0sY0FBYyxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUU3QyxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUvRCx1Q0FBdUM7UUFDdkMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxZQUFZLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUN4QyxNQUFNLFVBQVUsR0FBRyxNQUFNLE9BQU8sQ0FBQyxXQUFXLENBQUM7WUFDM0MsT0FBTyxFQUFFO2dCQUNQO29CQUNFLElBQUksRUFBRSxlQUFlO29CQUNyQixLQUFLLEVBQUUsUUFBUSxlQUFlLElBQUksZUFBZSxNQUFNO2lCQUN4RDthQUNGO1lBQ0QsS0FBSyxFQUFFLFdBQVc7U0FDbkIsQ0FBQyxDQUFDO1FBRUgsTUFBTSxhQUFhLEdBQUcsTUFBTSxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2xILE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUNqRCxVQUFVLEVBQ1YsWUFBWSxFQUNaLGNBQWMsRUFDZCxhQUFhLEVBQ2IsTUFBTSxDQUFDLFVBQVUsRUFDakIsTUFBTSxDQUFDLDhCQUE4QixDQUN0QyxDQUFDO1FBQ0YsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQ3JELFVBQVUsRUFDVixZQUFZLEVBQ1osY0FBYyxFQUNkLGFBQWEsRUFDYixNQUFNLENBQUMsVUFBVSxDQUNsQixDQUFDO1FBQ0YsTUFBTSxDQUFDLFlBQVksRUFBRSxjQUFjLENBQUMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxtQkFBbUIsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDLENBQUM7UUFFdkcsZ0JBQWdCO1FBQ2hCLE1BQU0sU0FBUyxHQUFHO1lBQ2hCLFlBQVk7WUFDWixjQUFjO1lBQ2QsYUFBYTtTQUNkLENBQUM7UUFFRixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILEtBQUssQ0FBQyxhQUFhLENBQUMsTUFJbkI7UUFDQyxJQUFJLGlCQUE0QixDQUFDO1FBQ2pDLElBQUksV0FBbUIsQ0FBQztRQUV4QixNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxHQUFHLE1BQU0sQ0FBQztRQUVsQyxJQUFJLE9BQU8sU0FBUyxLQUFLLFFBQVEsRUFBRTtZQUNqQyxpQkFBaUIsR0FBRyxNQUFNLGtCQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQ2hGLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQyxXQUFXLENBQUM7U0FDN0M7YUFBTTtZQUNMLGlCQUFpQixHQUFHLFNBQVMsQ0FBQztZQUM5QixXQUFXLEdBQUcsU0FBUyxDQUFDLFdBQVcsQ0FBQztTQUNyQztRQUVELE1BQU0sTUFBTSxHQUFHLE1BQU0scUJBQVksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMvQyxNQUFNLEdBQUcsR0FBRyxNQUFNLGFBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFM0MsTUFBTSxtQkFBbUIsR0FBb0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxFQUFFO1lBQ3JDLE1BQU0sSUFBSSxLQUFLLENBQUMseUNBQXlDLENBQUMsQ0FBQztTQUM1RDtRQUVELE1BQU0sVUFBVSxHQUNkLGlCQUFpQixDQUFDLFVBQVUsS0FBSyxNQUFNO1lBQ3JDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVTtZQUM5QyxDQUFDLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXZDLE1BQU0sVUFBVSxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQzlCLG1CQUFtQixDQUFDLE1BQU0sRUFDMUIsQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsbUJBQW1CLENBQUMsWUFBWSxDQUFDLEVBQ25FLFVBQVUsQ0FBQyxjQUFjLENBQzFCLENBQUM7UUFFRixNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFbkUsTUFBTSxhQUFhLEdBQUcsTUFBTSx5QkFBbUIsQ0FBQyxlQUFlLEVBQUUsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXBGLE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQzlFLE1BQU0sV0FBVyxHQUFHLE1BQU0sZ0NBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hELE1BQU0sb0JBQW9CLEdBQUcsTUFBTSwwQkFBVyxDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUV6RSxNQUFNLDRCQUFzQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLG9CQUFvQixDQUFDLENBQUM7UUFFN0csTUFBTSxpQkFBaUIsR0FBRyxNQUFNLDBCQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUVoRyxNQUFNLGlCQUFpQixHQUFHLE1BQU0sNkJBQXVCLENBQ3JELGFBQWEsRUFDYixpQkFBaUIsRUFDakIsbUJBQW1CLENBQUMsWUFBWSxFQUNoQyxtQkFBbUIsQ0FBQyxXQUFXLEVBQy9CLGVBQWUsQ0FDaEIsQ0FBQztRQUVGLE1BQU0sMkJBQXFCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBRTFGLE9BQU8sTUFBTSxrQkFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsOEJBQThCLENBQUMsY0FBc0I7UUFDMUQsSUFBSSxjQUFjLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRTtZQUNqQyxNQUFNLElBQUksS0FBSyxDQUFDLG9EQUFvRCxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztTQUM5RjtRQUNELE1BQU0sZUFBZSxHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3BELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzFELENBQUM7Q0FDRjtBQTdURCxnQ0E2VEM7QUFDRDs7R0FFRztBQUNVLFFBQUEsUUFBUSxHQUFHLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHByZXR0aWVyXG4gKi9cbmltcG9ydCAqIGFzIGJzNTggZnJvbSAnYnM1OCc7XG5pbXBvcnQgKiBhcyBjcnlwdG8gZnJvbSAnY3J5cHRvJztcbmltcG9ydCAqIGFzIG9wZW5wZ3AgZnJvbSAnb3BlbnBncCc7XG5pbXBvcnQgeyBFZDI1NTE5QklQMzIgfSBmcm9tICcuLi8uLi8uLi8uLi9hY2NvdW50LWxpYi9tcGMvaGRUcmVlJztcbmltcG9ydCBFZGRzYSBmcm9tICcuLi8uLi8uLi8uLi9hY2NvdW50LWxpYi9tcGMvdHNzJztcbmltcG9ydCB7IElSZXF1ZXN0VHJhY2VyIH0gZnJvbSAnLi4vLi4vLi4vLi4vYXBpJztcbmltcG9ydCB7IEFkZEtleWNoYWluT3B0aW9ucywgS2V5Y2hhaW4sIEtleVR5cGUgfSBmcm9tICcuLi8uLi8uLi9rZXljaGFpbic7XG5pbXBvcnQgeyBlbmNyeXB0VGV4dCwgZ2V0Qml0Z29HcGdQdWJLZXksIGNyZWF0ZVNoYXJlUHJvb2YgfSBmcm9tICcuLi8uLi9vcGVuZ3BnVXRpbHMnO1xuaW1wb3J0IHtcbiAgY3JlYXRlVXNlclNpZ25TaGFyZSxcbiAgY3JlYXRlVXNlclRvQml0R29HU2hhcmUsXG4gIGdldEJpdGdvVG9Vc2VyUlNoYXJlLFxuICBnZXRUeFJlcXVlc3QsXG4gIG9mZmVyVXNlclRvQml0Z29SU2hhcmUsXG4gIHNlbmRVc2VyVG9CaXRnb0dTaGFyZSxcbiAgU2lnbmluZ01hdGVyaWFsLFxufSBmcm9tICcuLi8uLi8uLi90c3MnO1xuaW1wb3J0IHsgVHhSZXF1ZXN0IH0gZnJvbSAnLi4vYmFzZVR5cGVzJztcbmltcG9ydCB7IEtleVNoYXJlLCBZU2hhcmUgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCBiYXNlVFNTVXRpbHMgZnJvbSAnLi4vYmFzZVRTU1V0aWxzJztcbmltcG9ydCB7IEtleWNoYWluc1RyaXBsZXQgfSBmcm9tICcuLi8uLi8uLi9iYXNlQ29pbic7XG4vKipcbiAqIFV0aWxpdHkgZnVuY3Rpb25zIGZvciBUU1Mgd29yayBmbG93cy5cbiAqL1xuXG5leHBvcnQgY2xhc3MgRWRkc2FVdGlscyBleHRlbmRzIGJhc2VUU1NVdGlsczxLZXlTaGFyZT4ge1xuICAvKipcbiAgICogQ3JlYXRlcyBhIEtleWNoYWluIGNvbnRhaW5pbmcgdGhlIFVzZXIncyBUU1Mgc2lnbmluZyBtYXRlcmlhbHMuXG4gICAqXG4gICAqIEBwYXJhbSB1c2VyR3BnS2V5IC0gZXBoZW1lcmFsIEdQRyBrZXkgdG8gZW5jcnlwdCAvIGRlY3J5cHQgc2Vuc2l0dmUgZGF0YSBleGNoYW5nZWQgYmV0d2VlbiB1c2VyIGFuZCBzZXJ2ZXJcbiAgICogQHBhcmFtIHVzZXJLZXlTaGFyZSAtIHVzZXIncyBUU1Mga2V5IHNoYXJlXG4gICAqIEBwYXJhbSBiYWNrdXBLZXlTaGFyZSAtIGJhY2t1cCdzIFRTUyBrZXkgc2hhcmVcbiAgICogQHBhcmFtIGJpdGdvS2V5Y2hhaW4gLSBwcmV2aW91c2x5IGNyZWF0ZWQgQml0R28ga2V5Y2hhaW47IG11c3QgYmUgY29tcGF0aWJsZSB3aXRoIHVzZXIgYW5kIGJhY2t1cCBrZXkgc2hhcmVzXG4gICAqIEBwYXJhbSBwYXNzcGhyYXNlIC0gd2FsbGV0IHBhc3NwaHJhc2UgdXNlZCB0byBlbmNyeXB0IHVzZXIncyBzaWduaW5nIG1hdGVyaWFsc1xuICAgKiBAcGFyYW0gW29yaWdpbmFsUGFzc2NvZGVFbmNyeXB0aW9uQ29kZV0gLSBvcHRpb25hbCBlbmNyeXB0aW9uIGNvZGUgbmVlZGVkIGZvciB3YWxsZXQgcGFzc3dvcmQgcmVzZXQgZm9yIGhvdCB3YWxsZXRzXG4gICAqL1xuICBhc3luYyBjcmVhdGVVc2VyS2V5Y2hhaW4oXG4gICAgdXNlckdwZ0tleTogb3BlbnBncC5TZXJpYWxpemVkS2V5UGFpcjxzdHJpbmc+LFxuICAgIHVzZXJLZXlTaGFyZTogS2V5U2hhcmUsXG4gICAgYmFja3VwS2V5U2hhcmU6IEtleVNoYXJlLFxuICAgIGJpdGdvS2V5Y2hhaW46IEtleWNoYWluLFxuICAgIHBhc3NwaHJhc2U6IHN0cmluZyxcbiAgICBvcmlnaW5hbFBhc3Njb2RlRW5jcnlwdGlvbkNvZGU/OiBzdHJpbmdcbiAgKTogUHJvbWlzZTxLZXljaGFpbj4ge1xuICAgIGNvbnN0IE1QQyA9IGF3YWl0IEVkZHNhLmluaXRpYWxpemUoKTtcbiAgICBjb25zdCBiaXRnb0tleVNoYXJlcyA9IGJpdGdvS2V5Y2hhaW4ua2V5U2hhcmVzO1xuICAgIGlmICghYml0Z29LZXlTaGFyZXMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZyBCaXRHbyBrZXkgc2hhcmVzJyk7XG4gICAgfVxuXG4gICAgY29uc3QgYml0R29Ub1VzZXJTaGFyZSA9IGJpdGdvS2V5U2hhcmVzLmZpbmQoKGtleVNoYXJlKSA9PiBrZXlTaGFyZS5mcm9tID09PSAnYml0Z28nICYmIGtleVNoYXJlLnRvID09PSAndXNlcicpO1xuICAgIGlmICghYml0R29Ub1VzZXJTaGFyZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIEJpdEdvIHRvIFVzZXIga2V5IHNoYXJlJyk7XG4gICAgfVxuXG4gICAgY29uc3QgYml0R29Ub1VzZXJQcml2YXRlU2hhcmUgPSBhd2FpdCB0aGlzLmRlY3J5cHRQcml2YXRlU2hhcmUoYml0R29Ub1VzZXJTaGFyZS5wcml2YXRlU2hhcmUsIHVzZXJHcGdLZXkpO1xuXG4gICAgY29uc3QgYml0Z29Ub1VzZXI6IFlTaGFyZSA9IHtcbiAgICAgIGk6IDEsXG4gICAgICBqOiAzLFxuICAgICAgeTogYml0R29Ub1VzZXJTaGFyZS5wdWJsaWNTaGFyZS5zbGljZSgwLCA2NCksXG4gICAgICB1OiBiaXRHb1RvVXNlclByaXZhdGVTaGFyZS5zbGljZSgwLCA2NCksXG4gICAgICBjaGFpbmNvZGU6IGJpdEdvVG9Vc2VyUHJpdmF0ZVNoYXJlLnNsaWNlKDY0KSxcbiAgICB9O1xuXG4gICAgLy8gVE9ETyhCRy00NzE3MCk6IHVzZSB0c3MuY3JlYXRlQ29tYmluZWRLZXkgaGVscGVyIHdoZW4gc2lnbmF0dXJlcyBhcmUgc3VwcG9ydGVkXG4gICAgY29uc3QgdXNlckNvbWJpbmVkID0gTVBDLmtleUNvbWJpbmUodXNlcktleVNoYXJlLnVTaGFyZSwgW2JhY2t1cEtleVNoYXJlLnlTaGFyZXNbMV0sIGJpdGdvVG9Vc2VyXSk7XG4gICAgY29uc3QgY29tbW9uS2V5Y2hhaW4gPSB1c2VyQ29tYmluZWQucFNoYXJlLnkgKyB1c2VyQ29tYmluZWQucFNoYXJlLmNoYWluY29kZTtcbiAgICBpZiAoY29tbW9uS2V5Y2hhaW4gIT09IGJpdGdvS2V5Y2hhaW4uY29tbW9uS2V5Y2hhaW4pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIGNyZWF0ZSB1c2VyIGtleWNoYWluIC0gY29tbW9uS2V5Y2hhaW5zIGRvIG5vdCBtYXRjaC4nKTtcbiAgICB9XG5cbiAgICBjb25zdCB1c2VyU2lnbmluZ01hdGVyaWFsOiBTaWduaW5nTWF0ZXJpYWwgPSB7XG4gICAgICB1U2hhcmU6IHVzZXJLZXlTaGFyZS51U2hhcmUsXG4gICAgICBiaXRnb1lTaGFyZTogYml0Z29Ub1VzZXIsXG4gICAgICBiYWNrdXBZU2hhcmU6IGJhY2t1cEtleVNoYXJlLnlTaGFyZXNbMV0sXG4gICAgfTtcblxuICAgIGNvbnN0IHVzZXJLZXljaGFpblBhcmFtczogQWRkS2V5Y2hhaW5PcHRpb25zID0ge1xuICAgICAgc291cmNlOiAndXNlcicsXG4gICAgICBrZXlUeXBlOiAndHNzJyBhcyBLZXlUeXBlLFxuICAgICAgY29tbW9uS2V5Y2hhaW46IGJpdGdvS2V5Y2hhaW4uY29tbW9uS2V5Y2hhaW4sXG4gICAgICBlbmNyeXB0ZWRQcnY6IHRoaXMuYml0Z28uZW5jcnlwdCh7IGlucHV0OiBKU09OLnN0cmluZ2lmeSh1c2VyU2lnbmluZ01hdGVyaWFsKSwgcGFzc3dvcmQ6IHBhc3NwaHJhc2UgfSksXG4gICAgICBvcmlnaW5hbFBhc3Njb2RlRW5jcnlwdGlvbkNvZGUsXG4gICAgfTtcblxuICAgIHJldHVybiBhd2FpdCB0aGlzLmJhc2VDb2luLmtleWNoYWlucygpLmFkZCh1c2VyS2V5Y2hhaW5QYXJhbXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBLZXljaGFpbiBjb250YWluaW5nIHRoZSBCYWNrdXAgcGFydHkncyBUU1Mgc2lnbmluZyBtYXRlcmlhbHMuXG4gICAqXG4gICAqIEBwYXJhbSB1c2VyR3BnS2V5IC0gZXBoZW1lcmFsIEdQRyBrZXkgdG8gZW5jcnlwdCAvIGRlY3J5cHQgc2Vuc2l0dmUgZGF0YSBleGNoYW5nZWQgYmV0d2VlbiB1c2VyIGFuZCBzZXJ2ZXJcbiAgICogQHBhcmFtIHVzZXJLZXlTaGFyZSAtIFVzZXIncyBUU1MgS2V5c2hhcmVcbiAgICogQHBhcmFtIGJhY2t1cEtleVNoYXJlIC0gQmFja3VwJ3MgVFNTIEtleXNoYXJlXG4gICAqIEBwYXJhbSBiaXRnb0tleWNoYWluIC0gcHJldmlvdXNseSBjcmVhdGVkIEJpdEdvIGtleWNoYWluOyBtdXN0IGJlIGNvbXBhdGlibGUgd2l0aCB1c2VyIGFuZCBiYWNrdXAga2V5IHNoYXJlc1xuICAgKiBAcGFyYW0gcGFzc3BocmFzZSAtIHdhbGxldCBwYXNzcGhyYXNlIHVzZWQgdG8gZW5jcnlwdCB1c2VyJ3Mgc2lnbmluZyBtYXRlcmlhbHNcbiAgICovXG4gIGFzeW5jIGNyZWF0ZUJhY2t1cEtleWNoYWluKFxuICAgIHVzZXJHcGdLZXk6IG9wZW5wZ3AuU2VyaWFsaXplZEtleVBhaXI8c3RyaW5nPixcbiAgICB1c2VyS2V5U2hhcmU6IEtleVNoYXJlLFxuICAgIGJhY2t1cEtleVNoYXJlOiBLZXlTaGFyZSxcbiAgICBiaXRnb0tleWNoYWluOiBLZXljaGFpbixcbiAgICBwYXNzcGhyYXNlOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxLZXljaGFpbj4ge1xuICAgIGNvbnN0IE1QQyA9IGF3YWl0IEVkZHNhLmluaXRpYWxpemUoKTtcbiAgICBjb25zdCBiaXRnb0tleVNoYXJlcyA9IGJpdGdvS2V5Y2hhaW4ua2V5U2hhcmVzO1xuICAgIGlmICghYml0Z29LZXlTaGFyZXMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBiaXRnbyBrZXlzaGFyZXMnKTtcbiAgICB9XG5cbiAgICBjb25zdCBiaXRHb1RvQmFja3VwU2hhcmUgPSBiaXRnb0tleVNoYXJlcy5maW5kKChrZXlTaGFyZSkgPT4ga2V5U2hhcmUuZnJvbSA9PT0gJ2JpdGdvJyAmJiBrZXlTaGFyZS50byA9PT0gJ2JhY2t1cCcpO1xuICAgIGlmICghYml0R29Ub0JhY2t1cFNoYXJlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgQml0R28gdG8gVXNlciBrZXkgc2hhcmUnKTtcbiAgICB9XG5cbiAgICBjb25zdCBiaXRHb1RvQmFja3VwUHJpdmF0ZVNoYXJlID0gYXdhaXQgdGhpcy5kZWNyeXB0UHJpdmF0ZVNoYXJlKGJpdEdvVG9CYWNrdXBTaGFyZS5wcml2YXRlU2hhcmUsIHVzZXJHcGdLZXkpO1xuXG4gICAgY29uc3QgYml0Z29Ub0JhY2t1cDogWVNoYXJlID0ge1xuICAgICAgaTogMixcbiAgICAgIGo6IDMsXG4gICAgICB5OiBiaXRHb1RvQmFja3VwU2hhcmUucHVibGljU2hhcmUuc2xpY2UoMCwgNjQpLFxuICAgICAgdTogYml0R29Ub0JhY2t1cFByaXZhdGVTaGFyZS5zbGljZSgwLCA2NCksXG4gICAgICBjaGFpbmNvZGU6IGJpdEdvVG9CYWNrdXBQcml2YXRlU2hhcmUuc2xpY2UoNjQpLFxuICAgIH07XG5cbiAgICAvLyBUT0RPKEJHLTQ3MTcwKTogdXNlIHRzcy5jcmVhdGVDb21iaW5lZEtleSBoZWxwZXIgd2hlbiBzaWduYXR1cmVzIGFyZSBzdXBwb3J0ZWRcbiAgICBjb25zdCBiYWNrdXBDb21iaW5lZCA9IE1QQy5rZXlDb21iaW5lKGJhY2t1cEtleVNoYXJlLnVTaGFyZSwgW3VzZXJLZXlTaGFyZS55U2hhcmVzWzJdLCBiaXRnb1RvQmFja3VwXSk7XG4gICAgY29uc3QgY29tbW9uS2V5Y2hhaW4gPSBiYWNrdXBDb21iaW5lZC5wU2hhcmUueSArIGJhY2t1cENvbWJpbmVkLnBTaGFyZS5jaGFpbmNvZGU7XG4gICAgaWYgKGNvbW1vbktleWNoYWluICE9PSBiaXRnb0tleWNoYWluLmNvbW1vbktleWNoYWluKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBjcmVhdGUgYmFja3VwIGtleWNoYWluIC0gY29tbW9uS2V5Y2hhaW5zIGRvIG5vdCBtYXRjaC4nKTtcbiAgICB9XG5cbiAgICBjb25zdCBiYWNrdXBTaWduaW5nTWF0ZXJpYWw6IFNpZ25pbmdNYXRlcmlhbCA9IHtcbiAgICAgIHVTaGFyZTogYmFja3VwS2V5U2hhcmUudVNoYXJlLFxuICAgICAgYml0Z29ZU2hhcmU6IGJpdGdvVG9CYWNrdXAsXG4gICAgICB1c2VyWVNoYXJlOiB1c2VyS2V5U2hhcmUueVNoYXJlc1syXSxcbiAgICB9O1xuICAgIGNvbnN0IHBydiA9IEpTT04uc3RyaW5naWZ5KGJhY2t1cFNpZ25pbmdNYXRlcmlhbCk7XG5cbiAgICByZXR1cm4gYXdhaXQgdGhpcy5iYXNlQ29pbi5rZXljaGFpbnMoKS5jcmVhdGVCYWNrdXAoe1xuICAgICAgc291cmNlOiAnYmFja3VwJyxcbiAgICAgIGtleVR5cGU6ICd0c3MnLFxuICAgICAgY29tbW9uS2V5Y2hhaW46IGJpdGdvS2V5Y2hhaW4uY29tbW9uS2V5Y2hhaW4sXG4gICAgICBwcnY6IHBydixcbiAgICAgIGVuY3J5cHRlZFBydjogdGhpcy5iaXRnby5lbmNyeXB0KHsgaW5wdXQ6IHBydiwgcGFzc3dvcmQ6IHBhc3NwaHJhc2UgfSksXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIEtleWNoYWluIGNvbnRhaW5pbmcgQml0R28ncyBUU1Mgc2lnbmluZyBtYXRlcmlhbHMuXG4gICAqXG4gICAqIEBwYXJhbSB1c2VyR3BnS2V5IC0gZXBoZW1lcmFsIEdQRyBrZXkgdG8gZW5jcnlwdCAvIGRlY3J5cHQgc2Vuc2l0dmUgZGF0YSBleGNoYW5nZWQgYmV0d2VlbiB1c2VyIGFuZCBzZXJ2ZXJcbiAgICogQHBhcmFtIHVzZXJLZXlTaGFyZSAtIHVzZXIncyBUU1Mga2V5IHNoYXJlXG4gICAqIEBwYXJhbSBiYWNrdXBLZXlTaGFyZSAtIGJhY2t1cCdzIFRTUyBrZXkgc2hhcmVcbiAgICovXG4gIGFzeW5jIGNyZWF0ZUJpdGdvS2V5Y2hhaW4oXG4gICAgdXNlckdwZ0tleTogb3BlbnBncC5TZXJpYWxpemVkS2V5UGFpcjxzdHJpbmc+LFxuICAgIHVzZXJLZXlTaGFyZTogS2V5U2hhcmUsXG4gICAgYmFja3VwS2V5U2hhcmU6IEtleVNoYXJlLFxuICAgIGVudGVycHJpc2U/OiBzdHJpbmdcbiAgKTogUHJvbWlzZTxLZXljaGFpbj4ge1xuICAgIC8vIFRPRE8oQkctNDcxNzApOiB1c2UgdHNzLmVuY3J5cHRZU2hhcmUgaGVscGVyIHdoZW4gc2lnbmF0dXJlcyBhcmUgc3VwcG9ydGVkXG4gICAgY29uc3QgdXNlclRvQml0Z29QdWJsaWNTaGFyZSA9IEJ1ZmZlci5jb25jYXQoW1xuICAgICAgQnVmZmVyLmZyb20odXNlcktleVNoYXJlLnVTaGFyZS55LCAnaGV4JyksXG4gICAgICBCdWZmZXIuZnJvbSh1c2VyS2V5U2hhcmUudVNoYXJlLmNoYWluY29kZSwgJ2hleCcpLFxuICAgIF0pLnRvU3RyaW5nKCdoZXgnKTtcbiAgICBjb25zdCB1c2VyVG9CaXRnb1ByaXZhdGVTaGFyZSA9IEJ1ZmZlci5jb25jYXQoW1xuICAgICAgQnVmZmVyLmZyb20odXNlcktleVNoYXJlLnlTaGFyZXNbM10udSwgJ2hleCcpLFxuICAgICAgQnVmZmVyLmZyb20odXNlcktleVNoYXJlLnlTaGFyZXNbM10uY2hhaW5jb2RlLCAnaGV4JyksXG4gICAgXSkudG9TdHJpbmcoJ2hleCcpO1xuICAgIGNvbnN0IHVzZXJUb0JpdGdvS2V5U2hhcmUgPSB7XG4gICAgICBwdWJsaWNTaGFyZTogdXNlclRvQml0Z29QdWJsaWNTaGFyZSxcbiAgICAgIHByaXZhdGVTaGFyZTogdXNlclRvQml0Z29Qcml2YXRlU2hhcmUsXG4gICAgICBwcml2YXRlU2hhcmVQcm9vZjogYXdhaXQgY3JlYXRlU2hhcmVQcm9vZih1c2VyR3BnS2V5LnByaXZhdGVLZXksIHVzZXJUb0JpdGdvUHJpdmF0ZVNoYXJlLnNsaWNlKDAsIDY0KSksXG4gICAgfTtcblxuICAgIGNvbnN0IGJhY2t1cFRvQml0Z29QdWJsaWNTaGFyZSA9IEJ1ZmZlci5jb25jYXQoW1xuICAgICAgQnVmZmVyLmZyb20oYmFja3VwS2V5U2hhcmUudVNoYXJlLnksICdoZXgnKSxcbiAgICAgIEJ1ZmZlci5mcm9tKGJhY2t1cEtleVNoYXJlLnVTaGFyZS5jaGFpbmNvZGUsICdoZXgnKSxcbiAgICBdKS50b1N0cmluZygnaGV4Jyk7XG4gICAgY29uc3QgYmFja3VwVG9CaXRnb1ByaXZhdGVTaGFyZSA9IEJ1ZmZlci5jb25jYXQoW1xuICAgICAgQnVmZmVyLmZyb20oYmFja3VwS2V5U2hhcmUueVNoYXJlc1szXS51LCAnaGV4JyksXG4gICAgICBCdWZmZXIuZnJvbShiYWNrdXBLZXlTaGFyZS55U2hhcmVzWzNdLmNoYWluY29kZSwgJ2hleCcpLFxuICAgIF0pLnRvU3RyaW5nKCdoZXgnKTtcbiAgICBjb25zdCBiYWNrdXBUb0JpdGdvS2V5U2hhcmUgPSB7XG4gICAgICBwdWJsaWNTaGFyZTogYmFja3VwVG9CaXRnb1B1YmxpY1NoYXJlLFxuICAgICAgcHJpdmF0ZVNoYXJlOiBiYWNrdXBUb0JpdGdvUHJpdmF0ZVNoYXJlLFxuICAgICAgcHJpdmF0ZVNoYXJlUHJvb2Y6IGF3YWl0IGNyZWF0ZVNoYXJlUHJvb2YodXNlckdwZ0tleS5wcml2YXRlS2V5LCBiYWNrdXBUb0JpdGdvUHJpdmF0ZVNoYXJlLnNsaWNlKDAsIDY0KSksXG4gICAgfTtcblxuICAgIHJldHVybiBhd2FpdCB0aGlzLmNyZWF0ZUJpdGdvS2V5Y2hhaW5JbldQKFxuICAgICAgdXNlckdwZ0tleSxcbiAgICAgIHVzZXJUb0JpdGdvS2V5U2hhcmUsXG4gICAgICBiYWNrdXBUb0JpdGdvS2V5U2hhcmUsXG4gICAgICAndHNzJyxcbiAgICAgIGVudGVycHJpc2VcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgVXNlciwgQmFja3VwLCBhbmQgQml0R28gVFNTIEtleWNoYWlucy5cbiAgICpcbiAgICogQHBhcmFtIHBhcmFtcy5wYXNzcGhyYXNlIC0gcGFzc3BocmFzZSB1c2VkIHRvIGVuY3J5cHQgc2lnbmluZyBtYXRlcmlhbHMgY3JlYXRlZCBmb3IgVXNlciBhbmQgQmFja3VwXG4gICAqL1xuICBhc3luYyBjcmVhdGVLZXljaGFpbnMocGFyYW1zOiB7XG4gICAgcGFzc3BocmFzZTogc3RyaW5nO1xuICAgIGVudGVycHJpc2U/OiBzdHJpbmc7XG4gICAgb3JpZ2luYWxQYXNzY29kZUVuY3J5cHRpb25Db2RlPzogc3RyaW5nO1xuICB9KTogUHJvbWlzZTxLZXljaGFpbnNUcmlwbGV0PiB7XG4gICAgY29uc3QgTVBDID0gYXdhaXQgRWRkc2EuaW5pdGlhbGl6ZSgpO1xuICAgIGNvbnN0IG0gPSAyO1xuICAgIGNvbnN0IG4gPSAzO1xuXG4gICAgY29uc3QgdXNlcktleVNoYXJlID0gTVBDLmtleVNoYXJlKDEsIG0sIG4pO1xuICAgIGNvbnN0IGJhY2t1cEtleVNoYXJlID0gTVBDLmtleVNoYXJlKDIsIG0sIG4pO1xuXG4gICAgY29uc3QgcmFuZG9tSGV4U3RyaW5nID0gY3J5cHRvLnJhbmRvbUJ5dGVzKDEyKS50b1N0cmluZygnaGV4Jyk7XG5cbiAgICAvLyBBbGxvdyBnZW5lcmF0aW5nIHNlY3AyNTZrMSBrZXkgcGFpcnNcbiAgICBvcGVucGdwLmNvbmZpZy5yZWplY3RDdXJ2ZXMgPSBuZXcgU2V0KCk7XG4gICAgY29uc3QgdXNlckdwZ0tleSA9IGF3YWl0IG9wZW5wZ3AuZ2VuZXJhdGVLZXkoe1xuICAgICAgdXNlcklEczogW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogcmFuZG9tSGV4U3RyaW5nLFxuICAgICAgICAgIGVtYWlsOiBgdXNlci0ke3JhbmRvbUhleFN0cmluZ31AJHtyYW5kb21IZXhTdHJpbmd9LmNvbWAsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgY3VydmU6ICdzZWNwMjU2azEnLFxuICAgIH0pO1xuXG4gICAgY29uc3QgYml0Z29LZXljaGFpbiA9IGF3YWl0IHRoaXMuY3JlYXRlQml0Z29LZXljaGFpbih1c2VyR3BnS2V5LCB1c2VyS2V5U2hhcmUsIGJhY2t1cEtleVNoYXJlLCBwYXJhbXMuZW50ZXJwcmlzZSk7XG4gICAgY29uc3QgdXNlcktleWNoYWluUHJvbWlzZSA9IHRoaXMuY3JlYXRlVXNlcktleWNoYWluKFxuICAgICAgdXNlckdwZ0tleSxcbiAgICAgIHVzZXJLZXlTaGFyZSxcbiAgICAgIGJhY2t1cEtleVNoYXJlLFxuICAgICAgYml0Z29LZXljaGFpbixcbiAgICAgIHBhcmFtcy5wYXNzcGhyYXNlLFxuICAgICAgcGFyYW1zLm9yaWdpbmFsUGFzc2NvZGVFbmNyeXB0aW9uQ29kZVxuICAgICk7XG4gICAgY29uc3QgYmFja3VwS2V5Y2hhaW5Qcm9taXNlID0gdGhpcy5jcmVhdGVCYWNrdXBLZXljaGFpbihcbiAgICAgIHVzZXJHcGdLZXksXG4gICAgICB1c2VyS2V5U2hhcmUsXG4gICAgICBiYWNrdXBLZXlTaGFyZSxcbiAgICAgIGJpdGdvS2V5Y2hhaW4sXG4gICAgICBwYXJhbXMucGFzc3BocmFzZVxuICAgICk7XG4gICAgY29uc3QgW3VzZXJLZXljaGFpbiwgYmFja3VwS2V5Y2hhaW5dID0gYXdhaXQgUHJvbWlzZS5hbGwoW3VzZXJLZXljaGFpblByb21pc2UsIGJhY2t1cEtleWNoYWluUHJvbWlzZV0pO1xuXG4gICAgLy8gY3JlYXRlIHdhbGxldFxuICAgIGNvbnN0IGtleWNoYWlucyA9IHtcbiAgICAgIHVzZXJLZXljaGFpbixcbiAgICAgIGJhY2t1cEtleWNoYWluLFxuICAgICAgYml0Z29LZXljaGFpbixcbiAgICB9O1xuXG4gICAgcmV0dXJuIGtleWNoYWlucztcbiAgfVxuXG4gIC8qKlxuICAgKiBTaWducyB0aGUgdHJhbnNhY3Rpb24gYXNzb2NpYXRlZCB0byB0aGUgdHJhbnNhY3Rpb24gcmVxdWVzdC5cbiAgICpcbiAgICogQHBhcmFtIHR4UmVxdWVzdCAtIHRyYW5zYWN0aW9uIHJlcXVlc3Qgb2JqZWN0IG9yIGlkXG4gICAqIEBwYXJhbSBwcnYgLSBkZWNyeXB0ZWQgcHJpdmF0ZSBrZXlcbiAgICogQHBhcmFtIHJlcUlkIC0gcmVxdWVzdCBpZFxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxUeFJlcXVlc3Q+fSBmdWxseSBzaWduZWQgVHhSZXF1ZXN0IG9iamVjdFxuICAgKi9cbiAgYXN5bmMgc2lnblR4UmVxdWVzdChwYXJhbXM6IHtcbiAgICB0eFJlcXVlc3Q6IHN0cmluZyB8IFR4UmVxdWVzdDtcbiAgICBwcnY6IHN0cmluZztcbiAgICByZXFJZDogSVJlcXVlc3RUcmFjZXI7XG4gIH0pOiBQcm9taXNlPFR4UmVxdWVzdD4ge1xuICAgIGxldCB0eFJlcXVlc3RSZXNvbHZlZDogVHhSZXF1ZXN0O1xuICAgIGxldCB0eFJlcXVlc3RJZDogc3RyaW5nO1xuXG4gICAgY29uc3QgeyB0eFJlcXVlc3QsIHBydiB9ID0gcGFyYW1zO1xuXG4gICAgaWYgKHR5cGVvZiB0eFJlcXVlc3QgPT09ICdzdHJpbmcnKSB7XG4gICAgICB0eFJlcXVlc3RSZXNvbHZlZCA9IGF3YWl0IGdldFR4UmVxdWVzdCh0aGlzLmJpdGdvLCB0aGlzLndhbGxldC5pZCgpLCB0eFJlcXVlc3QpO1xuICAgICAgdHhSZXF1ZXN0SWQgPSB0eFJlcXVlc3RSZXNvbHZlZC50eFJlcXVlc3RJZDtcbiAgICB9IGVsc2Uge1xuICAgICAgdHhSZXF1ZXN0UmVzb2x2ZWQgPSB0eFJlcXVlc3Q7XG4gICAgICB0eFJlcXVlc3RJZCA9IHR4UmVxdWVzdC50eFJlcXVlc3RJZDtcbiAgICB9XG5cbiAgICBjb25zdCBoZFRyZWUgPSBhd2FpdCBFZDI1NTE5QklQMzIuaW5pdGlhbGl6ZSgpO1xuICAgIGNvbnN0IE1QQyA9IGF3YWl0IEVkZHNhLmluaXRpYWxpemUoaGRUcmVlKTtcblxuICAgIGNvbnN0IHVzZXJTaWduaW5nTWF0ZXJpYWw6IFNpZ25pbmdNYXRlcmlhbCA9IEpTT04ucGFyc2UocHJ2KTtcbiAgICBpZiAoIXVzZXJTaWduaW5nTWF0ZXJpYWwuYmFja3VwWVNoYXJlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdXNlciBrZXkgLSBtaXNzaW5nIGJhY2t1cFlTaGFyZScpO1xuICAgIH1cblxuICAgIGNvbnN0IHVuc2lnbmVkVHggPVxuICAgICAgdHhSZXF1ZXN0UmVzb2x2ZWQuYXBpVmVyc2lvbiA9PT0gJ2Z1bGwnXG4gICAgICAgID8gdHhSZXF1ZXN0UmVzb2x2ZWQudHJhbnNhY3Rpb25zWzBdLnVuc2lnbmVkVHhcbiAgICAgICAgOiB0eFJlcXVlc3RSZXNvbHZlZC51bnNpZ25lZFR4c1swXTtcblxuICAgIGNvbnN0IHNpZ25pbmdLZXkgPSBNUEMua2V5RGVyaXZlKFxuICAgICAgdXNlclNpZ25pbmdNYXRlcmlhbC51U2hhcmUsXG4gICAgICBbdXNlclNpZ25pbmdNYXRlcmlhbC5iaXRnb1lTaGFyZSwgdXNlclNpZ25pbmdNYXRlcmlhbC5iYWNrdXBZU2hhcmVdLFxuICAgICAgdW5zaWduZWRUeC5kZXJpdmF0aW9uUGF0aFxuICAgICk7XG5cbiAgICBjb25zdCBzaWduYWJsZVBheWxvYWQgPSBCdWZmZXIuZnJvbSh1bnNpZ25lZFR4LnNpZ25hYmxlSGV4LCAnaGV4Jyk7XG5cbiAgICBjb25zdCB1c2VyU2lnblNoYXJlID0gYXdhaXQgY3JlYXRlVXNlclNpZ25TaGFyZShzaWduYWJsZVBheWxvYWQsIHNpZ25pbmdLZXkucFNoYXJlKTtcblxuICAgIGNvbnN0IHNpZ25lclNoYXJlID0gc2lnbmluZ0tleS55U2hhcmVzWzNdLnUgKyBzaWduaW5nS2V5LnlTaGFyZXNbM10uY2hhaW5jb2RlO1xuICAgIGNvbnN0IGJpdGdvR3BnS2V5ID0gYXdhaXQgZ2V0Qml0Z29HcGdQdWJLZXkodGhpcy5iaXRnbyk7XG4gICAgY29uc3QgZW5jcnlwdGVkU2lnbmVyU2hhcmUgPSBhd2FpdCBlbmNyeXB0VGV4dChzaWduZXJTaGFyZSwgYml0Z29HcGdLZXkpO1xuXG4gICAgYXdhaXQgb2ZmZXJVc2VyVG9CaXRnb1JTaGFyZSh0aGlzLmJpdGdvLCB0aGlzLndhbGxldC5pZCgpLCB0eFJlcXVlc3RJZCwgdXNlclNpZ25TaGFyZSwgZW5jcnlwdGVkU2lnbmVyU2hhcmUpO1xuXG4gICAgY29uc3QgYml0Z29Ub1VzZXJSU2hhcmUgPSBhd2FpdCBnZXRCaXRnb1RvVXNlclJTaGFyZSh0aGlzLmJpdGdvLCB0aGlzLndhbGxldC5pZCgpLCB0eFJlcXVlc3RJZCk7XG5cbiAgICBjb25zdCB1c2VyVG9CaXRHb0dTaGFyZSA9IGF3YWl0IGNyZWF0ZVVzZXJUb0JpdEdvR1NoYXJlKFxuICAgICAgdXNlclNpZ25TaGFyZSxcbiAgICAgIGJpdGdvVG9Vc2VyUlNoYXJlLFxuICAgICAgdXNlclNpZ25pbmdNYXRlcmlhbC5iYWNrdXBZU2hhcmUsXG4gICAgICB1c2VyU2lnbmluZ01hdGVyaWFsLmJpdGdvWVNoYXJlLFxuICAgICAgc2lnbmFibGVQYXlsb2FkXG4gICAgKTtcblxuICAgIGF3YWl0IHNlbmRVc2VyVG9CaXRnb0dTaGFyZSh0aGlzLmJpdGdvLCB0aGlzLndhbGxldC5pZCgpLCB0eFJlcXVlc3RJZCwgdXNlclRvQml0R29HU2hhcmUpO1xuXG4gICAgcmV0dXJuIGF3YWl0IGdldFR4UmVxdWVzdCh0aGlzLmJpdGdvLCB0aGlzLndhbGxldC5pZCgpLCB0eFJlcXVlc3RJZCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBjb21tb25QdWIgcG9ydGlvbiBvZiB0aGUgY29tbW9uS2V5Y2hhaW4uXG4gICAqXG4gICAqIEBwYXJhbSB7U3RyaW5nfSBjb21tb25LZXljaGFpblxuICAgKiBAcmV0dXJucyB7c3RyaW5nfVxuICAgKi9cbiAgc3RhdGljIGdldFB1YmxpY0tleUZyb21Db21tb25LZXljaGFpbihjb21tb25LZXljaGFpbjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoY29tbW9uS2V5Y2hhaW4ubGVuZ3RoICE9PSAxMjgpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjb21tb25LZXljaGFpbiBsZW5ndGgsIGV4cGVjdGVkIDEyOCwgZ290ICR7Y29tbW9uS2V5Y2hhaW4ubGVuZ3RofWApO1xuICAgIH1cbiAgICBjb25zdCBjb21tb25QdWJIZXhTdHIgPSBjb21tb25LZXljaGFpbi5zbGljZSgwLCA2NCk7XG4gICAgcmV0dXJuIGJzNTguZW5jb2RlKEJ1ZmZlci5mcm9tKGNvbW1vblB1YkhleFN0ciwgJ2hleCcpKTtcbiAgfVxufVxuLyoqXG4gKiBAZGVwcmVjYXRlZCAtIHVzZSBFZGRzYVV0aWxzXG4gKi9cbmV4cG9ydCBjb25zdCBUc3NVdGlscyA9IEVkZHNhVXRpbHM7XG4iXX0=
|
|
268
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRkc2EuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYml0Z28vdXRpbHMvdHNzL2VkZHNhL2VkZHNhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7R0FFRztBQUNILDJDQUE2QjtBQUM3QiwrQ0FBaUM7QUFDakMsaURBQW1DO0FBQ25DLCtEQUFrRTtBQUNsRSwwRUFBb0Q7QUFFcEQscURBQXNGO0FBQ3RGLHNDQVFzQjtBQUd0QixtRUFBMkM7QUFFM0M7O0dBRUc7QUFFSCxNQUFhLFVBQVcsU0FBUSxzQkFBc0I7SUFDcEQ7Ozs7Ozs7OztPQVNHO0lBQ0gsS0FBSyxDQUFDLGtCQUFrQixDQUN0QixVQUE2QyxFQUM3QyxZQUFzQixFQUN0QixjQUF3QixFQUN4QixhQUF1QixFQUN2QixVQUFrQixFQUNsQiw4QkFBdUM7UUFFdkMsTUFBTSxHQUFHLEdBQUcsTUFBTSxhQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDckMsTUFBTSxjQUFjLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQztRQUMvQyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ25CLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztTQUM3QztRQUVELE1BQU0sZ0JBQWdCLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxPQUFPLElBQUksUUFBUSxDQUFDLEVBQUUsS0FBSyxNQUFNLENBQUMsQ0FBQztRQUNoSCxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDckIsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO1NBQ3BEO1FBRUQsTUFBTSx1QkFBdUIsR0FBRyxNQUFNLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFFMUcsTUFB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TSxDQUFDLDhCQUE4QixDQUFDLGNBQXNCO1FBQzFELElBQUksY0FBYyxDQUFDLE1BQU0sS0FBSyxHQUFHLEVBQUU7WUFDakMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvREFBb0QsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7U0FDOUY7UUFDRCxNQUFNLGVBQWUsR0FBRyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNwRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUMxRCxDQUFDO0NBQ0Y7QUF6VEQsZ0NBeVRDO0FBQ0Q7O0dBRUc7QUFDVSxRQUFBLFFBQVEsR0FBRyxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwcmV0dGllclxuICovXG5pbXBvcnQgKiBhcyBiczU4IGZyb20gJ2JzNTgnO1xuaW1wb3J0ICogYXMgY3J5cHRvIGZyb20gJ2NyeXB0byc7XG5pbXBvcnQgKiBhcyBvcGVucGdwIGZyb20gJ29wZW5wZ3AnO1xuaW1wb3J0IHsgRWQyNTUxOUJJUDMyIH0gZnJvbSAnLi4vLi4vLi4vLi4vYWNjb3VudC1saWIvbXBjL2hkVHJlZSc7XG5pbXBvcnQgRWRkc2EgZnJvbSAnLi4vLi4vLi4vLi4vYWNjb3VudC1saWIvbXBjL3Rzcyc7XG5pbXBvcnQgeyBBZGRLZXljaGFpbk9wdGlvbnMsIEtleWNoYWluLCBLZXlUeXBlIH0gZnJvbSAnLi4vLi4vLi4va2V5Y2hhaW4nO1xuaW1wb3J0IHsgZW5jcnlwdFRleHQsIGdldEJpdGdvR3BnUHViS2V5LCBjcmVhdGVTaGFyZVByb29mIH0gZnJvbSAnLi4vLi4vb3BlbmdwZ1V0aWxzJztcbmltcG9ydCB7XG4gIGNyZWF0ZVVzZXJTaWduU2hhcmUsXG4gIGNyZWF0ZVVzZXJUb0JpdEdvR1NoYXJlLFxuICBnZXRCaXRnb1RvVXNlclJTaGFyZSxcbiAgZ2V0VHhSZXF1ZXN0LFxuICBvZmZlclVzZXJUb0JpdGdvUlNoYXJlLFxuICBzZW5kVXNlclRvQml0Z29HU2hhcmUsXG4gIFNpZ25pbmdNYXRlcmlhbCxcbn0gZnJvbSAnLi4vLi4vLi4vdHNzJztcbmltcG9ydCB7IFRTU1BhcmFtcywgVHhSZXF1ZXN0IH0gZnJvbSAnLi4vYmFzZVR5cGVzJztcbmltcG9ydCB7IEtleVNoYXJlLCBZU2hhcmUgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCBiYXNlVFNTVXRpbHMgZnJvbSAnLi4vYmFzZVRTU1V0aWxzJztcbmltcG9ydCB7IEtleWNoYWluc1RyaXBsZXQgfSBmcm9tICcuLi8uLi8uLi9iYXNlQ29pbic7XG4vKipcbiAqIFV0aWxpdHkgZnVuY3Rpb25zIGZvciBUU1Mgd29yayBmbG93cy5cbiAqL1xuXG5leHBvcnQgY2xhc3MgRWRkc2FVdGlscyBleHRlbmRzIGJhc2VUU1NVdGlsczxLZXlTaGFyZT4ge1xuICAvKipcbiAgICogQ3JlYXRlcyBhIEtleWNoYWluIGNvbnRhaW5pbmcgdGhlIFVzZXIncyBUU1Mgc2lnbmluZyBtYXRlcmlhbHMuXG4gICAqXG4gICAqIEBwYXJhbSB1c2VyR3BnS2V5IC0gZXBoZW1lcmFsIEdQRyBrZXkgdG8gZW5jcnlwdCAvIGRlY3J5cHQgc2Vuc2l0dmUgZGF0YSBleGNoYW5nZWQgYmV0d2VlbiB1c2VyIGFuZCBzZXJ2ZXJcbiAgICogQHBhcmFtIHVzZXJLZXlTaGFyZSAtIHVzZXIncyBUU1Mga2V5IHNoYXJlXG4gICAqIEBwYXJhbSBiYWNrdXBLZXlTaGFyZSAtIGJhY2t1cCdzIFRTUyBrZXkgc2hhcmVcbiAgICogQHBhcmFtIGJpdGdvS2V5Y2hhaW4gLSBwcmV2aW91c2x5IGNyZWF0ZWQgQml0R28ga2V5Y2hhaW47IG11c3QgYmUgY29tcGF0aWJsZSB3aXRoIHVzZXIgYW5kIGJhY2t1cCBrZXkgc2hhcmVzXG4gICAqIEBwYXJhbSBwYXNzcGhyYXNlIC0gd2FsbGV0IHBhc3NwaHJhc2UgdXNlZCB0byBlbmNyeXB0IHVzZXIncyBzaWduaW5nIG1hdGVyaWFsc1xuICAgKiBAcGFyYW0gW29yaWdpbmFsUGFzc2NvZGVFbmNyeXB0aW9uQ29kZV0gLSBvcHRpb25hbCBlbmNyeXB0aW9uIGNvZGUgbmVlZGVkIGZvciB3YWxsZXQgcGFzc3dvcmQgcmVzZXQgZm9yIGhvdCB3YWxsZXRzXG4gICAqL1xuICBhc3luYyBjcmVhdGVVc2VyS2V5Y2hhaW4oXG4gICAgdXNlckdwZ0tleTogb3BlbnBncC5TZXJpYWxpemVkS2V5UGFpcjxzdHJpbmc+LFxuICAgIHVzZXJLZXlTaGFyZTogS2V5U2hhcmUsXG4gICAgYmFja3VwS2V5U2hhcmU6IEtleVNoYXJlLFxuICAgIGJpdGdvS2V5Y2hhaW46IEtleWNoYWluLFxuICAgIHBhc3NwaHJhc2U6IHN0cmluZyxcbiAgICBvcmlnaW5hbFBhc3Njb2RlRW5jcnlwdGlvbkNvZGU/OiBzdHJpbmdcbiAgKTogUHJvbWlzZTxLZXljaGFpbj4ge1xuICAgIGNvbnN0IE1QQyA9IGF3YWl0IEVkZHNhLmluaXRpYWxpemUoKTtcbiAgICBjb25zdCBiaXRnb0tleVNoYXJlcyA9IGJpdGdvS2V5Y2hhaW4ua2V5U2hhcmVzO1xuICAgIGlmICghYml0Z29LZXlTaGFyZXMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZyBCaXRHbyBrZXkgc2hhcmVzJyk7XG4gICAgfVxuXG4gICAgY29uc3QgYml0R29Ub1VzZXJTaGFyZSA9IGJpdGdvS2V5U2hhcmVzLmZpbmQoKGtleVNoYXJlKSA9PiBrZXlTaGFyZS5mcm9tID09PSAnYml0Z28nICYmIGtleVNoYXJlLnRvID09PSAndXNlcicpO1xuICAgIGlmICghYml0R29Ub1VzZXJTaGFyZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIEJpdEdvIHRvIFVzZXIga2V5IHNoYXJlJyk7XG4gICAgfVxuXG4gICAgY29uc3QgYml0R29Ub1VzZXJQcml2YXRlU2hhcmUgPSBhd2FpdCB0aGlzLmRlY3J5cHRQcml2YXRlU2hhcmUoYml0R29Ub1VzZXJTaGFyZS5wcml2YXRlU2hhcmUsIHVzZXJHcGdLZXkpO1xuXG4gICAgY29uc3QgYml0Z29Ub1VzZXI6IFlTaGFyZSA9IHtcbiAgICAgIGk6IDEsXG4gICAgICBqOiAzLFxuICAgICAgeTogYml0R29Ub1VzZXJTaGFyZS5wdWJsaWNTaGFyZS5zbGljZSgwLCA2NCksXG4gICAgICB1OiBiaXRHb1RvVXNlclByaXZhdGVTaGFyZS5zbGljZSgwLCA2NCksXG4gICAgICBjaGFpbmNvZGU6IGJpdEdvVG9Vc2VyUHJpdmF0ZVNoYXJlLnNsaWNlKDY0KSxcbiAgICB9O1xuXG4gICAgLy8gVE9ETyhCRy00NzE3MCk6IHVzZSB0c3MuY3JlYXRlQ29tYmluZWRLZXkgaGVscGVyIHdoZW4gc2lnbmF0dXJlcyBhcmUgc3VwcG9ydGVkXG4gICAgY29uc3QgdXNlckNvbWJpbmVkID0gTVBDLmtleUNvbWJpbmUodXNlcktleVNoYXJlLnVTaGFyZSwgW2JhY2t1cEtleVNoYXJlLnlTaGFyZXNbMV0sIGJpdGdvVG9Vc2VyXSk7XG4gICAgY29uc3QgY29tbW9uS2V5Y2hhaW4gPSB1c2VyQ29tYmluZWQucFNoYXJlLnkgKyB1c2VyQ29tYmluZWQucFNoYXJlLmNoYWluY29kZTtcbiAgICBpZiAoY29tbW9uS2V5Y2hhaW4gIT09IGJpdGdvS2V5Y2hhaW4uY29tbW9uS2V5Y2hhaW4pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIGNyZWF0ZSB1c2VyIGtleWNoYWluIC0gY29tbW9uS2V5Y2hhaW5zIGRvIG5vdCBtYXRjaC4nKTtcbiAgICB9XG5cbiAgICBjb25zdCB1c2VyU2lnbmluZ01hdGVyaWFsOiBTaWduaW5nTWF0ZXJpYWwgPSB7XG4gICAgICB1U2hhcmU6IHVzZXJLZXlTaGFyZS51U2hhcmUsXG4gICAgICBiaXRnb1lTaGFyZTogYml0Z29Ub1VzZXIsXG4gICAgICBiYWNrdXBZU2hhcmU6IGJhY2t1cEtleVNoYXJlLnlTaGFyZXNbMV0sXG4gICAgfTtcblxuICAgIGNvbnN0IHVzZXJLZXljaGFpblBhcmFtczogQWRkS2V5Y2hhaW5PcHRpb25zID0ge1xuICAgICAgc291cmNlOiAndXNlcicsXG4gICAgICBrZXlUeXBlOiAndHNzJyBhcyBLZXlUeXBlLFxuICAgICAgY29tbW9uS2V5Y2hhaW46IGJpdGdvS2V5Y2hhaW4uY29tbW9uS2V5Y2hhaW4sXG4gICAgICBlbmNyeXB0ZWRQcnY6IHRoaXMuYml0Z28uZW5jcnlwdCh7IGlucHV0OiBKU09OLnN0cmluZ2lmeSh1c2VyU2lnbmluZ01hdGVyaWFsKSwgcGFzc3dvcmQ6IHBhc3NwaHJhc2UgfSksXG4gICAgICBvcmlnaW5hbFBhc3Njb2RlRW5jcnlwdGlvbkNvZGUsXG4gICAgfTtcblxuICAgIHJldHVybiBhd2FpdCB0aGlzLmJhc2VDb2luLmtleWNoYWlucygpLmFkZCh1c2VyS2V5Y2hhaW5QYXJhbXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBLZXljaGFpbiBjb250YWluaW5nIHRoZSBCYWNrdXAgcGFydHkncyBUU1Mgc2lnbmluZyBtYXRlcmlhbHMuXG4gICAqXG4gICAqIEBwYXJhbSB1c2VyR3BnS2V5IC0gZXBoZW1lcmFsIEdQRyBrZXkgdG8gZW5jcnlwdCAvIGRlY3J5cHQgc2Vuc2l0dmUgZGF0YSBleGNoYW5nZWQgYmV0d2VlbiB1c2VyIGFuZCBzZXJ2ZXJcbiAgICogQHBhcmFtIHVzZXJLZXlTaGFyZSAtIFVzZXIncyBUU1MgS2V5c2hhcmVcbiAgICogQHBhcmFtIGJhY2t1cEtleVNoYXJlIC0gQmFja3VwJ3MgVFNTIEtleXNoYXJlXG4gICAqIEBwYXJhbSBiaXRnb0tleWNoYWluIC0gcHJldmlvdXNseSBjcmVhdGVkIEJpdEdvIGtleWNoYWluOyBtdXN0IGJlIGNvbXBhdGlibGUgd2l0aCB1c2VyIGFuZCBiYWNrdXAga2V5IHNoYXJlc1xuICAgKiBAcGFyYW0gcGFzc3BocmFzZSAtIHdhbGxldCBwYXNzcGhyYXNlIHVzZWQgdG8gZW5jcnlwdCB1c2VyJ3Mgc2lnbmluZyBtYXRlcmlhbHNcbiAgICovXG4gIGFzeW5jIGNyZWF0ZUJhY2t1cEtleWNoYWluKFxuICAgIHVzZXJHcGdLZXk6IG9wZW5wZ3AuU2VyaWFsaXplZEtleVBhaXI8c3RyaW5nPixcbiAgICB1c2VyS2V5U2hhcmU6IEtleVNoYXJlLFxuICAgIGJhY2t1cEtleVNoYXJlOiBLZXlTaGFyZSxcbiAgICBiaXRnb0tleWNoYWluOiBLZXljaGFpbixcbiAgICBwYXNzcGhyYXNlOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxLZXljaGFpbj4ge1xuICAgIGNvbnN0IE1QQyA9IGF3YWl0IEVkZHNhLmluaXRpYWxpemUoKTtcbiAgICBjb25zdCBiaXRnb0tleVNoYXJlcyA9IGJpdGdvS2V5Y2hhaW4ua2V5U2hhcmVzO1xuICAgIGlmICghYml0Z29LZXlTaGFyZXMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBiaXRnbyBrZXlzaGFyZXMnKTtcbiAgICB9XG5cbiAgICBjb25zdCBiaXRHb1RvQmFja3VwU2hhcmUgPSBiaXRnb0tleVNoYXJlcy5maW5kKChrZXlTaGFyZSkgPT4ga2V5U2hhcmUuZnJvbSA9PT0gJ2JpdGdvJyAmJiBrZXlTaGFyZS50byA9PT0gJ2JhY2t1cCcpO1xuICAgIGlmICghYml0R29Ub0JhY2t1cFNoYXJlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgQml0R28gdG8gVXNlciBrZXkgc2hhcmUnKTtcbiAgICB9XG5cbiAgICBjb25zdCBiaXRHb1RvQmFja3VwUHJpdmF0ZVNoYXJlID0gYXdhaXQgdGhpcy5kZWNyeXB0UHJpdmF0ZVNoYXJlKGJpdEdvVG9CYWNrdXBTaGFyZS5wcml2YXRlU2hhcmUsIHVzZXJHcGdLZXkpO1xuXG4gICAgY29uc3QgYml0Z29Ub0JhY2t1cDogWVNoYXJlID0ge1xuICAgICAgaTogMixcbiAgICAgIGo6IDMsXG4gICAgICB5OiBiaXRHb1RvQmFja3VwU2hhcmUucHVibGljU2hhcmUuc2xpY2UoMCwgNjQpLFxuICAgICAgdTogYml0R29Ub0JhY2t1cFByaXZhdGVTaGFyZS5zbGljZSgwLCA2NCksXG4gICAgICBjaGFpbmNvZGU6IGJpdEdvVG9CYWNrdXBQcml2YXRlU2hhcmUuc2xpY2UoNjQpLFxuICAgIH07XG5cbiAgICAvLyBUT0RPKEJHLTQ3MTcwKTogdXNlIHRzcy5jcmVhdGVDb21iaW5lZEtleSBoZWxwZXIgd2hlbiBzaWduYXR1cmVzIGFyZSBzdXBwb3J0ZWRcbiAgICBjb25zdCBiYWNrdXBDb21iaW5lZCA9IE1QQy5rZXlDb21iaW5lKGJhY2t1cEtleVNoYXJlLnVTaGFyZSwgW3VzZXJLZXlTaGFyZS55U2hhcmVzWzJdLCBiaXRnb1RvQmFja3VwXSk7XG4gICAgY29uc3QgY29tbW9uS2V5Y2hhaW4gPSBiYWNrdXBDb21iaW5lZC5wU2hhcmUueSArIGJhY2t1cENvbWJpbmVkLnBTaGFyZS5jaGFpbmNvZGU7XG4gICAgaWYgKGNvbW1vbktleWNoYWluICE9PSBiaXRnb0tleWNoYWluLmNvbW1vbktleWNoYWluKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBjcmVhdGUgYmFja3VwIGtleWNoYWluIC0gY29tbW9uS2V5Y2hhaW5zIGRvIG5vdCBtYXRjaC4nKTtcbiAgICB9XG5cbiAgICBjb25zdCBiYWNrdXBTaWduaW5nTWF0ZXJpYWw6IFNpZ25pbmdNYXRlcmlhbCA9IHtcbiAgICAgIHVTaGFyZTogYmFja3VwS2V5U2hhcmUudVNoYXJlLFxuICAgICAgYml0Z29ZU2hhcmU6IGJpdGdvVG9CYWNrdXAsXG4gICAgICB1c2VyWVNoYXJlOiB1c2VyS2V5U2hhcmUueVNoYXJlc1syXSxcbiAgICB9O1xuICAgIGNvbnN0IHBydiA9IEpTT04uc3RyaW5naWZ5KGJhY2t1cFNpZ25pbmdNYXRlcmlhbCk7XG5cbiAgICByZXR1cm4gYXdhaXQgdGhpcy5iYXNlQ29pbi5rZXljaGFpbnMoKS5jcmVhdGVCYWNrdXAoe1xuICAgICAgc291cmNlOiAnYmFja3VwJyxcbiAgICAgIGtleVR5cGU6ICd0c3MnLFxuICAgICAgY29tbW9uS2V5Y2hhaW46IGJpdGdvS2V5Y2hhaW4uY29tbW9uS2V5Y2hhaW4sXG4gICAgICBwcnY6IHBydixcbiAgICAgIGVuY3J5cHRlZFBydjogdGhpcy5iaXRnby5lbmNyeXB0KHsgaW5wdXQ6IHBydiwgcGFzc3dvcmQ6IHBhc3NwaHJhc2UgfSksXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIEtleWNoYWluIGNvbnRhaW5pbmcgQml0R28ncyBUU1Mgc2lnbmluZyBtYXRlcmlhbHMuXG4gICAqXG4gICAqIEBwYXJhbSB1c2VyR3BnS2V5IC0gZXBoZW1lcmFsIEdQRyBrZXkgdG8gZW5jcnlwdCAvIGRlY3J5cHQgc2Vuc2l0dmUgZGF0YSBleGNoYW5nZWQgYmV0d2VlbiB1c2VyIGFuZCBzZXJ2ZXJcbiAgICogQHBhcmFtIHVzZXJLZXlTaGFyZSAtIHVzZXIncyBUU1Mga2V5IHNoYXJlXG4gICAqIEBwYXJhbSBiYWNrdXBLZXlTaGFyZSAtIGJhY2t1cCdzIFRTUyBrZXkgc2hhcmVcbiAgICovXG4gIGFzeW5jIGNyZWF0ZUJpdGdvS2V5Y2hhaW4oXG4gICAgdXNlckdwZ0tleTogb3BlbnBncC5TZXJpYWxpemVkS2V5UGFpcjxzdHJpbmc+LFxuICAgIHVzZXJLZXlTaGFyZTogS2V5U2hhcmUsXG4gICAgYmFja3VwS2V5U2hhcmU6IEtleVNoYXJlLFxuICAgIGVudGVycHJpc2U/OiBzdHJpbmdcbiAgKTogUHJvbWlzZTxLZXljaGFpbj4ge1xuICAgIC8vIFRPRE8oQkctNDcxNzApOiB1c2UgdHNzLmVuY3J5cHRZU2hhcmUgaGVscGVyIHdoZW4gc2lnbmF0dXJlcyBhcmUgc3VwcG9ydGVkXG4gICAgY29uc3QgdXNlclRvQml0Z29QdWJsaWNTaGFyZSA9IEJ1ZmZlci5jb25jYXQoW1xuICAgICAgQnVmZmVyLmZyb20odXNlcktleVNoYXJlLnVTaGFyZS55LCAnaGV4JyksXG4gICAgICBCdWZmZXIuZnJvbSh1c2VyS2V5U2hhcmUudVNoYXJlLmNoYWluY29kZSwgJ2hleCcpLFxuICAgIF0pLnRvU3RyaW5nKCdoZXgnKTtcbiAgICBjb25zdCB1c2VyVG9CaXRnb1ByaXZhdGVTaGFyZSA9IEJ1ZmZlci5jb25jYXQoW1xuICAgICAgQnVmZmVyLmZyb20odXNlcktleVNoYXJlLnlTaGFyZXNbM10udSwgJ2hleCcpLFxuICAgICAgQnVmZmVyLmZyb20odXNlcktleVNoYXJlLnlTaGFyZXNbM10uY2hhaW5jb2RlLCAnaGV4JyksXG4gICAgXSkudG9TdHJpbmcoJ2hleCcpO1xuICAgIGNvbnN0IHVzZXJUb0JpdGdvS2V5U2hhcmUgPSB7XG4gICAgICBwdWJsaWNTaGFyZTogdXNlclRvQml0Z29QdWJsaWNTaGFyZSxcbiAgICAgIHByaXZhdGVTaGFyZTogdXNlclRvQml0Z29Qcml2YXRlU2hhcmUsXG4gICAgICBwcml2YXRlU2hhcmVQcm9vZjogYXdhaXQgY3JlYXRlU2hhcmVQcm9vZih1c2VyR3BnS2V5LnByaXZhdGVLZXksIHVzZXJUb0JpdGdvUHJpdmF0ZVNoYXJlLnNsaWNlKDAsIDY0KSksXG4gICAgfTtcblxuICAgIGNvbnN0IGJhY2t1cFRvQml0Z29QdWJsaWNTaGFyZSA9IEJ1ZmZlci5jb25jYXQoW1xuICAgICAgQnVmZmVyLmZyb20oYmFja3VwS2V5U2hhcmUudVNoYXJlLnksICdoZXgnKSxcbiAgICAgIEJ1ZmZlci5mcm9tKGJhY2t1cEtleVNoYXJlLnVTaGFyZS5jaGFpbmNvZGUsICdoZXgnKSxcbiAgICBdKS50b1N0cmluZygnaGV4Jyk7XG4gICAgY29uc3QgYmFja3VwVG9CaXRnb1ByaXZhdGVTaGFyZSA9IEJ1ZmZlci5jb25jYXQoW1xuICAgICAgQnVmZmVyLmZyb20oYmFja3VwS2V5U2hhcmUueVNoYXJlc1szXS51LCAnaGV4JyksXG4gICAgICBCdWZmZXIuZnJvbShiYWNrdXBLZXlTaGFyZS55U2hhcmVzWzNdLmNoYWluY29kZSwgJ2hleCcpLFxuICAgIF0pLnRvU3RyaW5nKCdoZXgnKTtcbiAgICBjb25zdCBiYWNrdXBUb0JpdGdvS2V5U2hhcmUgPSB7XG4gICAgICBwdWJsaWNTaGFyZTogYmFja3VwVG9CaXRnb1B1YmxpY1NoYXJlLFxuICAgICAgcHJpdmF0ZVNoYXJlOiBiYWNrdXBUb0JpdGdvUHJpdmF0ZVNoYXJlLFxuICAgICAgcHJpdmF0ZVNoYXJlUHJvb2Y6IGF3YWl0IGNyZWF0ZVNoYXJlUHJvb2YodXNlckdwZ0tleS5wcml2YXRlS2V5LCBiYWNrdXBUb0JpdGdvUHJpdmF0ZVNoYXJlLnNsaWNlKDAsIDY0KSksXG4gICAgfTtcblxuICAgIHJldHVybiBhd2FpdCB0aGlzLmNyZWF0ZUJpdGdvS2V5Y2hhaW5JbldQKFxuICAgICAgdXNlckdwZ0tleSxcbiAgICAgIHVzZXJUb0JpdGdvS2V5U2hhcmUsXG4gICAgICBiYWNrdXBUb0JpdGdvS2V5U2hhcmUsXG4gICAgICAndHNzJyxcbiAgICAgIGVudGVycHJpc2VcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgVXNlciwgQmFja3VwLCBhbmQgQml0R28gVFNTIEtleWNoYWlucy5cbiAgICpcbiAgICogQHBhcmFtIHBhcmFtcy5wYXNzcGhyYXNlIC0gcGFzc3BocmFzZSB1c2VkIHRvIGVuY3J5cHQgc2lnbmluZyBtYXRlcmlhbHMgY3JlYXRlZCBmb3IgVXNlciBhbmQgQmFja3VwXG4gICAqL1xuICBhc3luYyBjcmVhdGVLZXljaGFpbnMocGFyYW1zOiB7XG4gICAgcGFzc3BocmFzZTogc3RyaW5nO1xuICAgIGVudGVycHJpc2U/OiBzdHJpbmc7XG4gICAgb3JpZ2luYWxQYXNzY29kZUVuY3J5cHRpb25Db2RlPzogc3RyaW5nO1xuICB9KTogUHJvbWlzZTxLZXljaGFpbnNUcmlwbGV0PiB7XG4gICAgY29uc3QgTVBDID0gYXdhaXQgRWRkc2EuaW5pdGlhbGl6ZSgpO1xuICAgIGNvbnN0IG0gPSAyO1xuICAgIGNvbnN0IG4gPSAzO1xuXG4gICAgY29uc3QgdXNlcktleVNoYXJlID0gTVBDLmtleVNoYXJlKDEsIG0sIG4pO1xuICAgIGNvbnN0IGJhY2t1cEtleVNoYXJlID0gTVBDLmtleVNoYXJlKDIsIG0sIG4pO1xuXG4gICAgY29uc3QgcmFuZG9tSGV4U3RyaW5nID0gY3J5cHRvLnJhbmRvbUJ5dGVzKDEyKS50b1N0cmluZygnaGV4Jyk7XG5cbiAgICAvLyBBbGxvdyBnZW5lcmF0aW5nIHNlY3AyNTZrMSBrZXkgcGFpcnNcbiAgICBvcGVucGdwLmNvbmZpZy5yZWplY3RDdXJ2ZXMgPSBuZXcgU2V0KCk7XG4gICAgY29uc3QgdXNlckdwZ0tleSA9IGF3YWl0IG9wZW5wZ3AuZ2VuZXJhdGVLZXkoe1xuICAgICAgdXNlcklEczogW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogcmFuZG9tSGV4U3RyaW5nLFxuICAgICAgICAgIGVtYWlsOiBgdXNlci0ke3JhbmRvbUhleFN0cmluZ31AJHtyYW5kb21IZXhTdHJpbmd9LmNvbWAsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgY3VydmU6ICdzZWNwMjU2azEnLFxuICAgIH0pO1xuXG4gICAgY29uc3QgYml0Z29LZXljaGFpbiA9IGF3YWl0IHRoaXMuY3JlYXRlQml0Z29LZXljaGFpbih1c2VyR3BnS2V5LCB1c2VyS2V5U2hhcmUsIGJhY2t1cEtleVNoYXJlLCBwYXJhbXMuZW50ZXJwcmlzZSk7XG4gICAgY29uc3QgdXNlcktleWNoYWluUHJvbWlzZSA9IHRoaXMuY3JlYXRlVXNlcktleWNoYWluKFxuICAgICAgdXNlckdwZ0tleSxcbiAgICAgIHVzZXJLZXlTaGFyZSxcbiAgICAgIGJhY2t1cEtleVNoYXJlLFxuICAgICAgYml0Z29LZXljaGFpbixcbiAgICAgIHBhcmFtcy5wYXNzcGhyYXNlLFxuICAgICAgcGFyYW1zLm9yaWdpbmFsUGFzc2NvZGVFbmNyeXB0aW9uQ29kZVxuICAgICk7XG4gICAgY29uc3QgYmFja3VwS2V5Y2hhaW5Qcm9taXNlID0gdGhpcy5jcmVhdGVCYWNrdXBLZXljaGFpbihcbiAgICAgIHVzZXJHcGdLZXksXG4gICAgICB1c2VyS2V5U2hhcmUsXG4gICAgICBiYWNrdXBLZXlTaGFyZSxcbiAgICAgIGJpdGdvS2V5Y2hhaW4sXG4gICAgICBwYXJhbXMucGFzc3BocmFzZVxuICAgICk7XG4gICAgY29uc3QgW3VzZXJLZXljaGFpbiwgYmFja3VwS2V5Y2hhaW5dID0gYXdhaXQgUHJvbWlzZS5hbGwoW3VzZXJLZXljaGFpblByb21pc2UsIGJhY2t1cEtleWNoYWluUHJvbWlzZV0pO1xuXG4gICAgLy8gY3JlYXRlIHdhbGxldFxuICAgIGNvbnN0IGtleWNoYWlucyA9IHtcbiAgICAgIHVzZXJLZXljaGFpbixcbiAgICAgIGJhY2t1cEtleWNoYWluLFxuICAgICAgYml0Z29LZXljaGFpbixcbiAgICB9O1xuXG4gICAgcmV0dXJuIGtleWNoYWlucztcbiAgfVxuXG4gIC8qKlxuICAgKiBTaWducyB0aGUgdHJhbnNhY3Rpb24gYXNzb2NpYXRlZCB0byB0aGUgdHJhbnNhY3Rpb24gcmVxdWVzdC5cbiAgICpcbiAgICogQHBhcmFtIHR4UmVxdWVzdCAtIHRyYW5zYWN0aW9uIHJlcXVlc3Qgb2JqZWN0IG9yIGlkXG4gICAqIEBwYXJhbSBwcnYgLSBkZWNyeXB0ZWQgcHJpdmF0ZSBrZXlcbiAgICogQHBhcmFtIHJlcUlkIC0gcmVxdWVzdCBpZFxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxUeFJlcXVlc3Q+fSBmdWxseSBzaWduZWQgVHhSZXF1ZXN0IG9iamVjdFxuICAgKi9cbiAgYXN5bmMgc2lnblR4UmVxdWVzdChwYXJhbXM6IFRTU1BhcmFtcyk6IFByb21pc2U8VHhSZXF1ZXN0PiB7XG4gICAgbGV0IHR4UmVxdWVzdFJlc29sdmVkOiBUeFJlcXVlc3Q7XG4gICAgbGV0IHR4UmVxdWVzdElkOiBzdHJpbmc7XG5cbiAgICBjb25zdCB7IHR4UmVxdWVzdCwgcHJ2IH0gPSBwYXJhbXM7XG5cbiAgICBpZiAodHlwZW9mIHR4UmVxdWVzdCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHR4UmVxdWVzdFJlc29sdmVkID0gYXdhaXQgZ2V0VHhSZXF1ZXN0KHRoaXMuYml0Z28sIHRoaXMud2FsbGV0LmlkKCksIHR4UmVxdWVzdCk7XG4gICAgICB0eFJlcXVlc3RJZCA9IHR4UmVxdWVzdFJlc29sdmVkLnR4UmVxdWVzdElkO1xuICAgIH0gZWxzZSB7XG4gICAgICB0eFJlcXVlc3RSZXNvbHZlZCA9IHR4UmVxdWVzdDtcbiAgICAgIHR4UmVxdWVzdElkID0gdHhSZXF1ZXN0LnR4UmVxdWVzdElkO1xuICAgIH1cblxuICAgIGNvbnN0IGhkVHJlZSA9IGF3YWl0IEVkMjU1MTlCSVAzMi5pbml0aWFsaXplKCk7XG4gICAgY29uc3QgTVBDID0gYXdhaXQgRWRkc2EuaW5pdGlhbGl6ZShoZFRyZWUpO1xuXG4gICAgY29uc3QgdXNlclNpZ25pbmdNYXRlcmlhbDogU2lnbmluZ01hdGVyaWFsID0gSlNPTi5wYXJzZShwcnYpO1xuICAgIGlmICghdXNlclNpZ25pbmdNYXRlcmlhbC5iYWNrdXBZU2hhcmUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCB1c2VyIGtleSAtIG1pc3NpbmcgYmFja3VwWVNoYXJlJyk7XG4gICAgfVxuXG4gICAgY29uc3QgdW5zaWduZWRUeCA9XG4gICAgICB0eFJlcXVlc3RSZXNvbHZlZC5hcGlWZXJzaW9uID09PSAnZnVsbCdcbiAgICAgICAgPyB0eFJlcXVlc3RSZXNvbHZlZC50cmFuc2FjdGlvbnNbMF0udW5zaWduZWRUeFxuICAgICAgICA6IHR4UmVxdWVzdFJlc29sdmVkLnVuc2lnbmVkVHhzWzBdO1xuXG4gICAgY29uc3Qgc2lnbmluZ0tleSA9IE1QQy5rZXlEZXJpdmUoXG4gICAgICB1c2VyU2lnbmluZ01hdGVyaWFsLnVTaGFyZSxcbiAgICAgIFt1c2VyU2lnbmluZ01hdGVyaWFsLmJpdGdvWVNoYXJlLCB1c2VyU2lnbmluZ01hdGVyaWFsLmJhY2t1cFlTaGFyZV0sXG4gICAgICB1bnNpZ25lZFR4LmRlcml2YXRpb25QYXRoXG4gICAgKTtcblxuICAgIGNvbnN0IHNpZ25hYmxlUGF5bG9hZCA9IEJ1ZmZlci5mcm9tKHVuc2lnbmVkVHguc2lnbmFibGVIZXgsICdoZXgnKTtcblxuICAgIGNvbnN0IHVzZXJTaWduU2hhcmUgPSBhd2FpdCBjcmVhdGVVc2VyU2lnblNoYXJlKHNpZ25hYmxlUGF5bG9hZCwgc2lnbmluZ0tleS5wU2hhcmUpO1xuXG4gICAgY29uc3Qgc2lnbmVyU2hhcmUgPSBzaWduaW5nS2V5LnlTaGFyZXNbM10udSArIHNpZ25pbmdLZXkueVNoYXJlc1szXS5jaGFpbmNvZGU7XG4gICAgY29uc3QgYml0Z29HcGdLZXkgPSBhd2FpdCBnZXRCaXRnb0dwZ1B1YktleSh0aGlzLmJpdGdvKTtcbiAgICBjb25zdCBlbmNyeXB0ZWRTaWduZXJTaGFyZSA9IGF3YWl0IGVuY3J5cHRUZXh0KHNpZ25lclNoYXJlLCBiaXRnb0dwZ0tleSk7XG5cbiAgICBhd2FpdCBvZmZlclVzZXJUb0JpdGdvUlNoYXJlKHRoaXMuYml0Z28sIHRoaXMud2FsbGV0LmlkKCksIHR4UmVxdWVzdElkLCB1c2VyU2lnblNoYXJlLCBlbmNyeXB0ZWRTaWduZXJTaGFyZSk7XG5cbiAgICBjb25zdCBiaXRnb1RvVXNlclJTaGFyZSA9IGF3YWl0IGdldEJpdGdvVG9Vc2VyUlNoYXJlKHRoaXMuYml0Z28sIHRoaXMud2FsbGV0LmlkKCksIHR4UmVxdWVzdElkKTtcblxuICAgIGNvbnN0IHVzZXJUb0JpdEdvR1NoYXJlID0gYXdhaXQgY3JlYXRlVXNlclRvQml0R29HU2hhcmUoXG4gICAgICB1c2VyU2lnblNoYXJlLFxuICAgICAgYml0Z29Ub1VzZXJSU2hhcmUsXG4gICAgICB1c2VyU2lnbmluZ01hdGVyaWFsLmJhY2t1cFlTaGFyZSxcbiAgICAgIHVzZXJTaWduaW5nTWF0ZXJpYWwuYml0Z29ZU2hhcmUsXG4gICAgICBzaWduYWJsZVBheWxvYWRcbiAgICApO1xuXG4gICAgYXdhaXQgc2VuZFVzZXJUb0JpdGdvR1NoYXJlKHRoaXMuYml0Z28sIHRoaXMud2FsbGV0LmlkKCksIHR4UmVxdWVzdElkLCB1c2VyVG9CaXRHb0dTaGFyZSk7XG5cbiAgICByZXR1cm4gYXdhaXQgZ2V0VHhSZXF1ZXN0KHRoaXMuYml0Z28sIHRoaXMud2FsbGV0LmlkKCksIHR4UmVxdWVzdElkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGNvbW1vblB1YiBwb3J0aW9uIG9mIHRoZSBjb21tb25LZXljaGFpbi5cbiAgICpcbiAgICogQHBhcmFtIHtTdHJpbmd9IGNvbW1vbktleWNoYWluXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9XG4gICAqL1xuICBzdGF0aWMgZ2V0UHVibGljS2V5RnJvbUNvbW1vbktleWNoYWluKGNvbW1vbktleWNoYWluOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmIChjb21tb25LZXljaGFpbi5sZW5ndGggIT09IDEyOCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGNvbW1vbktleWNoYWluIGxlbmd0aCwgZXhwZWN0ZWQgMTI4LCBnb3QgJHtjb21tb25LZXljaGFpbi5sZW5ndGh9YCk7XG4gICAgfVxuICAgIGNvbnN0IGNvbW1vblB1YkhleFN0ciA9IGNvbW1vbktleWNoYWluLnNsaWNlKDAsIDY0KTtcbiAgICByZXR1cm4gYnM1OC5lbmNvZGUoQnVmZmVyLmZyb20oY29tbW9uUHViSGV4U3RyLCAnaGV4JykpO1xuICB9XG59XG4vKipcbiAqIEBkZXByZWNhdGVkIC0gdXNlIEVkZHNhVXRpbHNcbiAqL1xuZXhwb3J0IGNvbnN0IFRzc1V0aWxzID0gRWRkc2FVdGlscztcbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IRequestTracer } from '../../api';
|
|
2
|
-
import { IBaseCoin, SignedTransaction, TransactionPrebuild, VerificationOptions } from '../baseCoin';
|
|
2
|
+
import { IBaseCoin, MessagePrebuild, SignedMessage, SignedTransaction, TransactionPrebuild, VerificationOptions } from '../baseCoin';
|
|
3
3
|
import { BitGoBase } from '../bitgoBase';
|
|
4
4
|
import { Keychain } from '../keychain';
|
|
5
5
|
import { IPendingApproval, PendingApprovalData } from '../pendingApproval';
|
|
@@ -103,16 +103,21 @@ export interface CustomSigningFunction {
|
|
|
103
103
|
pubs?: string[];
|
|
104
104
|
}): Promise<SignedTransaction>;
|
|
105
105
|
}
|
|
106
|
-
export interface
|
|
106
|
+
export interface WalletSignBaseOptions {
|
|
107
107
|
reqId?: IRequestTracer;
|
|
108
|
-
txPrebuild?: TransactionPrebuild;
|
|
109
108
|
prv?: string;
|
|
110
109
|
pubs?: string[];
|
|
111
110
|
cosignerPub?: string;
|
|
112
111
|
isLastSignature?: boolean;
|
|
113
112
|
customSigningFunction?: CustomSigningFunction;
|
|
113
|
+
}
|
|
114
|
+
export interface WalletSignTransactionOptions extends WalletSignBaseOptions {
|
|
115
|
+
txPrebuild?: TransactionPrebuild;
|
|
114
116
|
[index: string]: unknown;
|
|
115
117
|
}
|
|
118
|
+
export interface WalletSignMessageOptions extends WalletSignBaseOptions {
|
|
119
|
+
messagePrebuild?: MessagePrebuild;
|
|
120
|
+
}
|
|
116
121
|
export interface GetUserPrvOptions {
|
|
117
122
|
keychain?: Keychain;
|
|
118
123
|
key?: Keychain;
|
|
@@ -525,6 +530,7 @@ export interface IWallet {
|
|
|
525
530
|
sendTokenEnablement(params?: PrebuildAndSignTransactionOptions): Promise<any>;
|
|
526
531
|
sendTokenEnablements(params?: BuildTokenEnablementOptions): Promise<any>;
|
|
527
532
|
lightning(): ILightning;
|
|
533
|
+
signMessage(params: WalletSignMessageOptions): Promise<SignedMessage>;
|
|
528
534
|
}
|
|
529
535
|
export {};
|
|
530
536
|
//# sourceMappingURL=iWallet.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iWallet.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/wallet/iWallet.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"iWallet.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/wallet/iWallet.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaVdhbGxldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iaXRnby93YWxsZXQvaVdhbGxldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVJlcXVlc3RUcmFjZXIgfSBmcm9tICcuLi8uLi9hcGknO1xuaW1wb3J0IHsgSUJhc2VDb2luLCBTaWduZWRUcmFuc2FjdGlvbiwgVHJhbnNhY3Rpb25QcmVidWlsZCwgVmVyaWZpY2F0aW9uT3B0aW9ucyB9IGZyb20gJy4uL2Jhc2VDb2luJztcbmltcG9ydCB7IEJpdEdvQmFzZSB9IGZyb20gJy4uL2JpdGdvQmFzZSc7XG5pbXBvcnQgeyBLZXljaGFpbiB9IGZyb20gJy4uL2tleWNoYWluJztcbmltcG9ydCB7IElQZW5kaW5nQXBwcm92YWwsIFBlbmRpbmdBcHByb3ZhbERhdGEgfSBmcm9tICcuLi9wZW5kaW5nQXBwcm92YWwnO1xuaW1wb3J0IHsgSVN0YWtpbmdXYWxsZXQgfSBmcm9tICcuLi9zdGFraW5nJztcbmltcG9ydCB7IElUcmFkaW5nQWNjb3VudCB9IGZyb20gJy4uL3RyYWRpbmcnO1xuaW1wb3J0IHsgVG9rZW5FbmFibGVtZW50IH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgSUxpZ2h0bmluZyB9IGZyb20gJy4uL2xpZ2h0bmluZyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWF4aW11bVNwZW5kYWJsZU9wdGlvbnMge1xuICBtaW5WYWx1ZT86IG51bWJlciB8IHN0cmluZztcbiAgbWF4VmFsdWU/OiBudW1iZXIgfCBzdHJpbmc7XG4gIG1pbkhlaWdodD86IG51bWJlcjtcbiAgbWluQ29uZmlybXM/OiBudW1iZXI7XG4gIGVuZm9yY2VNaW5Db25maXJtc0ZvckNoYW5nZT86IGJvb2xlYW47XG4gIGZlZVJhdGU/OiBudW1iZXI7XG4gIG1heEZlZVJhdGU/OiBudW1iZXI7XG4gIHJlY2lwaWVudEFkZHJlc3M/OiBzdHJpbmc7XG4gIGxpbWl0PzogbnVtYmVyO1xuICB0YXJnZXQ/OiBudW1iZXI7XG4gIHBsYWluVGFyZ2V0PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1heGltdW1TcGVuZGFibGUge1xuICBtYXhpbXVtU3BlbmRhYmxlOiBudW1iZXI7XG4gIGNvaW46IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZW1vIHtcbiAgdmFsdWU6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkQ29uc29saWRhdGlvblRyYW5zYWN0aW9uT3B0aW9ucyBleHRlbmRzIFByZWJ1aWxkVHJhbnNhY3Rpb25PcHRpb25zIHtcbiAgY29uc29saWRhdGVBZGRyZXNzZXM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCdWlsZFRva2VuRW5hYmxlbWVudE9wdGlvbnMgZXh0ZW5kcyBQcmVidWlsZFRyYW5zYWN0aW9uT3B0aW9ucyB7XG4gIGVuYWJsZVRva2VuczogVG9rZW5FbmFibGVtZW50W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJlYnVpbGRUcmFuc2FjdGlvbk9wdGlvbnMge1xuICByZXFJZD86IElSZXF1ZXN0VHJhY2VyO1xuICByZWNpcGllbnRzPzoge1xuICAgIGFkZHJlc3M6IHN0cmluZztcbiAgICBhbW91bnQ6IHN0cmluZyB8IG51bWJlcjtcbiAgICB0b2tlbk5hbWU/OiBzdHJpbmc7XG4gIH1bXTtcbiAgbnVtQmxvY2tzPzogbnVtYmVyO1xuICBtYXhGZWVSYXRlPzogbnVtYmVyO1xuICBtaW5Db25maXJtcz86IG51bWJlcjtcbiAgZW5mb3JjZU1pbkNvbmZpcm1zRm9yQ2hhbmdlPzogYm9vbGVhbjtcbiAgdGFyZ2V0V2FsbGV0VW5zcGVudHM/OiBudW1iZXI7XG4gIG1pblZhbHVlPzogbnVtYmVyO1xuICBtYXhWYWx1ZT86IG51bWJlcjtcbiAgc2VxdWVuY2VJZD86IHN0cmluZztcbiAgbGFzdExlZGdlclNlcXVlbmNlPzogbnVtYmVyO1xuICBsZWRnZXJTZXF1ZW5jZURlbHRhPzogbnVtYmVyO1xuICBnYXNQcmljZT86IG51bWJlcjtcbiAgbm9TcGxpdENoYW5nZT86IGJvb2xlYW47XG4gIHVuc3BlbnRzPzogYW55W107XG4gIGNoYW5nZUFkZHJlc3M/OiBzdHJpbmc7XG4gIHR5cGU/OiBzdHJpbmc7XG4gIGNsb3NlUmVtYWluZGVyVG8/OiBzdHJpbmc7XG4gIG5vblBhcnRpY2lwYXRpb24/OiBib29sZWFuO1xuICB2YWxpZEZyb21CbG9jaz86IG51bWJlcjtcbiAgdmFsaWRUb0Jsb2NrPzogbnVtYmVyO1xuICBpbnN0YW50PzogYm9vbGVhbjtcbiAgbWVtbz86IE1lbW87XG4gIGFkZHJlc3NUeXBlPzogc3RyaW5nO1xuICBob3A/OiBib29sZWFuO1xuICB3YWxsZXRQYXNzcGhyYXNlPzogc3RyaW5nO1xuICByZXNlcnZhdGlvbj86IHtcbiAgICBleHBpcmVUaW1lPzogc3RyaW5nO1xuICAgIHBlbmRpbmdBcHByb3ZhbElkPzogc3RyaW5nO1xuICB9O1xuICBvZmZsaW5lVmVyaWZpY2F0aW9uPzogYm9vbGVhbjtcbiAgd2FsbGV0Q29udHJhY3RBZGRyZXNzPzogc3RyaW5nO1xuICBpZGZTaWduZWRUaW1lc3RhbXA/OiBzdHJpbmc7XG4gIGlkZlVzZXJJZD86IHN0cmluZztcbiAgaWRmVmVyc2lvbj86IG51bWJlcjtcbiAgY29tbWVudD86IHN0cmluZztcbiAgW2luZGV4OiBzdHJpbmddOiB1bmtub3duO1xuICB0b2tlbk5hbWU/OiBzdHJpbmc7XG4gIGVuYWJsZVRva2Vucz86IFRva2VuRW5hYmxlbWVudFtdO1xuICBub25jZT86IHN0cmluZztcbiAgcHJldmlldz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJlYnVpbGRBbmRTaWduVHJhbnNhY3Rpb25PcHRpb25zIGV4dGVuZHMgUHJlYnVpbGRUcmFuc2FjdGlvbk9wdGlvbnMsIFdhbGxldFNpZ25UcmFuc2FjdGlvbk9wdGlvbnMge1xuICBwcmVidWlsZFR4Pzogc3RyaW5nIHwgUHJlYnVpbGRUcmFuc2FjdGlvblJlc3VsdDtcbiAgdmVyaWZpY2F0aW9uPzogVmVyaWZpY2F0aW9uT3B0aW9ucztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcmVidWlsZFRyYW5zYWN0aW9uUmVzdWx0IGV4dGVuZHMgVHJhbnNhY3Rpb25QcmVidWlsZCB7XG4gIHdhbGxldElkOiBzdHJpbmc7XG4gIC8vIENvbnNvbGlkYXRlIElEIGlzIHVzZWQgZm9yIGNvbnNvbGlkYXRlIGFjY291bnQgdHJhbnNhY3Rpb25zIGFuZCBpbmRpY2F0ZXMgaWYgdGhpcyBpc1xuICAvLyBhIGNvbnNvbGlkYXRpb24gYW5kIHdoYXQgY29uc29saWRhdGUgZ3JvdXAgaXQgc2hvdWxkIGJlIHJlZmVyZW5jZWQgYnkuXG4gIGNvbnNvbGlkYXRlSWQ/OiBzdHJpbmc7XG4gIGNvbnNvbGlkYXRpb25EZXRhaWxzPzoge1xuICAgIHNlbmRlckFkZHJlc3NJbmRleDogbnVtYmVyO1xuICB9O1xuICBmZWVJbmZvPzoge1xuICAgIGZlZT86IG51bWJlcjtcbiAgICBmZWVTdHJpbmc/OiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tU2lnbmluZ0Z1bmN0aW9uIHtcbiAgKHBhcmFtczogeyBjb2luOiBJQmFzZUNvaW47IHR4UHJlYnVpbGQ6IFRyYW5zYWN0aW9uUHJlYnVpbGQ7IHB1YnM/OiBzdHJpbmdbXSB9KTogUHJvbWlzZTxTaWduZWRUcmFuc2FjdGlvbj47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2FsbGV0U2lnblRyYW5zYWN0aW9uT3B0aW9ucyB7XG4gIHJlcUlkPzogSVJlcXVlc3RUcmFjZXI7XG4gIHR4UHJlYnVpbGQ/OiBUcmFuc2FjdGlvblByZWJ1aWxkO1xuICBwcnY/OiBzdHJpbmc7XG4gIHB1YnM/OiBzdHJpbmdbXTtcbiAgY29zaWduZXJQdWI/OiBzdHJpbmc7XG4gIGlzTGFzdFNpZ25hdHVyZT86IGJvb2xlYW47XG4gIGN1c3RvbVNpZ25pbmdGdW5jdGlvbj86IEN1c3RvbVNpZ25pbmdGdW5jdGlvbjtcbiAgW2luZGV4OiBzdHJpbmddOiB1bmtub3duO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldFVzZXJQcnZPcHRpb25zIHtcbiAga2V5Y2hhaW4/OiBLZXljaGFpbjtcbiAga2V5PzogS2V5Y2hhaW47XG4gIHBydj86IHN0cmluZztcbiAgY29sZERlcml2YXRpb25TZWVkPzogc3RyaW5nO1xuICB3YWxsZXRQYXNzcGhyYXNlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdhbGxldENvaW5TcGVjaWZpYyB7XG4gIHRva2VuRmx1c2hUaHJlc2hvbGRzPzogYW55O1xuICBhZGRyZXNzVmVyc2lvbj86IG51bWJlcjtcbiAgYmFzZUFkZHJlc3M/OiBzdHJpbmc7XG4gIHJvb3RBZGRyZXNzPzogc3RyaW5nO1xuICBjdXN0b21DaGFuZ2VXYWxsZXRJZDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2luYXRpb25PcHRpb25zIHtcbiAgcHJldklkPzogc3RyaW5nO1xuICBsaW1pdD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRUcmFuc2FjdGlvbk9wdGlvbnMgZXh0ZW5kcyBQYWdpbmF0aW9uT3B0aW9ucyB7XG4gIHR4SGFzaD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2ZlcnNPcHRpb25zIGV4dGVuZHMgUGFnaW5hdGlvbk9wdGlvbnMge1xuICB0eEhhc2g/OiBzdHJpbmc7XG4gIGFsbFRva2Vucz86IGJvb2xlYW47XG4gIHNlYXJjaExhYmVsPzogc3RyaW5nO1xuICBhZGRyZXNzPzogc3RyaW5nW10gfCBzdHJpbmc7XG4gIGRhdGVHdGU/OiBzdHJpbmc7XG4gIGRhdGVMdD86IHN0cmluZztcbiAgdmFsdWVHdGU/OiBudW1iZXI7XG4gIHZhbHVlTHQ/OiBudW1iZXI7XG4gIGluY2x1ZGVIZXg/OiBib29sZWFuO1xuICBzdGF0ZT86IHN0cmluZ1tdIHwgc3RyaW5nO1xuICB0eXBlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldFRyYW5zZmVyT3B0aW9ucyB7XG4gIGlkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zZmVyQnlTZXF1ZW5jZUlkT3B0aW9ucyB7XG4gIHNlcXVlbmNlSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVW5zcGVudHNPcHRpb25zIGV4dGVuZHMgUGFnaW5hdGlvbk9wdGlvbnMge1xuICBtaW5WYWx1ZT86IG51bWJlcjtcbiAgbWF4VmFsdWU/OiBudW1iZXI7XG4gIG1pbkhlaWdodD86IG51bWJlcjtcbiAgbWluQ29uZmlybXM/OiBudW1iZXI7XG4gIHRhcmdldD86IG51bWJlcjtcbiAgc2Vnd2l0PzogYm9vbGVhbjtcbiAgY2hhaW5zPzogbnVtYmVyW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29uc29saWRhdGVVbnNwZW50c09wdGlvbnMgZXh0ZW5kcyBXYWxsZXRTaWduVHJhbnNhY3Rpb25PcHRpb25zIHtcbiAgd2FsbGV0UGFzc3BocmFzZT86IHN0cmluZztcbiAgeHBydj86IHN0cmluZztcbiAgbWluVmFsdWU/OiBudW1iZXI7XG4gIG1heFZhbHVlPzogbnVtYmVyO1xuICBtaW5IZWlnaHQ/OiBudW1iZXI7XG4gIG51bVVuc3BlbnRzVG9NYWtlPzogbnVtYmVyO1xuICBmZWVUeENvbmZpcm1UYXJnZXQ/OiBudW1iZXI7XG4gIGxpbWl0PzogbnVtYmVyO1xuICBtaW5Db25maXJtcz86IG51bWJlcjtcbiAgZW5mb3JjZU1pbkNvbmZpcm1zRm9yQ2hhbmdlPzogYm9vbGVhbjtcbiAgZmVlUmF0ZT86IG51bWJlcjtcbiAgbWF4RmVlUmF0ZT86IG51bWJlcjtcbiAgbWF4RmVlUGVyY2VudGFnZT86IG51bWJlcjtcbiAgY29tbWVudD86IHN0cmluZztcbiAgb3RwPzogc3RyaW5nO1xuICB0YXJnZXRBZGRyZXNzPzogc3RyaW5nO1xuICBbaW5kZXg6IHN0cmluZ106IHVua25vd247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmFub3V0VW5zcGVudHNPcHRpb25zIGV4dGVuZHMgV2FsbGV0U2lnblRyYW5zYWN0aW9uT3B0aW9ucyB7XG4gIHdhbGxldFBhc3NwaHJhc2U/OiBzdHJpbmc7XG4gIHhwcnY/OiBzdHJpbmc7XG4gIG1pblZhbHVlPzogbnVtYmVyO1xuICBtYXhWYWx1ZT86IG51bWJlcjtcbiAgbWluSGVpZ2h0PzogbnVtYmVyO1xuICBtYXhOdW1JbnB1dHNUb1VzZT86IG51bWJlcjtcbiAgbnVtVW5zcGVudHNUb01ha2U/OiBudW1iZXI7XG4gIG1pbkNvbmZpcm1zPzogbnVtYmVyO1xuICBlbmZvcmNlTWluQ29uZmlybXNGb3JDaGFuZ2U/OiBib29sZWFuO1xuICBmZWVSYXRlPzogbnVtYmVyO1xuICBtYXhGZWVSYXRlPzogbnVtYmVyO1xuICBtYXhGZWVQZXJjZW50YWdlPzogbnVtYmVyO1xuICBmZWVUeENvbmZpcm1UYXJnZXQ/OiBudW1iZXI7XG4gIGNvbW1lbnQ/OiBzdHJpbmc7XG4gIG90cD86IHN0cmluZztcbiAgdGFyZ2V0QWRkcmVzcz86IHN0cmluZztcbiAgW2luZGV4OiBzdHJpbmddOiB1bmtub3duO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN3ZWVwT3B0aW9ucyB7XG4gIGFkZHJlc3M/OiBzdHJpbmc7XG4gIHdhbGxldFBhc3NwaHJhc2U/OiBzdHJpbmc7XG4gIHhwcnY/OiBzdHJpbmc7XG4gIG90cD86IHN0cmluZztcbiAgZmVlUmF0ZT86IG51bWJlcjtcbiAgbWF4RmVlUmF0ZT86IG51bWJlcjtcbiAgZmVlVHhDb25maXJtVGFyZ2V0PzogbnVtYmVyO1xuICBhbGxvd1BhcnRpYWxTd2VlcD86IGJvb2xlYW47XG4gIFtpbmRleDogc3RyaW5nXTogdW5rbm93bjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGcmVlemVPcHRpb25zIHtcbiAgZHVyYXRpb24/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNmZXJDb21tZW50T3B0aW9ucyB7XG4gIGlkPzogc3RyaW5nO1xuICBjb21tZW50Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFkZHJlc3Nlc09wdGlvbnMgZXh0ZW5kcyBQYWdpbmF0aW9uT3B0aW9ucyB7XG4gIG1pbmU/OiBib29sZWFuO1xuICBzb3J0PzogbnVtYmVyO1xuICBsYWJlbENvbnRhaW5zPzogc3RyaW5nO1xuICBzZWd3aXQ/OiBib29sZWFuO1xuICBjaGFpbnM/OiBudW1iZXJbXTtcbiAgaW5jbHVkZUJhbGFuY2VzPzogYm9vbGVhbjtcbiAgaW5jbHVkZVRva2Vucz86IGJvb2xlYW47XG4gIGluY2x1ZGVUb3RhbEFkZHJlc3NDb3VudD86IGJvb2xlYW47XG4gIHJldHVybkJhbGFuY2VzRm9yVG9rZW4/OiBzdHJpbmc7XG4gIHBlbmRpbmdEZXBsb3ltZW50PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRBZGRyZXNzT3B0aW9ucyB7XG4gIGFkZHJlc3M/OiBzdHJpbmc7XG4gIGlkPzogc3RyaW5nO1xuICByZXFJZD86IElSZXF1ZXN0VHJhY2VyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlcGxveUZvcndhcmRlcnNPcHRpb25zIHtcbiAgYWRkcmVzcz86IHN0cmluZztcbiAgaWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmx1c2hGb3J3YXJkZXJUb2tlbk9wdGlvbnMge1xuICBhZGRyZXNzPzogc3RyaW5nO1xuICBpZD86IHN0cmluZztcbiAgdG9rZW5OYW1lOiBzdHJpbmc7XG4gIGdhc1ByaWNlPzogbnVtYmVyO1xuICBlaXAxNTU5Pzoge1xuICAgIG1heFByaW9yaXR5RmVlUGVyR2FzOiBudW1iZXI7XG4gICAgbWF4RmVlUGVyR2FzOiBudW1iZXI7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlQWRkcmVzc09wdGlvbnMge1xuICBjaGFpbj86IG51bWJlcjtcbiAgZ2FzUHJpY2U/OiBudW1iZXIgfCBzdHJpbmc7XG4gIGNvdW50PzogbnVtYmVyO1xuICBsYWJlbD86IHN0cmluZztcbiAgbG93UHJpb3JpdHk/OiBib29sZWFuO1xuICBmb3J3YXJkZXJWZXJzaW9uPzogbnVtYmVyO1xuICBmb3JtYXQ/OiAnYmFzZTU4JyB8ICdjYXNoYWRkcic7XG4gIGJhc2VBZGRyZXNzPzogc3RyaW5nO1xuICBhbGxvd1NraXBWZXJpZnlBZGRyZXNzPzogYm9vbGVhbjtcbiAgZGVyaXZlZEFkZHJlc3M/OiBzdHJpbmc7XG4gIGluZGV4PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZUFkZHJlc3NPcHRpb25zIHtcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIGFkZHJlc3M/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2ltdWxhdGVXZWJob29rT3B0aW9ucyB7XG4gIHdlYmhvb2tJZD86IHN0cmluZztcbiAgdHJhbnNmZXJJZD86IHN0cmluZztcbiAgcGVuZGluZ0FwcHJvdmFsSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9kaWZ5V2ViaG9va09wdGlvbnMge1xuICB1cmw/OiBzdHJpbmc7XG4gIHR5cGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0UHJ2T3B0aW9ucyB7XG4gIHBydj86IHN0cmluZztcbiAgd2FsbGV0UGFzc3BocmFzZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVTaGFyZU9wdGlvbnMge1xuICB1c2VyPzogc3RyaW5nO1xuICBwZXJtaXNzaW9ucz86IHN0cmluZztcbiAga2V5Y2hhaW4/OiB7XG4gICAgLy8gSW4gdGhlIGNvbnRleHQgb2Ygd2FsbGV0IHNoYXJpbmcsIHB1YiBjYW4gcmVwcmVzZW50IG9uZSBvZjpcbiAgICAvLyBwdWIgKGluZGVwZW5kYW50IG11bHRpIHNpZyksIGNvbW1vblB1YiAoYmxzKSwgb3IgY29tbW9uUHViIHBvcnRpb24gb2YgY29tbW9uS2V5Y2hhaW4gKFRTUylcbiAgICBwdWI/OiBzdHJpbmc7XG4gICAgZW5jcnlwdGVkUHJ2Pzogc3RyaW5nO1xuICAgIGZyb21QdWJLZXk/OiBzdHJpbmc7XG4gICAgdG9QdWJLZXk/OiBzdHJpbmc7XG4gICAgcGF0aD86IHN0cmluZztcbiAgfTtcbiAgcmVzaGFyZT86IGJvb2xlYW47XG4gIG1lc3NhZ2U/OiBzdHJpbmc7XG4gIGRpc2FibGVFbWFpbD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2hhcmVXYWxsZXRPcHRpb25zIHtcbiAgZW1haWw/OiBzdHJpbmc7XG4gIHBlcm1pc3Npb25zPzogc3RyaW5nO1xuICB3YWxsZXRQYXNzcGhyYXNlPzogc3RyaW5nO1xuICBtZXNzYWdlPzogc3RyaW5nO1xuICByZXNoYXJlPzogYm9vbGVhbjtcbiAgc2tpcEtleWNoYWluPzogYm9vbGVhbjtcbiAgZGlzYWJsZUVtYWlsPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZW1vdmVVc2VyT3B0aW9ucyB7XG4gIHVzZXJJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBY2NlbGVyYXRlVHJhbnNhY3Rpb25PcHRpb25zIHtcbiAgY3BmcFR4SWRzPzogc3RyaW5nW107XG4gIGNwZnBGZWVSYXRlPzogbnVtYmVyO1xuICBub0NwZnBGZWVSYXRlPzogYm9vbGVhbjtcbiAgbWF4RmVlPzogbnVtYmVyO1xuICBub01heEZlZT86IGJvb2xlYW47XG4gIHJlY2lwaWVudHM/OiB7XG4gICAgYWRkcmVzczogc3RyaW5nO1xuICAgIGFtb3VudDogc3RyaW5nO1xuICB9W107XG4gIFtpbmRleDogc3RyaW5nXTogdW5rbm93bjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdWJtaXRUcmFuc2FjdGlvbk9wdGlvbnMge1xuICBvdHA/OiBzdHJpbmc7XG4gIHR4SGV4Pzogc3RyaW5nO1xuICBoYWxmU2lnbmVkPzoge1xuICAgIHR4SGV4Pzogc3RyaW5nOyAvLyBUcmFuc2FjdGlvbiBpbiBhbnkgZm9ybWF0IHJlcXVpcmVkIGJ5IGVhY2ggY29pbiwgaS5lLiBpbiBUcm9uIGl0IGlzIGEgc3RyaW5naWZ5ZWQgSlNPTlxuICAgIHBheWxvYWQ/OiBzdHJpbmc7XG4gICAgdHhCYXNlNjQ/OiBzdHJpbmc7XG4gIH07XG4gIGNvbW1lbnQ/OiBzdHJpbmc7XG4gIHR4UmVxdWVzdElkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlbmRPcHRpb25zIHtcbiAgYWRkcmVzcz86IHN0cmluZztcbiAgYW1vdW50PzogbnVtYmVyIHwgc3RyaW5nO1xuICBkYXRhPzogc3RyaW5nO1xuICBmZWVMaW1pdD86IHN0cmluZztcbiAgbWVzc2FnZT86IHN0cmluZztcbiAgd2FsbGV0UGFzc3BocmFzZT86IHN0cmluZztcbiAgcHJ2Pzogc3RyaW5nO1xuICBtaW5Db25maXJtcz86IG51bWJlcjtcbiAgZW5mb3JjZU1pbkNvbmZpcm1zRm9yQ2hhbmdlPzogYm9vbGVhbjtcbiAgY3VzdG9kaWFuVHJhbnNhY3Rpb25JZD86IHN0cmluZztcbiAgW2luZGV4OiBzdHJpbmddOiB1bmtub3duO1xuICB0b2tlbk5hbWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VuZE1hbnlPcHRpb25zIGV4dGVuZHMgUHJlYnVpbGRBbmRTaWduVHJhbnNhY3Rpb25PcHRpb25zIHtcbiAgcmVxSWQ/OiBJUmVxdWVzdFRyYWNlcjtcbiAgcmVjaXBpZW50cz86IHtcbiAgICBhZGRyZXNzOiBzdHJpbmc7XG4gICAgYW1vdW50OiBzdHJpbmcgfCBudW1iZXI7XG4gICAgZmVlTGltaXQ/OiBzdHJpbmc7XG4gICAgZGF0YT86IHN0cmluZztcbiAgICB0b2tlbk5hbWU/OiBzdHJpbmc7XG4gIH1bXTtcbiAgbnVtQmxvY2tzPzogbnVtYmVyO1xuICBmZWVSYXRlPzogbnVtYmVyO1xuICBtYXhGZWVSYXRlPzogbnVtYmVyO1xuICBtaW5Db25maXJtcz86IG51bWJlcjtcbiAgZW5mb3JjZU1pbkNvbmZpcm1zRm9yQ2hhbmdlPzogYm9vbGVhbjtcbiAgdGFyZ2V0V2FsbGV0VW5zcGVudHM/OiBudW1iZXI7XG4gIG1lc3NhZ2U/OiBzdHJpbmc7XG4gIG1pblZhbHVlPzogbnVtYmVyO1xuICBtYXhWYWx1ZT86IG51bWJlcjtcbiAgc2VxdWVuY2VJZD86IHN0cmluZztcbiAgbGFzdExlZGdlclNlcXVlbmNlPzogbnVtYmVyO1xuICBsZWRnZXJTZXF1ZW5jZURlbHRhPzogbnVtYmVyO1xuICBnYXNQcmljZT86IG51bWJlcjtcbiAgbm9TcGxpdENoYW5nZT86IGJvb2xlYW47XG4gIHVuc3BlbnRzPzogc3RyaW5nW107XG4gIGNvbW1lbnQ/OiBzdHJpbmc7XG4gIG90cD86IHN0cmluZztcbiAgY2hhbmdlQWRkcmVzcz86IHN0cmluZztcbiAgaW5zdGFudD86IGJvb2xlYW47XG4gIG1lbW8/OiBNZW1vO1xuICB0cmFuc2ZlcklkPzogbnVtYmVyO1xuICBbaW5kZXg6IHN0cmluZ106IHVua25vd247XG59XG5cbmV4cG9ydCB0eXBlIFdhbGxldFR5cGUgPSAnYmFja2luZycgfCAnY29sZCcgfCAnY3VzdG9kaWFsJyB8ICdjdXN0b2RpYWxQYWlyZWQnIHwgJ2hvdCcgfCAndHJhZGluZyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2FsbGV0RGF0YSB7XG4gIGlkOiBzdHJpbmc7XG4gIGFwcHJvdmFsc1JlcXVpcmVkOiBudW1iZXI7XG4gIGJhbGFuY2U6IG51bWJlcjtcbiAgY29uZmlybWVkQmFsYW5jZTogbnVtYmVyO1xuICBzcGVuZGFibGVCYWxhbmNlOiBudW1iZXI7XG4gIGJhbGFuY2VTdHJpbmc6IHN0cmluZztcbiAgY29uZmlybWVkQmFsYW5jZVN0cmluZzogc3RyaW5nO1xuICBzcGVuZGFibGVCYWxhbmNlU3RyaW5nOiBzdHJpbmc7XG4gIGNvaW46IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAga2V5czogc3RyaW5nW107XG4gIHJlY2VpdmVBZGRyZXNzOiB7XG4gICAgYWRkcmVzczogc3RyaW5nO1xuICB9O1xuICBtaWdyYXRlZEZyb20/OiBzdHJpbmc7XG4gIGNvaW5TcGVjaWZpYzogV2FsbGV0Q29pblNwZWNpZmljO1xuICBwZW5kaW5nQXBwcm92YWxzOiBQZW5kaW5nQXBwcm92YWxEYXRhW107XG4gIGVudGVycHJpc2U6IHN0cmluZztcbiAgY3VzdG9tQ2hhbmdlS2V5U2lnbmF0dXJlcz86IHtcbiAgICB1c2VyPzogc3RyaW5nO1xuICAgIGJhY2t1cD86IHN0cmluZztcbiAgICBiaXRnbz86IHN0cmluZztcbiAgfTtcbiAgbXVsdGlzaWdUeXBlOiAnb25jaGFpbicgfCAndHNzJztcbiAgdHlwZT86IFdhbGxldFR5cGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVjb3ZlclRva2VuT3B0aW9ucyB7XG4gIHRva2VuQ29udHJhY3RBZGRyZXNzPzogc3RyaW5nO1xuICByZWNpcGllbnQ/OiBzdHJpbmc7XG4gIGJyb2FkY2FzdD86IGJvb2xlYW47XG4gIHdhbGxldFBhc3NwaHJhc2U/OiBzdHJpbmc7XG4gIHBydj86IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIEVJUDE1NTkge1xuICBtYXhQcmlvcml0eUZlZVBlckdhczogc3RyaW5nO1xuICBtYXhGZWVQZXJHYXM6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGFuZ2VGZWVPcHRpb25zIHtcbiAgdHhpZD86IHN0cmluZztcbiAgZmVlPzogc3RyaW5nO1xuICBlaXAxNTU5PzogRUlQMTU1OTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVQb2xpY3lSdWxlT3B0aW9ucyB7XG4gIGlkPzogc3RyaW5nO1xuICB0eXBlPzogc3RyaW5nO1xuICBtZXNzYWdlPzogc3RyaW5nO1xuICBjb25kaXRpb24/OiB1bmtub3duO1xuICBhY3Rpb24/OiB1bmtub3duO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlbW92ZVBvbGljeVJ1bGVPcHRpb25zIHtcbiAgaWQ/OiBzdHJpbmc7XG4gIG1lc3NhZ2U/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRG93bmxvYWRLZXljYXJkT3B0aW9ucyB7XG4gIGpzUERGPzogYW55O1xuICBRUkNvZGU/OiBhbnk7XG4gIHVzZXJLZXljaGFpbj86IEtleWNoYWluO1xuICBiYWNrdXBLZXljaGFpbj86IEtleWNoYWluO1xuICBiaXRnb0tleWNoYWluPzogS2V5Y2hhaW47XG4gIHBhc3NwaHJhc2U/OiBzdHJpbmc7XG4gIHBhc3Njb2RlRW5jcnlwdGlvbkNvZGU/OiBzdHJpbmc7XG4gIGFjdGl2YXRpb25Db2RlPzogc3RyaW5nO1xuICB3YWxsZXRLZXlJRD86IHN0cmluZztcbiAgYmFja3VwS2V5SUQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVdhbGxldCB7XG4gIGJpdGdvOiBCaXRHb0Jhc2U7XG4gIGJhc2VDb2luOiBJQmFzZUNvaW47XG4gIHVybChleHRyYT86IHN0cmluZyk6IHN0cmluZztcbiAgaWQoKTogc3RyaW5nO1xuICBhcHByb3ZhbHNSZXF1aXJlZCgpOiBudW1iZXI7XG4gIGJhbGFuY2UoKTogbnVtYmVyO1xuICBwcmVidWlsZFdoaXRlbGlzdGVkUGFyYW1zKCk6IHN0cmluZ1tdO1xuICBwcmVidWlsZENvbnNvbGlkYXRlQWNjb3VudFBhcmFtcygpOiBzdHJpbmdbXTtcbiAgY29uZmlybWVkQmFsYW5jZSgpOiBudW1iZXI7XG4gIHNwZW5kYWJsZUJhbGFuY2UoKTogbnVtYmVyO1xuICBiYWxhbmNlU3RyaW5nKCk6IHN0cmluZztcbiAgY29uZmlybWVkQmFsYW5jZVN0cmluZygpOiBzdHJpbmc7XG4gIHNwZW5kYWJsZUJhbGFuY2VTdHJpbmcoKTogc3RyaW5nO1xuICBjb2luKCk6IHN0cmluZztcbiAgbGFiZWwoKTogc3RyaW5nO1xuICBrZXlJZHMoKTogc3RyaW5nW107XG4gIHJlY2VpdmVBZGRyZXNzKCk6IHN0cmluZztcbiAgbWlncmF0ZWRGcm9tKCk6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgdG9rZW5GbHVzaFRocmVzaG9sZHMoKTogYW55O1xuICBjb2luU3BlY2lmaWMoKTogV2FsbGV0Q29pblNwZWNpZmljIHwgdW5kZWZpbmVkO1xuICBwZW5kaW5nQXBwcm92YWxzKCk6IElQZW5kaW5nQXBwcm92YWxbXTtcbiAgcmVmcmVzaChwYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCBuZXZlcj4pOiBQcm9taXNlPElXYWxsZXQ+O1xuICB0cmFuc2FjdGlvbnMocGFyYW1zPzogUGFnaW5hdGlvbk9wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIGdldFRyYW5zYWN0aW9uKHBhcmFtcz86IEdldFRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgdHJhbnNmZXJzKHBhcmFtcz86IFRyYW5zZmVyc09wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIGdldFRyYW5zZmVyKHBhcmFtcz86IEdldFRyYW5zZmVyT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgdHJhbnNmZXJCeVNlcXVlbmNlSWQocGFyYW1zPzogVHJhbnNmZXJCeVNlcXVlbmNlSWRPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBtYXhpbXVtU3BlbmRhYmxlKHBhcmFtcz86IE1heGltdW1TcGVuZGFibGVPcHRpb25zKTogUHJvbWlzZTxNYXhpbXVtU3BlbmRhYmxlPjtcbiAgdW5zcGVudHMocGFyYW1zPzogVW5zcGVudHNPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBjb25zb2xpZGF0ZVVuc3BlbnRzKHBhcmFtcz86IENvbnNvbGlkYXRlVW5zcGVudHNPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBmYW5vdXRVbnNwZW50cyhwYXJhbXM/OiBGYW5vdXRVbnNwZW50c09wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIHVwZGF0ZVRva2VuRmx1c2hUaHJlc2hvbGRzKHRocmVzaG9sZHM/OiBhbnkpOiBQcm9taXNlPGFueT47XG4gIHVwZGF0ZUZvcndhcmRlcnMoZm9yd2FyZGVyRmxhZ3M/OiBhbnkpOiBQcm9taXNlPGFueT47XG4gIGRlcGxveUZvcndhcmRlcnMocGFyYW1zOiBEZXBsb3lGb3J3YXJkZXJzT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgZmx1c2hGb3J3YXJkZXJUb2tlbihwYXJhbXM6IEZsdXNoRm9yd2FyZGVyVG9rZW5PcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBzd2VlcChwYXJhbXM/OiBTd2VlcE9wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIGZyZWV6ZShwYXJhbXM/OiBGcmVlemVPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICB0cmFuc2ZlckNvbW1lbnQocGFyYW1zPzogVHJhbnNmZXJDb21tZW50T3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgYWRkcmVzc2VzKHBhcmFtcz86IEFkZHJlc3Nlc09wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIGdldEFkZHJlc3MocGFyYW1zPzogR2V0QWRkcmVzc09wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIGNyZWF0ZUFkZHJlc3MocGFyYW1zPzogQ3JlYXRlQWRkcmVzc09wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIHVwZGF0ZUFkZHJlc3MocGFyYW1zPzogVXBkYXRlQWRkcmVzc09wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIGxpc3RXZWJob29rcyhwYXJhbXM/OiBQYWdpbmF0aW9uT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgc2ltdWxhdGVXZWJob29rKHBhcmFtcz86IFNpbXVsYXRlV2ViaG9va09wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIGFkZFdlYmhvb2socGFyYW1zPzogTW9kaWZ5V2ViaG9va09wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIHJlbW92ZVdlYmhvb2socGFyYW1zPzogTW9kaWZ5V2ViaG9va09wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIGdldEVuY3J5cHRlZFVzZXJLZXljaGFpbihwYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCBuZXZlcj4pOiBQcm9taXNlPHsgZW5jcnlwdGVkUHJ2OiBzdHJpbmcgfT47XG4gIGdldFBydihwYXJhbXM/OiBHZXRQcnZPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBjcmVhdGVTaGFyZShwYXJhbXM/OiBDcmVhdGVTaGFyZU9wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIHNoYXJlV2FsbGV0KHBhcmFtcz86IFNoYXJlV2FsbGV0T3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgcmVtb3ZlVXNlcihwYXJhbXM/OiBSZW1vdmVVc2VyT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgcHJlYnVpbGRUcmFuc2FjdGlvbihwYXJhbXM/OiBQcmVidWlsZFRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8UHJlYnVpbGRUcmFuc2FjdGlvblJlc3VsdD47XG4gIHNpZ25UcmFuc2FjdGlvbihwYXJhbXM/OiBXYWxsZXRTaWduVHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxTaWduZWRUcmFuc2FjdGlvbj47XG4gIGdldFVzZXJQcnYocGFyYW1zPzogR2V0VXNlclBydk9wdGlvbnMpOiBzdHJpbmc7XG4gIHByZWJ1aWxkQW5kU2lnblRyYW5zYWN0aW9uKHBhcmFtcz86IFByZWJ1aWxkQW5kU2lnblRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8U2lnbmVkVHJhbnNhY3Rpb24+O1xuICBhY2NlbGVyYXRlVHJhbnNhY3Rpb24ocGFyYW1zPzogQWNjZWxlcmF0ZVRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgc3VibWl0VHJhbnNhY3Rpb24ocGFyYW1zPzogU3VibWl0VHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBzZW5kKHBhcmFtcz86IFNlbmRPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBzZW5kTWFueShwYXJhbXM/OiBTZW5kTWFueU9wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIHJlY292ZXJUb2tlbihwYXJhbXM/OiBSZWNvdmVyVG9rZW5PcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBnZXRGaXJzdFBlbmRpbmdUcmFuc2FjdGlvbihwYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCBuZXZlcj4pOiBQcm9taXNlPGFueT47XG4gIGNoYW5nZUZlZShwYXJhbXM/OiBDaGFuZ2VGZWVPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBnZXRQYXltZW50SW5mbyhwYXJhbXM/OiB7IHVybD86IHN0cmluZyB9KTogUHJvbWlzZTxhbnk+O1xuICBzZW5kUGF5bWVudFJlc3BvbnNlKHBhcmFtcz86IGFueSk6IFByb21pc2U8YW55PjtcbiAgY3JlYXRlUG9saWN5UnVsZShwYXJhbXM/OiBDcmVhdGVQb2xpY3lSdWxlT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgc2V0UG9saWN5UnVsZShwYXJhbXM/OiBhbnkpOiBhbnk7XG4gIHJlbW92ZVBvbGljeVJ1bGUocGFyYW1zPzogUmVtb3ZlUG9saWN5UnVsZU9wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIHJlbW92ZShwYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCBuZXZlcj4pOiBQcm9taXNlPGFueT47XG4gIHRvSlNPTigpOiBXYWxsZXREYXRhO1xuICB0b1RyYWRpbmdBY2NvdW50KCk6IElUcmFkaW5nQWNjb3VudDtcbiAgdG9TdGFraW5nV2FsbGV0KCk6IElTdGFraW5nV2FsbGV0O1xuICBkb3dubG9hZEtleWNhcmQocGFyYW1zPzogRG93bmxvYWRLZXljYXJkT3B0aW9ucyk6IHZvaWQ7XG4gIGJ1aWxkQWNjb3VudENvbnNvbGlkYXRpb25zKHBhcmFtcz86IEJ1aWxkQ29uc29saWRhdGlvblRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8UHJlYnVpbGRUcmFuc2FjdGlvblJlc3VsdFtdPjtcbiAgc2VuZEFjY291bnRDb25zb2xpZGF0aW9uKHBhcmFtcz86IFByZWJ1aWxkQW5kU2lnblRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgc2VuZEFjY291bnRDb25zb2xpZGF0aW9ucyhwYXJhbXM/OiBCdWlsZENvbnNvbGlkYXRpb25UcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIGJ1aWxkVG9rZW5FbmFibGVtZW50cyhwYXJhbXM/OiBCdWlsZFRva2VuRW5hYmxlbWVudE9wdGlvbnMpOiBQcm9taXNlPFByZWJ1aWxkVHJhbnNhY3Rpb25SZXN1bHRbXT47XG4gIHNlbmRUb2tlbkVuYWJsZW1lbnQocGFyYW1zPzogUHJlYnVpbGRBbmRTaWduVHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBzZW5kVG9rZW5FbmFibGVtZW50cyhwYXJhbXM/OiBCdWlsZFRva2VuRW5hYmxlbWVudE9wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIGxpZ2h0bmluZygpOiBJTGlnaHRuaW5nO1xufVxuIl19
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaVdhbGxldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iaXRnby93YWxsZXQvaVdhbGxldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVJlcXVlc3RUcmFjZXIgfSBmcm9tICcuLi8uLi9hcGknO1xuaW1wb3J0IHtcbiAgSUJhc2VDb2luLFxuICBNZXNzYWdlUHJlYnVpbGQsXG4gIFNpZ25lZE1lc3NhZ2UsXG4gIFNpZ25lZFRyYW5zYWN0aW9uLFxuICBUcmFuc2FjdGlvblByZWJ1aWxkLFxuICBWZXJpZmljYXRpb25PcHRpb25zLFxufSBmcm9tICcuLi9iYXNlQ29pbic7XG5pbXBvcnQgeyBCaXRHb0Jhc2UgfSBmcm9tICcuLi9iaXRnb0Jhc2UnO1xuaW1wb3J0IHsgS2V5Y2hhaW4gfSBmcm9tICcuLi9rZXljaGFpbic7XG5pbXBvcnQgeyBJUGVuZGluZ0FwcHJvdmFsLCBQZW5kaW5nQXBwcm92YWxEYXRhIH0gZnJvbSAnLi4vcGVuZGluZ0FwcHJvdmFsJztcbmltcG9ydCB7IElTdGFraW5nV2FsbGV0IH0gZnJvbSAnLi4vc3Rha2luZyc7XG5pbXBvcnQgeyBJVHJhZGluZ0FjY291bnQgfSBmcm9tICcuLi90cmFkaW5nJztcbmltcG9ydCB7IFRva2VuRW5hYmxlbWVudCB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IElMaWdodG5pbmcgfSBmcm9tICcuLi9saWdodG5pbmcnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1heGltdW1TcGVuZGFibGVPcHRpb25zIHtcbiAgbWluVmFsdWU/OiBudW1iZXIgfCBzdHJpbmc7XG4gIG1heFZhbHVlPzogbnVtYmVyIHwgc3RyaW5nO1xuICBtaW5IZWlnaHQ/OiBudW1iZXI7XG4gIG1pbkNvbmZpcm1zPzogbnVtYmVyO1xuICBlbmZvcmNlTWluQ29uZmlybXNGb3JDaGFuZ2U/OiBib29sZWFuO1xuICBmZWVSYXRlPzogbnVtYmVyO1xuICBtYXhGZWVSYXRlPzogbnVtYmVyO1xuICByZWNpcGllbnRBZGRyZXNzPzogc3RyaW5nO1xuICBsaW1pdD86IG51bWJlcjtcbiAgdGFyZ2V0PzogbnVtYmVyO1xuICBwbGFpblRhcmdldD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNYXhpbXVtU3BlbmRhYmxlIHtcbiAgbWF4aW11bVNwZW5kYWJsZTogbnVtYmVyO1xuICBjb2luOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVtbyB7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCdWlsZENvbnNvbGlkYXRpb25UcmFuc2FjdGlvbk9wdGlvbnMgZXh0ZW5kcyBQcmVidWlsZFRyYW5zYWN0aW9uT3B0aW9ucyB7XG4gIGNvbnNvbGlkYXRlQWRkcmVzc2VzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGRUb2tlbkVuYWJsZW1lbnRPcHRpb25zIGV4dGVuZHMgUHJlYnVpbGRUcmFuc2FjdGlvbk9wdGlvbnMge1xuICBlbmFibGVUb2tlbnM6IFRva2VuRW5hYmxlbWVudFtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByZWJ1aWxkVHJhbnNhY3Rpb25PcHRpb25zIHtcbiAgcmVxSWQ/OiBJUmVxdWVzdFRyYWNlcjtcbiAgcmVjaXBpZW50cz86IHtcbiAgICBhZGRyZXNzOiBzdHJpbmc7XG4gICAgYW1vdW50OiBzdHJpbmcgfCBudW1iZXI7XG4gICAgdG9rZW5OYW1lPzogc3RyaW5nO1xuICB9W107XG4gIG51bUJsb2Nrcz86IG51bWJlcjtcbiAgbWF4RmVlUmF0ZT86IG51bWJlcjtcbiAgbWluQ29uZmlybXM/OiBudW1iZXI7XG4gIGVuZm9yY2VNaW5Db25maXJtc0ZvckNoYW5nZT86IGJvb2xlYW47XG4gIHRhcmdldFdhbGxldFVuc3BlbnRzPzogbnVtYmVyO1xuICBtaW5WYWx1ZT86IG51bWJlcjtcbiAgbWF4VmFsdWU/OiBudW1iZXI7XG4gIHNlcXVlbmNlSWQ/OiBzdHJpbmc7XG4gIGxhc3RMZWRnZXJTZXF1ZW5jZT86IG51bWJlcjtcbiAgbGVkZ2VyU2VxdWVuY2VEZWx0YT86IG51bWJlcjtcbiAgZ2FzUHJpY2U/OiBudW1iZXI7XG4gIG5vU3BsaXRDaGFuZ2U/OiBib29sZWFuO1xuICB1bnNwZW50cz86IGFueVtdO1xuICBjaGFuZ2VBZGRyZXNzPzogc3RyaW5nO1xuICB0eXBlPzogc3RyaW5nO1xuICBjbG9zZVJlbWFpbmRlclRvPzogc3RyaW5nO1xuICBub25QYXJ0aWNpcGF0aW9uPzogYm9vbGVhbjtcbiAgdmFsaWRGcm9tQmxvY2s/OiBudW1iZXI7XG4gIHZhbGlkVG9CbG9jaz86IG51bWJlcjtcbiAgaW5zdGFudD86IGJvb2xlYW47XG4gIG1lbW8/OiBNZW1vO1xuICBhZGRyZXNzVHlwZT86IHN0cmluZztcbiAgaG9wPzogYm9vbGVhbjtcbiAgd2FsbGV0UGFzc3BocmFzZT86IHN0cmluZztcbiAgcmVzZXJ2YXRpb24/OiB7XG4gICAgZXhwaXJlVGltZT86IHN0cmluZztcbiAgICBwZW5kaW5nQXBwcm92YWxJZD86IHN0cmluZztcbiAgfTtcbiAgb2ZmbGluZVZlcmlmaWNhdGlvbj86IGJvb2xlYW47XG4gIHdhbGxldENvbnRyYWN0QWRkcmVzcz86IHN0cmluZztcbiAgaWRmU2lnbmVkVGltZXN0YW1wPzogc3RyaW5nO1xuICBpZGZVc2VySWQ/OiBzdHJpbmc7XG4gIGlkZlZlcnNpb24/OiBudW1iZXI7XG4gIGNvbW1lbnQ/OiBzdHJpbmc7XG4gIFtpbmRleDogc3RyaW5nXTogdW5rbm93bjtcbiAgdG9rZW5OYW1lPzogc3RyaW5nO1xuICBlbmFibGVUb2tlbnM/OiBUb2tlbkVuYWJsZW1lbnRbXTtcbiAgbm9uY2U/OiBzdHJpbmc7XG4gIHByZXZpZXc/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByZWJ1aWxkQW5kU2lnblRyYW5zYWN0aW9uT3B0aW9ucyBleHRlbmRzIFByZWJ1aWxkVHJhbnNhY3Rpb25PcHRpb25zLCBXYWxsZXRTaWduVHJhbnNhY3Rpb25PcHRpb25zIHtcbiAgcHJlYnVpbGRUeD86IHN0cmluZyB8IFByZWJ1aWxkVHJhbnNhY3Rpb25SZXN1bHQ7XG4gIHZlcmlmaWNhdGlvbj86IFZlcmlmaWNhdGlvbk9wdGlvbnM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJlYnVpbGRUcmFuc2FjdGlvblJlc3VsdCBleHRlbmRzIFRyYW5zYWN0aW9uUHJlYnVpbGQge1xuICB3YWxsZXRJZDogc3RyaW5nO1xuICAvLyBDb25zb2xpZGF0ZSBJRCBpcyB1c2VkIGZvciBjb25zb2xpZGF0ZSBhY2NvdW50IHRyYW5zYWN0aW9ucyBhbmQgaW5kaWNhdGVzIGlmIHRoaXMgaXNcbiAgLy8gYSBjb25zb2xpZGF0aW9uIGFuZCB3aGF0IGNvbnNvbGlkYXRlIGdyb3VwIGl0IHNob3VsZCBiZSByZWZlcmVuY2VkIGJ5LlxuICBjb25zb2xpZGF0ZUlkPzogc3RyaW5nO1xuICBjb25zb2xpZGF0aW9uRGV0YWlscz86IHtcbiAgICBzZW5kZXJBZGRyZXNzSW5kZXg6IG51bWJlcjtcbiAgfTtcbiAgZmVlSW5mbz86IHtcbiAgICBmZWU/OiBudW1iZXI7XG4gICAgZmVlU3RyaW5nPzogc3RyaW5nO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEN1c3RvbVNpZ25pbmdGdW5jdGlvbiB7XG4gIChwYXJhbXM6IHsgY29pbjogSUJhc2VDb2luOyB0eFByZWJ1aWxkOiBUcmFuc2FjdGlvblByZWJ1aWxkOyBwdWJzPzogc3RyaW5nW10gfSk6IFByb21pc2U8U2lnbmVkVHJhbnNhY3Rpb24+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdhbGxldFNpZ25CYXNlT3B0aW9ucyB7XG4gIHJlcUlkPzogSVJlcXVlc3RUcmFjZXI7XG4gIHBydj86IHN0cmluZztcbiAgcHVicz86IHN0cmluZ1tdO1xuICBjb3NpZ25lclB1Yj86IHN0cmluZztcbiAgaXNMYXN0U2lnbmF0dXJlPzogYm9vbGVhbjtcbiAgY3VzdG9tU2lnbmluZ0Z1bmN0aW9uPzogQ3VzdG9tU2lnbmluZ0Z1bmN0aW9uO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdhbGxldFNpZ25UcmFuc2FjdGlvbk9wdGlvbnMgZXh0ZW5kcyBXYWxsZXRTaWduQmFzZU9wdGlvbnMge1xuICB0eFByZWJ1aWxkPzogVHJhbnNhY3Rpb25QcmVidWlsZDtcbiAgW2luZGV4OiBzdHJpbmddOiB1bmtub3duO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdhbGxldFNpZ25NZXNzYWdlT3B0aW9ucyBleHRlbmRzIFdhbGxldFNpZ25CYXNlT3B0aW9ucyB7XG4gIG1lc3NhZ2VQcmVidWlsZD86IE1lc3NhZ2VQcmVidWlsZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRVc2VyUHJ2T3B0aW9ucyB7XG4gIGtleWNoYWluPzogS2V5Y2hhaW47XG4gIGtleT86IEtleWNoYWluO1xuICBwcnY/OiBzdHJpbmc7XG4gIGNvbGREZXJpdmF0aW9uU2VlZD86IHN0cmluZztcbiAgd2FsbGV0UGFzc3BocmFzZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXYWxsZXRDb2luU3BlY2lmaWMge1xuICB0b2tlbkZsdXNoVGhyZXNob2xkcz86IGFueTtcbiAgYWRkcmVzc1ZlcnNpb24/OiBudW1iZXI7XG4gIGJhc2VBZGRyZXNzPzogc3RyaW5nO1xuICByb290QWRkcmVzcz86IHN0cmluZztcbiAgY3VzdG9tQ2hhbmdlV2FsbGV0SWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYWdpbmF0aW9uT3B0aW9ucyB7XG4gIHByZXZJZD86IHN0cmluZztcbiAgbGltaXQ/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0VHJhbnNhY3Rpb25PcHRpb25zIGV4dGVuZHMgUGFnaW5hdGlvbk9wdGlvbnMge1xuICB0eEhhc2g/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNmZXJzT3B0aW9ucyBleHRlbmRzIFBhZ2luYXRpb25PcHRpb25zIHtcbiAgdHhIYXNoPzogc3RyaW5nO1xuICBhbGxUb2tlbnM/OiBib29sZWFuO1xuICBzZWFyY2hMYWJlbD86IHN0cmluZztcbiAgYWRkcmVzcz86IHN0cmluZ1tdIHwgc3RyaW5nO1xuICBkYXRlR3RlPzogc3RyaW5nO1xuICBkYXRlTHQ/OiBzdHJpbmc7XG4gIHZhbHVlR3RlPzogbnVtYmVyO1xuICB2YWx1ZUx0PzogbnVtYmVyO1xuICBpbmNsdWRlSGV4PzogYm9vbGVhbjtcbiAgc3RhdGU/OiBzdHJpbmdbXSB8IHN0cmluZztcbiAgdHlwZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRUcmFuc2Zlck9wdGlvbnMge1xuICBpZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2ZlckJ5U2VxdWVuY2VJZE9wdGlvbnMge1xuICBzZXF1ZW5jZUlkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVuc3BlbnRzT3B0aW9ucyBleHRlbmRzIFBhZ2luYXRpb25PcHRpb25zIHtcbiAgbWluVmFsdWU/OiBudW1iZXI7XG4gIG1heFZhbHVlPzogbnVtYmVyO1xuICBtaW5IZWlnaHQ/OiBudW1iZXI7XG4gIG1pbkNvbmZpcm1zPzogbnVtYmVyO1xuICB0YXJnZXQ/OiBudW1iZXI7XG4gIHNlZ3dpdD86IGJvb2xlYW47XG4gIGNoYWlucz86IG51bWJlcltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbnNvbGlkYXRlVW5zcGVudHNPcHRpb25zIGV4dGVuZHMgV2FsbGV0U2lnblRyYW5zYWN0aW9uT3B0aW9ucyB7XG4gIHdhbGxldFBhc3NwaHJhc2U/OiBzdHJpbmc7XG4gIHhwcnY/OiBzdHJpbmc7XG4gIG1pblZhbHVlPzogbnVtYmVyO1xuICBtYXhWYWx1ZT86IG51bWJlcjtcbiAgbWluSGVpZ2h0PzogbnVtYmVyO1xuICBudW1VbnNwZW50c1RvTWFrZT86IG51bWJlcjtcbiAgZmVlVHhDb25maXJtVGFyZ2V0PzogbnVtYmVyO1xuICBsaW1pdD86IG51bWJlcjtcbiAgbWluQ29uZmlybXM/OiBudW1iZXI7XG4gIGVuZm9yY2VNaW5Db25maXJtc0ZvckNoYW5nZT86IGJvb2xlYW47XG4gIGZlZVJhdGU/OiBudW1iZXI7XG4gIG1heEZlZVJhdGU/OiBudW1iZXI7XG4gIG1heEZlZVBlcmNlbnRhZ2U/OiBudW1iZXI7XG4gIGNvbW1lbnQ/OiBzdHJpbmc7XG4gIG90cD86IHN0cmluZztcbiAgdGFyZ2V0QWRkcmVzcz86IHN0cmluZztcbiAgW2luZGV4OiBzdHJpbmddOiB1bmtub3duO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZhbm91dFVuc3BlbnRzT3B0aW9ucyBleHRlbmRzIFdhbGxldFNpZ25UcmFuc2FjdGlvbk9wdGlvbnMge1xuICB3YWxsZXRQYXNzcGhyYXNlPzogc3RyaW5nO1xuICB4cHJ2Pzogc3RyaW5nO1xuICBtaW5WYWx1ZT86IG51bWJlcjtcbiAgbWF4VmFsdWU/OiBudW1iZXI7XG4gIG1pbkhlaWdodD86IG51bWJlcjtcbiAgbWF4TnVtSW5wdXRzVG9Vc2U/OiBudW1iZXI7XG4gIG51bVVuc3BlbnRzVG9NYWtlPzogbnVtYmVyO1xuICBtaW5Db25maXJtcz86IG51bWJlcjtcbiAgZW5mb3JjZU1pbkNvbmZpcm1zRm9yQ2hhbmdlPzogYm9vbGVhbjtcbiAgZmVlUmF0ZT86IG51bWJlcjtcbiAgbWF4RmVlUmF0ZT86IG51bWJlcjtcbiAgbWF4RmVlUGVyY2VudGFnZT86IG51bWJlcjtcbiAgZmVlVHhDb25maXJtVGFyZ2V0PzogbnVtYmVyO1xuICBjb21tZW50Pzogc3RyaW5nO1xuICBvdHA/OiBzdHJpbmc7XG4gIHRhcmdldEFkZHJlc3M/OiBzdHJpbmc7XG4gIFtpbmRleDogc3RyaW5nXTogdW5rbm93bjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTd2VlcE9wdGlvbnMge1xuICBhZGRyZXNzPzogc3RyaW5nO1xuICB3YWxsZXRQYXNzcGhyYXNlPzogc3RyaW5nO1xuICB4cHJ2Pzogc3RyaW5nO1xuICBvdHA/OiBzdHJpbmc7XG4gIGZlZVJhdGU/OiBudW1iZXI7XG4gIG1heEZlZVJhdGU/OiBudW1iZXI7XG4gIGZlZVR4Q29uZmlybVRhcmdldD86IG51bWJlcjtcbiAgYWxsb3dQYXJ0aWFsU3dlZXA/OiBib29sZWFuO1xuICBbaW5kZXg6IHN0cmluZ106IHVua25vd247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRnJlZXplT3B0aW9ucyB7XG4gIGR1cmF0aW9uPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zZmVyQ29tbWVudE9wdGlvbnMge1xuICBpZD86IHN0cmluZztcbiAgY29tbWVudD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBZGRyZXNzZXNPcHRpb25zIGV4dGVuZHMgUGFnaW5hdGlvbk9wdGlvbnMge1xuICBtaW5lPzogYm9vbGVhbjtcbiAgc29ydD86IG51bWJlcjtcbiAgbGFiZWxDb250YWlucz86IHN0cmluZztcbiAgc2Vnd2l0PzogYm9vbGVhbjtcbiAgY2hhaW5zPzogbnVtYmVyW107XG4gIGluY2x1ZGVCYWxhbmNlcz86IGJvb2xlYW47XG4gIGluY2x1ZGVUb2tlbnM/OiBib29sZWFuO1xuICBpbmNsdWRlVG90YWxBZGRyZXNzQ291bnQ/OiBib29sZWFuO1xuICByZXR1cm5CYWxhbmNlc0ZvclRva2VuPzogc3RyaW5nO1xuICBwZW5kaW5nRGVwbG95bWVudD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0QWRkcmVzc09wdGlvbnMge1xuICBhZGRyZXNzPzogc3RyaW5nO1xuICBpZD86IHN0cmluZztcbiAgcmVxSWQ/OiBJUmVxdWVzdFRyYWNlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZXBsb3lGb3J3YXJkZXJzT3B0aW9ucyB7XG4gIGFkZHJlc3M/OiBzdHJpbmc7XG4gIGlkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZsdXNoRm9yd2FyZGVyVG9rZW5PcHRpb25zIHtcbiAgYWRkcmVzcz86IHN0cmluZztcbiAgaWQ/OiBzdHJpbmc7XG4gIHRva2VuTmFtZTogc3RyaW5nO1xuICBnYXNQcmljZT86IG51bWJlcjtcbiAgZWlwMTU1OT86IHtcbiAgICBtYXhQcmlvcml0eUZlZVBlckdhczogbnVtYmVyO1xuICAgIG1heEZlZVBlckdhczogbnVtYmVyO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZUFkZHJlc3NPcHRpb25zIHtcbiAgY2hhaW4/OiBudW1iZXI7XG4gIGdhc1ByaWNlPzogbnVtYmVyIHwgc3RyaW5nO1xuICBjb3VudD86IG51bWJlcjtcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIGxvd1ByaW9yaXR5PzogYm9vbGVhbjtcbiAgZm9yd2FyZGVyVmVyc2lvbj86IG51bWJlcjtcbiAgZm9ybWF0PzogJ2Jhc2U1OCcgfCAnY2FzaGFkZHInO1xuICBiYXNlQWRkcmVzcz86IHN0cmluZztcbiAgYWxsb3dTa2lwVmVyaWZ5QWRkcmVzcz86IGJvb2xlYW47XG4gIGRlcml2ZWRBZGRyZXNzPzogc3RyaW5nO1xuICBpbmRleD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVBZGRyZXNzT3B0aW9ucyB7XG4gIGxhYmVsPzogc3RyaW5nO1xuICBhZGRyZXNzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNpbXVsYXRlV2ViaG9va09wdGlvbnMge1xuICB3ZWJob29rSWQ/OiBzdHJpbmc7XG4gIHRyYW5zZmVySWQ/OiBzdHJpbmc7XG4gIHBlbmRpbmdBcHByb3ZhbElkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1vZGlmeVdlYmhvb2tPcHRpb25zIHtcbiAgdXJsPzogc3RyaW5nO1xuICB0eXBlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldFBydk9wdGlvbnMge1xuICBwcnY/OiBzdHJpbmc7XG4gIHdhbGxldFBhc3NwaHJhc2U/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlU2hhcmVPcHRpb25zIHtcbiAgdXNlcj86IHN0cmluZztcbiAgcGVybWlzc2lvbnM/OiBzdHJpbmc7XG4gIGtleWNoYWluPzoge1xuICAgIC8vIEluIHRoZSBjb250ZXh0IG9mIHdhbGxldCBzaGFyaW5nLCBwdWIgY2FuIHJlcHJlc2VudCBvbmUgb2Y6XG4gICAgLy8gcHViIChpbmRlcGVuZGFudCBtdWx0aSBzaWcpLCBjb21tb25QdWIgKGJscyksIG9yIGNvbW1vblB1YiBwb3J0aW9uIG9mIGNvbW1vbktleWNoYWluIChUU1MpXG4gICAgcHViPzogc3RyaW5nO1xuICAgIGVuY3J5cHRlZFBydj86IHN0cmluZztcbiAgICBmcm9tUHViS2V5Pzogc3RyaW5nO1xuICAgIHRvUHViS2V5Pzogc3RyaW5nO1xuICAgIHBhdGg/OiBzdHJpbmc7XG4gIH07XG4gIHJlc2hhcmU/OiBib29sZWFuO1xuICBtZXNzYWdlPzogc3RyaW5nO1xuICBkaXNhYmxlRW1haWw/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNoYXJlV2FsbGV0T3B0aW9ucyB7XG4gIGVtYWlsPzogc3RyaW5nO1xuICBwZXJtaXNzaW9ucz86IHN0cmluZztcbiAgd2FsbGV0UGFzc3BocmFzZT86IHN0cmluZztcbiAgbWVzc2FnZT86IHN0cmluZztcbiAgcmVzaGFyZT86IGJvb2xlYW47XG4gIHNraXBLZXljaGFpbj86IGJvb2xlYW47XG4gIGRpc2FibGVFbWFpbD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVtb3ZlVXNlck9wdGlvbnMge1xuICB1c2VySWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWNjZWxlcmF0ZVRyYW5zYWN0aW9uT3B0aW9ucyB7XG4gIGNwZnBUeElkcz86IHN0cmluZ1tdO1xuICBjcGZwRmVlUmF0ZT86IG51bWJlcjtcbiAgbm9DcGZwRmVlUmF0ZT86IGJvb2xlYW47XG4gIG1heEZlZT86IG51bWJlcjtcbiAgbm9NYXhGZWU/OiBib29sZWFuO1xuICByZWNpcGllbnRzPzoge1xuICAgIGFkZHJlc3M6IHN0cmluZztcbiAgICBhbW91bnQ6IHN0cmluZztcbiAgfVtdO1xuICBbaW5kZXg6IHN0cmluZ106IHVua25vd247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3VibWl0VHJhbnNhY3Rpb25PcHRpb25zIHtcbiAgb3RwPzogc3RyaW5nO1xuICB0eEhleD86IHN0cmluZztcbiAgaGFsZlNpZ25lZD86IHtcbiAgICB0eEhleD86IHN0cmluZzsgLy8gVHJhbnNhY3Rpb24gaW4gYW55IGZvcm1hdCByZXF1aXJlZCBieSBlYWNoIGNvaW4sIGkuZS4gaW4gVHJvbiBpdCBpcyBhIHN0cmluZ2lmeWVkIEpTT05cbiAgICBwYXlsb2FkPzogc3RyaW5nO1xuICAgIHR4QmFzZTY0Pzogc3RyaW5nO1xuICB9O1xuICBjb21tZW50Pzogc3RyaW5nO1xuICB0eFJlcXVlc3RJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZW5kT3B0aW9ucyB7XG4gIGFkZHJlc3M/OiBzdHJpbmc7XG4gIGFtb3VudD86IG51bWJlciB8IHN0cmluZztcbiAgZGF0YT86IHN0cmluZztcbiAgZmVlTGltaXQ/OiBzdHJpbmc7XG4gIG1lc3NhZ2U/OiBzdHJpbmc7XG4gIHdhbGxldFBhc3NwaHJhc2U/OiBzdHJpbmc7XG4gIHBydj86IHN0cmluZztcbiAgbWluQ29uZmlybXM/OiBudW1iZXI7XG4gIGVuZm9yY2VNaW5Db25maXJtc0ZvckNoYW5nZT86IGJvb2xlYW47XG4gIGN1c3RvZGlhblRyYW5zYWN0aW9uSWQ/OiBzdHJpbmc7XG4gIFtpbmRleDogc3RyaW5nXTogdW5rbm93bjtcbiAgdG9rZW5OYW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlbmRNYW55T3B0aW9ucyBleHRlbmRzIFByZWJ1aWxkQW5kU2lnblRyYW5zYWN0aW9uT3B0aW9ucyB7XG4gIHJlcUlkPzogSVJlcXVlc3RUcmFjZXI7XG4gIHJlY2lwaWVudHM/OiB7XG4gICAgYWRkcmVzczogc3RyaW5nO1xuICAgIGFtb3VudDogc3RyaW5nIHwgbnVtYmVyO1xuICAgIGZlZUxpbWl0Pzogc3RyaW5nO1xuICAgIGRhdGE/OiBzdHJpbmc7XG4gICAgdG9rZW5OYW1lPzogc3RyaW5nO1xuICB9W107XG4gIG51bUJsb2Nrcz86IG51bWJlcjtcbiAgZmVlUmF0ZT86IG51bWJlcjtcbiAgbWF4RmVlUmF0ZT86IG51bWJlcjtcbiAgbWluQ29uZmlybXM/OiBudW1iZXI7XG4gIGVuZm9yY2VNaW5Db25maXJtc0ZvckNoYW5nZT86IGJvb2xlYW47XG4gIHRhcmdldFdhbGxldFVuc3BlbnRzPzogbnVtYmVyO1xuICBtZXNzYWdlPzogc3RyaW5nO1xuICBtaW5WYWx1ZT86IG51bWJlcjtcbiAgbWF4VmFsdWU/OiBudW1iZXI7XG4gIHNlcXVlbmNlSWQ/OiBzdHJpbmc7XG4gIGxhc3RMZWRnZXJTZXF1ZW5jZT86IG51bWJlcjtcbiAgbGVkZ2VyU2VxdWVuY2VEZWx0YT86IG51bWJlcjtcbiAgZ2FzUHJpY2U/OiBudW1iZXI7XG4gIG5vU3BsaXRDaGFuZ2U/OiBib29sZWFuO1xuICB1bnNwZW50cz86IHN0cmluZ1tdO1xuICBjb21tZW50Pzogc3RyaW5nO1xuICBvdHA/OiBzdHJpbmc7XG4gIGNoYW5nZUFkZHJlc3M/OiBzdHJpbmc7XG4gIGluc3RhbnQ/OiBib29sZWFuO1xuICBtZW1vPzogTWVtbztcbiAgdHJhbnNmZXJJZD86IG51bWJlcjtcbiAgW2luZGV4OiBzdHJpbmddOiB1bmtub3duO1xufVxuXG5leHBvcnQgdHlwZSBXYWxsZXRUeXBlID0gJ2JhY2tpbmcnIHwgJ2NvbGQnIHwgJ2N1c3RvZGlhbCcgfCAnY3VzdG9kaWFsUGFpcmVkJyB8ICdob3QnIHwgJ3RyYWRpbmcnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFdhbGxldERhdGEge1xuICBpZDogc3RyaW5nO1xuICBhcHByb3ZhbHNSZXF1aXJlZDogbnVtYmVyO1xuICBiYWxhbmNlOiBudW1iZXI7XG4gIGNvbmZpcm1lZEJhbGFuY2U6IG51bWJlcjtcbiAgc3BlbmRhYmxlQmFsYW5jZTogbnVtYmVyO1xuICBiYWxhbmNlU3RyaW5nOiBzdHJpbmc7XG4gIGNvbmZpcm1lZEJhbGFuY2VTdHJpbmc6IHN0cmluZztcbiAgc3BlbmRhYmxlQmFsYW5jZVN0cmluZzogc3RyaW5nO1xuICBjb2luOiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGtleXM6IHN0cmluZ1tdO1xuICByZWNlaXZlQWRkcmVzczoge1xuICAgIGFkZHJlc3M6IHN0cmluZztcbiAgfTtcbiAgbWlncmF0ZWRGcm9tPzogc3RyaW5nO1xuICBjb2luU3BlY2lmaWM6IFdhbGxldENvaW5TcGVjaWZpYztcbiAgcGVuZGluZ0FwcHJvdmFsczogUGVuZGluZ0FwcHJvdmFsRGF0YVtdO1xuICBlbnRlcnByaXNlOiBzdHJpbmc7XG4gIGN1c3RvbUNoYW5nZUtleVNpZ25hdHVyZXM/OiB7XG4gICAgdXNlcj86IHN0cmluZztcbiAgICBiYWNrdXA/OiBzdHJpbmc7XG4gICAgYml0Z28/OiBzdHJpbmc7XG4gIH07XG4gIG11bHRpc2lnVHlwZTogJ29uY2hhaW4nIHwgJ3Rzcyc7XG4gIHR5cGU/OiBXYWxsZXRUeXBlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlY292ZXJUb2tlbk9wdGlvbnMge1xuICB0b2tlbkNvbnRyYWN0QWRkcmVzcz86IHN0cmluZztcbiAgcmVjaXBpZW50Pzogc3RyaW5nO1xuICBicm9hZGNhc3Q/OiBib29sZWFuO1xuICB3YWxsZXRQYXNzcGhyYXNlPzogc3RyaW5nO1xuICBwcnY/OiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBFSVAxNTU5IHtcbiAgbWF4UHJpb3JpdHlGZWVQZXJHYXM6IHN0cmluZztcbiAgbWF4RmVlUGVyR2FzOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhbmdlRmVlT3B0aW9ucyB7XG4gIHR4aWQ/OiBzdHJpbmc7XG4gIGZlZT86IHN0cmluZztcbiAgZWlwMTU1OT86IEVJUDE1NTk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlUG9saWN5UnVsZU9wdGlvbnMge1xuICBpZD86IHN0cmluZztcbiAgdHlwZT86IHN0cmluZztcbiAgbWVzc2FnZT86IHN0cmluZztcbiAgY29uZGl0aW9uPzogdW5rbm93bjtcbiAgYWN0aW9uPzogdW5rbm93bjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZW1vdmVQb2xpY3lSdWxlT3B0aW9ucyB7XG4gIGlkPzogc3RyaW5nO1xuICBtZXNzYWdlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERvd25sb2FkS2V5Y2FyZE9wdGlvbnMge1xuICBqc1BERj86IGFueTtcbiAgUVJDb2RlPzogYW55O1xuICB1c2VyS2V5Y2hhaW4/OiBLZXljaGFpbjtcbiAgYmFja3VwS2V5Y2hhaW4/OiBLZXljaGFpbjtcbiAgYml0Z29LZXljaGFpbj86IEtleWNoYWluO1xuICBwYXNzcGhyYXNlPzogc3RyaW5nO1xuICBwYXNzY29kZUVuY3J5cHRpb25Db2RlPzogc3RyaW5nO1xuICBhY3RpdmF0aW9uQ29kZT86IHN0cmluZztcbiAgd2FsbGV0S2V5SUQ/OiBzdHJpbmc7XG4gIGJhY2t1cEtleUlEPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElXYWxsZXQge1xuICBiaXRnbzogQml0R29CYXNlO1xuICBiYXNlQ29pbjogSUJhc2VDb2luO1xuICB1cmwoZXh0cmE/OiBzdHJpbmcpOiBzdHJpbmc7XG4gIGlkKCk6IHN0cmluZztcbiAgYXBwcm92YWxzUmVxdWlyZWQoKTogbnVtYmVyO1xuICBiYWxhbmNlKCk6IG51bWJlcjtcbiAgcHJlYnVpbGRXaGl0ZWxpc3RlZFBhcmFtcygpOiBzdHJpbmdbXTtcbiAgcHJlYnVpbGRDb25zb2xpZGF0ZUFjY291bnRQYXJhbXMoKTogc3RyaW5nW107XG4gIGNvbmZpcm1lZEJhbGFuY2UoKTogbnVtYmVyO1xuICBzcGVuZGFibGVCYWxhbmNlKCk6IG51bWJlcjtcbiAgYmFsYW5jZVN0cmluZygpOiBzdHJpbmc7XG4gIGNvbmZpcm1lZEJhbGFuY2VTdHJpbmcoKTogc3RyaW5nO1xuICBzcGVuZGFibGVCYWxhbmNlU3RyaW5nKCk6IHN0cmluZztcbiAgY29pbigpOiBzdHJpbmc7XG4gIGxhYmVsKCk6IHN0cmluZztcbiAga2V5SWRzKCk6IHN0cmluZ1tdO1xuICByZWNlaXZlQWRkcmVzcygpOiBzdHJpbmc7XG4gIG1pZ3JhdGVkRnJvbSgpOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIHRva2VuRmx1c2hUaHJlc2hvbGRzKCk6IGFueTtcbiAgY29pblNwZWNpZmljKCk6IFdhbGxldENvaW5TcGVjaWZpYyB8IHVuZGVmaW5lZDtcbiAgcGVuZGluZ0FwcHJvdmFscygpOiBJUGVuZGluZ0FwcHJvdmFsW107XG4gIHJlZnJlc2gocGFyYW1zPzogUmVjb3JkPHN0cmluZywgbmV2ZXI+KTogUHJvbWlzZTxJV2FsbGV0PjtcbiAgdHJhbnNhY3Rpb25zKHBhcmFtcz86IFBhZ2luYXRpb25PcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBnZXRUcmFuc2FjdGlvbihwYXJhbXM/OiBHZXRUcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIHRyYW5zZmVycyhwYXJhbXM/OiBUcmFuc2ZlcnNPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBnZXRUcmFuc2ZlcihwYXJhbXM/OiBHZXRUcmFuc2Zlck9wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIHRyYW5zZmVyQnlTZXF1ZW5jZUlkKHBhcmFtcz86IFRyYW5zZmVyQnlTZXF1ZW5jZUlkT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgbWF4aW11bVNwZW5kYWJsZShwYXJhbXM/OiBNYXhpbXVtU3BlbmRhYmxlT3B0aW9ucyk6IFByb21pc2U8TWF4aW11bVNwZW5kYWJsZT47XG4gIHVuc3BlbnRzKHBhcmFtcz86IFVuc3BlbnRzT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgY29uc29saWRhdGVVbnNwZW50cyhwYXJhbXM/OiBDb25zb2xpZGF0ZVVuc3BlbnRzT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgZmFub3V0VW5zcGVudHMocGFyYW1zPzogRmFub3V0VW5zcGVudHNPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICB1cGRhdGVUb2tlbkZsdXNoVGhyZXNob2xkcyh0aHJlc2hvbGRzPzogYW55KTogUHJvbWlzZTxhbnk+O1xuICB1cGRhdGVGb3J3YXJkZXJzKGZvcndhcmRlckZsYWdzPzogYW55KTogUHJvbWlzZTxhbnk+O1xuICBkZXBsb3lGb3J3YXJkZXJzKHBhcmFtczogRGVwbG95Rm9yd2FyZGVyc09wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIGZsdXNoRm9yd2FyZGVyVG9rZW4ocGFyYW1zOiBGbHVzaEZvcndhcmRlclRva2VuT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgc3dlZXAocGFyYW1zPzogU3dlZXBPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBmcmVlemUocGFyYW1zPzogRnJlZXplT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgdHJhbnNmZXJDb21tZW50KHBhcmFtcz86IFRyYW5zZmVyQ29tbWVudE9wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIGFkZHJlc3NlcyhwYXJhbXM/OiBBZGRyZXNzZXNPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBnZXRBZGRyZXNzKHBhcmFtcz86IEdldEFkZHJlc3NPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBjcmVhdGVBZGRyZXNzKHBhcmFtcz86IENyZWF0ZUFkZHJlc3NPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICB1cGRhdGVBZGRyZXNzKHBhcmFtcz86IFVwZGF0ZUFkZHJlc3NPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBsaXN0V2ViaG9va3MocGFyYW1zPzogUGFnaW5hdGlvbk9wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIHNpbXVsYXRlV2ViaG9vayhwYXJhbXM/OiBTaW11bGF0ZVdlYmhvb2tPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBhZGRXZWJob29rKHBhcmFtcz86IE1vZGlmeVdlYmhvb2tPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICByZW1vdmVXZWJob29rKHBhcmFtcz86IE1vZGlmeVdlYmhvb2tPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBnZXRFbmNyeXB0ZWRVc2VyS2V5Y2hhaW4ocGFyYW1zPzogUmVjb3JkPHN0cmluZywgbmV2ZXI+KTogUHJvbWlzZTx7IGVuY3J5cHRlZFBydjogc3RyaW5nIH0+O1xuICBnZXRQcnYocGFyYW1zPzogR2V0UHJ2T3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgY3JlYXRlU2hhcmUocGFyYW1zPzogQ3JlYXRlU2hhcmVPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBzaGFyZVdhbGxldChwYXJhbXM/OiBTaGFyZVdhbGxldE9wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIHJlbW92ZVVzZXIocGFyYW1zPzogUmVtb3ZlVXNlck9wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIHByZWJ1aWxkVHJhbnNhY3Rpb24ocGFyYW1zPzogUHJlYnVpbGRUcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPFByZWJ1aWxkVHJhbnNhY3Rpb25SZXN1bHQ+O1xuICBzaWduVHJhbnNhY3Rpb24ocGFyYW1zPzogV2FsbGV0U2lnblRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8U2lnbmVkVHJhbnNhY3Rpb24+O1xuICBnZXRVc2VyUHJ2KHBhcmFtcz86IEdldFVzZXJQcnZPcHRpb25zKTogc3RyaW5nO1xuICBwcmVidWlsZEFuZFNpZ25UcmFuc2FjdGlvbihwYXJhbXM/OiBQcmVidWlsZEFuZFNpZ25UcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPFNpZ25lZFRyYW5zYWN0aW9uPjtcbiAgYWNjZWxlcmF0ZVRyYW5zYWN0aW9uKHBhcmFtcz86IEFjY2VsZXJhdGVUcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIHN1Ym1pdFRyYW5zYWN0aW9uKHBhcmFtcz86IFN1Ym1pdFRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgc2VuZChwYXJhbXM/OiBTZW5kT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgc2VuZE1hbnkocGFyYW1zPzogU2VuZE1hbnlPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICByZWNvdmVyVG9rZW4ocGFyYW1zPzogUmVjb3ZlclRva2VuT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgZ2V0Rmlyc3RQZW5kaW5nVHJhbnNhY3Rpb24ocGFyYW1zPzogUmVjb3JkPHN0cmluZywgbmV2ZXI+KTogUHJvbWlzZTxhbnk+O1xuICBjaGFuZ2VGZWUocGFyYW1zPzogQ2hhbmdlRmVlT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgZ2V0UGF5bWVudEluZm8ocGFyYW1zPzogeyB1cmw/OiBzdHJpbmcgfSk6IFByb21pc2U8YW55PjtcbiAgc2VuZFBheW1lbnRSZXNwb25zZShwYXJhbXM/OiBhbnkpOiBQcm9taXNlPGFueT47XG4gIGNyZWF0ZVBvbGljeVJ1bGUocGFyYW1zPzogQ3JlYXRlUG9saWN5UnVsZU9wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIHNldFBvbGljeVJ1bGUocGFyYW1zPzogYW55KTogYW55O1xuICByZW1vdmVQb2xpY3lSdWxlKHBhcmFtcz86IFJlbW92ZVBvbGljeVJ1bGVPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICByZW1vdmUocGFyYW1zPzogUmVjb3JkPHN0cmluZywgbmV2ZXI+KTogUHJvbWlzZTxhbnk+O1xuICB0b0pTT04oKTogV2FsbGV0RGF0YTtcbiAgdG9UcmFkaW5nQWNjb3VudCgpOiBJVHJhZGluZ0FjY291bnQ7XG4gIHRvU3Rha2luZ1dhbGxldCgpOiBJU3Rha2luZ1dhbGxldDtcbiAgZG93bmxvYWRLZXljYXJkKHBhcmFtcz86IERvd25sb2FkS2V5Y2FyZE9wdGlvbnMpOiB2b2lkO1xuICBidWlsZEFjY291bnRDb25zb2xpZGF0aW9ucyhwYXJhbXM/OiBCdWlsZENvbnNvbGlkYXRpb25UcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPFByZWJ1aWxkVHJhbnNhY3Rpb25SZXN1bHRbXT47XG4gIHNlbmRBY2NvdW50Q29uc29saWRhdGlvbihwYXJhbXM/OiBQcmVidWlsZEFuZFNpZ25UcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIHNlbmRBY2NvdW50Q29uc29saWRhdGlvbnMocGFyYW1zPzogQnVpbGRDb25zb2xpZGF0aW9uVHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBidWlsZFRva2VuRW5hYmxlbWVudHMocGFyYW1zPzogQnVpbGRUb2tlbkVuYWJsZW1lbnRPcHRpb25zKTogUHJvbWlzZTxQcmVidWlsZFRyYW5zYWN0aW9uUmVzdWx0W10+O1xuICBzZW5kVG9rZW5FbmFibGVtZW50KHBhcmFtcz86IFByZWJ1aWxkQW5kU2lnblRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8YW55PjtcbiAgc2VuZFRva2VuRW5hYmxlbWVudHMocGFyYW1zPzogQnVpbGRUb2tlbkVuYWJsZW1lbnRPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBsaWdodG5pbmcoKTogSUxpZ2h0bmluZztcbiAgc2lnbk1lc3NhZ2UocGFyYW1zOiBXYWxsZXRTaWduTWVzc2FnZU9wdGlvbnMpOiBQcm9taXNlPFNpZ25lZE1lc3NhZ2U+O1xufVxuIl19
|