@bitgo/sdk-coin-flrp 1.13.0 → 1.13.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/flrp.d.ts.map +1 -1
- package/dist/src/flrp.js +9 -4
- package/dist/test/resources/transactionData/multisigDelegationTx.d.ts +7 -0
- package/dist/test/resources/transactionData/multisigDelegationTx.d.ts.map +1 -1
- package/dist/test/resources/transactionData/multisigDelegationTx.js +9 -2
- package/dist/test/unit/flrp.js +15 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -7
package/dist/src/flrp.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flrp.d.ts","sourceRoot":"","sources":["../../src/flrp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,UAAU,EAAuB,MAAM,gBAAgB,CAAC;AAC9F,OAAO,EACL,uBAAuB,EACvB,QAAQ,EACR,SAAS,EACT,OAAO,EACP,YAAY,EACZ,YAAY,EAEZ,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,oBAAoB,EAEpB,qBAAqB,EAOtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,OAAO,MAAM,OAAO,CAAC;AACjC,OAAO,EACL,SAAS,EACT,6BAA6B,EAC7B,0BAA0B,EAC1B,qBAAqB,EACrB,4BAA4B,EAC7B,MAAM,aAAa,CAAC;AAKrB,qBAAa,IAAK,SAAQ,QAAQ;IAChC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;gBAE/C,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC;IAUrE,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,QAAQ;IAI1F,QAAQ,IAAI,MAAM;IAGlB,SAAS,IAAI,UAAU;IAGvB,WAAW,IAAI,MAAM;IAGrB,aAAa,IAAI,MAAM,GAAG,MAAM;IAIhC,oBAAoB;IACpB,sBAAsB,IAAI,YAAY;IAItC,kBAAkB;IAClB,WAAW,IAAI,OAAO;IAItB,kBAAkB;IAClB,eAAe,IAAI,YAAY;IAIzB,iBAAiB,CAAC,MAAM,EAAE,4BAA4B,GAAG,OAAO,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"flrp.d.ts","sourceRoot":"","sources":["../../src/flrp.ts"],"names":[],"mappings":"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"}
|
package/dist/src/flrp.js
CHANGED
|
@@ -96,7 +96,11 @@ class Flrp extends sdk_core_1.BaseCoin {
|
|
|
96
96
|
// 'stake' is the intent-type alias for AddPermissionlessDelegator; normalize it
|
|
97
97
|
// so the TransactionType enum lookup succeeds.
|
|
98
98
|
const normalizedType = type === 'stake' ? 'AddPermissionlessDelegator' : type;
|
|
99
|
-
|
|
99
|
+
// When type is provided, verify it matches the parsed transaction.
|
|
100
|
+
// When type is not provided (MPC/TSS intent flow where buildParams are unavailable),
|
|
101
|
+
// skip the type match check and rely on explainedTx.type from the parsed hex —
|
|
102
|
+
// the transaction was built by wallet-platform and the hex is the source of truth.
|
|
103
|
+
if (normalizedType && normalizedType !== 'ImportToC' && explainedTx.type !== sdk_core_1.TransactionType[normalizedType]) {
|
|
100
104
|
throw new Error('Tx type does not match with expected txParams type');
|
|
101
105
|
}
|
|
102
106
|
switch (explainedTx.type) {
|
|
@@ -127,8 +131,9 @@ class Flrp extends sdk_core_1.BaseCoin {
|
|
|
127
131
|
}
|
|
128
132
|
break;
|
|
129
133
|
case sdk_core_1.TransactionType.AddPermissionlessDelegator:
|
|
130
|
-
|
|
131
|
-
|
|
134
|
+
if (params.txParams.stakingOptions) {
|
|
135
|
+
this.validateDelegationTx(params.txParams, explainedTx);
|
|
136
|
+
}
|
|
132
137
|
break;
|
|
133
138
|
default:
|
|
134
139
|
throw new Error('Tx type is not supported yet');
|
|
@@ -396,4 +401,4 @@ class Flrp extends sdk_core_1.BaseCoin {
|
|
|
396
401
|
}
|
|
397
402
|
}
|
|
398
403
|
exports.Flrp = Flrp;
|
|
399
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxycC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mbHJwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDRDQUE4RjtBQUM5Riw4Q0FvQnlCO0FBQ3pCLCtDQUFpQztBQVFqQyx3REFBZ0M7QUFDaEMsZ0VBQXFDO0FBQ3JDLHFEQUFzRTtBQUV0RSxNQUFhLElBQUssU0FBUSxtQkFBUTtJQUdoQyxZQUFZLEtBQWdCLEVBQUUsV0FBdUM7UUFDbkUsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMsb0RBQW9ELENBQUMsQ0FBQztRQUN4RSxDQUFDO1FBRUQsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7SUFDbEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBZ0IsRUFBRSxXQUF1QztRQUM3RSxPQUFPLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7SUFDaEMsQ0FBQztJQUNELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDO0lBQ2xDLENBQUM7SUFDRCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQztJQUNwQyxDQUFDO0lBQ0QsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsb0JBQW9CO0lBQ3BCLHNCQUFzQjtRQUNwQixPQUFPLHdCQUFhLENBQUMsT0FBTyxDQUFDO0lBQy9CLENBQUM7SUFFRCxrQkFBa0I7SUFD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RCxDQUFDO1FBQ0QsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNoQyxPQUFPLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDeEMsQ0FBQztRQUNELE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUF1QixFQUFFLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNoRyxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGlCQUFpQixDQUFDLE1BQStCO1FBQy9DLE1BQU0sSUFBSSxvQ0FBeUIsRUFBRSxDQUFDO0lBQ3hDLENBQUM7Q0FDRjtBQXZaRCxvQkF1WkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29pbiBhcyBTdGF0aWNzQmFzZUNvaW4sIENvaW5GYW1pbHksIGNvaW5zLCBGbGFyZU5ldHdvcmsgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQge1xuICBBdWRpdERlY3J5cHRlZEtleVBhcmFtcyxcbiAgQmFzZUNvaW4sXG4gIEJpdEdvQmFzZSxcbiAgS2V5UGFpcixcbiAgTVBDQWxnb3JpdGhtLFxuICBNdWx0aXNpZ1R5cGUsXG4gIG11bHRpc2lnVHlwZXMsXG4gIFBhcnNlZFRyYW5zYWN0aW9uLFxuICBQYXJzZVRyYW5zYWN0aW9uT3B0aW9ucyxcbiAgU2lnbmVkVHJhbnNhY3Rpb24sXG4gIFZlcmlmeUFkZHJlc3NPcHRpb25zLFxuICBUcmFuc2FjdGlvblR5cGUsXG4gIElUcmFuc2FjdGlvblJlY2lwaWVudCxcbiAgSW52YWxpZEFkZHJlc3NFcnJvcixcbiAgVW5leHBlY3RlZEFkZHJlc3NFcnJvcixcbiAgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IsXG4gIEJhc2VUcmFuc2FjdGlvbixcbiAgU2lnbmluZ0Vycm9yLFxuICBNZXRob2ROb3RJbXBsZW1lbnRlZEVycm9yLFxufSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0ICogYXMgRmxycExpYiBmcm9tICcuL2xpYic7XG5pbXBvcnQge1xuICBGbHJwRW50cnksXG4gIEZscnBFeHBsYWluVHJhbnNhY3Rpb25PcHRpb25zLFxuICBGbHJwU2lnblRyYW5zYWN0aW9uT3B0aW9ucyxcbiAgRmxycFRyYW5zYWN0aW9uUGFyYW1zLFxuICBGbHJwVmVyaWZ5VHJhbnNhY3Rpb25PcHRpb25zLFxufSBmcm9tICcuL2xpYi9pZmFjZSc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi9saWIvdXRpbHMnO1xuaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuaW1wb3J0IHsgaXNWYWxpZEFkZHJlc3MgYXMgaXNWYWxpZEV0aEFkZHJlc3MgfSBmcm9tICdldGhlcmV1bWpzLXV0aWwnO1xuXG5leHBvcnQgY2xhc3MgRmxycCBleHRlbmRzIEJhc2VDb2luIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9zdGF0aWNzQ29pbjogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPjtcblxuICBjb25zdHJ1Y3RvcihiaXRnbzogQml0R29CYXNlLCBzdGF0aWNzQ29pbj86IFJlYWRvbmx5PFN0YXRpY3NCYXNlQ29pbj4pIHtcbiAgICBzdXBlcihiaXRnbyk7XG5cbiAgICBpZiAoIXN0YXRpY3NDb2luKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ21pc3NpbmcgcmVxdWlyZWQgY29uc3RydWN0b3IgcGFyYW1ldGVyIHN0YXRpY3NDb2luJyk7XG4gICAgfVxuXG4gICAgdGhpcy5fc3RhdGljc0NvaW4gPSBzdGF0aWNzQ29pbjtcbiAgfVxuXG4gIHN0YXRpYyBjcmVhdGVJbnN0YW5jZShiaXRnbzogQml0R29CYXNlLCBzdGF0aWNzQ29pbj86IFJlYWRvbmx5PFN0YXRpY3NCYXNlQ29pbj4pOiBCYXNlQ29pbiB7XG4gICAgcmV0dXJuIG5ldyBGbHJwKGJpdGdvLCBzdGF0aWNzQ29pbik7XG4gIH1cblxuICBnZXRDaGFpbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9zdGF0aWNzQ29pbi5uYW1lO1xuICB9XG4gIGdldEZhbWlseSgpOiBDb2luRmFtaWx5IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhdGljc0NvaW4uZmFtaWx5O1xuICB9XG4gIGdldEZ1bGxOYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRpY3NDb2luLmZ1bGxOYW1lO1xuICB9XG4gIGdldEJhc2VGYWN0b3IoKTogc3RyaW5nIHwgbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5wb3coMTAsIHRoaXMuX3N0YXRpY3NDb2luLmRlY2ltYWxQbGFjZXMpO1xuICB9XG5cbiAgLyoqIGluaGVyaXRlZCBkb2MgKi9cbiAgZ2V0RGVmYXVsdE11bHRpc2lnVHlwZSgpOiBNdWx0aXNpZ1R5cGUge1xuICAgIHJldHVybiBtdWx0aXNpZ1R5cGVzLm9uY2hhaW47XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgc3VwcG9ydHNUc3MoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZ2V0TVBDQWxnb3JpdGhtKCk6IE1QQ0FsZ29yaXRobSB7XG4gICAgcmV0dXJuICdlY2RzYSc7XG4gIH1cblxuICBhc3luYyB2ZXJpZnlUcmFuc2FjdGlvbihwYXJhbXM6IEZscnBWZXJpZnlUcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCB0eEhleCA9IHBhcmFtcy50eFByZWJ1aWxkICYmIHBhcmFtcy50eFByZWJ1aWxkLnR4SGV4O1xuICAgIGlmICghdHhIZXgpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignbWlzc2luZyByZXF1aXJlZCB0eCBwcmVidWlsZCBwcm9wZXJ0eSB0eEhleCcpO1xuICAgIH1cbiAgICBsZXQgdHg7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHR4QnVpbGRlciA9IHRoaXMuZ2V0QnVpbGRlcigpLmZyb20odHhIZXgpO1xuICAgICAgdHggPSBhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHRyYW5zYWN0aW9uOiAke2Vycm9yLm1lc3NhZ2V9YCk7XG4gICAgfVxuICAgIGNvbnN0IGV4cGxhaW5lZFR4ID0gdHguZXhwbGFpblRyYW5zYWN0aW9uKCk7XG5cbiAgICBjb25zdCB0eXBlID0gcGFyYW1zLnR4UGFyYW1zLnR5cGU7XG4gICAgLy8gJ3N0YWtlJyBpcyB0aGUgaW50ZW50LXR5cGUgYWxpYXMgZm9yIEFkZFBlcm1pc3Npb25sZXNzRGVsZWdhdG9yOyBub3JtYWxpemUgaXRcbiAgICAvLyBzbyB0aGUgVHJhbnNhY3Rpb25UeXBlIGVudW0gbG9va3VwIHN1Y2NlZWRzLlxuICAgIGNvbnN0IG5vcm1hbGl6ZWRUeXBlID0gdHlwZSA9PT0gJ3N0YWtlJyA/ICdBZGRQZXJtaXNzaW9ubGVzc0RlbGVnYXRvcicgOiB0eXBlO1xuXG4gICAgaWYgKCFub3JtYWxpemVkVHlwZSB8fCAobm9ybWFsaXplZFR5cGUgIT09ICdJbXBvcnRUb0MnICYmIGV4cGxhaW5lZFR4LnR5cGUgIT09IFRyYW5zYWN0aW9uVHlwZVtub3JtYWxpemVkVHlwZV0pKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1R4IHR5cGUgZG9lcyBub3QgbWF0Y2ggd2l0aCBleHBlY3RlZCB0eFBhcmFtcyB0eXBlJyk7XG4gICAgfVxuXG4gICAgc3dpdGNoIChleHBsYWluZWRUeC50eXBlKSB7XG4gICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5FeHBvcnQ6XG4gICAgICAgIGlmICghcGFyYW1zLnR4UGFyYW1zLnJlY2lwaWVudHMgfHwgcGFyYW1zLnR4UGFyYW1zLnJlY2lwaWVudHM/Lmxlbmd0aCAhPT0gMSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRXhwb3J0IFR4IHJlcXVpcmVzIGEgcmVjaXBpZW50Jyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy52YWxpZGF0ZUV4cG9ydFR4KHBhcmFtcy50eFBhcmFtcy5yZWNpcGllbnRzLCBleHBsYWluZWRUeCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5JbXBvcnQ6XG4gICAgICAgIGlmICh0eC5pc1RyYW5zYWN0aW9uRm9yQ0NoYWluKSB7XG4gICAgICAgICAgLy8gSW1wb3J0IHRvIEMtY2hhaW5cbiAgICAgICAgICBpZiAoZXhwbGFpbmVkVHgub3V0cHV0cy5sZW5ndGggIT09IDEpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRXhwZWN0ZWQgMSBvdXRwdXQgaW4gaW1wb3J0IHRyYW5zYWN0aW9uJyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICghcGFyYW1zLnR4UGFyYW1zLnJlY2lwaWVudHMgfHwgcGFyYW1zLnR4UGFyYW1zLnJlY2lwaWVudHMubGVuZ3RoICE9PSAxKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIDEgcmVjaXBpZW50IGluIGltcG9ydCB0cmFuc2FjdGlvbicpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBJbXBvcnQgdG8gUC1jaGFpblxuICAgICAgICAgIGlmIChleHBsYWluZWRUeC5vdXRwdXRzLmxlbmd0aCAhPT0gMSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCAxIG91dHB1dCBpbiBpbXBvcnQgdHJhbnNhY3Rpb24nKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy52YWxpZGF0ZUltcG9ydFR4KGV4cGxhaW5lZFR4LmlucHV0cywgcGFyYW1zLnR4UGFyYW1zKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLkFkZFBlcm1pc3Npb25sZXNzRGVsZWdhdG9yOlxuICAgICAgICAvLyBWYWxpZGF0ZSBkZWxlZ2F0aW9uIHRyYW5zYWN0aW9uIGFnYWluc3QgYm90aCB0eFBhcmFtcyBhbmQgZXhwbGFpbmVkVHhcbiAgICAgICAgdGhpcy52YWxpZGF0ZURlbGVnYXRpb25UeChwYXJhbXMudHhQYXJhbXMsIGV4cGxhaW5lZFR4KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1R4IHR5cGUgaXMgbm90IHN1cHBvcnRlZCB5ZXQnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgZXhwb3J0IHR4biBpcyB2YWxpZCwgYmFzZWQgb24gZXhwZWN0ZWQgdHggcGFyYW1zLlxuICAgKlxuICAgKiBAcGFyYW0ge0lUcmFuc2FjdGlvblJlY2lwaWVudFtdfSByZWNpcGllbnRzIGV4cGVjdGVkIHJlY2lwaWVudHMgYW5kIGluZm9cbiAgICogQHBhcmFtIHtGbHJwTGliLlRyYW5zYWN0aW9uRXhwbGFuYXRpb259IGV4cGxhaW5lZFR4IGV4cGxhaW5lZCBleHBvcnQgdHJhbnNhY3Rpb25cbiAgICovXG4gIHZhbGlkYXRlRXhwb3J0VHgocmVjaXBpZW50czogSVRyYW5zYWN0aW9uUmVjaXBpZW50W10sIGV4cGxhaW5lZFR4OiBGbHJwTGliLlRyYW5zYWN0aW9uRXhwbGFuYXRpb24pOiB2b2lkIHtcbiAgICBpZiAocmVjaXBpZW50cy5sZW5ndGggIT09IDEgfHwgZXhwbGFpbmVkVHgub3V0cHV0cy5sZW5ndGggIT09IDEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRXhwb3J0IFR4IHJlcXVpcmVzIG9uZSByZWNpcGllbnQnKTtcbiAgICB9XG5cbiAgICBjb25zdCBtYXhJbXBvcnRGZWUgPSAodGhpcy5fc3RhdGljc0NvaW4ubmV0d29yayBhcyBGbGFyZU5ldHdvcmspLm1heEltcG9ydEZlZTtcbiAgICBjb25zdCByZWNpcGllbnRBbW91bnQgPSBuZXcgQmlnTnVtYmVyKHJlY2lwaWVudHNbMF0uYW1vdW50KTtcbiAgICBpZiAoXG4gICAgICByZWNpcGllbnRBbW91bnQuaXNHcmVhdGVyVGhhbihleHBsYWluZWRUeC5vdXRwdXRBbW91bnQpIHx8XG4gICAgICByZWNpcGllbnRBbW91bnQucGx1cyhtYXhJbXBvcnRGZWUpLmlzTGVzc1RoYW4oZXhwbGFpbmVkVHgub3V0cHV0QW1vdW50KVxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgVHggdG90YWwgYW1vdW50ICR7ZXhwbGFpbmVkVHgub3V0cHV0QW1vdW50fSBkb2VzIG5vdCBtYXRjaCB3aXRoIGV4cGVjdGVkIHRvdGFsIGFtb3VudCBmaWVsZCAke3JlY2lwaWVudEFtb3VudH0gYW5kIG1heCBpbXBvcnQgZmVlICR7bWF4SW1wb3J0RmVlfWBcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKGV4cGxhaW5lZFR4Lm91dHB1dHMgJiYgIXV0aWxzLmlzVmFsaWRBZGRyZXNzKGV4cGxhaW5lZFR4Lm91dHB1dHNbMF0uYWRkcmVzcykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBQLWNoYWluIGFkZHJlc3MgJHtleHBsYWluZWRUeC5vdXRwdXRzWzBdLmFkZHJlc3N9YCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGltcG9ydCB0eG4gaW50byBQIGlzIHZhbGlkLCBiYXNlZCBvbiBleHBlY3RlZCB0eCBwYXJhbXMuXG4gICAqXG4gICAqIEBwYXJhbSB7RmxycEVudHJ5W119IGV4cGxhaW5lZFR4SW5wdXRzIHR4IGlucHV0cyAodW5zcGVudHMgdG8gYmUgaW1wb3J0ZWQpXG4gICAqIEBwYXJhbSB7RmxycFRyYW5zYWN0aW9uUGFyYW1zfSB0eFBhcmFtcyBleHBlY3RlZCB0eCBpbmZvIHRvIGNoZWNrIGFnYWluc3RcbiAgICovXG4gIHZhbGlkYXRlSW1wb3J0VHgoZXhwbGFpbmVkVHhJbnB1dHM6IEZscnBFbnRyeVtdLCB0eFBhcmFtczogRmxycFRyYW5zYWN0aW9uUGFyYW1zKTogdm9pZCB7XG4gICAgaWYgKHR4UGFyYW1zLnVuc3BlbnRzKSB7XG4gICAgICBpZiAoZXhwbGFpbmVkVHhJbnB1dHMubGVuZ3RoICE9PSB0eFBhcmFtcy51bnNwZW50cy5sZW5ndGgpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCAke3R4UGFyYW1zLnVuc3BlbnRzLmxlbmd0aH0gVVRYT3MsIHRyYW5zYWN0aW9uIGhhZCAke2V4cGxhaW5lZFR4SW5wdXRzLmxlbmd0aH1gKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgdW5zcGVudHMgPSBuZXcgU2V0KHR4UGFyYW1zLnVuc3BlbnRzKTtcblxuICAgICAgZm9yIChjb25zdCB1bnNwZW50IG9mIGV4cGxhaW5lZFR4SW5wdXRzKSB7XG4gICAgICAgIGlmICghdW5zcGVudHMuaGFzKHVuc3BlbnQuaWQpKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBUcmFuc2FjdGlvbiBzaG91bGQgbm90IGNvbnRhaW4gdGhlIFVUWE86ICR7dW5zcGVudC5pZH1gKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZSBBZGRQZXJtaXNzaW9ubGVzc0RlbGVnYXRvciB0cmFuc2FjdGlvbiBwYXJhbWV0ZXJzLlxuICAgKiBWYWxpZGF0ZXMgYm90aCBleHBlY3RlZCB0eFBhcmFtcyBhbmQgdGhlIHBhcnNlZCBleHBsYWluZWRUeCBmb3IgY29uc2lzdGVuY3kuXG4gICAqXG4gICAqIEBwYXJhbSB7RmxycFRyYW5zYWN0aW9uUGFyYW1zfSB0eFBhcmFtcyAtIEV4cGVjdGVkIHRyYW5zYWN0aW9uIHBhcmFtZXRlcnNcbiAgICogQHBhcmFtIHtGbHJwTGliLlRyYW5zYWN0aW9uRXhwbGFuYXRpb259IGV4cGxhaW5lZFR4IC0gUGFyc2VkIHRyYW5zYWN0aW9uIGV4cGxhbmF0aW9uXG4gICAqL1xuICB2YWxpZGF0ZURlbGVnYXRpb25UeCh0eFBhcmFtczogRmxycFRyYW5zYWN0aW9uUGFyYW1zLCBleHBsYWluZWRUeDogRmxycExpYi5UcmFuc2FjdGlvbkV4cGxhbmF0aW9uKTogdm9pZCB7XG4gICAgaWYgKCF0eFBhcmFtcy5zdGFraW5nT3B0aW9ucykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdEZWxlZ2F0aW9uIHRyYW5zYWN0aW9uIHJlcXVpcmVzIHN0YWtpbmdPcHRpb25zJyk7XG4gICAgfVxuXG4gICAgY29uc3QgeyBub2RlSUQsIGFtb3VudCwgZHVyYXRpb25TZWNvbmRzLCByZXdhcmRBZGRyZXNzIH0gPSB0eFBhcmFtcy5zdGFraW5nT3B0aW9ucztcblxuICAgIGlmICghbm9kZUlEKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0RlbGVnYXRpb24gdHJhbnNhY3Rpb24gcmVxdWlyZXMgbm9kZUlEJyk7XG4gICAgfVxuXG4gICAgaWYgKCFhbW91bnQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRGVsZWdhdGlvbiB0cmFuc2FjdGlvbiByZXF1aXJlcyBhbW91bnQnKTtcbiAgICB9XG5cbiAgICBpZiAoIWR1cmF0aW9uU2Vjb25kcykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdEZWxlZ2F0aW9uIHRyYW5zYWN0aW9uIHJlcXVpcmVzIGR1cmF0aW9uU2Vjb25kcycpO1xuICAgIH1cblxuICAgIGlmICghcmV3YXJkQWRkcmVzcykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdEZWxlZ2F0aW9uIHRyYW5zYWN0aW9uIHJlcXVpcmVzIHJld2FyZEFkZHJlc3MnKTtcbiAgICB9XG5cbiAgICAvLyBWYWxpZGF0ZSBub2RlSUQgZm9ybWF0IHVzaW5nIHV0aWxpdHkgbWV0aG9kXG4gICAgaWYgKCF1dGlscy5pc1ZhbGlkTm9kZUlEKG5vZGVJRCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBub2RlSUQgZm9ybWF0OiAke25vZGVJRH1gKTtcbiAgICB9XG5cbiAgICAvLyBWYWxpZGF0ZSB0aGF0IHRoZSBwYXJzZWQgdHJhbnNhY3Rpb24ncyBvdXRwdXQgYW1vdW50IG1hdGNoZXMgdGhlIGV4cGVjdGVkIHN0YWtpbmcgYW1vdW50XG4gICAgLy8gVGhlIG91dHB1dEFtb3VudCBpbiBleHBsYWluZWRUeCByZXByZXNlbnRzIHRoZSB0b3RhbCBzdGFrZSBhbW91bnQgaW4gdGhlIHRyYW5zYWN0aW9uXG4gICAgaWYgKGV4cGxhaW5lZFR4Lm91dHB1dEFtb3VudCkge1xuICAgICAgY29uc3QgZXhwZWN0ZWRBbW91bnQgPSBuZXcgQmlnTnVtYmVyKGFtb3VudCk7XG4gICAgICBjb25zdCBhY3R1YWxBbW91bnQgPSBuZXcgQmlnTnVtYmVyKGV4cGxhaW5lZFR4Lm91dHB1dEFtb3VudCk7XG4gICAgICBpZiAoIWV4cGVjdGVkQW1vdW50LmlzRXF1YWxUbyhhY3R1YWxBbW91bnQpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgRGVsZWdhdGlvbiBhbW91bnQgbWlzbWF0Y2g6IGV4cGVjdGVkICR7YW1vdW50fSwgdHJhbnNhY3Rpb24gaGFzICR7ZXhwbGFpbmVkVHgub3V0cHV0QW1vdW50fWApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0QnVpbGRlcigpOiBGbHJwTGliLlRyYW5zYWN0aW9uQnVpbGRlckZhY3Rvcnkge1xuICAgIHJldHVybiBuZXcgRmxycExpYi5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5KGNvaW5zLmdldCh0aGlzLmdldENoYWluKCkpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBhZGRyZXNzIGlzIHZhbGlkLCB0aGVuIG1ha2Ugc3VyZSBpdCBtYXRjaGVzIHRoZSByb290IGFkZHJlc3MuXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbXMuYWRkcmVzcyBhZGRyZXNzIHRvIHZhbGlkYXRlXG4gICAqIEBwYXJhbSBwYXJhbXMua2V5Y2hhaW5zIHB1YmxpYyBrZXlzIHRvIGdlbmVyYXRlIHRoZSB3YWxsZXRcbiAgICovXG4gIGFzeW5jIGlzV2FsbGV0QWRkcmVzcyhwYXJhbXM6IFZlcmlmeUFkZHJlc3NPcHRpb25zKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgeyBhZGRyZXNzLCBrZXljaGFpbnMgfSA9IHBhcmFtcztcblxuICAgIGlmICghdGhpcy5pc1ZhbGlkQWRkcmVzcyhhZGRyZXNzKSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRBZGRyZXNzRXJyb3IoYGludmFsaWQgYWRkcmVzczogJHthZGRyZXNzfWApO1xuICAgIH1cblxuICAgIC8vIG11bHRpc2lnIGFkZHJlc3NlcyBhcmUgc2VwYXJhdGVkIGJ5IH5cbiAgICBjb25zdCBzcGxpdEFkZHJlc3NlcyA9IGFkZHJlc3Muc3BsaXQoJ34nKTtcblxuICAgIC8vIE1QQy9UU1M6IHNpbmdsZSBhZGRyZXNzIGRlcml2ZWQgZnJvbSBjb21tb24ga2V5Y2hhaW5cbiAgICBpZiAoc3BsaXRBZGRyZXNzZXMubGVuZ3RoID09PSAxICYmIGtleWNoYWlucz8ubGVuZ3RoID09PSAxKSB7XG4gICAgICBjb25zdCBleHBlY3RlZEFkZHIgPSBuZXcgRmxycExpYi5LZXlQYWlyKHsgcHViOiBrZXljaGFpbnNbMF0ucHViIH0pLmdldEFkZHJlc3ModGhpcy5fc3RhdGljc0NvaW4ubmV0d29yay50eXBlKTtcbiAgICAgIGlmIChleHBlY3RlZEFkZHIgIT09IGFkZHJlc3MpIHtcbiAgICAgICAgdGhyb3cgbmV3IFVuZXhwZWN0ZWRBZGRyZXNzRXJyb3IoYGFkZHJlc3MgdmFsaWRhdGlvbiBmYWlsdXJlOiAke2FkZHJlc3N9IGlzIG5vdCBvZiB0aGlzIHdhbGxldGApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgaWYgKCFrZXljaGFpbnMgfHwga2V5Y2hhaW5zLmxlbmd0aCAhPT0gMykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGtleWNoYWlucycpO1xuICAgIH1cblxuICAgIC8vIGRlcml2ZSBhZGRyZXNzZXMgZnJvbSBrZXljaGFpblxuICAgIGNvbnN0IHVubG9ja0FkZHJlc3NlcyA9IGtleWNoYWlucy5tYXAoKGtleWNoYWluKSA9PlxuICAgICAgbmV3IEZscnBMaWIuS2V5UGFpcih7IHB1Yjoga2V5Y2hhaW4ucHViIH0pLmdldEFkZHJlc3ModGhpcy5fc3RhdGljc0NvaW4ubmV0d29yay50eXBlKVxuICAgICk7XG5cbiAgICBpZiAoc3BsaXRBZGRyZXNzZXMubGVuZ3RoICE9PSB1bmxvY2tBZGRyZXNzZXMubGVuZ3RoKSB7XG4gICAgICB0aHJvdyBuZXcgVW5leHBlY3RlZEFkZHJlc3NFcnJvcihgYWRkcmVzcyB2YWxpZGF0aW9uIGZhaWx1cmU6IG11bHRpc2lnIGFkZHJlc3MgbGVuZ3RoIGRvZXMgbm90IG1hdGNoYCk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmFkcmVzc2VzQXJyYXlzTWF0Y2goc3BsaXRBZGRyZXNzZXMsIHVubG9ja0FkZHJlc3NlcykpIHtcbiAgICAgIHRocm93IG5ldyBVbmV4cGVjdGVkQWRkcmVzc0Vycm9yKGBhZGRyZXNzIHZhbGlkYXRpb24gZmFpbHVyZTogJHthZGRyZXNzfSBpcyBub3Qgb2YgdGhpcyB3YWxsZXRgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZSB0aGF0IHR3byBtdWx0aXNpZyBhZGRyZXNzIGFycmF5cyBoYXZlIHRoZSBzYW1lIGVsZW1lbnRzLCBvcmRlciBkb2VzbnQgbWF0dGVyXG4gICAqIEBwYXJhbSBhZGRyZXNzQXJyYXkxXG4gICAqIEBwYXJhbSBhZGRyZXNzQXJyYXkyXG4gICAqIEByZXR1cm5zIHRydWUgaWYgYWRkcmVzcyBhcnJheXMgaGF2ZSB0aGUgc2FtZSBhZGRyZXNzZXNcbiAgICogQHByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgYWRyZXNzZXNBcnJheXNNYXRjaChhZGRyZXNzQXJyYXkxOiBzdHJpbmdbXSwgYWRkcmVzc0FycmF5Mjogc3RyaW5nW10pIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoYWRkcmVzc0FycmF5MS5zb3J0KCkpID09PSBKU09OLnN0cmluZ2lmeShhZGRyZXNzQXJyYXkyLnNvcnQoKSk7XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGUgRmxycCBrZXkgcGFpclxuICAgKlxuICAgKiBAcGFyYW0ge0J1ZmZlcn0gc2VlZCAtIFNlZWQgZnJvbSB3aGljaCB0aGUgbmV3IGtleXBhaXIgc2hvdWxkIGJlIGdlbmVyYXRlZCwgb3RoZXJ3aXNlIGEgcmFuZG9tIHNlZWQgaXMgdXNlZFxuICAgKiBAcmV0dXJucyB7T2JqZWN0fSBvYmplY3Qgd2l0aCBnZW5lcmF0ZWQgcHViIGFuZCBwcnZcbiAgICovXG4gIGdlbmVyYXRlS2V5UGFpcihzZWVkPzogQnVmZmVyKTogS2V5UGFpciB7XG4gICAgY29uc3Qga2V5UGFpciA9IHNlZWQgPyBuZXcgRmxycExpYi5LZXlQYWlyKHsgc2VlZCB9KSA6IG5ldyBGbHJwTGliLktleVBhaXIoKTtcbiAgICBjb25zdCBrZXlzID0ga2V5UGFpci5nZXRLZXlzKCk7XG5cbiAgICBpZiAoIWtleXMucHJ2KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgcHJ2IGluIGtleSBnZW5lcmF0aW9uLicpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBwdWI6IGtleXMucHViLFxuICAgICAgcHJ2OiBrZXlzLnBydixcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciBpbnB1dCBpcyB2YWxpZCBwdWJsaWMga2V5IGZvciB0aGUgY29pblxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gcHViIHRoZSBwcnYgdG8gYmUgY2hlY2tlZFxuICAgKiBAcmV0dXJucyBpcyBpdCB2YWxpZD9cbiAgICovXG4gIGlzVmFsaWRQdWIocHViOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICB0cnkge1xuICAgICAgbmV3IEZscnBMaWIuS2V5UGFpcih7IHB1YiB9KTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIGlucHV0IGlzIHZhbGlkIHByaXZhdGUga2V5IGZvciB0aGUgY29pblxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gcHJ2IHRoZSBwcnYgdG8gYmUgY2hlY2tlZFxuICAgKiBAcmV0dXJucyBpcyBpdCB2YWxpZD9cbiAgICovXG4gIGlzVmFsaWRQcnYocHJ2OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICB0cnkge1xuICAgICAgbmV3IEZscnBMaWIuS2V5UGFpcih7IHBydiB9KTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBpc1ZhbGlkQWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcgfCBzdHJpbmdbXSk6IGJvb2xlYW4ge1xuICAgIGlmIChhZGRyZXNzID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyB2YWxpZGF0ZSBldGggYWRkcmVzcyBmb3IgY3Jvc3MtY2hhaW4gdHhzIHRvIGMtY2hhaW5cbiAgICBpZiAodHlwZW9mIGFkZHJlc3MgPT09ICdzdHJpbmcnICYmIGlzVmFsaWRFdGhBZGRyZXNzKGFkZHJlc3MpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gRmxycExpYi5VdGlscy5pc1ZhbGlkQWRkcmVzcyhhZGRyZXNzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHJhdyBieXRlcyB0aGF0IG5lZWQgdG8gYmUgc2lnbmVkIGJ5IHRoZSBNUEMgY2VyZW1vbnkuXG4gICAqIE1QQy5zaWduKCkgaW50ZXJuYWxseSBTSEEtMjU2IGhhc2hlcywgc28gcmV0dXJuIHJhdyB1bnNpZ25lZCB0eCBieXRlcy5cbiAgICovXG4gIGFzeW5jIGdldFNpZ25hYmxlUGF5bG9hZCh0eEhleDogc3RyaW5nKTogUHJvbWlzZTxCdWZmZXI+IHtcbiAgICBjb25zdCB0eEJ1aWxkZXIgPSB0aGlzLmdldEJ1aWxkZXIoKS5mcm9tKHR4SGV4KTtcbiAgICBjb25zdCB0eCA9IChhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKSkgYXMgRmxycExpYi5UcmFuc2FjdGlvbjtcbiAgICByZXR1cm4gQnVmZmVyLmZyb20odHguc2lnbmFibGVQYXlsb2FkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbmplY3QgYW4gTVBDLXByb2R1Y2VkIHNpZ25hdHVyZSBpbnRvIGFuIHVuc2lnbmVkIHRyYW5zYWN0aW9uLlxuICAgKiBAcGFyYW0gdHhIZXggLSBVbnNpZ25lZCB0cmFuc2FjdGlvbiBoZXhcbiAgICogQHBhcmFtIHNpZ25hdHVyZSAtIDY1LWJ5dGUgRUNEU0Egc2lnbmF0dXJlIChyIHx8IHMgfHwgcmVjb3ZlcnkpXG4gICAqIEByZXR1cm5zIFNpZ25lZCB0cmFuc2FjdGlvbiBoZXhcbiAgICovXG4gIGFzeW5jIGFkZFNpZ25hdHVyZVRvVHJhbnNhY3Rpb24odHhIZXg6IHN0cmluZywgc2lnbmF0dXJlOiBCdWZmZXIpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IHR4QnVpbGRlciA9IHRoaXMuZ2V0QnVpbGRlcigpLmZyb20odHhIZXgpO1xuICAgIGNvbnN0IHR4ID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG4gICAgKHR4IGFzIEZscnBMaWIuVHJhbnNhY3Rpb24pLmFkZEV4dGVybmFsU2lnbmF0dXJlKG5ldyBVaW50OEFycmF5KHNpZ25hdHVyZSkpO1xuICAgIHJldHVybiB0eC50b0Jyb2FkY2FzdEZvcm1hdCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNpZ25zIEF2YXhwIHRyYW5zYWN0aW9uXG4gICAqL1xuICBhc3luYyBzaWduVHJhbnNhY3Rpb24ocGFyYW1zOiBGbHJwU2lnblRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8U2lnbmVkVHJhbnNhY3Rpb24+IHtcbiAgICAvLyBkZXNlcmlhbGl6ZSByYXcgdHJhbnNhY3Rpb24gKG5vdGU6IGZyb21BZGRyZXNzIGhhcyBvbmNoYWluIG9yZGVyKVxuICAgIGNvbnN0IHR4QnVpbGRlciA9IHRoaXMuZ2V0QnVpbGRlcigpLmZyb20ocGFyYW1zLnR4UHJlYnVpbGQudHhIZXgpO1xuICAgIGNvbnN0IGtleSA9IHBhcmFtcy5wcnY7XG5cbiAgICAvLyBwdXNoIHRoZSBrZXlwYWlyIHRvIHNpZ25lciBhcnJheVxuICAgIHR4QnVpbGRlci5zaWduKHsga2V5IH0pO1xuXG4gICAgLy8gYnVpbGQgdGhlIHRyYW5zYWN0aW9uXG4gICAgY29uc3QgdHJhbnNhY3Rpb246IEJhc2VUcmFuc2FjdGlvbiA9IGF3YWl0IHR4QnVpbGRlci5idWlsZCgpO1xuICAgIGlmICghdHJhbnNhY3Rpb24pIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignRXJyb3Igd2hpbGUgdHJ5aW5nIHRvIGJ1aWxkIHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICAgIHJldHVybiB0cmFuc2FjdGlvbi5zaWduYXR1cmUubGVuZ3RoID49IDJcbiAgICAgID8geyB0eEhleDogdHJhbnNhY3Rpb24udG9Ccm9hZGNhc3RGb3JtYXQoKSB9XG4gICAgICA6IHsgaGFsZlNpZ25lZDogeyB0eEhleDogdHJhbnNhY3Rpb24udG9Ccm9hZGNhc3RGb3JtYXQoKSB9IH07XG4gIH1cblxuICBhc3luYyBwYXJzZVRyYW5zYWN0aW9uKHBhcmFtczogUGFyc2VUcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPFBhcnNlZFRyYW5zYWN0aW9uPiB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgLyoqXG4gICAqIEV4cGxhaW4gYSBBdmF4cCB0cmFuc2FjdGlvbiBmcm9tIHR4SGV4XG4gICAqIEBwYXJhbSBwYXJhbXNcbiAgICogQHBhcmFtIGNhbGxiYWNrXG4gICAqL1xuICBhc3luYyBleHBsYWluVHJhbnNhY3Rpb24ocGFyYW1zOiBGbHJwRXhwbGFpblRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8RmxycExpYi5UcmFuc2FjdGlvbkV4cGxhbmF0aW9uPiB7XG4gICAgY29uc3QgdHhIZXggPSBwYXJhbXMudHhIZXggPz8gcGFyYW1zPy5oYWxmU2lnbmVkPy50eEhleDtcbiAgICBpZiAoIXR4SGV4KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ21pc3NpbmcgdHJhbnNhY3Rpb24gaGV4Jyk7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBjb25zdCB0eEJ1aWxkZXIgPSB0aGlzLmdldEJ1aWxkZXIoKS5mcm9tKHR4SGV4KTtcbiAgICAgIGNvbnN0IHR4ID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG4gICAgICByZXR1cm4gdHguZXhwbGFpblRyYW5zYWN0aW9uKCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHRyYW5zYWN0aW9uOiAke2UubWVzc2FnZX1gKTtcbiAgICB9XG4gIH1cblxuICByZWNvdmVyeVNpZ25hdHVyZShtZXNzYWdlSGFzaDogQnVmZmVyLCBzaWduYXR1cmU6IEJ1ZmZlcik6IEJ1ZmZlciB7XG4gICAgcmV0dXJuIEZscnBMaWIuVXRpbHMucmVjb3ZlcnlTaWduYXR1cmUobWVzc2FnZUhhc2gsIHNpZ25hdHVyZSk7XG4gIH1cblxuICBhc3luYyBzaWduTWVzc2FnZShrZXk6IEtleVBhaXIsIG1lc3NhZ2U6IHN0cmluZyB8IEJ1ZmZlcik6IFByb21pc2U8QnVmZmVyPiB7XG4gICAgY29uc3QgcHJ2ID0gbmV3IEZscnBMaWIuS2V5UGFpcihrZXkpLmdldFByaXZhdGVLZXkoKTtcbiAgICBpZiAoIXBydikge1xuICAgICAgdGhyb3cgbmV3IFNpZ25pbmdFcnJvcignSW52YWxpZCBrZXkgcGFpciBvcHRpb25zJyk7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgbWVzc2FnZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIG1lc3NhZ2UgPSBCdWZmZXIuZnJvbShtZXNzYWdlLCAnaGV4Jyk7XG4gICAgfVxuICAgIHJldHVybiBGbHJwTGliLlV0aWxzLmNyZWF0ZVNpZ25hdHVyZSh0aGlzLl9zdGF0aWNzQ29pbi5uZXR3b3JrIGFzIEZsYXJlTmV0d29yaywgbWVzc2FnZSwgcHJ2KTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBhdWRpdERlY3J5cHRlZEtleShwYXJhbXM6IEF1ZGl0RGVjcnlwdGVkS2V5UGFyYW1zKTogdm9pZCB7XG4gICAgdGhyb3cgbmV3IE1ldGhvZE5vdEltcGxlbWVudGVkRXJyb3IoKTtcbiAgfVxufVxuIl19
|
|
404
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxycC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mbHJwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDRDQUE4RjtBQUM5Riw4Q0FvQnlCO0FBQ3pCLCtDQUFpQztBQVFqQyx3REFBZ0M7QUFDaEMsZ0VBQXFDO0FBQ3JDLHFEQUFzRTtBQUV0RSxNQUFhLElBQUssU0FBUSxtQkFBUTtJQUdoQyxZQUFZLEtBQWdCLEVBQUUsV0FBdUM7UUFDbkUsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMsb0RBQW9ELENBQUMsQ0FBQztRQUN4RSxDQUFDO1FBRUQsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7SUFDbEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBZ0IsRUFBRSxXQUF1QztRQUM3RSxPQUFPLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7SUFDaEMsQ0FBQztJQUNELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDO0lBQ2xDLENBQUM7SUFDRCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQztJQUNwQyxDQUFDO0lBQ0QsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsb0JBQW9CO0lBQ3BCLHNCQUFzQjtRQUNwQixPQUFPLHdCQUFhLENBQUMsT0FBTyxDQUFDO0lBQy9CLENBQUM7SUFFRCxrQkFBa0I7SUFD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QUM7UUFDckQsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ1QsTUFBTSxJQUFJLHVCQUFZLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUNyRCxDQUFDO1FBQ0QsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNoQyxPQUFPLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDeEMsQ0FBQztRQUNELE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUF1QixFQUFFLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNoRyxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGlCQUFpQixDQUFDLE1BQStCO1FBQy9DLE1BQU0sSUFBSSxvQ0FBeUIsRUFBRSxDQUFDO0lBQ3hDLENBQUM7Q0FDRjtBQTVaRCxvQkE0WkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29pbiBhcyBTdGF0aWNzQmFzZUNvaW4sIENvaW5GYW1pbHksIGNvaW5zLCBGbGFyZU5ldHdvcmsgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQge1xuICBBdWRpdERlY3J5cHRlZEtleVBhcmFtcyxcbiAgQmFzZUNvaW4sXG4gIEJpdEdvQmFzZSxcbiAgS2V5UGFpcixcbiAgTVBDQWxnb3JpdGhtLFxuICBNdWx0aXNpZ1R5cGUsXG4gIG11bHRpc2lnVHlwZXMsXG4gIFBhcnNlZFRyYW5zYWN0aW9uLFxuICBQYXJzZVRyYW5zYWN0aW9uT3B0aW9ucyxcbiAgU2lnbmVkVHJhbnNhY3Rpb24sXG4gIFZlcmlmeUFkZHJlc3NPcHRpb25zLFxuICBUcmFuc2FjdGlvblR5cGUsXG4gIElUcmFuc2FjdGlvblJlY2lwaWVudCxcbiAgSW52YWxpZEFkZHJlc3NFcnJvcixcbiAgVW5leHBlY3RlZEFkZHJlc3NFcnJvcixcbiAgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IsXG4gIEJhc2VUcmFuc2FjdGlvbixcbiAgU2lnbmluZ0Vycm9yLFxuICBNZXRob2ROb3RJbXBsZW1lbnRlZEVycm9yLFxufSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0ICogYXMgRmxycExpYiBmcm9tICcuL2xpYic7XG5pbXBvcnQge1xuICBGbHJwRW50cnksXG4gIEZscnBFeHBsYWluVHJhbnNhY3Rpb25PcHRpb25zLFxuICBGbHJwU2lnblRyYW5zYWN0aW9uT3B0aW9ucyxcbiAgRmxycFRyYW5zYWN0aW9uUGFyYW1zLFxuICBGbHJwVmVyaWZ5VHJhbnNhY3Rpb25PcHRpb25zLFxufSBmcm9tICcuL2xpYi9pZmFjZSc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi9saWIvdXRpbHMnO1xuaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuaW1wb3J0IHsgaXNWYWxpZEFkZHJlc3MgYXMgaXNWYWxpZEV0aEFkZHJlc3MgfSBmcm9tICdldGhlcmV1bWpzLXV0aWwnO1xuXG5leHBvcnQgY2xhc3MgRmxycCBleHRlbmRzIEJhc2VDb2luIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9zdGF0aWNzQ29pbjogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPjtcblxuICBjb25zdHJ1Y3RvcihiaXRnbzogQml0R29CYXNlLCBzdGF0aWNzQ29pbj86IFJlYWRvbmx5PFN0YXRpY3NCYXNlQ29pbj4pIHtcbiAgICBzdXBlcihiaXRnbyk7XG5cbiAgICBpZiAoIXN0YXRpY3NDb2luKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ21pc3NpbmcgcmVxdWlyZWQgY29uc3RydWN0b3IgcGFyYW1ldGVyIHN0YXRpY3NDb2luJyk7XG4gICAgfVxuXG4gICAgdGhpcy5fc3RhdGljc0NvaW4gPSBzdGF0aWNzQ29pbjtcbiAgfVxuXG4gIHN0YXRpYyBjcmVhdGVJbnN0YW5jZShiaXRnbzogQml0R29CYXNlLCBzdGF0aWNzQ29pbj86IFJlYWRvbmx5PFN0YXRpY3NCYXNlQ29pbj4pOiBCYXNlQ29pbiB7XG4gICAgcmV0dXJuIG5ldyBGbHJwKGJpdGdvLCBzdGF0aWNzQ29pbik7XG4gIH1cblxuICBnZXRDaGFpbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9zdGF0aWNzQ29pbi5uYW1lO1xuICB9XG4gIGdldEZhbWlseSgpOiBDb2luRmFtaWx5IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhdGljc0NvaW4uZmFtaWx5O1xuICB9XG4gIGdldEZ1bGxOYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRpY3NDb2luLmZ1bGxOYW1lO1xuICB9XG4gIGdldEJhc2VGYWN0b3IoKTogc3RyaW5nIHwgbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5wb3coMTAsIHRoaXMuX3N0YXRpY3NDb2luLmRlY2ltYWxQbGFjZXMpO1xuICB9XG5cbiAgLyoqIGluaGVyaXRlZCBkb2MgKi9cbiAgZ2V0RGVmYXVsdE11bHRpc2lnVHlwZSgpOiBNdWx0aXNpZ1R5cGUge1xuICAgIHJldHVybiBtdWx0aXNpZ1R5cGVzLm9uY2hhaW47XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgc3VwcG9ydHNUc3MoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZ2V0TVBDQWxnb3JpdGhtKCk6IE1QQ0FsZ29yaXRobSB7XG4gICAgcmV0dXJuICdlY2RzYSc7XG4gIH1cblxuICBhc3luYyB2ZXJpZnlUcmFuc2FjdGlvbihwYXJhbXM6IEZscnBWZXJpZnlUcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCB0eEhleCA9IHBhcmFtcy50eFByZWJ1aWxkICYmIHBhcmFtcy50eFByZWJ1aWxkLnR4SGV4O1xuICAgIGlmICghdHhIZXgpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignbWlzc2luZyByZXF1aXJlZCB0eCBwcmVidWlsZCBwcm9wZXJ0eSB0eEhleCcpO1xuICAgIH1cbiAgICBsZXQgdHg7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHR4QnVpbGRlciA9IHRoaXMuZ2V0QnVpbGRlcigpLmZyb20odHhIZXgpO1xuICAgICAgdHggPSBhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHRyYW5zYWN0aW9uOiAke2Vycm9yLm1lc3NhZ2V9YCk7XG4gICAgfVxuICAgIGNvbnN0IGV4cGxhaW5lZFR4ID0gdHguZXhwbGFpblRyYW5zYWN0aW9uKCk7XG5cbiAgICBjb25zdCB0eXBlID0gcGFyYW1zLnR4UGFyYW1zLnR5cGU7XG4gICAgLy8gJ3N0YWtlJyBpcyB0aGUgaW50ZW50LXR5cGUgYWxpYXMgZm9yIEFkZFBlcm1pc3Npb25sZXNzRGVsZWdhdG9yOyBub3JtYWxpemUgaXRcbiAgICAvLyBzbyB0aGUgVHJhbnNhY3Rpb25UeXBlIGVudW0gbG9va3VwIHN1Y2NlZWRzLlxuICAgIGNvbnN0IG5vcm1hbGl6ZWRUeXBlID0gdHlwZSA9PT0gJ3N0YWtlJyA/ICdBZGRQZXJtaXNzaW9ubGVzc0RlbGVnYXRvcicgOiB0eXBlO1xuXG4gICAgLy8gV2hlbiB0eXBlIGlzIHByb3ZpZGVkLCB2ZXJpZnkgaXQgbWF0Y2hlcyB0aGUgcGFyc2VkIHRyYW5zYWN0aW9uLlxuICAgIC8vIFdoZW4gdHlwZSBpcyBub3QgcHJvdmlkZWQgKE1QQy9UU1MgaW50ZW50IGZsb3cgd2hlcmUgYnVpbGRQYXJhbXMgYXJlIHVuYXZhaWxhYmxlKSxcbiAgICAvLyBza2lwIHRoZSB0eXBlIG1hdGNoIGNoZWNrIGFuZCByZWx5IG9uIGV4cGxhaW5lZFR4LnR5cGUgZnJvbSB0aGUgcGFyc2VkIGhleCDigJRcbiAgICAvLyB0aGUgdHJhbnNhY3Rpb24gd2FzIGJ1aWx0IGJ5IHdhbGxldC1wbGF0Zm9ybSBhbmQgdGhlIGhleCBpcyB0aGUgc291cmNlIG9mIHRydXRoLlxuICAgIGlmIChub3JtYWxpemVkVHlwZSAmJiBub3JtYWxpemVkVHlwZSAhPT0gJ0ltcG9ydFRvQycgJiYgZXhwbGFpbmVkVHgudHlwZSAhPT0gVHJhbnNhY3Rpb25UeXBlW25vcm1hbGl6ZWRUeXBlXSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUeCB0eXBlIGRvZXMgbm90IG1hdGNoIHdpdGggZXhwZWN0ZWQgdHhQYXJhbXMgdHlwZScpO1xuICAgIH1cblxuICAgIHN3aXRjaCAoZXhwbGFpbmVkVHgudHlwZSkge1xuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuRXhwb3J0OlxuICAgICAgICBpZiAoIXBhcmFtcy50eFBhcmFtcy5yZWNpcGllbnRzIHx8IHBhcmFtcy50eFBhcmFtcy5yZWNpcGllbnRzPy5sZW5ndGggIT09IDEpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cG9ydCBUeCByZXF1aXJlcyBhIHJlY2lwaWVudCcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMudmFsaWRhdGVFeHBvcnRUeChwYXJhbXMudHhQYXJhbXMucmVjaXBpZW50cywgZXhwbGFpbmVkVHgpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuSW1wb3J0OlxuICAgICAgICBpZiAodHguaXNUcmFuc2FjdGlvbkZvckNDaGFpbikge1xuICAgICAgICAgIC8vIEltcG9ydCB0byBDLWNoYWluXG4gICAgICAgICAgaWYgKGV4cGxhaW5lZFR4Lm91dHB1dHMubGVuZ3RoICE9PSAxKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIDEgb3V0cHV0IGluIGltcG9ydCB0cmFuc2FjdGlvbicpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoIXBhcmFtcy50eFBhcmFtcy5yZWNpcGllbnRzIHx8IHBhcmFtcy50eFBhcmFtcy5yZWNpcGllbnRzLmxlbmd0aCAhPT0gMSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCAxIHJlY2lwaWVudCBpbiBpbXBvcnQgdHJhbnNhY3Rpb24nKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gSW1wb3J0IHRvIFAtY2hhaW5cbiAgICAgICAgICBpZiAoZXhwbGFpbmVkVHgub3V0cHV0cy5sZW5ndGggIT09IDEpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRXhwZWN0ZWQgMSBvdXRwdXQgaW4gaW1wb3J0IHRyYW5zYWN0aW9uJyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMudmFsaWRhdGVJbXBvcnRUeChleHBsYWluZWRUeC5pbnB1dHMsIHBhcmFtcy50eFBhcmFtcyk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5BZGRQZXJtaXNzaW9ubGVzc0RlbGVnYXRvcjpcbiAgICAgICAgaWYgKHBhcmFtcy50eFBhcmFtcy5zdGFraW5nT3B0aW9ucykge1xuICAgICAgICAgIHRoaXMudmFsaWRhdGVEZWxlZ2F0aW9uVHgocGFyYW1zLnR4UGFyYW1zLCBleHBsYWluZWRUeCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1R4IHR5cGUgaXMgbm90IHN1cHBvcnRlZCB5ZXQnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgZXhwb3J0IHR4biBpcyB2YWxpZCwgYmFzZWQgb24gZXhwZWN0ZWQgdHggcGFyYW1zLlxuICAgKlxuICAgKiBAcGFyYW0ge0lUcmFuc2FjdGlvblJlY2lwaWVudFtdfSByZWNpcGllbnRzIGV4cGVjdGVkIHJlY2lwaWVudHMgYW5kIGluZm9cbiAgICogQHBhcmFtIHtGbHJwTGliLlRyYW5zYWN0aW9uRXhwbGFuYXRpb259IGV4cGxhaW5lZFR4IGV4cGxhaW5lZCBleHBvcnQgdHJhbnNhY3Rpb25cbiAgICovXG4gIHZhbGlkYXRlRXhwb3J0VHgocmVjaXBpZW50czogSVRyYW5zYWN0aW9uUmVjaXBpZW50W10sIGV4cGxhaW5lZFR4OiBGbHJwTGliLlRyYW5zYWN0aW9uRXhwbGFuYXRpb24pOiB2b2lkIHtcbiAgICBpZiAocmVjaXBpZW50cy5sZW5ndGggIT09IDEgfHwgZXhwbGFpbmVkVHgub3V0cHV0cy5sZW5ndGggIT09IDEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRXhwb3J0IFR4IHJlcXVpcmVzIG9uZSByZWNpcGllbnQnKTtcbiAgICB9XG5cbiAgICBjb25zdCBtYXhJbXBvcnRGZWUgPSAodGhpcy5fc3RhdGljc0NvaW4ubmV0d29yayBhcyBGbGFyZU5ldHdvcmspLm1heEltcG9ydEZlZTtcbiAgICBjb25zdCByZWNpcGllbnRBbW91bnQgPSBuZXcgQmlnTnVtYmVyKHJlY2lwaWVudHNbMF0uYW1vdW50KTtcbiAgICBpZiAoXG4gICAgICByZWNpcGllbnRBbW91bnQuaXNHcmVhdGVyVGhhbihleHBsYWluZWRUeC5vdXRwdXRBbW91bnQpIHx8XG4gICAgICByZWNpcGllbnRBbW91bnQucGx1cyhtYXhJbXBvcnRGZWUpLmlzTGVzc1RoYW4oZXhwbGFpbmVkVHgub3V0cHV0QW1vdW50KVxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgVHggdG90YWwgYW1vdW50ICR7ZXhwbGFpbmVkVHgub3V0cHV0QW1vdW50fSBkb2VzIG5vdCBtYXRjaCB3aXRoIGV4cGVjdGVkIHRvdGFsIGFtb3VudCBmaWVsZCAke3JlY2lwaWVudEFtb3VudH0gYW5kIG1heCBpbXBvcnQgZmVlICR7bWF4SW1wb3J0RmVlfWBcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKGV4cGxhaW5lZFR4Lm91dHB1dHMgJiYgIXV0aWxzLmlzVmFsaWRBZGRyZXNzKGV4cGxhaW5lZFR4Lm91dHB1dHNbMF0uYWRkcmVzcykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBQLWNoYWluIGFkZHJlc3MgJHtleHBsYWluZWRUeC5vdXRwdXRzWzBdLmFkZHJlc3N9YCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGltcG9ydCB0eG4gaW50byBQIGlzIHZhbGlkLCBiYXNlZCBvbiBleHBlY3RlZCB0eCBwYXJhbXMuXG4gICAqXG4gICAqIEBwYXJhbSB7RmxycEVudHJ5W119IGV4cGxhaW5lZFR4SW5wdXRzIHR4IGlucHV0cyAodW5zcGVudHMgdG8gYmUgaW1wb3J0ZWQpXG4gICAqIEBwYXJhbSB7RmxycFRyYW5zYWN0aW9uUGFyYW1zfSB0eFBhcmFtcyBleHBlY3RlZCB0eCBpbmZvIHRvIGNoZWNrIGFnYWluc3RcbiAgICovXG4gIHZhbGlkYXRlSW1wb3J0VHgoZXhwbGFpbmVkVHhJbnB1dHM6IEZscnBFbnRyeVtdLCB0eFBhcmFtczogRmxycFRyYW5zYWN0aW9uUGFyYW1zKTogdm9pZCB7XG4gICAgaWYgKHR4UGFyYW1zLnVuc3BlbnRzKSB7XG4gICAgICBpZiAoZXhwbGFpbmVkVHhJbnB1dHMubGVuZ3RoICE9PSB0eFBhcmFtcy51bnNwZW50cy5sZW5ndGgpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCAke3R4UGFyYW1zLnVuc3BlbnRzLmxlbmd0aH0gVVRYT3MsIHRyYW5zYWN0aW9uIGhhZCAke2V4cGxhaW5lZFR4SW5wdXRzLmxlbmd0aH1gKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgdW5zcGVudHMgPSBuZXcgU2V0KHR4UGFyYW1zLnVuc3BlbnRzKTtcblxuICAgICAgZm9yIChjb25zdCB1bnNwZW50IG9mIGV4cGxhaW5lZFR4SW5wdXRzKSB7XG4gICAgICAgIGlmICghdW5zcGVudHMuaGFzKHVuc3BlbnQuaWQpKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBUcmFuc2FjdGlvbiBzaG91bGQgbm90IGNvbnRhaW4gdGhlIFVUWE86ICR7dW5zcGVudC5pZH1gKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZSBBZGRQZXJtaXNzaW9ubGVzc0RlbGVnYXRvciB0cmFuc2FjdGlvbiBwYXJhbWV0ZXJzLlxuICAgKiBWYWxpZGF0ZXMgYm90aCBleHBlY3RlZCB0eFBhcmFtcyBhbmQgdGhlIHBhcnNlZCBleHBsYWluZWRUeCBmb3IgY29uc2lzdGVuY3kuXG4gICAqXG4gICAqIEBwYXJhbSB7RmxycFRyYW5zYWN0aW9uUGFyYW1zfSB0eFBhcmFtcyAtIEV4cGVjdGVkIHRyYW5zYWN0aW9uIHBhcmFtZXRlcnNcbiAgICogQHBhcmFtIHtGbHJwTGliLlRyYW5zYWN0aW9uRXhwbGFuYXRpb259IGV4cGxhaW5lZFR4IC0gUGFyc2VkIHRyYW5zYWN0aW9uIGV4cGxhbmF0aW9uXG4gICAqL1xuICB2YWxpZGF0ZURlbGVnYXRpb25UeCh0eFBhcmFtczogRmxycFRyYW5zYWN0aW9uUGFyYW1zLCBleHBsYWluZWRUeDogRmxycExpYi5UcmFuc2FjdGlvbkV4cGxhbmF0aW9uKTogdm9pZCB7XG4gICAgaWYgKCF0eFBhcmFtcy5zdGFraW5nT3B0aW9ucykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdEZWxlZ2F0aW9uIHRyYW5zYWN0aW9uIHJlcXVpcmVzIHN0YWtpbmdPcHRpb25zJyk7XG4gICAgfVxuXG4gICAgY29uc3QgeyBub2RlSUQsIGFtb3VudCwgZHVyYXRpb25TZWNvbmRzLCByZXdhcmRBZGRyZXNzIH0gPSB0eFBhcmFtcy5zdGFraW5nT3B0aW9ucztcblxuICAgIGlmICghbm9kZUlEKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0RlbGVnYXRpb24gdHJhbnNhY3Rpb24gcmVxdWlyZXMgbm9kZUlEJyk7XG4gICAgfVxuXG4gICAgaWYgKCFhbW91bnQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRGVsZWdhdGlvbiB0cmFuc2FjdGlvbiByZXF1aXJlcyBhbW91bnQnKTtcbiAgICB9XG5cbiAgICBpZiAoIWR1cmF0aW9uU2Vjb25kcykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdEZWxlZ2F0aW9uIHRyYW5zYWN0aW9uIHJlcXVpcmVzIGR1cmF0aW9uU2Vjb25kcycpO1xuICAgIH1cblxuICAgIGlmICghcmV3YXJkQWRkcmVzcykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdEZWxlZ2F0aW9uIHRyYW5zYWN0aW9uIHJlcXVpcmVzIHJld2FyZEFkZHJlc3MnKTtcbiAgICB9XG5cbiAgICAvLyBWYWxpZGF0ZSBub2RlSUQgZm9ybWF0IHVzaW5nIHV0aWxpdHkgbWV0aG9kXG4gICAgaWYgKCF1dGlscy5pc1ZhbGlkTm9kZUlEKG5vZGVJRCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBub2RlSUQgZm9ybWF0OiAke25vZGVJRH1gKTtcbiAgICB9XG5cbiAgICAvLyBWYWxpZGF0ZSB0aGF0IHRoZSBwYXJzZWQgdHJhbnNhY3Rpb24ncyBvdXRwdXQgYW1vdW50IG1hdGNoZXMgdGhlIGV4cGVjdGVkIHN0YWtpbmcgYW1vdW50XG4gICAgLy8gVGhlIG91dHB1dEFtb3VudCBpbiBleHBsYWluZWRUeCByZXByZXNlbnRzIHRoZSB0b3RhbCBzdGFrZSBhbW91bnQgaW4gdGhlIHRyYW5zYWN0aW9uXG4gICAgaWYgKGV4cGxhaW5lZFR4Lm91dHB1dEFtb3VudCkge1xuICAgICAgY29uc3QgZXhwZWN0ZWRBbW91bnQgPSBuZXcgQmlnTnVtYmVyKGFtb3VudCk7XG4gICAgICBjb25zdCBhY3R1YWxBbW91bnQgPSBuZXcgQmlnTnVtYmVyKGV4cGxhaW5lZFR4Lm91dHB1dEFtb3VudCk7XG4gICAgICBpZiAoIWV4cGVjdGVkQW1vdW50LmlzRXF1YWxUbyhhY3R1YWxBbW91bnQpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgRGVsZWdhdGlvbiBhbW91bnQgbWlzbWF0Y2g6IGV4cGVjdGVkICR7YW1vdW50fSwgdHJhbnNhY3Rpb24gaGFzICR7ZXhwbGFpbmVkVHgub3V0cHV0QW1vdW50fWApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0QnVpbGRlcigpOiBGbHJwTGliLlRyYW5zYWN0aW9uQnVpbGRlckZhY3Rvcnkge1xuICAgIHJldHVybiBuZXcgRmxycExpYi5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5KGNvaW5zLmdldCh0aGlzLmdldENoYWluKCkpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBhZGRyZXNzIGlzIHZhbGlkLCB0aGVuIG1ha2Ugc3VyZSBpdCBtYXRjaGVzIHRoZSByb290IGFkZHJlc3MuXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbXMuYWRkcmVzcyBhZGRyZXNzIHRvIHZhbGlkYXRlXG4gICAqIEBwYXJhbSBwYXJhbXMua2V5Y2hhaW5zIHB1YmxpYyBrZXlzIHRvIGdlbmVyYXRlIHRoZSB3YWxsZXRcbiAgICovXG4gIGFzeW5jIGlzV2FsbGV0QWRkcmVzcyhwYXJhbXM6IFZlcmlmeUFkZHJlc3NPcHRpb25zKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgeyBhZGRyZXNzLCBrZXljaGFpbnMgfSA9IHBhcmFtcztcblxuICAgIGlmICghdGhpcy5pc1ZhbGlkQWRkcmVzcyhhZGRyZXNzKSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRBZGRyZXNzRXJyb3IoYGludmFsaWQgYWRkcmVzczogJHthZGRyZXNzfWApO1xuICAgIH1cblxuICAgIC8vIG11bHRpc2lnIGFkZHJlc3NlcyBhcmUgc2VwYXJhdGVkIGJ5IH5cbiAgICBjb25zdCBzcGxpdEFkZHJlc3NlcyA9IGFkZHJlc3Muc3BsaXQoJ34nKTtcblxuICAgIC8vIE1QQy9UU1M6IHNpbmdsZSBhZGRyZXNzIGRlcml2ZWQgZnJvbSBjb21tb24ga2V5Y2hhaW5cbiAgICBpZiAoc3BsaXRBZGRyZXNzZXMubGVuZ3RoID09PSAxICYmIGtleWNoYWlucz8ubGVuZ3RoID09PSAxKSB7XG4gICAgICBjb25zdCBleHBlY3RlZEFkZHIgPSBuZXcgRmxycExpYi5LZXlQYWlyKHsgcHViOiBrZXljaGFpbnNbMF0ucHViIH0pLmdldEFkZHJlc3ModGhpcy5fc3RhdGljc0NvaW4ubmV0d29yay50eXBlKTtcbiAgICAgIGlmIChleHBlY3RlZEFkZHIgIT09IGFkZHJlc3MpIHtcbiAgICAgICAgdGhyb3cgbmV3IFVuZXhwZWN0ZWRBZGRyZXNzRXJyb3IoYGFkZHJlc3MgdmFsaWRhdGlvbiBmYWlsdXJlOiAke2FkZHJlc3N9IGlzIG5vdCBvZiB0aGlzIHdhbGxldGApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgaWYgKCFrZXljaGFpbnMgfHwga2V5Y2hhaW5zLmxlbmd0aCAhPT0gMykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGtleWNoYWlucycpO1xuICAgIH1cblxuICAgIC8vIGRlcml2ZSBhZGRyZXNzZXMgZnJvbSBrZXljaGFpblxuICAgIGNvbnN0IHVubG9ja0FkZHJlc3NlcyA9IGtleWNoYWlucy5tYXAoKGtleWNoYWluKSA9PlxuICAgICAgbmV3IEZscnBMaWIuS2V5UGFpcih7IHB1Yjoga2V5Y2hhaW4ucHViIH0pLmdldEFkZHJlc3ModGhpcy5fc3RhdGljc0NvaW4ubmV0d29yay50eXBlKVxuICAgICk7XG5cbiAgICBpZiAoc3BsaXRBZGRyZXNzZXMubGVuZ3RoICE9PSB1bmxvY2tBZGRyZXNzZXMubGVuZ3RoKSB7XG4gICAgICB0aHJvdyBuZXcgVW5leHBlY3RlZEFkZHJlc3NFcnJvcihgYWRkcmVzcyB2YWxpZGF0aW9uIGZhaWx1cmU6IG11bHRpc2lnIGFkZHJlc3MgbGVuZ3RoIGRvZXMgbm90IG1hdGNoYCk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmFkcmVzc2VzQXJyYXlzTWF0Y2goc3BsaXRBZGRyZXNzZXMsIHVubG9ja0FkZHJlc3NlcykpIHtcbiAgICAgIHRocm93IG5ldyBVbmV4cGVjdGVkQWRkcmVzc0Vycm9yKGBhZGRyZXNzIHZhbGlkYXRpb24gZmFpbHVyZTogJHthZGRyZXNzfSBpcyBub3Qgb2YgdGhpcyB3YWxsZXRgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZSB0aGF0IHR3byBtdWx0aXNpZyBhZGRyZXNzIGFycmF5cyBoYXZlIHRoZSBzYW1lIGVsZW1lbnRzLCBvcmRlciBkb2VzbnQgbWF0dGVyXG4gICAqIEBwYXJhbSBhZGRyZXNzQXJyYXkxXG4gICAqIEBwYXJhbSBhZGRyZXNzQXJyYXkyXG4gICAqIEByZXR1cm5zIHRydWUgaWYgYWRkcmVzcyBhcnJheXMgaGF2ZSB0aGUgc2FtZSBhZGRyZXNzZXNcbiAgICogQHByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgYWRyZXNzZXNBcnJheXNNYXRjaChhZGRyZXNzQXJyYXkxOiBzdHJpbmdbXSwgYWRkcmVzc0FycmF5Mjogc3RyaW5nW10pIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoYWRkcmVzc0FycmF5MS5zb3J0KCkpID09PSBKU09OLnN0cmluZ2lmeShhZGRyZXNzQXJyYXkyLnNvcnQoKSk7XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGUgRmxycCBrZXkgcGFpclxuICAgKlxuICAgKiBAcGFyYW0ge0J1ZmZlcn0gc2VlZCAtIFNlZWQgZnJvbSB3aGljaCB0aGUgbmV3IGtleXBhaXIgc2hvdWxkIGJlIGdlbmVyYXRlZCwgb3RoZXJ3aXNlIGEgcmFuZG9tIHNlZWQgaXMgdXNlZFxuICAgKiBAcmV0dXJucyB7T2JqZWN0fSBvYmplY3Qgd2l0aCBnZW5lcmF0ZWQgcHViIGFuZCBwcnZcbiAgICovXG4gIGdlbmVyYXRlS2V5UGFpcihzZWVkPzogQnVmZmVyKTogS2V5UGFpciB7XG4gICAgY29uc3Qga2V5UGFpciA9IHNlZWQgPyBuZXcgRmxycExpYi5LZXlQYWlyKHsgc2VlZCB9KSA6IG5ldyBGbHJwTGliLktleVBhaXIoKTtcbiAgICBjb25zdCBrZXlzID0ga2V5UGFpci5nZXRLZXlzKCk7XG5cbiAgICBpZiAoIWtleXMucHJ2KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgcHJ2IGluIGtleSBnZW5lcmF0aW9uLicpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBwdWI6IGtleXMucHViLFxuICAgICAgcHJ2OiBrZXlzLnBydixcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciBpbnB1dCBpcyB2YWxpZCBwdWJsaWMga2V5IGZvciB0aGUgY29pblxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gcHViIHRoZSBwcnYgdG8gYmUgY2hlY2tlZFxuICAgKiBAcmV0dXJucyBpcyBpdCB2YWxpZD9cbiAgICovXG4gIGlzVmFsaWRQdWIocHViOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICB0cnkge1xuICAgICAgbmV3IEZscnBMaWIuS2V5UGFpcih7IHB1YiB9KTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIGlucHV0IGlzIHZhbGlkIHByaXZhdGUga2V5IGZvciB0aGUgY29pblxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gcHJ2IHRoZSBwcnYgdG8gYmUgY2hlY2tlZFxuICAgKiBAcmV0dXJucyBpcyBpdCB2YWxpZD9cbiAgICovXG4gIGlzVmFsaWRQcnYocHJ2OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICB0cnkge1xuICAgICAgbmV3IEZscnBMaWIuS2V5UGFpcih7IHBydiB9KTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBpc1ZhbGlkQWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcgfCBzdHJpbmdbXSk6IGJvb2xlYW4ge1xuICAgIGlmIChhZGRyZXNzID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyB2YWxpZGF0ZSBldGggYWRkcmVzcyBmb3IgY3Jvc3MtY2hhaW4gdHhzIHRvIGMtY2hhaW5cbiAgICBpZiAodHlwZW9mIGFkZHJlc3MgPT09ICdzdHJpbmcnICYmIGlzVmFsaWRFdGhBZGRyZXNzKGFkZHJlc3MpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gRmxycExpYi5VdGlscy5pc1ZhbGlkQWRkcmVzcyhhZGRyZXNzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHJhdyBieXRlcyB0aGF0IG5lZWQgdG8gYmUgc2lnbmVkIGJ5IHRoZSBNUEMgY2VyZW1vbnkuXG4gICAqIE1QQy5zaWduKCkgaW50ZXJuYWxseSBTSEEtMjU2IGhhc2hlcywgc28gcmV0dXJuIHJhdyB1bnNpZ25lZCB0eCBieXRlcy5cbiAgICovXG4gIGFzeW5jIGdldFNpZ25hYmxlUGF5bG9hZCh0eEhleDogc3RyaW5nKTogUHJvbWlzZTxCdWZmZXI+IHtcbiAgICBjb25zdCB0eEJ1aWxkZXIgPSB0aGlzLmdldEJ1aWxkZXIoKS5mcm9tKHR4SGV4KTtcbiAgICBjb25zdCB0eCA9IChhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKSkgYXMgRmxycExpYi5UcmFuc2FjdGlvbjtcbiAgICByZXR1cm4gQnVmZmVyLmZyb20odHguc2lnbmFibGVQYXlsb2FkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbmplY3QgYW4gTVBDLXByb2R1Y2VkIHNpZ25hdHVyZSBpbnRvIGFuIHVuc2lnbmVkIHRyYW5zYWN0aW9uLlxuICAgKiBAcGFyYW0gdHhIZXggLSBVbnNpZ25lZCB0cmFuc2FjdGlvbiBoZXhcbiAgICogQHBhcmFtIHNpZ25hdHVyZSAtIDY1LWJ5dGUgRUNEU0Egc2lnbmF0dXJlIChyIHx8IHMgfHwgcmVjb3ZlcnkpXG4gICAqIEByZXR1cm5zIFNpZ25lZCB0cmFuc2FjdGlvbiBoZXhcbiAgICovXG4gIGFzeW5jIGFkZFNpZ25hdHVyZVRvVHJhbnNhY3Rpb24odHhIZXg6IHN0cmluZywgc2lnbmF0dXJlOiBCdWZmZXIpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IHR4QnVpbGRlciA9IHRoaXMuZ2V0QnVpbGRlcigpLmZyb20odHhIZXgpO1xuICAgIGNvbnN0IHR4ID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG4gICAgKHR4IGFzIEZscnBMaWIuVHJhbnNhY3Rpb24pLmFkZEV4dGVybmFsU2lnbmF0dXJlKG5ldyBVaW50OEFycmF5KHNpZ25hdHVyZSkpO1xuICAgIHJldHVybiB0eC50b0Jyb2FkY2FzdEZvcm1hdCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNpZ25zIEF2YXhwIHRyYW5zYWN0aW9uXG4gICAqL1xuICBhc3luYyBzaWduVHJhbnNhY3Rpb24ocGFyYW1zOiBGbHJwU2lnblRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8U2lnbmVkVHJhbnNhY3Rpb24+IHtcbiAgICAvLyBkZXNlcmlhbGl6ZSByYXcgdHJhbnNhY3Rpb24gKG5vdGU6IGZyb21BZGRyZXNzIGhhcyBvbmNoYWluIG9yZGVyKVxuICAgIGNvbnN0IHR4QnVpbGRlciA9IHRoaXMuZ2V0QnVpbGRlcigpLmZyb20ocGFyYW1zLnR4UHJlYnVpbGQudHhIZXgpO1xuICAgIGNvbnN0IGtleSA9IHBhcmFtcy5wcnY7XG5cbiAgICAvLyBwdXNoIHRoZSBrZXlwYWlyIHRvIHNpZ25lciBhcnJheVxuICAgIHR4QnVpbGRlci5zaWduKHsga2V5IH0pO1xuXG4gICAgLy8gYnVpbGQgdGhlIHRyYW5zYWN0aW9uXG4gICAgY29uc3QgdHJhbnNhY3Rpb246IEJhc2VUcmFuc2FjdGlvbiA9IGF3YWl0IHR4QnVpbGRlci5idWlsZCgpO1xuICAgIGlmICghdHJhbnNhY3Rpb24pIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignRXJyb3Igd2hpbGUgdHJ5aW5nIHRvIGJ1aWxkIHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICAgIHJldHVybiB0cmFuc2FjdGlvbi5zaWduYXR1cmUubGVuZ3RoID49IDJcbiAgICAgID8geyB0eEhleDogdHJhbnNhY3Rpb24udG9Ccm9hZGNhc3RGb3JtYXQoKSB9XG4gICAgICA6IHsgaGFsZlNpZ25lZDogeyB0eEhleDogdHJhbnNhY3Rpb24udG9Ccm9hZGNhc3RGb3JtYXQoKSB9IH07XG4gIH1cblxuICBhc3luYyBwYXJzZVRyYW5zYWN0aW9uKHBhcmFtczogUGFyc2VUcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPFBhcnNlZFRyYW5zYWN0aW9uPiB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgLyoqXG4gICAqIEV4cGxhaW4gYSBBdmF4cCB0cmFuc2FjdGlvbiBmcm9tIHR4SGV4XG4gICAqIEBwYXJhbSBwYXJhbXNcbiAgICogQHBhcmFtIGNhbGxiYWNrXG4gICAqL1xuICBhc3luYyBleHBsYWluVHJhbnNhY3Rpb24ocGFyYW1zOiBGbHJwRXhwbGFpblRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8RmxycExpYi5UcmFuc2FjdGlvbkV4cGxhbmF0aW9uPiB7XG4gICAgY29uc3QgdHhIZXggPSBwYXJhbXMudHhIZXggPz8gcGFyYW1zPy5oYWxmU2lnbmVkPy50eEhleDtcbiAgICBpZiAoIXR4SGV4KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ21pc3NpbmcgdHJhbnNhY3Rpb24gaGV4Jyk7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBjb25zdCB0eEJ1aWxkZXIgPSB0aGlzLmdldEJ1aWxkZXIoKS5mcm9tKHR4SGV4KTtcbiAgICAgIGNvbnN0IHR4ID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG4gICAgICByZXR1cm4gdHguZXhwbGFpblRyYW5zYWN0aW9uKCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHRyYW5zYWN0aW9uOiAke2UubWVzc2FnZX1gKTtcbiAgICB9XG4gIH1cblxuICByZWNvdmVyeVNpZ25hdHVyZShtZXNzYWdlSGFzaDogQnVmZmVyLCBzaWduYXR1cmU6IEJ1ZmZlcik6IEJ1ZmZlciB7XG4gICAgcmV0dXJuIEZscnBMaWIuVXRpbHMucmVjb3ZlcnlTaWduYXR1cmUobWVzc2FnZUhhc2gsIHNpZ25hdHVyZSk7XG4gIH1cblxuICBhc3luYyBzaWduTWVzc2FnZShrZXk6IEtleVBhaXIsIG1lc3NhZ2U6IHN0cmluZyB8IEJ1ZmZlcik6IFByb21pc2U8QnVmZmVyPiB7XG4gICAgY29uc3QgcHJ2ID0gbmV3IEZscnBMaWIuS2V5UGFpcihrZXkpLmdldFByaXZhdGVLZXkoKTtcbiAgICBpZiAoIXBydikge1xuICAgICAgdGhyb3cgbmV3IFNpZ25pbmdFcnJvcignSW52YWxpZCBrZXkgcGFpciBvcHRpb25zJyk7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgbWVzc2FnZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIG1lc3NhZ2UgPSBCdWZmZXIuZnJvbShtZXNzYWdlLCAnaGV4Jyk7XG4gICAgfVxuICAgIHJldHVybiBGbHJwTGliLlV0aWxzLmNyZWF0ZVNpZ25hdHVyZSh0aGlzLl9zdGF0aWNzQ29pbi5uZXR3b3JrIGFzIEZsYXJlTmV0d29yaywgbWVzc2FnZSwgcHJ2KTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBhdWRpdERlY3J5cHRlZEtleShwYXJhbXM6IEF1ZGl0RGVjcnlwdGVkS2V5UGFyYW1zKTogdm9pZCB7XG4gICAgdGhyb3cgbmV3IE1ldGhvZE5vdEltcGxlbWVudGVkRXJyb3IoKTtcbiAgfVxufVxuIl19
|
|
@@ -76,4 +76,11 @@ export declare const MULTISIG_ADDRESS_SORTING: {
|
|
|
76
76
|
sortedIndex: number;
|
|
77
77
|
}[];
|
|
78
78
|
};
|
|
79
|
+
/**
|
|
80
|
+
* MPC/TSS delegation transaction hex (single signer, built by wallet-platform via buildTransactionWithIntent).
|
|
81
|
+
* From txRequest b5f89e8b-2273-4e29-80bd-60bd488e172f on Coston2 testnet.
|
|
82
|
+
* This is the serializedTxHex that verifyTransaction receives during MPC signing,
|
|
83
|
+
* where txParams has no type and no stakingOptions (only { recipients: [] }).
|
|
84
|
+
*/
|
|
85
|
+
export declare const MPC_DELEGATION_UNSIGNED_TX_HEX = "00000000001a0000007200000000000000000000000000000000000000000000000000000000000000000000000158734f94af871c3d131b56131b6fb7a0291eacadd261e69dfb42a9cdf6f7fddd000000070000000253e0efe80000000000000000000000010000000184fa441f981fce7cd63189d5071802376ad6676e000000022ebd7484b5704be67db0344abd9d2223d5c7100795f68c7a6a4a77888dccb9820000000158734f94af871c3d131b56131b6fb7a0291eacadd261e69dfb42a9cdf6f7fddd0000000500002d79883d20000000000100000000933f844e2d35c52963abd7912ec39faa71ed5994a52c584d9bf1f6bd480c976c0000000058734f94af871c3d131b56131b6fb7a0291eacadd261e69dfb42a9cdf6f7fddd0000000500000002540be400000000010000000000000000664b4924a25af8be5f07052b2c2e582f7c10a654000000006a1192a4000000006a2407a400002d79883d200000000000000000000000000000000000000000000000000000000000000000000000000158734f94af871c3d131b56131b6fb7a0291eacadd261e69dfb42a9cdf6f7fddd0000000700002d79883d20000000000000000000000000010000000184fa441f981fce7cd63189d5071802376ad6676e0000000b00000000000000000000000100000001243f65fbcc8458492e09d7693c3966a734c0a30f00000002000000090000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084fa441f981fce7cd63189d5071802376ad6676e000000090000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084fa441f981fce7cd63189d5071802376ad6676ee5e72aa5";
|
|
79
86
|
//# sourceMappingURL=multisigDelegationTx.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multisigDelegationTx.d.ts","sourceRoot":"","sources":["../../../../test/resources/transactionData/multisigDelegationTx.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;CAgBnC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;CAatC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mCAAmC,y/BACw8B,CAAC;AAEz/B;;;GAGG;AACH,eAAO,MAAM,sCAAsC,qxCACiuC,CAAC;AAErxC;;;GAGG;AACH,eAAO,MAAM,uCAAuC,qxCACguC,CAAC;AAErxC;;GAEG;AACH,eAAO,MAAM,yBAAyB,uDAAuD,CAAC;AAE9F;;;;;;;;;;GAUG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;CAiBpC,CAAC"}
|
|
1
|
+
{"version":3,"file":"multisigDelegationTx.d.ts","sourceRoot":"","sources":["../../../../test/resources/transactionData/multisigDelegationTx.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;CAgBnC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;CAatC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mCAAmC,y/BACw8B,CAAC;AAEz/B;;;GAGG;AACH,eAAO,MAAM,sCAAsC,qxCACiuC,CAAC;AAErxC;;;GAGG;AACH,eAAO,MAAM,uCAAuC,qxCACguC,CAAC;AAErxC;;GAEG;AACH,eAAO,MAAM,yBAAyB,uDAAuD,CAAC;AAE9F;;;;;;;;;;GAUG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;CAiBpC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,8BAA8B,qzCACywC,CAAC"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* This demonstrates the half-signing workflow for 2-of-3 multisig delegation transactions
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.MULTISIG_ADDRESS_SORTING = exports.MULTISIG_DELEGATION_TX_ID = exports.MULTISIG_DELEGATION_FULLY_SIGNED_TX_HEX = exports.MULTISIG_DELEGATION_HALF_SIGNED_TX_HEX = exports.MULTISIG_DELEGATION_UNSIGNED_TX_HEX = exports.MULTISIG_DELEGATION_PARAMS = exports.HALF_SIGN_TEST_ACCOUNTS = void 0;
|
|
7
|
+
exports.MPC_DELEGATION_UNSIGNED_TX_HEX = exports.MULTISIG_ADDRESS_SORTING = exports.MULTISIG_DELEGATION_TX_ID = exports.MULTISIG_DELEGATION_FULLY_SIGNED_TX_HEX = exports.MULTISIG_DELEGATION_HALF_SIGNED_TX_HEX = exports.MULTISIG_DELEGATION_UNSIGNED_TX_HEX = exports.MULTISIG_DELEGATION_PARAMS = exports.HALF_SIGN_TEST_ACCOUNTS = void 0;
|
|
8
8
|
/**
|
|
9
9
|
* Test accounts for half-signing workflow
|
|
10
10
|
* These are the actual keys used to create and sign the on-chain transaction
|
|
@@ -91,4 +91,11 @@ exports.MULTISIG_ADDRESS_SORTING = {
|
|
|
91
91
|
{ role: 'bitgo', originalIndex: 1, sortedIndex: 1 },
|
|
92
92
|
],
|
|
93
93
|
};
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlzaWdEZWxlZ2F0aW9uVHguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90ZXN0L3Jlc291cmNlcy90cmFuc2FjdGlvbkRhdGEvbXVsdGlzaWdEZWxlZ2F0aW9uVHgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7R0FHRzs7O0FBRUg7OztHQUdHO0FBQ1UsUUFBQSx1QkFBdUIsR0FBRztJQUNyQyxJQUFJLEVBQUU7UUFDSixVQUFVLEVBQUUsa0VBQWtFO1FBQzlFLFNBQVMsRUFBRSxvRUFBb0U7UUFDL0UsYUFBYSxFQUFFLGlEQUFpRDtLQUNqRTtJQUNELEtBQUssRUFBRTtRQUNMLFVBQVUsRUFBRSxrRUFBa0U7UUFDOUUsU0FBUyxFQUFFLG9FQUFvRTtRQUMvRSxhQUFhLEVBQUUsaURBQWlEO0tBQ2pFO0lBQ0QsTUFBTSxFQUFFO1FBQ04sVUFBVSxFQUFFLGtFQUFrRTtRQUM5RSxTQUFTLEVBQUUsb0VBQW9FO1FBQy9FLGFBQWEsRUFBRSxpREFBaUQ7S0FDakU7Q0FDRixDQUFDO0FBRUY7O0dBRUc7QUFDVSxRQUFBLDBCQUEwQixHQUFHO0lBQ3hDLE1BQU0sRUFBRSwwQ0FBMEM7SUFDbEQsV0FBVyxFQUFFLGdCQUFnQixFQUFFLHdCQUF3QjtJQUN2RCxRQUFRLEVBQUUsRUFBRSxFQUFFLE9BQU87SUFDckIsU0FBUyxFQUFFLFVBQVU7SUFDckIsT0FBTyxFQUFFLFVBQVU7SUFDbkIsYUFBYSxFQUFFLGlEQUFpRDtJQUNoRSxpQkFBaUIsRUFBRTtRQUNqQixpREFBaUQsRUFBRSxpQkFBaUI7UUFDcEUsaURBQWlELEVBQUUsa0JBQWtCO1FBQ3JFLGlEQUFpRCxFQUFFLG1CQUFtQjtLQUN2RTtJQUNELFNBQVMsRUFBRSxDQUFDO0NBQ2IsQ0FBQztBQUVGOzs7R0FHRztBQUNVLFFBQUEsbUNBQW1DLEdBQzlDLHMvQkFBcy9CLENBQUM7QUFFei9COzs7R0FHRztBQUNVLFFBQUEsc0NBQXNDLEdBQ2pELGt4Q0FBa3hDLENBQUM7QUFFcnhDOzs7R0FHRztBQUNVLFFBQUEsdUNBQXVDLEdBQ2xELGt4Q0FBa3hDLENBQUM7QUFFcnhDOztHQUVHO0FBQ1UsUUFBQSx5QkFBeUIsR0FBRyxvREFBb0QsQ0FBQztBQUU5Rjs7Ozs7Ozs7OztHQVVHO0FBQ1UsUUFBQSx3QkFBd0IsR0FBRztJQUN0QyxRQUFRLEVBQUU7UUFDUixpREFBaUQsRUFBRSxnQkFBZ0I7UUFDbkUsaURBQWlELEVBQUUsaUJBQWlCO1FBQ3BFLGlEQUFpRCxFQUFFLGtCQUFrQjtLQUN0RTtJQUNELE1BQU0sRUFBRTtRQUNOLGlEQUFpRCxFQUFFLCtCQUErQjtRQUNsRixpREFBaUQsRUFBRSxnQ0FBZ0M7UUFDbkYsaURBQWlELEVBQUUsaUNBQWlDO0tBQ3JGO0lBQ0QsK0NBQStDO0lBQy9DLGNBQWMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsK0JBQStCO0lBQzFELFdBQVcsRUFBRTtRQUNYLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLEVBQUU7UUFDbEQsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUMsRUFBRTtLQUNwRDtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqXG4gKiBUaGlzIGRlbW9uc3RyYXRlcyB0aGUgaGFsZi1zaWduaW5nIHdvcmtmbG93IGZvciAyLW9mLTMgbXVsdGlzaWcgZGVsZWdhdGlvbiB0cmFuc2FjdGlvbnNcbiAqL1xuXG4vKipcbiAqIFRlc3QgYWNjb3VudHMgZm9yIGhhbGYtc2lnbmluZyB3b3JrZmxvd1xuICogVGhlc2UgYXJlIHRoZSBhY3R1YWwga2V5cyB1c2VkIHRvIGNyZWF0ZSBhbmQgc2lnbiB0aGUgb24tY2hhaW4gdHJhbnNhY3Rpb25cbiAqL1xuZXhwb3J0IGNvbnN0IEhBTEZfU0lHTl9URVNUX0FDQ09VTlRTID0ge1xuICB1c2VyOiB7XG4gICAgcHJpdmF0ZUtleTogJ2QzNjU2NTNkMmI3NmJkMWMzZDkyNzJlOGEzMDUyMmIxOWQyODEzMWU0NzRiN2ViMDg4N2IzNjE5NWIxYWIxZmYnLFxuICAgIHB1YmxpY0tleTogJzAyODY5NGFiY2JjZGJmNzk3M2MxZGE3NmRhNjVjMmMwNWFjN2VlYzk4ZWQ5YjEwYjFlNTNhMmM4MzRjMjQxNjNjYScsXG4gICAgcENoYWluQWRkcmVzczogJ1AtY29zdHdvMWdyeWN5NXBta3c4NTkwdmdoemFmMnY1cGhqbmpsNTgzY21jM2Y1JyxcbiAgfSxcbiAgYml0Z286IHtcbiAgICBwcml2YXRlS2V5OiAnYTIxODE0MWQ0OTVjOWM2MWY3NmY5MDQ5Yjc2M2E3YjRhNGMzYzUwM2YzZjQ1Njk4YzE3YjUwMDI5MzlkY2Q4NCcsXG4gICAgcHVibGljS2V5OiAnMDMwOWQxZTUwYjI0OTYxNzBkZDUwYWU4OWJjZTcxY2M5ZTk2NDEwNGU0MTM5ZWRhOWViNDY4MDA2NjUyNjRmZTc4JyxcbiAgICBwQ2hhaW5BZGRyZXNzOiAnUC1jb3N0d28xZGRndHFnOGxzNHQwY2x1bDNyaHV6bGRkOTM4NnVxdzg1bnI5OGYnLFxuICB9LFxuICBiYWNrdXA6IHtcbiAgICBwcml2YXRlS2V5OiAnNTE5YzUxNWMxOWE0YjU0ODhmNjhkMjcxMzI4MzU1ZWQ5NzA3MmUzMTRjMzIyZWIxZDdhZTQ2N2Y4YTljYjZiOCcsXG4gICAgcHVibGljS2V5OiAnMDJjYmVlNWVmY2ZhMDRiYTI1Y2RkY2M2N2E2OTIyM2FmYzhhOTUxMmFkOWU2OWQyOGFiMzAzMTdiZjBmODNkZDJlJyxcbiAgICBwQ2hhaW5BZGRyZXNzOiAnUC1jb3N0d28xd2VrZGtnOTlobmZkY2xsc2Q4dDNmeWc3bDVqdWZ0aGhmeXNqZ3AnLFxuICB9LFxufTtcblxuLyoqXG4gKiBUcmFuc2FjdGlvbiBwYXJhbWV0ZXJzIGZvciB0aGUgbXVsdGlzaWcgZGVsZWdhdGlvblxuICovXG5leHBvcnQgY29uc3QgTVVMVElTSUdfREVMRUdBVElPTl9QQVJBTVMgPSB7XG4gIG5vZGVJRDogJ05vZGVJRC1BS3Q3V2FLNm96RXk1SzhhektOYWNaWEx6eFo5eEZnQzcnLFxuICBzdGFrZUFtb3VudDogJzUwMDAwMDAwMDAwMDAwJywgLy8gNTAsMDAwIEZMUiBpbiBuYW5vRkxSXG4gIGR1cmF0aW9uOiAxNCwgLy8gZGF5c1xuICBzdGFydFRpbWU6IDE3NzE4NTA5OTIsXG4gIGVuZFRpbWU6IDE3NzMwNjA1OTIsXG4gIHJld2FyZEFkZHJlc3M6ICdQLWNvc3R3bzFncnljeTVwbWt3ODU5MHZnaHphZjJ2NXBoam5qbDU4M2NtYzNmNScsXG4gIG11bHRpc2lnQWRkcmVzc2VzOiBbXG4gICAgJ1AtY29zdHdvMWdyeWN5NXBta3c4NTkwdmdoemFmMnY1cGhqbmpsNTgzY21jM2Y1JywgLy8gdXNlciAoaW5kZXggMClcbiAgICAnUC1jb3N0d28xZGRndHFnOGxzNHQwY2x1bDNyaHV6bGRkOTM4NnVxdzg1bnI5OGYnLCAvLyBiaXRnbyAoaW5kZXggMSlcbiAgICAnUC1jb3N0d28xd2VrZGtnOTlobmZkY2xsc2Q4dDNmeWc3bDVqdWZ0aGhmeXNqZ3AnLCAvLyBiYWNrdXAgKGluZGV4IDIpXG4gIF0sXG4gIHRocmVzaG9sZDogMixcbn07XG5cbi8qKlxuICogVW5zaWduZWQgdHJhbnNhY3Rpb24gaGV4IChiZWZvcmUgYW55IHNpZ25hdHVyZXMpXG4gKiBCdWlsdCB3aXRoIHNvcnRlZCBmcm9tQWRkcmVzc2VzIHRvIG1hdGNoIFVUWE8gb3duZXIgb3JkZXJcbiAqL1xuZXhwb3J0IGNvbnN0IE1VTFRJU0lHX0RFTEVHQVRJT05fVU5TSUdORURfVFhfSEVYID1cbiAgJzAwMDAwMDAwMDAxYTAwMDAwMDcyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNTg3MzRmOTRhZjg3MWMzZDEzMWI1NjEzMWI2ZmI3YTAyOTFlYWNhZGQyNjFlNjlkZmI0MmE5Y2RmNmY3ZmRkZDAwMDAwMDA3MDAwMDAwMDI1M2U4OWNjMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAzNDBjOTgyNTAzYmIzOGY0MmJkODhiOGJhOTUzMjgxYmNhNzJmZDBmMTZiNTBiMDIwZmY4NTU2ZmM3ZjlmODhlZmMxN2RhZDJjNGZhZTAxYzc3NjZjZGIyMGE1YmNkMmRjN2ZmMDY5ZDcxNDkxMWVmZDI1YzRhZWY3MDAwMDAwMDE3MDcyODhhYmVkM2I0ZGE4ZDE4MWVlMjkyMmFjNTVlMWYyNjk4NDU1ODNjZjlhZGZmMGNhZWU1ZmQ0N2RkYzNjMDAwMDAwMDE1ODczNGY5NGFmODcxYzNkMTMxYjU2MTMxYjZmYjdhMDI5MWVhY2FkZDI2MWU2OWRmYjQyYTljZGY2ZjdmZGRkMDAwMDAwMDUwMDAwMmQ3YmRjNDkwNDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDA2NjRiNDkyNGEyNWFmOGJlNWYwNzA1MmIyYzJlNTgyZjdjMTBhNjU0MDAwMDAwMDA2OTljNGNmMDAwMDAwMDAwNjlhZWMxZjAwMDAwMmQ3OTg4M2QyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNTg3MzRmOTRhZjg3MWMzZDEzMWI1NjEzMWI2ZmI3YTAyOTFlYWNhZGQyNjFlNjlkZmI0MmE5Y2RmNmY3ZmRkZDAwMDAwMDA3MDAwMDJkNzk4ODNkMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAzNDBjOTgyNTAzYmIzOGY0MmJkODhiOGJhOTUzMjgxYmNhNzJmZDBmMTZiNTBiMDIwZmY4NTU2ZmM3ZjlmODhlZmMxN2RhZDJjNGZhZTAxYzc3NjZjZGIyMGE1YmNkMmRjN2ZmMDY5ZDcxNDkxMWVmZDI1YzRhZWY3MDAwMDAwMGIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMTQwYzk4MjUwM2JiMzhmNDJiZDg4YjhiYTk1MzI4MWJjYTcyZmQwZjEnO1xuXG4vKipcbiAqIEhhbGYtc2lnbmVkIHRyYW5zYWN0aW9uIGhleCAoc2lnbmVkIGJ5IHVzZXIga2V5IG9ubHkpXG4gKiBGaXJzdCBzaWduYXR1cmUgc2xvdCBmaWxsZWQsIHNlY29uZCBzbG90IGVtcHR5XG4gKi9cbmV4cG9ydCBjb25zdCBNVUxUSVNJR19ERUxFR0FUSU9OX0hBTEZfU0lHTkVEX1RYX0hFWCA9XG4gICcwMDAwMDAwMDAwMWEwMDAwMDA3MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTU4NzM0Zjk0YWY4NzFjM2QxMzFiNTYxMzFiNmZiN2EwMjkxZWFjYWRkMjYxZTY5ZGZiNDJhOWNkZjZmN2ZkZGQwMDAwMDAwNzAwMDAwMDAyNTNlODljYzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMzQwYzk4MjUwM2JiMzhmNDJiZDg4YjhiYTk1MzI4MWJjYTcyZmQwZjE2YjUwYjAyMGZmODU1NmZjN2Y5Zjg4ZWZjMTdkYWQyYzRmYWUwMWM3NzY2Y2RiMjBhNWJjZDJkYzdmZjA2OWQ3MTQ5MTFlZmQyNWM0YWVmNzAwMDAwMDAxNzA3Mjg4YWJlZDNiNGRhOGQxODFlZTI5MjJhYzU1ZTFmMjY5ODQ1NTgzY2Y5YWRmZjBjYWVlNWZkNDdkZGMzYzAwMDAwMDAxNTg3MzRmOTRhZjg3MWMzZDEzMWI1NjEzMWI2ZmI3YTAyOTFlYWNhZGQyNjFlNjlkZmI0MmE5Y2RmNmY3ZmRkZDAwMDAwMDA1MDAwMDJkN2JkYzQ5MDQwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwNjY0YjQ5MjRhMjVhZjhiZTVmMDcwNTJiMmMyZTU4MmY3YzEwYTY1NDAwMDAwMDAwNjk5YzRjZjAwMDAwMDAwMDY5YWVjMWYwMDAwMDJkNzk4ODNkMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTU4NzM0Zjk0YWY4NzFjM2QxMzFiNTYxMzFiNmZiN2EwMjkxZWFjYWRkMjYxZTY5ZGZiNDJhOWNkZjZmN2ZkZGQwMDAwMDAwNzAwMDAyZDc5ODgzZDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMzQwYzk4MjUwM2JiMzhmNDJiZDg4YjhiYTk1MzI4MWJjYTcyZmQwZjE2YjUwYjAyMGZmODU1NmZjN2Y5Zjg4ZWZjMTdkYWQyYzRmYWUwMWM3NzY2Y2RiMjBhNWJjZDJkYzdmZjA2OWQ3MTQ5MTFlZmQyNWM0YWVmNzAwMDAwMDBiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDE0MGM5ODI1MDNiYjM4ZjQyYmQ4OGI4YmE5NTMyODFiY2E3MmZkMGYxMDAwMDAwMDEwMDAwMDAwOTAwMDAwMDAyZDQ4OGMxNDY5YmY5MmNmZGViMmMxNjRlMTYwOGY5YzFiZWY0YWVjMGIzOWZlMzMwODhhOTdiNzQyNjhhOTA4YTU3OWYwNzlkNTY3MjhkY2ZiZGEyOTdiNmY1Yzc3OTJlMjZmMTA5OTE0YjY1ZWQ5NzRkY2QxYWQxNTVjYjYxZDMwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnO1xuXG4vKipcbiAqIEZ1bGx5IHNpZ25lZCB0cmFuc2FjdGlvbiBoZXggKHNpZ25lZCBieSBib3RoIHVzZXIgYW5kIGJpdGdvIGtleXMpXG4gKiBUaGlzIHRyYW5zYWN0aW9uIHdhcyBzdWNjZXNzZnVsbHkgYnJvYWRjYXN0IHRvIENvc3RvbjIgdGVzdG5ldFxuICovXG5leHBvcnQgY29uc3QgTVVMVElTSUdfREVMRUdBVElPTl9GVUxMWV9TSUdORURfVFhfSEVYID1cbiAgJzAwMDAwMDAwMDAxYTAwMDAwMDcyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNTg3MzRmOTRhZjg3MWMzZDEzMWI1NjEzMWI2ZmI3YTAyOTFlYWNhZGQyNjFlNjlkZmI0MmE5Y2RmNmY3ZmRkZDAwMDAwMDA3MDAwMDAwMDI1M2U4OWNjMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAzNDBjOTgyNTAzYmIzOGY0MmJkODhiOGJhOTUzMjgxYmNhNzJmZDBmMTZiNTBiMDIwZmY4NTU2ZmM3ZjlmODhlZmMxN2RhZDJjNGZhZTAxYzc3NjZjZGIyMGE1YmNkMmRjN2ZmMDY5ZDcxNDkxMWVmZDI1YzRhZWY3MDAwMDAwMDE3MDcyODhhYmVkM2I0ZGE4ZDE4MWVlMjkyMmFjNTVlMWYyNjk4NDU1ODNjZjlhZGZmMGNhZWU1ZmQ0N2RkYzNjMDAwMDAwMDE1ODczNGY5NGFmODcxYzNkMTMxYjU2MTMxYjZmYjdhMDI5MWVhY2FkZDI2MWU2OWRmYjQyYTljZGY2ZjdmZGRkMDAwMDAwMDUwMDAwMmQ3YmRjNDkwNDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDA2NjRiNDkyNGEyNWFmOGJlNWYwNzA1MmIyYzJlNTgyZjdjMTBhNjU0MDAwMDAwMDA2OTljNGNmMDAwMDAwMDAwNjlhZWMxZjAwMDAwMmQ3OTg4M2QyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNTg3MzRmOTRhZjg3MWMzZDEzMWI1NjEzMWI2ZmI3YTAyOTFlYWNhZGQyNjFlNjlkZmI0MmE5Y2RmNmY3ZmRkZDAwMDAwMDA3MDAwMDJkNzk4ODNkMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAzNDBjOTgyNTAzYmIzOGY0MmJkODhiOGJhOTUzMjgxYmNhNzJmZDBmMTZiNTBiMDIwZmY4NTU2ZmM3ZjlmODhlZmMxN2RhZDJjNGZhZTAxYzc3NjZjZGIyMGE1YmNkMmRjN2ZmMDY5ZDcxNDkxMWVmZDI1YzRhZWY3MDAwMDAwMGIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMTQwYzk4MjUwM2JiMzhmNDJiZDg4YjhiYTk1MzI4MWJjYTcyZmQwZjEwMDAwMDAwMTAwMDAwMDA5MDAwMDAwMDJkNDg4YzE0NjliZjkyY2ZkZWIyYzE2NGUxNjA4ZjljMWJlZjRhZWMwYjM5ZmUzMzA4OGE5N2I3NDI2OGE5MDhhNTc5ZjA3OWQ1NjcyOGRjZmJkYTI5N2I2ZjVjNzc5MmUyNmYxMDk5MTRiNjVlZDk3NGRjZDFhZDE1NWNiNjFkMzAxMzk1MDdkMzU1NjE5MzU5YTU3Y2U5Zjg1YjQyYzFkNWRhY2EzODA4ZGIyMTg1MTNiNDU0MTdmNWM2YmMxYmM1MzFiZmVmZWY2YWU3ODMwOTQ4NmZlMTE0YzZkNjQ2MjZiMGJhNjE5ZjQ1Mzk0NmEzODVkYzhmZjRhMzFiMzMzYjcwMSc7XG5cbi8qKlxuICogT24tY2hhaW4gdHJhbnNhY3Rpb24gSUQgYWZ0ZXIgYnJvYWRjYXN0XG4gKi9cbmV4cG9ydCBjb25zdCBNVUxUSVNJR19ERUxFR0FUSU9OX1RYX0lEID0gJzJoR2VHZlU3dkFpN2FNV0FHU2M1UkhmUkJwdW0yTFdoeHF5cHYydXhRdlpYVnJuRUE1JztcblxuLyoqXG4gKiBBZGRyZXNzIHNvcnRpbmcgaW5mb3JtYXRpb24gZm9yIHRoZSAyLW9mLTMgbXVsdGlzaWcgd2FsbGV0XG4gKiBBZnRlciBsZXhpY29ncmFwaGljIHNvcnRpbmcgYnkgaGV4IHZhbHVlLCB0aGUgYWRkcmVzc2VzIHJlbWFpbiBpbiB0aGUgc2FtZSBvcmRlcjpcbiAqIDEuIHVzZXIgKFAtY29zdHdvMWdyeWN5NXBta3c4NTkwdmdoemFmMnY1cGhqbmpsNTgzY21jM2Y1KSAtIHNvcnRlZCBpbmRleCAwXG4gKiAyLiBiaXRnbyAoUC1jb3N0d28xZGRndHFnOGxzNHQwY2x1bDNyaHV6bGRkOTM4NnVxdzg1bnI5OGYpIC0gc29ydGVkIGluZGV4IDFcbiAqIDMuIGJhY2t1cCAoUC1jb3N0d28xd2VrZGtnOTlobmZkY2xsc2Q4dDNmeWc3bDVqdWZ0aGhmeXNqZ3ApIC0gc29ydGVkIGluZGV4IDJcbiAqXG4gKiBLZXlzIG5lZWRlZCBmb3Igc2lnbmluZyAoZmlyc3QgMiBpbiBzb3J0ZWQgb3JkZXIgZm9yIHRocmVzaG9sZD0yKTpcbiAqIC0gdXNlciAob3JpZ2luYWwgaW5kZXggMCwgc29ydGVkIGluZGV4IDApXG4gKiAtIGJpdGdvIChvcmlnaW5hbCBpbmRleCAxLCBzb3J0ZWQgaW5kZXggMSlcbiAqL1xuZXhwb3J0IGNvbnN0IE1VTFRJU0lHX0FERFJFU1NfU09SVElORyA9IHtcbiAgb3JpZ2luYWw6IFtcbiAgICAnUC1jb3N0d28xZ3J5Y3k1cG1rdzg1OTB2Z2h6YWYydjVwaGpuamw1ODNjbWMzZjUnLCAvLyBpbmRleCAwOiB1c2VyXG4gICAgJ1AtY29zdHdvMWRkZ3RxZzhsczR0MGNsdWwzcmh1emxkZDkzODZ1cXc4NW5yOThmJywgLy8gaW5kZXggMTogYml0Z29cbiAgICAnUC1jb3N0d28xd2VrZGtnOTlobmZkY2xsc2Q4dDNmeWc3bDVqdWZ0aGhmeXNqZ3AnLCAvLyBpbmRleCAyOiBiYWNrdXBcbiAgXSxcbiAgc29ydGVkOiBbXG4gICAgJ1AtY29zdHdvMWdyeWN5NXBta3c4NTkwdmdoemFmMnY1cGhqbmpsNTgzY21jM2Y1JywgLy8gc29ydGVkIDAgPSBvcmlnaW5hbCAwICh1c2VyKVxuICAgICdQLWNvc3R3bzFkZGd0cWc4bHM0dDBjbHVsM3JodXpsZGQ5Mzg2dXF3ODVucjk4ZicsIC8vIHNvcnRlZCAxID0gb3JpZ2luYWwgMSAoYml0Z28pXG4gICAgJ1AtY29zdHdvMXdla2RrZzk5aG5mZGNsbHNkOHQzZnlnN2w1anVmdGhoZnlzamdwJywgLy8gc29ydGVkIDIgPSBvcmlnaW5hbCAyIChiYWNrdXApXG4gIF0sXG4gIC8vIGFkZHJlc3Nlc0luZGV4W29yaWdpbmFsSWR4XSA9IHNvcnRlZFBvc2l0aW9uXG4gIGFkZHJlc3Nlc0luZGV4OiBbMCwgMSwgMl0sIC8vIHVzZXItPjAsIGJpdGdvLT4xLCBiYWNrdXAtPjJcbiAgc2lnbmluZ0tleXM6IFtcbiAgICB7IHJvbGU6ICd1c2VyJywgb3JpZ2luYWxJbmRleDogMCwgc29ydGVkSW5kZXg6IDAgfSxcbiAgICB7IHJvbGU6ICdiaXRnbycsIG9yaWdpbmFsSW5kZXg6IDEsIHNvcnRlZEluZGV4OiAxIH0sXG4gIF0sXG59O1xuIl19
|
|
94
|
+
/**
|
|
95
|
+
* MPC/TSS delegation transaction hex (single signer, built by wallet-platform via buildTransactionWithIntent).
|
|
96
|
+
* From txRequest b5f89e8b-2273-4e29-80bd-60bd488e172f on Coston2 testnet.
|
|
97
|
+
* This is the serializedTxHex that verifyTransaction receives during MPC signing,
|
|
98
|
+
* where txParams has no type and no stakingOptions (only { recipients: [] }).
|
|
99
|
+
*/
|
|
100
|
+
exports.MPC_DELEGATION_UNSIGNED_TX_HEX = '00000000001a0000007200000000000000000000000000000000000000000000000000000000000000000000000158734f94af871c3d131b56131b6fb7a0291eacadd261e69dfb42a9cdf6f7fddd000000070000000253e0efe80000000000000000000000010000000184fa441f981fce7cd63189d5071802376ad6676e000000022ebd7484b5704be67db0344abd9d2223d5c7100795f68c7a6a4a77888dccb9820000000158734f94af871c3d131b56131b6fb7a0291eacadd261e69dfb42a9cdf6f7fddd0000000500002d79883d20000000000100000000933f844e2d35c52963abd7912ec39faa71ed5994a52c584d9bf1f6bd480c976c0000000058734f94af871c3d131b56131b6fb7a0291eacadd261e69dfb42a9cdf6f7fddd0000000500000002540be400000000010000000000000000664b4924a25af8be5f07052b2c2e582f7c10a654000000006a1192a4000000006a2407a400002d79883d200000000000000000000000000000000000000000000000000000000000000000000000000158734f94af871c3d131b56131b6fb7a0291eacadd261e69dfb42a9cdf6f7fddd0000000700002d79883d20000000000000000000000000010000000184fa441f981fce7cd63189d5071802376ad6676e0000000b00000000000000000000000100000001243f65fbcc8458492e09d7693c3966a734c0a30f00000002000000090000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084fa441f981fce7cd63189d5071802376ad6676e000000090000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084fa441f981fce7cd63189d5071802376ad6676ee5e72aa5';
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlzaWdEZWxlZ2F0aW9uVHguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90ZXN0L3Jlc291cmNlcy90cmFuc2FjdGlvbkRhdGEvbXVsdGlzaWdEZWxlZ2F0aW9uVHgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7R0FHRzs7O0FBRUg7OztHQUdHO0FBQ1UsUUFBQSx1QkFBdUIsR0FBRztJQUNyQyxJQUFJLEVBQUU7UUFDSixVQUFVLEVBQUUsa0VBQWtFO1FBQzlFLFNBQVMsRUFBRSxvRUFBb0U7UUFDL0UsYUFBYSxFQUFFLGlEQUFpRDtLQUNqRTtJQUNELEtBQUssRUFBRTtRQUNMLFVBQVUsRUFBRSxrRUFBa0U7UUFDOUUsU0FBUyxFQUFFLG9FQUFvRTtRQUMvRSxhQUFhLEVBQUUsaURBQWlEO0tBQ2pFO0lBQ0QsTUFBTSxFQUFFO1FBQ04sVUFBVSxFQUFFLGtFQUFrRTtRQUM5RSxTQUFTLEVBQUUsb0VBQW9FO1FBQy9FLGFBQWEsRUFBRSxpREFBaUQ7S0FDakU7Q0FDRixDQUFDO0FBRUY7O0dBRUc7QUFDVSxRQUFBLDBCQUEwQixHQUFHO0lBQ3hDLE1BQU0sRUFBRSwwQ0FBMEM7SUFDbEQsV0FBVyxFQUFFLGdCQUFnQixFQUFFLHdCQUF3QjtJQUN2RCxRQUFRLEVBQUUsRUFBRSxFQUFFLE9BQU87SUFDckIsU0FBUyxFQUFFLFVBQVU7SUFDckIsT0FBTyxFQUFFLFVBQVU7SUFDbkIsYUFBYSxFQUFFLGlEQUFpRDtJQUNoRSxpQkFBaUIsRUFBRTtRQUNqQixpREFBaUQsRUFBRSxpQkFBaUI7UUFDcEUsaURBQWlELEVBQUUsa0JBQWtCO1FBQ3JFLGlEQUFpRCxFQUFFLG1CQUFtQjtLQUN2RTtJQUNELFNBQVMsRUFBRSxDQUFDO0NBQ2IsQ0FBQztBQUVGOzs7R0FHRztBQUNVLFFBQUEsbUNBQW1DLEdBQzlDLHMvQkFBcy9CLENBQUM7QUFFei9COzs7R0FHRztBQUNVLFFBQUEsc0NBQXNDLEdBQ2pELGt4Q0FBa3hDLENBQUM7QUFFcnhDOzs7R0FHRztBQUNVLFFBQUEsdUNBQXVDLEdBQ2xELGt4Q0FBa3hDLENBQUM7QUFFcnhDOztHQUVHO0FBQ1UsUUFBQSx5QkFBeUIsR0FBRyxvREFBb0QsQ0FBQztBQUU5Rjs7Ozs7Ozs7OztHQVVHO0FBQ1UsUUFBQSx3QkFBd0IsR0FBRztJQUN0QyxRQUFRLEVBQUU7UUFDUixpREFBaUQsRUFBRSxnQkFBZ0I7UUFDbkUsaURBQWlELEVBQUUsaUJBQWlCO1FBQ3BFLGlEQUFpRCxFQUFFLGtCQUFrQjtLQUN0RTtJQUNELE1BQU0sRUFBRTtRQUNOLGlEQUFpRCxFQUFFLCtCQUErQjtRQUNsRixpREFBaUQsRUFBRSxnQ0FBZ0M7UUFDbkYsaURBQWlELEVBQUUsaUNBQWlDO0tBQ3JGO0lBQ0QsK0NBQStDO0lBQy9DLGNBQWMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsK0JBQStCO0lBQzFELFdBQVcsRUFBRTtRQUNYLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLEVBQUU7UUFDbEQsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUMsRUFBRTtLQUNwRDtDQUNGLENBQUM7QUFFRjs7Ozs7R0FLRztBQUNVLFFBQUEsOEJBQThCLEdBQ3pDLGt6Q0FBa3pDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqXG4gKiBUaGlzIGRlbW9uc3RyYXRlcyB0aGUgaGFsZi1zaWduaW5nIHdvcmtmbG93IGZvciAyLW9mLTMgbXVsdGlzaWcgZGVsZWdhdGlvbiB0cmFuc2FjdGlvbnNcbiAqL1xuXG4vKipcbiAqIFRlc3QgYWNjb3VudHMgZm9yIGhhbGYtc2lnbmluZyB3b3JrZmxvd1xuICogVGhlc2UgYXJlIHRoZSBhY3R1YWwga2V5cyB1c2VkIHRvIGNyZWF0ZSBhbmQgc2lnbiB0aGUgb24tY2hhaW4gdHJhbnNhY3Rpb25cbiAqL1xuZXhwb3J0IGNvbnN0IEhBTEZfU0lHTl9URVNUX0FDQ09VTlRTID0ge1xuICB1c2VyOiB7XG4gICAgcHJpdmF0ZUtleTogJ2QzNjU2NTNkMmI3NmJkMWMzZDkyNzJlOGEzMDUyMmIxOWQyODEzMWU0NzRiN2ViMDg4N2IzNjE5NWIxYWIxZmYnLFxuICAgIHB1YmxpY0tleTogJzAyODY5NGFiY2JjZGJmNzk3M2MxZGE3NmRhNjVjMmMwNWFjN2VlYzk4ZWQ5YjEwYjFlNTNhMmM4MzRjMjQxNjNjYScsXG4gICAgcENoYWluQWRkcmVzczogJ1AtY29zdHdvMWdyeWN5NXBta3c4NTkwdmdoemFmMnY1cGhqbmpsNTgzY21jM2Y1JyxcbiAgfSxcbiAgYml0Z286IHtcbiAgICBwcml2YXRlS2V5OiAnYTIxODE0MWQ0OTVjOWM2MWY3NmY5MDQ5Yjc2M2E3YjRhNGMzYzUwM2YzZjQ1Njk4YzE3YjUwMDI5MzlkY2Q4NCcsXG4gICAgcHVibGljS2V5OiAnMDMwOWQxZTUwYjI0OTYxNzBkZDUwYWU4OWJjZTcxY2M5ZTk2NDEwNGU0MTM5ZWRhOWViNDY4MDA2NjUyNjRmZTc4JyxcbiAgICBwQ2hhaW5BZGRyZXNzOiAnUC1jb3N0d28xZGRndHFnOGxzNHQwY2x1bDNyaHV6bGRkOTM4NnVxdzg1bnI5OGYnLFxuICB9LFxuICBiYWNrdXA6IHtcbiAgICBwcml2YXRlS2V5OiAnNTE5YzUxNWMxOWE0YjU0ODhmNjhkMjcxMzI4MzU1ZWQ5NzA3MmUzMTRjMzIyZWIxZDdhZTQ2N2Y4YTljYjZiOCcsXG4gICAgcHVibGljS2V5OiAnMDJjYmVlNWVmY2ZhMDRiYTI1Y2RkY2M2N2E2OTIyM2FmYzhhOTUxMmFkOWU2OWQyOGFiMzAzMTdiZjBmODNkZDJlJyxcbiAgICBwQ2hhaW5BZGRyZXNzOiAnUC1jb3N0d28xd2VrZGtnOTlobmZkY2xsc2Q4dDNmeWc3bDVqdWZ0aGhmeXNqZ3AnLFxuICB9LFxufTtcblxuLyoqXG4gKiBUcmFuc2FjdGlvbiBwYXJhbWV0ZXJzIGZvciB0aGUgbXVsdGlzaWcgZGVsZWdhdGlvblxuICovXG5leHBvcnQgY29uc3QgTVVMVElTSUdfREVMRUdBVElPTl9QQVJBTVMgPSB7XG4gIG5vZGVJRDogJ05vZGVJRC1BS3Q3V2FLNm96RXk1SzhhektOYWNaWEx6eFo5eEZnQzcnLFxuICBzdGFrZUFtb3VudDogJzUwMDAwMDAwMDAwMDAwJywgLy8gNTAsMDAwIEZMUiBpbiBuYW5vRkxSXG4gIGR1cmF0aW9uOiAxNCwgLy8gZGF5c1xuICBzdGFydFRpbWU6IDE3NzE4NTA5OTIsXG4gIGVuZFRpbWU6IDE3NzMwNjA1OTIsXG4gIHJld2FyZEFkZHJlc3M6ICdQLWNvc3R3bzFncnljeTVwbWt3ODU5MHZnaHphZjJ2NXBoam5qbDU4M2NtYzNmNScsXG4gIG11bHRpc2lnQWRkcmVzc2VzOiBbXG4gICAgJ1AtY29zdHdvMWdyeWN5NXBta3c4NTkwdmdoemFmMnY1cGhqbmpsNTgzY21jM2Y1JywgLy8gdXNlciAoaW5kZXggMClcbiAgICAnUC1jb3N0d28xZGRndHFnOGxzNHQwY2x1bDNyaHV6bGRkOTM4NnVxdzg1bnI5OGYnLCAvLyBiaXRnbyAoaW5kZXggMSlcbiAgICAnUC1jb3N0d28xd2VrZGtnOTlobmZkY2xsc2Q4dDNmeWc3bDVqdWZ0aGhmeXNqZ3AnLCAvLyBiYWNrdXAgKGluZGV4IDIpXG4gIF0sXG4gIHRocmVzaG9sZDogMixcbn07XG5cbi8qKlxuICogVW5zaWduZWQgdHJhbnNhY3Rpb24gaGV4IChiZWZvcmUgYW55IHNpZ25hdHVyZXMpXG4gKiBCdWlsdCB3aXRoIHNvcnRlZCBmcm9tQWRkcmVzc2VzIHRvIG1hdGNoIFVUWE8gb3duZXIgb3JkZXJcbiAqL1xuZXhwb3J0IGNvbnN0IE1VTFRJU0lHX0RFTEVHQVRJT05fVU5TSUdORURfVFhfSEVYID1cbiAgJzAwMDAwMDAwMDAxYTAwMDAwMDcyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNTg3MzRmOTRhZjg3MWMzZDEzMWI1NjEzMWI2ZmI3YTAyOTFlYWNhZGQyNjFlNjlkZmI0MmE5Y2RmNmY3ZmRkZDAwMDAwMDA3MDAwMDAwMDI1M2U4OWNjMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAzNDBjOTgyNTAzYmIzOGY0MmJkODhiOGJhOTUzMjgxYmNhNzJmZDBmMTZiNTBiMDIwZmY4NTU2ZmM3ZjlmODhlZmMxN2RhZDJjNGZhZTAxYzc3NjZjZGIyMGE1YmNkMmRjN2ZmMDY5ZDcxNDkxMWVmZDI1YzRhZWY3MDAwMDAwMDE3MDcyODhhYmVkM2I0ZGE4ZDE4MWVlMjkyMmFjNTVlMWYyNjk4NDU1ODNjZjlhZGZmMGNhZWU1ZmQ0N2RkYzNjMDAwMDAwMDE1ODczNGY5NGFmODcxYzNkMTMxYjU2MTMxYjZmYjdhMDI5MWVhY2FkZDI2MWU2OWRmYjQyYTljZGY2ZjdmZGRkMDAwMDAwMDUwMDAwMmQ3YmRjNDkwNDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDA2NjRiNDkyNGEyNWFmOGJlNWYwNzA1MmIyYzJlNTgyZjdjMTBhNjU0MDAwMDAwMDA2OTljNGNmMDAwMDAwMDAwNjlhZWMxZjAwMDAwMmQ3OTg4M2QyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNTg3MzRmOTRhZjg3MWMzZDEzMWI1NjEzMWI2ZmI3YTAyOTFlYWNhZGQyNjFlNjlkZmI0MmE5Y2RmNmY3ZmRkZDAwMDAwMDA3MDAwMDJkNzk4ODNkMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAzNDBjOTgyNTAzYmIzOGY0MmJkODhiOGJhOTUzMjgxYmNhNzJmZDBmMTZiNTBiMDIwZmY4NTU2ZmM3ZjlmODhlZmMxN2RhZDJjNGZhZTAxYzc3NjZjZGIyMGE1YmNkMmRjN2ZmMDY5ZDcxNDkxMWVmZDI1YzRhZWY3MDAwMDAwMGIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMTQwYzk4MjUwM2JiMzhmNDJiZDg4YjhiYTk1MzI4MWJjYTcyZmQwZjEnO1xuXG4vKipcbiAqIEhhbGYtc2lnbmVkIHRyYW5zYWN0aW9uIGhleCAoc2lnbmVkIGJ5IHVzZXIga2V5IG9ubHkpXG4gKiBGaXJzdCBzaWduYXR1cmUgc2xvdCBmaWxsZWQsIHNlY29uZCBzbG90IGVtcHR5XG4gKi9cbmV4cG9ydCBjb25zdCBNVUxUSVNJR19ERUxFR0FUSU9OX0hBTEZfU0lHTkVEX1RYX0hFWCA9XG4gICcwMDAwMDAwMDAwMWEwMDAwMDA3MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTU4NzM0Zjk0YWY4NzFjM2QxMzFiNTYxMzFiNmZiN2EwMjkxZWFjYWRkMjYxZTY5ZGZiNDJhOWNkZjZmN2ZkZGQwMDAwMDAwNzAwMDAwMDAyNTNlODljYzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMzQwYzk4MjUwM2JiMzhmNDJiZDg4YjhiYTk1MzI4MWJjYTcyZmQwZjE2YjUwYjAyMGZmODU1NmZjN2Y5Zjg4ZWZjMTdkYWQyYzRmYWUwMWM3NzY2Y2RiMjBhNWJjZDJkYzdmZjA2OWQ3MTQ5MTFlZmQyNWM0YWVmNzAwMDAwMDAxNzA3Mjg4YWJlZDNiNGRhOGQxODFlZTI5MjJhYzU1ZTFmMjY5ODQ1NTgzY2Y5YWRmZjBjYWVlNWZkNDdkZGMzYzAwMDAwMDAxNTg3MzRmOTRhZjg3MWMzZDEzMWI1NjEzMWI2ZmI3YTAyOTFlYWNhZGQyNjFlNjlkZmI0MmE5Y2RmNmY3ZmRkZDAwMDAwMDA1MDAwMDJkN2JkYzQ5MDQwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwNjY0YjQ5MjRhMjVhZjhiZTVmMDcwNTJiMmMyZTU4MmY3YzEwYTY1NDAwMDAwMDAwNjk5YzRjZjAwMDAwMDAwMDY5YWVjMWYwMDAwMDJkNzk4ODNkMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTU4NzM0Zjk0YWY4NzFjM2QxMzFiNTYxMzFiNmZiN2EwMjkxZWFjYWRkMjYxZTY5ZGZiNDJhOWNkZjZmN2ZkZGQwMDAwMDAwNzAwMDAyZDc5ODgzZDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMzQwYzk4MjUwM2JiMzhmNDJiZDg4YjhiYTk1MzI4MWJjYTcyZmQwZjE2YjUwYjAyMGZmODU1NmZjN2Y5Zjg4ZWZjMTdkYWQyYzRmYWUwMWM3NzY2Y2RiMjBhNWJjZDJkYzdmZjA2OWQ3MTQ5MTFlZmQyNWM0YWVmNzAwMDAwMDBiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDE0MGM5ODI1MDNiYjM4ZjQyYmQ4OGI4YmE5NTMyODFiY2E3MmZkMGYxMDAwMDAwMDEwMDAwMDAwOTAwMDAwMDAyZDQ4OGMxNDY5YmY5MmNmZGViMmMxNjRlMTYwOGY5YzFiZWY0YWVjMGIzOWZlMzMwODhhOTdiNzQyNjhhOTA4YTU3OWYwNzlkNTY3MjhkY2ZiZGEyOTdiNmY1Yzc3OTJlMjZmMTA5OTE0YjY1ZWQ5NzRkY2QxYWQxNTVjYjYxZDMwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnO1xuXG4vKipcbiAqIEZ1bGx5IHNpZ25lZCB0cmFuc2FjdGlvbiBoZXggKHNpZ25lZCBieSBib3RoIHVzZXIgYW5kIGJpdGdvIGtleXMpXG4gKiBUaGlzIHRyYW5zYWN0aW9uIHdhcyBzdWNjZXNzZnVsbHkgYnJvYWRjYXN0IHRvIENvc3RvbjIgdGVzdG5ldFxuICovXG5leHBvcnQgY29uc3QgTVVMVElTSUdfREVMRUdBVElPTl9GVUxMWV9TSUdORURfVFhfSEVYID1cbiAgJzAwMDAwMDAwMDAxYTAwMDAwMDcyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNTg3MzRmOTRhZjg3MWMzZDEzMWI1NjEzMWI2ZmI3YTAyOTFlYWNhZGQyNjFlNjlkZmI0MmE5Y2RmNmY3ZmRkZDAwMDAwMDA3MDAwMDAwMDI1M2U4OWNjMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAzNDBjOTgyNTAzYmIzOGY0MmJkODhiOGJhOTUzMjgxYmNhNzJmZDBmMTZiNTBiMDIwZmY4NTU2ZmM3ZjlmODhlZmMxN2RhZDJjNGZhZTAxYzc3NjZjZGIyMGE1YmNkMmRjN2ZmMDY5ZDcxNDkxMWVmZDI1YzRhZWY3MDAwMDAwMDE3MDcyODhhYmVkM2I0ZGE4ZDE4MWVlMjkyMmFjNTVlMWYyNjk4NDU1ODNjZjlhZGZmMGNhZWU1ZmQ0N2RkYzNjMDAwMDAwMDE1ODczNGY5NGFmODcxYzNkMTMxYjU2MTMxYjZmYjdhMDI5MWVhY2FkZDI2MWU2OWRmYjQyYTljZGY2ZjdmZGRkMDAwMDAwMDUwMDAwMmQ3YmRjNDkwNDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDA2NjRiNDkyNGEyNWFmOGJlNWYwNzA1MmIyYzJlNTgyZjdjMTBhNjU0MDAwMDAwMDA2OTljNGNmMDAwMDAwMDAwNjlhZWMxZjAwMDAwMmQ3OTg4M2QyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNTg3MzRmOTRhZjg3MWMzZDEzMWI1NjEzMWI2ZmI3YTAyOTFlYWNhZGQyNjFlNjlkZmI0MmE5Y2RmNmY3ZmRkZDAwMDAwMDA3MDAwMDJkNzk4ODNkMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAzNDBjOTgyNTAzYmIzOGY0MmJkODhiOGJhOTUzMjgxYmNhNzJmZDBmMTZiNTBiMDIwZmY4NTU2ZmM3ZjlmODhlZmMxN2RhZDJjNGZhZTAxYzc3NjZjZGIyMGE1YmNkMmRjN2ZmMDY5ZDcxNDkxMWVmZDI1YzRhZWY3MDAwMDAwMGIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMTQwYzk4MjUwM2JiMzhmNDJiZDg4YjhiYTk1MzI4MWJjYTcyZmQwZjEwMDAwMDAwMTAwMDAwMDA5MDAwMDAwMDJkNDg4YzE0NjliZjkyY2ZkZWIyYzE2NGUxNjA4ZjljMWJlZjRhZWMwYjM5ZmUzMzA4OGE5N2I3NDI2OGE5MDhhNTc5ZjA3OWQ1NjcyOGRjZmJkYTI5N2I2ZjVjNzc5MmUyNmYxMDk5MTRiNjVlZDk3NGRjZDFhZDE1NWNiNjFkMzAxMzk1MDdkMzU1NjE5MzU5YTU3Y2U5Zjg1YjQyYzFkNWRhY2EzODA4ZGIyMTg1MTNiNDU0MTdmNWM2YmMxYmM1MzFiZmVmZWY2YWU3ODMwOTQ4NmZlMTE0YzZkNjQ2MjZiMGJhNjE5ZjQ1Mzk0NmEzODVkYzhmZjRhMzFiMzMzYjcwMSc7XG5cbi8qKlxuICogT24tY2hhaW4gdHJhbnNhY3Rpb24gSUQgYWZ0ZXIgYnJvYWRjYXN0XG4gKi9cbmV4cG9ydCBjb25zdCBNVUxUSVNJR19ERUxFR0FUSU9OX1RYX0lEID0gJzJoR2VHZlU3dkFpN2FNV0FHU2M1UkhmUkJwdW0yTFdoeHF5cHYydXhRdlpYVnJuRUE1JztcblxuLyoqXG4gKiBBZGRyZXNzIHNvcnRpbmcgaW5mb3JtYXRpb24gZm9yIHRoZSAyLW9mLTMgbXVsdGlzaWcgd2FsbGV0XG4gKiBBZnRlciBsZXhpY29ncmFwaGljIHNvcnRpbmcgYnkgaGV4IHZhbHVlLCB0aGUgYWRkcmVzc2VzIHJlbWFpbiBpbiB0aGUgc2FtZSBvcmRlcjpcbiAqIDEuIHVzZXIgKFAtY29zdHdvMWdyeWN5NXBta3c4NTkwdmdoemFmMnY1cGhqbmpsNTgzY21jM2Y1KSAtIHNvcnRlZCBpbmRleCAwXG4gKiAyLiBiaXRnbyAoUC1jb3N0d28xZGRndHFnOGxzNHQwY2x1bDNyaHV6bGRkOTM4NnVxdzg1bnI5OGYpIC0gc29ydGVkIGluZGV4IDFcbiAqIDMuIGJhY2t1cCAoUC1jb3N0d28xd2VrZGtnOTlobmZkY2xsc2Q4dDNmeWc3bDVqdWZ0aGhmeXNqZ3ApIC0gc29ydGVkIGluZGV4IDJcbiAqXG4gKiBLZXlzIG5lZWRlZCBmb3Igc2lnbmluZyAoZmlyc3QgMiBpbiBzb3J0ZWQgb3JkZXIgZm9yIHRocmVzaG9sZD0yKTpcbiAqIC0gdXNlciAob3JpZ2luYWwgaW5kZXggMCwgc29ydGVkIGluZGV4IDApXG4gKiAtIGJpdGdvIChvcmlnaW5hbCBpbmRleCAxLCBzb3J0ZWQgaW5kZXggMSlcbiAqL1xuZXhwb3J0IGNvbnN0IE1VTFRJU0lHX0FERFJFU1NfU09SVElORyA9IHtcbiAgb3JpZ2luYWw6IFtcbiAgICAnUC1jb3N0d28xZ3J5Y3k1cG1rdzg1OTB2Z2h6YWYydjVwaGpuamw1ODNjbWMzZjUnLCAvLyBpbmRleCAwOiB1c2VyXG4gICAgJ1AtY29zdHdvMWRkZ3RxZzhsczR0MGNsdWwzcmh1emxkZDkzODZ1cXc4NW5yOThmJywgLy8gaW5kZXggMTogYml0Z29cbiAgICAnUC1jb3N0d28xd2VrZGtnOTlobmZkY2xsc2Q4dDNmeWc3bDVqdWZ0aGhmeXNqZ3AnLCAvLyBpbmRleCAyOiBiYWNrdXBcbiAgXSxcbiAgc29ydGVkOiBbXG4gICAgJ1AtY29zdHdvMWdyeWN5NXBta3c4NTkwdmdoemFmMnY1cGhqbmpsNTgzY21jM2Y1JywgLy8gc29ydGVkIDAgPSBvcmlnaW5hbCAwICh1c2VyKVxuICAgICdQLWNvc3R3bzFkZGd0cWc4bHM0dDBjbHVsM3JodXpsZGQ5Mzg2dXF3ODVucjk4ZicsIC8vIHNvcnRlZCAxID0gb3JpZ2luYWwgMSAoYml0Z28pXG4gICAgJ1AtY29zdHdvMXdla2RrZzk5aG5mZGNsbHNkOHQzZnlnN2w1anVmdGhoZnlzamdwJywgLy8gc29ydGVkIDIgPSBvcmlnaW5hbCAyIChiYWNrdXApXG4gIF0sXG4gIC8vIGFkZHJlc3Nlc0luZGV4W29yaWdpbmFsSWR4XSA9IHNvcnRlZFBvc2l0aW9uXG4gIGFkZHJlc3Nlc0luZGV4OiBbMCwgMSwgMl0sIC8vIHVzZXItPjAsIGJpdGdvLT4xLCBiYWNrdXAtPjJcbiAgc2lnbmluZ0tleXM6IFtcbiAgICB7IHJvbGU6ICd1c2VyJywgb3JpZ2luYWxJbmRleDogMCwgc29ydGVkSW5kZXg6IDAgfSxcbiAgICB7IHJvbGU6ICdiaXRnbycsIG9yaWdpbmFsSW5kZXg6IDEsIHNvcnRlZEluZGV4OiAxIH0sXG4gIF0sXG59O1xuXG4vKipcbiAqIE1QQy9UU1MgZGVsZWdhdGlvbiB0cmFuc2FjdGlvbiBoZXggKHNpbmdsZSBzaWduZXIsIGJ1aWx0IGJ5IHdhbGxldC1wbGF0Zm9ybSB2aWEgYnVpbGRUcmFuc2FjdGlvbldpdGhJbnRlbnQpLlxuICogRnJvbSB0eFJlcXVlc3QgYjVmODllOGItMjI3My00ZTI5LTgwYmQtNjBiZDQ4OGUxNzJmIG9uIENvc3RvbjIgdGVzdG5ldC5cbiAqIFRoaXMgaXMgdGhlIHNlcmlhbGl6ZWRUeEhleCB0aGF0IHZlcmlmeVRyYW5zYWN0aW9uIHJlY2VpdmVzIGR1cmluZyBNUEMgc2lnbmluZyxcbiAqIHdoZXJlIHR4UGFyYW1zIGhhcyBubyB0eXBlIGFuZCBubyBzdGFraW5nT3B0aW9ucyAob25seSB7IHJlY2lwaWVudHM6IFtdIH0pLlxuICovXG5leHBvcnQgY29uc3QgTVBDX0RFTEVHQVRJT05fVU5TSUdORURfVFhfSEVYID1cbiAgJzAwMDAwMDAwMDAxYTAwMDAwMDcyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNTg3MzRmOTRhZjg3MWMzZDEzMWI1NjEzMWI2ZmI3YTAyOTFlYWNhZGQyNjFlNjlkZmI0MmE5Y2RmNmY3ZmRkZDAwMDAwMDA3MDAwMDAwMDI1M2UwZWZlODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAxODRmYTQ0MWY5ODFmY2U3Y2Q2MzE4OWQ1MDcxODAyMzc2YWQ2Njc2ZTAwMDAwMDAyMmViZDc0ODRiNTcwNGJlNjdkYjAzNDRhYmQ5ZDIyMjNkNWM3MTAwNzk1ZjY4YzdhNmE0YTc3ODg4ZGNjYjk4MjAwMDAwMDAxNTg3MzRmOTRhZjg3MWMzZDEzMWI1NjEzMWI2ZmI3YTAyOTFlYWNhZGQyNjFlNjlkZmI0MmE5Y2RmNmY3ZmRkZDAwMDAwMDA1MDAwMDJkNzk4ODNkMjAwMDAwMDAwMDAxMDAwMDAwMDA5MzNmODQ0ZTJkMzVjNTI5NjNhYmQ3OTEyZWMzOWZhYTcxZWQ1OTk0YTUyYzU4NGQ5YmYxZjZiZDQ4MGM5NzZjMDAwMDAwMDA1ODczNGY5NGFmODcxYzNkMTMxYjU2MTMxYjZmYjdhMDI5MWVhY2FkZDI2MWU2OWRmYjQyYTljZGY2ZjdmZGRkMDAwMDAwMDUwMDAwMDAwMjU0MGJlNDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAwNjY0YjQ5MjRhMjVhZjhiZTVmMDcwNTJiMmMyZTU4MmY3YzEwYTY1NDAwMDAwMDAwNmExMTkyYTQwMDAwMDAwMDZhMjQwN2E0MDAwMDJkNzk4ODNkMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTU4NzM0Zjk0YWY4NzFjM2QxMzFiNTYxMzFiNmZiN2EwMjkxZWFjYWRkMjYxZTY5ZGZiNDJhOWNkZjZmN2ZkZGQwMDAwMDAwNzAwMDAyZDc5ODgzZDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMTg0ZmE0NDFmOTgxZmNlN2NkNjMxODlkNTA3MTgwMjM3NmFkNjY3NmUwMDAwMDAwYjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAxMjQzZjY1ZmJjYzg0NTg0OTJlMDlkNzY5M2MzOTY2YTczNGMwYTMwZjAwMDAwMDAyMDAwMDAwMDkwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg0ZmE0NDFmOTgxZmNlN2NkNjMxODlkNTA3MTgwMjM3NmFkNjY3NmUwMDAwMDAwOTAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODRmYTQ0MWY5ODFmY2U3Y2Q2MzE4OWQ1MDcxODAyMzc2YWQ2Njc2ZWU1ZTcyYWE1JztcbiJdfQ==
|