@bitgo/sdk-coin-icp 1.6.0 → 1.7.0

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 CHANGED
@@ -3,6 +3,18 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [1.7.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-icp@1.6.0...@bitgo/sdk-coin-icp@1.7.0) (2025-03-06)
7
+
8
+ ### Bug Fixes
9
+
10
+ - **sdk-coin-icp:** correct buffer handling for sender principal and principal conversion ([b51b93c](https://github.com/BitGo/BitGoJS/commit/b51b93c0335b52293f2f3686a408c2cd7eba0fa6))
11
+
12
+ ### Features
13
+
14
+ - **sdk-coin-icp:** add validation for ICP block hashes ([3037e1e](https://github.com/BitGo/BitGoJS/commit/3037e1e5c4c5a28d26ceb71bd2665976f526f7b5))
15
+ - **sdk-coin-icp:** implemented parsedTransaction for unsigned txn ([ffc2370](https://github.com/BitGo/BitGoJS/commit/ffc237069fc4061fe979cf7c1bd633e10b6f4453))
16
+ - **sdk-coin-icp:** implemented transaction parsing for signed txn ([f2d4f73](https://github.com/BitGo/BitGoJS/commit/f2d4f738128af157124707fc42855f801c724b6e))
17
+
6
18
  # [1.6.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-icp@1.3.0...@bitgo/sdk-coin-icp@1.6.0) (2025-03-04)
7
19
 
8
20
  ### Bug Fixes
package/dist/src/icp.js CHANGED
@@ -31,7 +31,7 @@ class Icp extends sdk_core_1.BaseCoin {
31
31
  return 'icp';
32
32
  }
33
33
  getFamily() {
34
- return 'icp';
34
+ return this._staticsCoin.family;
35
35
  }
36
36
  getFullName() {
37
37
  return 'Internet Computer';
@@ -84,4 +84,4 @@ class Icp extends sdk_core_1.BaseCoin {
84
84
  }
85
85
  }
86
86
  exports.Icp = Icp;
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ljcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSw4Q0FZeUI7QUFFekIsd0RBQWdDO0FBRWhDOzs7Ozs7R0FNRztBQUNILE1BQWEsR0FBSSxTQUFRLG1CQUFRO0lBRS9CLFlBQXNCLEtBQWdCLEVBQUUsV0FBdUM7UUFDN0UsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMsb0RBQW9ELENBQUMsQ0FBQztRQUN4RSxDQUFDO1FBRUQsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7SUFDbEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBZ0IsRUFBRSxXQUF1QztRQUM3RSxPQUFPLElBQUksR0FBRyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxTQUFTO1FBQ1AsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sbUJBQW1CLENBQUM7SUFDN0IsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFnQztRQUN0RCxNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELEtBQUssQ0FBQyxlQUFlLENBQUMsTUFBK0I7UUFDbkQsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBK0I7UUFDcEQsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRDs7O09BR0c7SUFDSSxlQUFlLENBQUMsSUFBYTtRQUNsQyxPQUFPLGVBQUssQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELGNBQWMsQ0FBQyxPQUFlO1FBQzVCLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsZUFBZSxDQUFDLENBQXlCO1FBQ3ZDLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQVc7UUFDcEIsT0FBTyxlQUFLLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELFVBQVUsQ0FBQyxHQUFXO1FBQ3BCLE9BQU8sZUFBSyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixlQUFlO1FBQ2IsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVPLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxtQkFBMkI7UUFDL0QsT0FBTyxlQUFLLENBQUMsdUJBQXVCLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsbUJBQW1CO0lBQ1QsZ0JBQWdCO1FBQ3hCLE9BQU8sdUJBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsY0FBYyxDQUFDO0lBQzFELENBQUM7Q0FDRjtBQTFGRCxrQkEwRkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCYXNlQ29pbixcbiAgQml0R29CYXNlLFxuICBNUENBbGdvcml0aG0sXG4gIFZlcmlmeVRyYW5zYWN0aW9uT3B0aW9ucyxcbiAgVHNzVmVyaWZ5QWRkcmVzc09wdGlvbnMsXG4gIFBhcnNlVHJhbnNhY3Rpb25PcHRpb25zLFxuICBQYXJzZWRUcmFuc2FjdGlvbixcbiAgS2V5UGFpcixcbiAgU2lnblRyYW5zYWN0aW9uT3B0aW9ucyxcbiAgU2lnbmVkVHJhbnNhY3Rpb24sXG4gIEVudmlyb25tZW50cyxcbn0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIFN0YXRpY3NCYXNlQ29pbiB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCB1dGlscyBmcm9tICcuL2xpYi91dGlscyc7XG5cbi8qKlxuICogQ2xhc3MgcmVwcmVzZW50aW5nIHRoZSBJbnRlcm5ldCBDb21wdXRlciAoSUNQKSBjb2luLlxuICogRXh0ZW5kcyB0aGUgQmFzZUNvaW4gY2xhc3MgYW5kIHByb3ZpZGVzIHNwZWNpZmljIGltcGxlbWVudGF0aW9ucyBmb3IgSUNQLlxuICpcbiAqIEBzZWUge0BsaW5rIGh0dHBzOi8vaW50ZXJuZXRjb21wdXRlci5vcmcvfVxuICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9pbnRlcm5ldGNvbXB1dGVyLm9yZy9kb2NzL2N1cnJlbnQvZGV2ZWxvcGVyLWRvY3MvZGVmaS9yb3NldHRhL2ljcF9yb3NldHRhL2RhdGFfYXBpL31cbiAqL1xuZXhwb3J0IGNsYXNzIEljcCBleHRlbmRzIEJhc2VDb2luIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9zdGF0aWNzQ29pbjogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPjtcbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKGJpdGdvOiBCaXRHb0Jhc2UsIHN0YXRpY3NDb2luPzogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPikge1xuICAgIHN1cGVyKGJpdGdvKTtcblxuICAgIGlmICghc3RhdGljc0NvaW4pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignbWlzc2luZyByZXF1aXJlZCBjb25zdHJ1Y3RvciBwYXJhbWV0ZXIgc3RhdGljc0NvaW4nKTtcbiAgICB9XG5cbiAgICB0aGlzLl9zdGF0aWNzQ29pbiA9IHN0YXRpY3NDb2luO1xuICB9XG5cbiAgc3RhdGljIGNyZWF0ZUluc3RhbmNlKGJpdGdvOiBCaXRHb0Jhc2UsIHN0YXRpY3NDb2luPzogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPik6IEJhc2VDb2luIHtcbiAgICByZXR1cm4gbmV3IEljcChiaXRnbywgc3RhdGljc0NvaW4pO1xuICB9XG5cbiAgZ2V0Q2hhaW4oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ2ljcCc7XG4gIH1cblxuICBnZXRCYXNlQ2hhaW4oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ2ljcCc7XG4gIH1cblxuICBnZXRGYW1pbHkoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ2ljcCc7XG4gIH1cblxuICBnZXRGdWxsTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiAnSW50ZXJuZXQgQ29tcHV0ZXInO1xuICB9XG5cbiAgZ2V0QmFzZUZhY3RvcigpOiBudW1iZXIge1xuICAgIHJldHVybiBNYXRoLnBvdygxMCwgdGhpcy5fc3RhdGljc0NvaW4uZGVjaW1hbFBsYWNlcyk7XG4gIH1cblxuICBhc3luYyB2ZXJpZnlUcmFuc2FjdGlvbihwYXJhbXM6IFZlcmlmeVRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxuXG4gIGFzeW5jIGlzV2FsbGV0QWRkcmVzcyhwYXJhbXM6IFRzc1ZlcmlmeUFkZHJlc3NPcHRpb25zKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xuICB9XG5cbiAgYXN5bmMgcGFyc2VUcmFuc2FjdGlvbihwYXJhbXM6IFBhcnNlVHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxQYXJzZWRUcmFuc2FjdGlvbj4ge1xuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZSBhIG5ldyBrZXlwYWlyIGZvciB0aGlzIGNvaW4uXG4gICAqIEBwYXJhbSBzZWVkIFNlZWQgZnJvbSB3aGljaCB0aGUgbmV3IGtleXBhaXIgc2hvdWxkIGJlIGdlbmVyYXRlZCwgb3RoZXJ3aXNlIGEgcmFuZG9tIHNlZWQgaXMgdXNlZFxuICAgKi9cbiAgcHVibGljIGdlbmVyYXRlS2V5UGFpcihzZWVkPzogQnVmZmVyKTogS2V5UGFpciB7XG4gICAgcmV0dXJuIHV0aWxzLmdlbmVyYXRlS2V5UGFpcihzZWVkKTtcbiAgfVxuXG4gIGlzVmFsaWRBZGRyZXNzKGFkZHJlc3M6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxuXG4gIHNpZ25UcmFuc2FjdGlvbihfOiBTaWduVHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxTaWduZWRUcmFuc2FjdGlvbj4ge1xuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxuXG4gIGlzVmFsaWRQdWIoa2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdXRpbHMuaXNWYWxpZFB1YmxpY0tleShrZXkpO1xuICB9XG5cbiAgaXNWYWxpZFBydihrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB1dGlscy5pc1ZhbGlkUHJpdmF0ZUtleShrZXkpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHN1cHBvcnRzVHNzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIGdldE1QQ0FsZ29yaXRobSgpOiBNUENBbGdvcml0aG0ge1xuICAgIHJldHVybiAnZWNkc2EnO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBnZXRBZGRyZXNzRnJvbVB1YmxpY0tleShoZXhFbmNvZGVkUHVibGljS2V5OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdXRpbHMuZ2V0QWRkcmVzc0Zyb21QdWJsaWNLZXkoaGV4RW5jb2RlZFB1YmxpY0tleSk7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKiovXG4gIHByb3RlY3RlZCBnZXRQdWJsaWNOb2RlVXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIEVudmlyb25tZW50c1t0aGlzLmJpdGdvLmdldEVudigpXS5yb3NldHRhTm9kZVVSTDtcbiAgfVxufVxuIl19
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ljcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSw4Q0FZeUI7QUFFekIsd0RBQWdDO0FBRWhDOzs7Ozs7R0FNRztBQUNILE1BQWEsR0FBSSxTQUFRLG1CQUFRO0lBRS9CLFlBQXNCLEtBQWdCLEVBQUUsV0FBdUM7UUFDN0UsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMsb0RBQW9ELENBQUMsQ0FBQztRQUN4RSxDQUFDO1FBRUQsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7SUFDbEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBZ0IsRUFBRSxXQUF1QztRQUM3RSxPQUFPLElBQUksR0FBRyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztJQUNsQyxDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sbUJBQW1CLENBQUM7SUFDN0IsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFnQztRQUN0RCxNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELEtBQUssQ0FBQyxlQUFlLENBQUMsTUFBK0I7UUFDbkQsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBK0I7UUFDcEQsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRDs7O09BR0c7SUFDSSxlQUFlLENBQUMsSUFBYTtRQUNsQyxPQUFPLGVBQUssQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELGNBQWMsQ0FBQyxPQUFlO1FBQzVCLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsZUFBZSxDQUFDLENBQXlCO1FBQ3ZDLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQVc7UUFDcEIsT0FBTyxlQUFLLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELFVBQVUsQ0FBQyxHQUFXO1FBQ3BCLE9BQU8sZUFBSyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixlQUFlO1FBQ2IsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVPLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxtQkFBMkI7UUFDL0QsT0FBTyxlQUFLLENBQUMsdUJBQXVCLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsbUJBQW1CO0lBQ1QsZ0JBQWdCO1FBQ3hCLE9BQU8sdUJBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsY0FBYyxDQUFDO0lBQzFELENBQUM7Q0FDRjtBQTFGRCxrQkEwRkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCYXNlQ29pbixcbiAgQml0R29CYXNlLFxuICBNUENBbGdvcml0aG0sXG4gIFZlcmlmeVRyYW5zYWN0aW9uT3B0aW9ucyxcbiAgVHNzVmVyaWZ5QWRkcmVzc09wdGlvbnMsXG4gIFBhcnNlVHJhbnNhY3Rpb25PcHRpb25zLFxuICBQYXJzZWRUcmFuc2FjdGlvbixcbiAgS2V5UGFpcixcbiAgU2lnblRyYW5zYWN0aW9uT3B0aW9ucyxcbiAgU2lnbmVkVHJhbnNhY3Rpb24sXG4gIEVudmlyb25tZW50cyxcbn0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIFN0YXRpY3NCYXNlQ29pbiB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCB1dGlscyBmcm9tICcuL2xpYi91dGlscyc7XG5cbi8qKlxuICogQ2xhc3MgcmVwcmVzZW50aW5nIHRoZSBJbnRlcm5ldCBDb21wdXRlciAoSUNQKSBjb2luLlxuICogRXh0ZW5kcyB0aGUgQmFzZUNvaW4gY2xhc3MgYW5kIHByb3ZpZGVzIHNwZWNpZmljIGltcGxlbWVudGF0aW9ucyBmb3IgSUNQLlxuICpcbiAqIEBzZWUge0BsaW5rIGh0dHBzOi8vaW50ZXJuZXRjb21wdXRlci5vcmcvfVxuICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9pbnRlcm5ldGNvbXB1dGVyLm9yZy9kb2NzL2N1cnJlbnQvZGV2ZWxvcGVyLWRvY3MvZGVmaS9yb3NldHRhL2ljcF9yb3NldHRhL2RhdGFfYXBpL31cbiAqL1xuZXhwb3J0IGNsYXNzIEljcCBleHRlbmRzIEJhc2VDb2luIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9zdGF0aWNzQ29pbjogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPjtcbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKGJpdGdvOiBCaXRHb0Jhc2UsIHN0YXRpY3NDb2luPzogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPikge1xuICAgIHN1cGVyKGJpdGdvKTtcblxuICAgIGlmICghc3RhdGljc0NvaW4pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignbWlzc2luZyByZXF1aXJlZCBjb25zdHJ1Y3RvciBwYXJhbWV0ZXIgc3RhdGljc0NvaW4nKTtcbiAgICB9XG5cbiAgICB0aGlzLl9zdGF0aWNzQ29pbiA9IHN0YXRpY3NDb2luO1xuICB9XG5cbiAgc3RhdGljIGNyZWF0ZUluc3RhbmNlKGJpdGdvOiBCaXRHb0Jhc2UsIHN0YXRpY3NDb2luPzogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPik6IEJhc2VDb2luIHtcbiAgICByZXR1cm4gbmV3IEljcChiaXRnbywgc3RhdGljc0NvaW4pO1xuICB9XG5cbiAgZ2V0Q2hhaW4oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ2ljcCc7XG4gIH1cblxuICBnZXRCYXNlQ2hhaW4oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ2ljcCc7XG4gIH1cblxuICBnZXRGYW1pbHkoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fc3RhdGljc0NvaW4uZmFtaWx5O1xuICB9XG5cbiAgZ2V0RnVsbE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ0ludGVybmV0IENvbXB1dGVyJztcbiAgfVxuXG4gIGdldEJhc2VGYWN0b3IoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5wb3coMTAsIHRoaXMuX3N0YXRpY3NDb2luLmRlY2ltYWxQbGFjZXMpO1xuICB9XG5cbiAgYXN5bmMgdmVyaWZ5VHJhbnNhY3Rpb24ocGFyYW1zOiBWZXJpZnlUcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XG4gIH1cblxuICBhc3luYyBpc1dhbGxldEFkZHJlc3MocGFyYW1zOiBUc3NWZXJpZnlBZGRyZXNzT3B0aW9ucyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxuXG4gIGFzeW5jIHBhcnNlVHJhbnNhY3Rpb24ocGFyYW1zOiBQYXJzZVRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8UGFyc2VkVHJhbnNhY3Rpb24+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGUgYSBuZXcga2V5cGFpciBmb3IgdGhpcyBjb2luLlxuICAgKiBAcGFyYW0gc2VlZCBTZWVkIGZyb20gd2hpY2ggdGhlIG5ldyBrZXlwYWlyIHNob3VsZCBiZSBnZW5lcmF0ZWQsIG90aGVyd2lzZSBhIHJhbmRvbSBzZWVkIGlzIHVzZWRcbiAgICovXG4gIHB1YmxpYyBnZW5lcmF0ZUtleVBhaXIoc2VlZD86IEJ1ZmZlcik6IEtleVBhaXIge1xuICAgIHJldHVybiB1dGlscy5nZW5lcmF0ZUtleVBhaXIoc2VlZCk7XG4gIH1cblxuICBpc1ZhbGlkQWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XG4gIH1cblxuICBzaWduVHJhbnNhY3Rpb24oXzogU2lnblRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8U2lnbmVkVHJhbnNhY3Rpb24+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XG4gIH1cblxuICBpc1ZhbGlkUHViKGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHV0aWxzLmlzVmFsaWRQdWJsaWNLZXkoa2V5KTtcbiAgfVxuXG4gIGlzVmFsaWRQcnYoa2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdXRpbHMuaXNWYWxpZFByaXZhdGVLZXkoa2V5KTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBzdXBwb3J0c1RzcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBnZXRNUENBbGdvcml0aG0oKTogTVBDQWxnb3JpdGhtIHtcbiAgICByZXR1cm4gJ2VjZHNhJztcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0QWRkcmVzc0Zyb21QdWJsaWNLZXkoaGV4RW5jb2RlZFB1YmxpY0tleTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHV0aWxzLmdldEFkZHJlc3NGcm9tUHVibGljS2V5KGhleEVuY29kZWRQdWJsaWNLZXkpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICoqL1xuICBwcm90ZWN0ZWQgZ2V0UHVibGljTm9kZVVybCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBFbnZpcm9ubWVudHNbdGhpcy5iaXRnby5nZXRFbnYoKV0ucm9zZXR0YU5vZGVVUkw7XG4gIH1cbn1cbiJdfQ==
@@ -53,14 +53,19 @@ export interface IcpOperation {
53
53
  export interface IcpMetadata {
54
54
  created_at_time: number;
55
55
  memo: number | BigInt;
56
- ingress_start: number | BigInt;
57
- ingress_end: number | BigInt;
56
+ ingress_start?: number | BigInt;
57
+ ingress_end?: number | BigInt;
58
58
  }
59
59
  export interface IcpTransaction {
60
60
  public_keys: IcpPublicKey[];
61
61
  operations: IcpOperation[];
62
62
  metadata: IcpMetadata;
63
63
  }
64
+ export interface ParsedTransaction {
65
+ operations: IcpOperation[];
66
+ account_identifier_signers: IcpAccount[];
67
+ metadata: IcpMetadata;
68
+ }
64
69
  export interface IcpAccountIdentifier {
65
70
  address: string;
66
71
  }
@@ -105,7 +110,7 @@ export interface Signatures {
105
110
  public_key: IcpPublicKey;
106
111
  hex_bytes: string;
107
112
  }
108
- export interface cborUnsignedTransaction {
113
+ export interface CborUnsignedTransaction {
109
114
  updates: [string, HttpCanisterUpdate][];
110
115
  ingress_expiries: bigint[];
111
116
  }
@@ -1 +1 @@
1
- {"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../../../src/lib/iface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../../../src/lib/iface.ts"],"names":[],"mappings":"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"}
@@ -28,4 +28,4 @@ var Network;
28
28
  (function (Network) {
29
29
  Network["ID"] = "00000000000000020101";
30
30
  })(Network || (exports.Network = Network = {}));
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2lmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUthLFFBQUEsY0FBYyxHQUFHLGdCQUFnQixDQUFDO0FBRS9DLElBQVksV0FHWDtBQUhELFdBQVksV0FBVztJQUNyQiw0QkFBYSxDQUFBO0lBQ2Isd0NBQXlCLENBQUE7QUFDM0IsQ0FBQyxFQUhXLFdBQVcsMkJBQVgsV0FBVyxRQUd0QjtBQUVELElBQVksYUFFWDtBQUZELFdBQVksYUFBYTtJQUN2QixnQ0FBZSxDQUFBO0FBQ2pCLENBQUMsRUFGVyxhQUFhLDZCQUFiLGFBQWEsUUFFeEI7QUFFRCxJQUFZLFNBRVg7QUFGRCxXQUFZLFNBQVM7SUFDbkIsb0NBQXVCLENBQUE7QUFDekIsQ0FBQyxFQUZXLFNBQVMseUJBQVQsU0FBUyxRQUVwQjtBQUVELElBQVksYUFHWDtBQUhELFdBQVksYUFBYTtJQUN2Qiw0Q0FBMkIsQ0FBQTtJQUMzQiw0QkFBVyxDQUFBO0FBQ2IsQ0FBQyxFQUhXLGFBQWEsNkJBQWIsYUFBYSxRQUd4QjtBQUVELElBQVksVUFFWDtBQUZELFdBQVksVUFBVTtJQUNwQixpQ0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBRlcsVUFBVSwwQkFBVixVQUFVLFFBRXJCO0FBRUQsSUFBWSxPQUVYO0FBRkQsV0FBWSxPQUFPO0lBQ2pCLHNDQUEyQixDQUFBO0FBQzdCLENBQUMsRUFGVyxPQUFPLHVCQUFQLE9BQU8sUUFFbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIGFzIEJhc2VUcmFuc2FjdGlvbkV4cGxhbmF0aW9uLFxuICBUcmFuc2FjdGlvblR5cGUgYXMgQml0R29UcmFuc2FjdGlvblR5cGUsXG59IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5cbmV4cG9ydCBjb25zdCBSRVFVRVNUX1NUQVRVUyA9ICdyZXF1ZXN0X3N0YXR1cyc7XG5cbmV4cG9ydCBlbnVtIFJlcXVlc3RUeXBlIHtcbiAgQ0FMTCA9ICdjYWxsJyxcbiAgUkVBRF9TVEFURSA9ICdyZWFkX3N0YXRlJyxcbn1cblxuZXhwb3J0IGVudW0gU2lnbmF0dXJlVHlwZSB7XG4gIEVDRFNBID0gJ2VjZHNhJyxcbn1cblxuZXhwb3J0IGVudW0gQ3VydmVUeXBlIHtcbiAgU0VDUDI1NksxID0gJ3NlY3AyNTZrMScsXG59XG5cbmV4cG9ydCBlbnVtIE9wZXJhdGlvblR5cGUge1xuICBUUkFOU0FDVElPTiA9ICdUUkFOU0FDVElPTicsXG4gIEZFRSA9ICdGRUUnLFxufVxuXG5leHBvcnQgZW51bSBNZXRob2ROYW1lIHtcbiAgU0VORF9QQiA9ICdzZW5kX3BiJywgLy8gc2VuZF9wYiBpcyB0aGUgbWV0aG9kIG5hbWUgZm9yIElDUCB0cmFuc2ZlciB0cmFuc2FjdGlvblxufVxuXG5leHBvcnQgZW51bSBOZXR3b3JrIHtcbiAgSUQgPSAnMDAwMDAwMDAwMDAwMDAwMjAxMDEnLCAvLyBJQ1AgZG9lcyBub3QgaGF2ZSBkaWZmZXJlbnQgbmV0d29yayBJRHMgZm9yIG1haW5uZXQgYW5kIHRlc3RuZXRcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJY3BUcmFuc2FjdGlvbkRhdGEge1xuICBzZW5kZXJBZGRyZXNzOiBzdHJpbmc7XG4gIHJlY2VpdmVyQWRkcmVzczogc3RyaW5nO1xuICBhbW91bnQ6IHN0cmluZztcbiAgZmVlOiBzdHJpbmc7XG4gIHNlbmRlclB1YmxpY0tleUhleDogc3RyaW5nO1xuICBtZW1vOiBudW1iZXIgfCBCaWdJbnQ7IC8vIG1lbW8gaW4gc3RyaW5nIGlzIG5vdCBhY2NlcHRlZCBieSBJQ1AgY2hhaW4uXG4gIHRyYW5zYWN0aW9uVHlwZTogT3BlcmF0aW9uVHlwZTtcbiAgZXhwaXJ5VGltZTogbnVtYmVyIHwgQmlnSW50O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEljcFB1YmxpY0tleSB7XG4gIGhleF9ieXRlczogc3RyaW5nO1xuICBjdXJ2ZV90eXBlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWNwQWNjb3VudCB7XG4gIGFkZHJlc3M6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJY3BDdXJyZW5jeSB7XG4gIHN5bWJvbDogc3RyaW5nO1xuICBkZWNpbWFsczogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEljcEFtb3VudCB7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIGN1cnJlbmN5OiBJY3BDdXJyZW5jeTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJY3BPcGVyYXRpb24ge1xuICB0eXBlOiBzdHJpbmc7XG4gIGFjY291bnQ6IEljcEFjY291bnQ7XG4gIGFtb3VudDogSWNwQW1vdW50O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEljcE1ldGFkYXRhIHtcbiAgY3JlYXRlZF9hdF90aW1lOiBudW1iZXI7XG4gIG1lbW86IG51bWJlciB8IEJpZ0ludDsgLy8gbWVtbyBpbiBzdHJpbmcgaXMgbm90IGFjY2VwdGVkIGJ5IElDUCBjaGFpbi5cbiAgaW5ncmVzc19zdGFydDogbnVtYmVyIHwgQmlnSW50OyAvLyBpdCBzaG91bGQgYmUgbmFubyBzZWNvbmRzXG4gIGluZ3Jlc3NfZW5kOiBudW1iZXIgfCBCaWdJbnQ7IC8vIGl0IHNob3VsZCBiZSBuYW5vIHNlY29uZHNcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJY3BUcmFuc2FjdGlvbiB7XG4gIHB1YmxpY19rZXlzOiBJY3BQdWJsaWNLZXlbXTtcbiAgb3BlcmF0aW9uczogSWNwT3BlcmF0aW9uW107XG4gIG1ldGFkYXRhOiBJY3BNZXRhZGF0YTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJY3BBY2NvdW50SWRlbnRpZmllciB7XG4gIGFkZHJlc3M6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZW5kQXJncyB7XG4gIG1lbW86IHsgbWVtbzogbnVtYmVyIHwgQmlnSW50IH07XG4gIHBheW1lbnQ6IHsgcmVjZWl2ZXJHZXRzOiB7IGU4czogbnVtYmVyIH0gfTtcbiAgbWF4RmVlOiB7IGU4czogbnVtYmVyIH07XG4gIHRvOiB7IGhhc2g6IEJ1ZmZlciB9O1xuICBjcmVhdGVkQXRUaW1lOiB7IHRpbWVzdGFtcE5hbm9zOiBudW1iZXIgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIdHRwQ2FuaXN0ZXJVcGRhdGUge1xuICBjYW5pc3Rlcl9pZDogVWludDhBcnJheTtcbiAgbWV0aG9kX25hbWU6IE1ldGhvZE5hbWU7XG4gIGFyZzogVWludDhBcnJheTtcbiAgc2VuZGVyOiBVaW50OEFycmF5O1xuICBpbmdyZXNzX2V4cGlyeTogYmlnaW50O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25pbmdQYXlsb2FkIHtcbiAgYWNjb3VudF9pZGVudGlmaWVyOiBJY3BBY2NvdW50SWRlbnRpZmllcjtcbiAgaGV4X2J5dGVzOiBzdHJpbmc7XG4gIHNpZ25hdHVyZV90eXBlOiBTaWduYXR1cmVUeXBlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBheWxvYWRzRGF0YSB7XG4gIHBheWxvYWRzOiBTaWduaW5nUGF5bG9hZFtdO1xuICB1bnNpZ25lZF90cmFuc2FjdGlvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25hdHVyZXMge1xuICBzaWduaW5nX3BheWxvYWQ6IFNpZ25pbmdQYXlsb2FkO1xuICBzaWduYXR1cmVfdHlwZTogU2lnbmF0dXJlVHlwZTtcbiAgcHVibGljX2tleTogSWNwUHVibGljS2V5O1xuICBoZXhfYnl0ZXM6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBjYm9yVW5zaWduZWRUcmFuc2FjdGlvbiB7XG4gIHVwZGF0ZXM6IFtzdHJpbmcsIEh0dHBDYW5pc3RlclVwZGF0ZV1bXTtcbiAgaW5ncmVzc19leHBpcmllczogYmlnaW50W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVhZFN0YXRlIHtcbiAgc2VuZGVyOiBVaW50OEFycmF5O1xuICBwYXRoczogQXJyYXk8W0J1ZmZlciwgQnVmZmVyXT47XG4gIGluZ3Jlc3NfZXhwaXJ5OiBiaWdpbnQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlRW52ZWxvcGUge1xuICBjb250ZW50OiB7XG4gICAgcmVxdWVzdF90eXBlOiBSZXF1ZXN0VHlwZTtcbiAgICBjYW5pc3Rlcl9pZDogVWludDhBcnJheTtcbiAgICBtZXRob2RfbmFtZTogTWV0aG9kTmFtZTtcbiAgICBhcmc6IFVpbnQ4QXJyYXk7XG4gICAgc2VuZGVyOiBVaW50OEFycmF5O1xuICAgIGluZ3Jlc3NfZXhwaXJ5OiBiaWdpbnQ7XG4gIH07XG4gIHNlbmRlcl9wdWJrZXk6IFVpbnQ4QXJyYXk7XG4gIHNlbmRlcl9zaWc6IFVpbnQ4QXJyYXk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVhZFN0YXRlRW52ZWxvcGUge1xuICBjb250ZW50OiBSZWFkU3RhdGUgJiB7XG4gICAgcmVxdWVzdF90eXBlOiBSZXF1ZXN0VHlwZTtcbiAgfTtcbiAgc2VuZGVyX3B1YmtleTogVWludDhBcnJheTtcbiAgc2VuZGVyX3NpZzogVWludDhBcnJheTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXF1ZXN0RW52ZWxvcGUge1xuICB1cGRhdGU6IFVwZGF0ZUVudmVsb3BlO1xuICByZWFkX3N0YXRlOiBSZWFkU3RhdGVFbnZlbG9wZTtcbn1cblxuLyoqXG4gKiBUaGUgdHJhbnNhY3Rpb24gZGF0YSByZXR1cm5lZCBmcm9tIHRoZSB0b0pzb24oKSBmdW5jdGlvbiBvZiBhIHRyYW5zYWN0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHhEYXRhIHtcbiAgaWQ/OiBzdHJpbmc7XG4gIHNlbmRlcjogc3RyaW5nO1xuICBzZW5kZXJQdWJsaWNLZXk6IHN0cmluZztcbiAgcmVjaXBpZW50OiBzdHJpbmc7XG4gIG1lbW86IG51bWJlciB8IEJpZ0ludDtcbiAgZmVlQW1vdW50OiBzdHJpbmc7XG4gIGV4cGlyYXRpb25UaW1lOiBudW1iZXIgfCBCaWdJbnQ7XG4gIHR5cGU/OiBCaXRHb1RyYW5zYWN0aW9uVHlwZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJY3BUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uRXhwbGFuYXRpb24ge1xuICBzZW5kZXI/OiBzdHJpbmc7XG4gIHR5cGU/OiBCaXRHb1RyYW5zYWN0aW9uVHlwZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOZXR3b3JrSWRlbnRpZmllciB7XG4gIGJsb2NrY2hhaW46IHN0cmluZztcbiAgbmV0d29yazogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25lZFRyYW5zYWN0aW9uUmVxdWVzdCB7XG4gIG5ldHdvcmtfaWRlbnRpZmllcjogTmV0d29ya0lkZW50aWZpZXI7XG4gIHNpZ25lZF90cmFuc2FjdGlvbjogc3RyaW5nO1xufVxuIl19
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2lmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUthLFFBQUEsY0FBYyxHQUFHLGdCQUFnQixDQUFDO0FBRS9DLElBQVksV0FHWDtBQUhELFdBQVksV0FBVztJQUNyQiw0QkFBYSxDQUFBO0lBQ2Isd0NBQXlCLENBQUE7QUFDM0IsQ0FBQyxFQUhXLFdBQVcsMkJBQVgsV0FBVyxRQUd0QjtBQUVELElBQVksYUFFWDtBQUZELFdBQVksYUFBYTtJQUN2QixnQ0FBZSxDQUFBO0FBQ2pCLENBQUMsRUFGVyxhQUFhLDZCQUFiLGFBQWEsUUFFeEI7QUFFRCxJQUFZLFNBRVg7QUFGRCxXQUFZLFNBQVM7SUFDbkIsb0NBQXVCLENBQUE7QUFDekIsQ0FBQyxFQUZXLFNBQVMseUJBQVQsU0FBUyxRQUVwQjtBQUVELElBQVksYUFHWDtBQUhELFdBQVksYUFBYTtJQUN2Qiw0Q0FBMkIsQ0FBQTtJQUMzQiw0QkFBVyxDQUFBO0FBQ2IsQ0FBQyxFQUhXLGFBQWEsNkJBQWIsYUFBYSxRQUd4QjtBQUVELElBQVksVUFFWDtBQUZELFdBQVksVUFBVTtJQUNwQixpQ0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBRlcsVUFBVSwwQkFBVixVQUFVLFFBRXJCO0FBRUQsSUFBWSxPQUVYO0FBRkQsV0FBWSxPQUFPO0lBQ2pCLHNDQUEyQixDQUFBO0FBQzdCLENBQUMsRUFGVyxPQUFPLHVCQUFQLE9BQU8sUUFFbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIGFzIEJhc2VUcmFuc2FjdGlvbkV4cGxhbmF0aW9uLFxuICBUcmFuc2FjdGlvblR5cGUgYXMgQml0R29UcmFuc2FjdGlvblR5cGUsXG59IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5cbmV4cG9ydCBjb25zdCBSRVFVRVNUX1NUQVRVUyA9ICdyZXF1ZXN0X3N0YXR1cyc7XG5cbmV4cG9ydCBlbnVtIFJlcXVlc3RUeXBlIHtcbiAgQ0FMTCA9ICdjYWxsJyxcbiAgUkVBRF9TVEFURSA9ICdyZWFkX3N0YXRlJyxcbn1cblxuZXhwb3J0IGVudW0gU2lnbmF0dXJlVHlwZSB7XG4gIEVDRFNBID0gJ2VjZHNhJyxcbn1cblxuZXhwb3J0IGVudW0gQ3VydmVUeXBlIHtcbiAgU0VDUDI1NksxID0gJ3NlY3AyNTZrMScsXG59XG5cbmV4cG9ydCBlbnVtIE9wZXJhdGlvblR5cGUge1xuICBUUkFOU0FDVElPTiA9ICdUUkFOU0FDVElPTicsXG4gIEZFRSA9ICdGRUUnLFxufVxuXG5leHBvcnQgZW51bSBNZXRob2ROYW1lIHtcbiAgU0VORF9QQiA9ICdzZW5kX3BiJywgLy8gc2VuZF9wYiBpcyB0aGUgbWV0aG9kIG5hbWUgZm9yIElDUCB0cmFuc2ZlciB0cmFuc2FjdGlvblxufVxuXG5leHBvcnQgZW51bSBOZXR3b3JrIHtcbiAgSUQgPSAnMDAwMDAwMDAwMDAwMDAwMjAxMDEnLCAvLyBJQ1AgZG9lcyBub3QgaGF2ZSBkaWZmZXJlbnQgbmV0d29yayBJRHMgZm9yIG1haW5uZXQgYW5kIHRlc3RuZXRcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJY3BUcmFuc2FjdGlvbkRhdGEge1xuICBzZW5kZXJBZGRyZXNzOiBzdHJpbmc7XG4gIHJlY2VpdmVyQWRkcmVzczogc3RyaW5nO1xuICBhbW91bnQ6IHN0cmluZztcbiAgZmVlOiBzdHJpbmc7XG4gIHNlbmRlclB1YmxpY0tleUhleDogc3RyaW5nO1xuICBtZW1vOiBudW1iZXIgfCBCaWdJbnQ7IC8vIG1lbW8gaW4gc3RyaW5nIGlzIG5vdCBhY2NlcHRlZCBieSBJQ1AgY2hhaW4uXG4gIHRyYW5zYWN0aW9uVHlwZTogT3BlcmF0aW9uVHlwZTtcbiAgZXhwaXJ5VGltZTogbnVtYmVyIHwgQmlnSW50O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEljcFB1YmxpY0tleSB7XG4gIGhleF9ieXRlczogc3RyaW5nO1xuICBjdXJ2ZV90eXBlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWNwQWNjb3VudCB7XG4gIGFkZHJlc3M6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJY3BDdXJyZW5jeSB7XG4gIHN5bWJvbDogc3RyaW5nO1xuICBkZWNpbWFsczogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEljcEFtb3VudCB7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIGN1cnJlbmN5OiBJY3BDdXJyZW5jeTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJY3BPcGVyYXRpb24ge1xuICB0eXBlOiBzdHJpbmc7XG4gIGFjY291bnQ6IEljcEFjY291bnQ7XG4gIGFtb3VudDogSWNwQW1vdW50O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEljcE1ldGFkYXRhIHtcbiAgY3JlYXRlZF9hdF90aW1lOiBudW1iZXI7XG4gIG1lbW86IG51bWJlciB8IEJpZ0ludDsgLy8gbWVtbyBpbiBzdHJpbmcgaXMgbm90IGFjY2VwdGVkIGJ5IElDUCBjaGFpbi5cbiAgaW5ncmVzc19zdGFydD86IG51bWJlciB8IEJpZ0ludDsgLy8gaXQgc2hvdWxkIGJlIG5hbm8gc2Vjb25kc1xuICBpbmdyZXNzX2VuZD86IG51bWJlciB8IEJpZ0ludDsgLy8gaXQgc2hvdWxkIGJlIG5hbm8gc2Vjb25kc1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEljcFRyYW5zYWN0aW9uIHtcbiAgcHVibGljX2tleXM6IEljcFB1YmxpY0tleVtdO1xuICBvcGVyYXRpb25zOiBJY3BPcGVyYXRpb25bXTtcbiAgbWV0YWRhdGE6IEljcE1ldGFkYXRhO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhcnNlZFRyYW5zYWN0aW9uIHtcbiAgb3BlcmF0aW9uczogSWNwT3BlcmF0aW9uW107XG4gIGFjY291bnRfaWRlbnRpZmllcl9zaWduZXJzOiBJY3BBY2NvdW50W107XG4gIG1ldGFkYXRhOiBJY3BNZXRhZGF0YTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJY3BBY2NvdW50SWRlbnRpZmllciB7XG4gIGFkZHJlc3M6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZW5kQXJncyB7XG4gIG1lbW86IHsgbWVtbzogbnVtYmVyIHwgQmlnSW50IH07XG4gIHBheW1lbnQ6IHsgcmVjZWl2ZXJHZXRzOiB7IGU4czogbnVtYmVyIH0gfTtcbiAgbWF4RmVlOiB7IGU4czogbnVtYmVyIH07XG4gIHRvOiB7IGhhc2g6IEJ1ZmZlciB9O1xuICBjcmVhdGVkQXRUaW1lOiB7IHRpbWVzdGFtcE5hbm9zOiBudW1iZXIgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIdHRwQ2FuaXN0ZXJVcGRhdGUge1xuICBjYW5pc3Rlcl9pZDogVWludDhBcnJheTtcbiAgbWV0aG9kX25hbWU6IE1ldGhvZE5hbWU7XG4gIGFyZzogVWludDhBcnJheTtcbiAgc2VuZGVyOiBVaW50OEFycmF5O1xuICBpbmdyZXNzX2V4cGlyeTogYmlnaW50O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25pbmdQYXlsb2FkIHtcbiAgYWNjb3VudF9pZGVudGlmaWVyOiBJY3BBY2NvdW50SWRlbnRpZmllcjtcbiAgaGV4X2J5dGVzOiBzdHJpbmc7XG4gIHNpZ25hdHVyZV90eXBlOiBTaWduYXR1cmVUeXBlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBheWxvYWRzRGF0YSB7XG4gIHBheWxvYWRzOiBTaWduaW5nUGF5bG9hZFtdO1xuICB1bnNpZ25lZF90cmFuc2FjdGlvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25hdHVyZXMge1xuICBzaWduaW5nX3BheWxvYWQ6IFNpZ25pbmdQYXlsb2FkO1xuICBzaWduYXR1cmVfdHlwZTogU2lnbmF0dXJlVHlwZTtcbiAgcHVibGljX2tleTogSWNwUHVibGljS2V5O1xuICBoZXhfYnl0ZXM6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDYm9yVW5zaWduZWRUcmFuc2FjdGlvbiB7XG4gIHVwZGF0ZXM6IFtzdHJpbmcsIEh0dHBDYW5pc3RlclVwZGF0ZV1bXTtcbiAgaW5ncmVzc19leHBpcmllczogYmlnaW50W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVhZFN0YXRlIHtcbiAgc2VuZGVyOiBVaW50OEFycmF5O1xuICBwYXRoczogQXJyYXk8W0J1ZmZlciwgQnVmZmVyXT47XG4gIGluZ3Jlc3NfZXhwaXJ5OiBiaWdpbnQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlRW52ZWxvcGUge1xuICBjb250ZW50OiB7XG4gICAgcmVxdWVzdF90eXBlOiBSZXF1ZXN0VHlwZTtcbiAgICBjYW5pc3Rlcl9pZDogVWludDhBcnJheTtcbiAgICBtZXRob2RfbmFtZTogTWV0aG9kTmFtZTtcbiAgICBhcmc6IFVpbnQ4QXJyYXk7XG4gICAgc2VuZGVyOiBVaW50OEFycmF5O1xuICAgIGluZ3Jlc3NfZXhwaXJ5OiBiaWdpbnQ7XG4gIH07XG4gIHNlbmRlcl9wdWJrZXk6IFVpbnQ4QXJyYXk7XG4gIHNlbmRlcl9zaWc6IFVpbnQ4QXJyYXk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVhZFN0YXRlRW52ZWxvcGUge1xuICBjb250ZW50OiBSZWFkU3RhdGUgJiB7XG4gICAgcmVxdWVzdF90eXBlOiBSZXF1ZXN0VHlwZTtcbiAgfTtcbiAgc2VuZGVyX3B1YmtleTogVWludDhBcnJheTtcbiAgc2VuZGVyX3NpZzogVWludDhBcnJheTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXF1ZXN0RW52ZWxvcGUge1xuICB1cGRhdGU6IFVwZGF0ZUVudmVsb3BlO1xuICByZWFkX3N0YXRlOiBSZWFkU3RhdGVFbnZlbG9wZTtcbn1cblxuLyoqXG4gKiBUaGUgdHJhbnNhY3Rpb24gZGF0YSByZXR1cm5lZCBmcm9tIHRoZSB0b0pzb24oKSBmdW5jdGlvbiBvZiBhIHRyYW5zYWN0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHhEYXRhIHtcbiAgaWQ/OiBzdHJpbmc7XG4gIHNlbmRlcjogc3RyaW5nO1xuICBzZW5kZXJQdWJsaWNLZXk6IHN0cmluZztcbiAgcmVjaXBpZW50OiBzdHJpbmc7XG4gIG1lbW86IG51bWJlciB8IEJpZ0ludDtcbiAgZmVlQW1vdW50OiBzdHJpbmc7XG4gIGV4cGlyYXRpb25UaW1lOiBudW1iZXIgfCBCaWdJbnQ7XG4gIHR5cGU/OiBCaXRHb1RyYW5zYWN0aW9uVHlwZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJY3BUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uRXhwbGFuYXRpb24ge1xuICBzZW5kZXI/OiBzdHJpbmc7XG4gIHR5cGU/OiBCaXRHb1RyYW5zYWN0aW9uVHlwZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOZXR3b3JrSWRlbnRpZmllciB7XG4gIGJsb2NrY2hhaW46IHN0cmluZztcbiAgbmV0d29yazogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25lZFRyYW5zYWN0aW9uUmVxdWVzdCB7XG4gIG5ldHdvcmtfaWRlbnRpZmllcjogTmV0d29ya0lkZW50aWZpZXI7XG4gIHNpZ25lZF90cmFuc2FjdGlvbjogc3RyaW5nO1xufVxuIl19
@@ -1,9 +1,9 @@
1
- import { cborUnsignedTransaction, Signatures, RequestEnvelope } from './iface';
1
+ import { CborUnsignedTransaction, Signatures, RequestEnvelope } from './iface';
2
2
  export declare class SignedTransactionBuilder {
3
3
  protected _unsigned_transaction: string;
4
4
  protected _signaturePayload: Signatures[];
5
5
  constructor(unsigned_transaction: string, signatures: Signatures[]);
6
6
  getSignTransaction(): string;
7
- getEnvelopes(unsignedTransaction: cborUnsignedTransaction, signatureMap: Map<string, Signatures>): [string, RequestEnvelope[]][];
7
+ getEnvelopes(unsignedTransaction: CborUnsignedTransaction, signatureMap: Map<string, Signatures>): [string, RequestEnvelope[]][];
8
8
  }
9
9
  //# sourceMappingURL=signedTransactionBuilder.d.ts.map
@@ -66,4 +66,4 @@ class SignedTransactionBuilder {
66
66
  }
67
67
  }
68
68
  exports.SignedTransactionBuilder = SignedTransactionBuilder;
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmVkVHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9zaWduZWRUcmFuc2FjdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsbUNBT2lCO0FBQ2pCLG9EQUE0QjtBQUM1QixvREFBNEI7QUFFNUIsTUFBYSx3QkFBd0I7SUFJbkMsWUFBWSxvQkFBNEIsRUFBRSxVQUF3QjtRQUNoRSxJQUFJLENBQUMscUJBQXFCLEdBQUcsb0JBQW9CLENBQUM7UUFDbEQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFVBQVUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE1BQU0sY0FBYyxHQUFHO1lBQ3JCLFVBQVUsRUFBRSxJQUFJLENBQUMsaUJBQWlCO1lBQ2xDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxxQkFBcUI7U0FDakQsQ0FBQztRQUNGLE1BQU0sWUFBWSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7UUFDL0IsS0FBSyxNQUFNLEdBQUcsSUFBSSxjQUFjLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDNUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN2RCxDQUFDO1FBQ0QsTUFBTSxtQkFBbUIsR0FBRyxlQUFLLENBQUMsVUFBVSxDQUMxQyxlQUFLLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUM1QixDQUFDO1FBQzdCLElBQUEsZ0JBQU0sRUFBQyxjQUFjLENBQUMsVUFBVSxDQUFDLE1BQU0sS0FBSyxtQkFBbUIsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDN0YsSUFBQSxnQkFBTSxFQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDakQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUN2RSxNQUFNLGVBQWUsR0FBRyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsQ0FBQztRQUNoRCxNQUFNLGlCQUFpQixHQUFHLGVBQUssQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDNUQsT0FBTyxpQkFBaUIsQ0FBQztJQUMzQixDQUFDO0lBRUQsWUFBWSxDQUNWLG1CQUE0QyxFQUM1QyxZQUFxQztRQUVyQyxNQUFNLFNBQVMsR0FBa0MsRUFBRSxDQUFDO1FBQ3BELEtBQUssTUFBTSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsSUFBSSxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM1RCxNQUFNLGdCQUFnQixHQUFzQixFQUFFLENBQUM7WUFDL0MsS0FBSyxNQUFNLGFBQWEsSUFBSSxtQkFBbUIsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO2dCQUNqRSxNQUFNLENBQUMsY0FBYyxHQUFHLGFBQWEsQ0FBQztnQkFFdEMsTUFBTSxTQUFTLEdBQUcsZUFBSyxDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN4RCxNQUFNLG9CQUFvQixHQUFHLGVBQUssQ0FBQyx1QkFBdUIsQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQ2pGLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO29CQUMxQixNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7Z0JBQ3hELENBQUM7Z0JBRUQsTUFBTSxrQkFBa0IsR0FBRyxlQUFLLENBQUMscUJBQXFCLENBQUMsWUFBWSxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUNoRixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztvQkFDeEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO2dCQUN2RCxDQUFDO2dCQUVELE1BQU0sTUFBTSxHQUFHLGVBQUssQ0FBQyx1QkFBdUIsQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ3hGLE1BQU0sY0FBYyxHQUFtQjtvQkFDckMsT0FBTyxFQUFFLEVBQUUsWUFBWSxFQUFFLG1CQUFXLENBQUMsSUFBSSxFQUFFLEdBQUcsTUFBTSxFQUFFO29CQUN0RCxhQUFhLEVBQUUsTUFBTTtvQkFDckIsVUFBVSxFQUFFLGVBQUssQ0FBQyxXQUFXLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDO2lCQUM5RCxDQUFDO2dCQUVGLE1BQU0saUJBQWlCLEdBQXNCO29CQUMzQyxPQUFPLEVBQUUsRUFBRSxZQUFZLEVBQUUsbUJBQVcsQ0FBQyxVQUFVLEVBQUUsR0FBRyxTQUFTLEVBQUU7b0JBQy9ELGFBQWEsRUFBRSxNQUFNO29CQUNyQixVQUFVLEVBQUUsZUFBSyxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUM7aUJBQzVELENBQUM7Z0JBRUYsZ0JBQWdCLENBQUMsSUFBSSxDQUFDO29CQUNwQixNQUFNLEVBQUUsY0FBYztvQkFDdEIsVUFBVSxFQUFFLGlCQUFpQjtpQkFDOUIsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUNELFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1FBQzlDLENBQUM7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0NBQ0Y7QUF4RUQsNERBd0VDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgY2JvclVuc2lnbmVkVHJhbnNhY3Rpb24sXG4gIFJlcXVlc3RUeXBlLFxuICBTaWduYXR1cmVzLFxuICBVcGRhdGVFbnZlbG9wZSxcbiAgUmVhZFN0YXRlRW52ZWxvcGUsXG4gIFJlcXVlc3RFbnZlbG9wZSxcbn0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5cbmV4cG9ydCBjbGFzcyBTaWduZWRUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBwcm90ZWN0ZWQgX3Vuc2lnbmVkX3RyYW5zYWN0aW9uOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBfc2lnbmF0dXJlUGF5bG9hZDogU2lnbmF0dXJlc1tdO1xuXG4gIGNvbnN0cnVjdG9yKHVuc2lnbmVkX3RyYW5zYWN0aW9uOiBzdHJpbmcsIHNpZ25hdHVyZXM6IFNpZ25hdHVyZXNbXSkge1xuICAgIHRoaXMuX3Vuc2lnbmVkX3RyYW5zYWN0aW9uID0gdW5zaWduZWRfdHJhbnNhY3Rpb247XG4gICAgdGhpcy5fc2lnbmF0dXJlUGF5bG9hZCA9IHNpZ25hdHVyZXM7XG4gIH1cblxuICBnZXRTaWduVHJhbnNhY3Rpb24oKTogc3RyaW5nIHtcbiAgICBjb25zdCBjb21iaW5lUmVxdWVzdCA9IHtcbiAgICAgIHNpZ25hdHVyZXM6IHRoaXMuX3NpZ25hdHVyZVBheWxvYWQsXG4gICAgICB1bnNpZ25lZF90cmFuc2FjdGlvbjogdGhpcy5fdW5zaWduZWRfdHJhbnNhY3Rpb24sXG4gICAgfTtcbiAgICBjb25zdCBzaWduYXR1cmVNYXAgPSBuZXcgTWFwKCk7XG4gICAgZm9yIChjb25zdCBzaWcgb2YgY29tYmluZVJlcXVlc3Quc2lnbmF0dXJlcykge1xuICAgICAgc2lnbmF0dXJlTWFwLnNldChzaWcuc2lnbmluZ19wYXlsb2FkLmhleF9ieXRlcywgc2lnKTtcbiAgICB9XG4gICAgY29uc3QgdW5zaWduZWRUcmFuc2FjdGlvbiA9IHV0aWxzLmNib3JEZWNvZGUoXG4gICAgICB1dGlscy5ibG9iRnJvbUhleChjb21iaW5lUmVxdWVzdC51bnNpZ25lZF90cmFuc2FjdGlvbilcbiAgICApIGFzIGNib3JVbnNpZ25lZFRyYW5zYWN0aW9uO1xuICAgIGFzc2VydChjb21iaW5lUmVxdWVzdC5zaWduYXR1cmVzLmxlbmd0aCA9PT0gdW5zaWduZWRUcmFuc2FjdGlvbi5pbmdyZXNzX2V4cGlyaWVzLmxlbmd0aCAqIDIpO1xuICAgIGFzc2VydCh1bnNpZ25lZFRyYW5zYWN0aW9uLnVwZGF0ZXMubGVuZ3RoID09PSAxKTtcbiAgICBjb25zdCBlbnZlbG9wZXMgPSB0aGlzLmdldEVudmVsb3Blcyh1bnNpZ25lZFRyYW5zYWN0aW9uLCBzaWduYXR1cmVNYXApO1xuICAgIGNvbnN0IGVudmVsb3BSZXF1ZXN0cyA9IHsgcmVxdWVzdHM6IGVudmVsb3BlcyB9O1xuICAgIGNvbnN0IHNpZ25lZFRyYW5zYWN0aW9uID0gdXRpbHMuY2JvckVuY29kZShlbnZlbG9wUmVxdWVzdHMpO1xuICAgIHJldHVybiBzaWduZWRUcmFuc2FjdGlvbjtcbiAgfVxuXG4gIGdldEVudmVsb3BlcyhcbiAgICB1bnNpZ25lZFRyYW5zYWN0aW9uOiBjYm9yVW5zaWduZWRUcmFuc2FjdGlvbixcbiAgICBzaWduYXR1cmVNYXA6IE1hcDxzdHJpbmcsIFNpZ25hdHVyZXM+XG4gICk6IFtzdHJpbmcsIFJlcXVlc3RFbnZlbG9wZVtdXVtdIHtcbiAgICBjb25zdCBlbnZlbG9wZXM6IFtzdHJpbmcsIFJlcXVlc3RFbnZlbG9wZVtdXVtdID0gW107XG4gICAgZm9yIChjb25zdCBbcmVxVHlwZSwgdXBkYXRlXSBvZiB1bnNpZ25lZFRyYW5zYWN0aW9uLnVwZGF0ZXMpIHtcbiAgICAgIGNvbnN0IHJlcXVlc3RFbnZlbG9wZXM6IFJlcXVlc3RFbnZlbG9wZVtdID0gW107XG4gICAgICBmb3IgKGNvbnN0IGluZ3Jlc3NFeHBpcnkgb2YgdW5zaWduZWRUcmFuc2FjdGlvbi5pbmdyZXNzX2V4cGlyaWVzKSB7XG4gICAgICAgIHVwZGF0ZS5pbmdyZXNzX2V4cGlyeSA9IGluZ3Jlc3NFeHBpcnk7XG5cbiAgICAgICAgY29uc3QgcmVhZFN0YXRlID0gdXRpbHMubWFrZVJlYWRTdGF0ZUZyb21VcGRhdGUodXBkYXRlKTtcbiAgICAgICAgY29uc3QgdHJhbnNhY3Rpb25TaWduYXR1cmUgPSB1dGlscy5nZXRUcmFuc2FjdGlvblNpZ25hdHVyZShzaWduYXR1cmVNYXAsIHVwZGF0ZSk7XG4gICAgICAgIGlmICghdHJhbnNhY3Rpb25TaWduYXR1cmUpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RyYW5zYWN0aW9uIHNpZ25hdHVyZSBpcyB1bmRlZmluZWQnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJlYWRTdGF0ZVNpZ25hdHVyZSA9IHV0aWxzLmdldFJlYWRTdGF0ZVNpZ25hdHVyZShzaWduYXR1cmVNYXAsIHJlYWRTdGF0ZSk7XG4gICAgICAgIGlmICghcmVhZFN0YXRlU2lnbmF0dXJlKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdyZWFkIHN0YXRlIHNpZ25hdHVyZSBpcyB1bmRlZmluZWQnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHBrX2RlciA9IHV0aWxzLmdldFB1YmxpY0tleUluREVSRm9ybWF0KHRyYW5zYWN0aW9uU2lnbmF0dXJlLnB1YmxpY19rZXkuaGV4X2J5dGVzKTtcbiAgICAgICAgY29uc3QgdXBkYXRlRW52ZWxvcGU6IFVwZGF0ZUVudmVsb3BlID0ge1xuICAgICAgICAgIGNvbnRlbnQ6IHsgcmVxdWVzdF90eXBlOiBSZXF1ZXN0VHlwZS5DQUxMLCAuLi51cGRhdGUgfSxcbiAgICAgICAgICBzZW5kZXJfcHVia2V5OiBwa19kZXIsXG4gICAgICAgICAgc2VuZGVyX3NpZzogdXRpbHMuYmxvYkZyb21IZXgodHJhbnNhY3Rpb25TaWduYXR1cmUuaGV4X2J5dGVzKSxcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCByZWFkU3RhdGVFbnZlbG9wZTogUmVhZFN0YXRlRW52ZWxvcGUgPSB7XG4gICAgICAgICAgY29udGVudDogeyByZXF1ZXN0X3R5cGU6IFJlcXVlc3RUeXBlLlJFQURfU1RBVEUsIC4uLnJlYWRTdGF0ZSB9LFxuICAgICAgICAgIHNlbmRlcl9wdWJrZXk6IHBrX2RlcixcbiAgICAgICAgICBzZW5kZXJfc2lnOiB1dGlscy5ibG9iRnJvbUhleChyZWFkU3RhdGVTaWduYXR1cmUuaGV4X2J5dGVzKSxcbiAgICAgICAgfTtcblxuICAgICAgICByZXF1ZXN0RW52ZWxvcGVzLnB1c2goe1xuICAgICAgICAgIHVwZGF0ZTogdXBkYXRlRW52ZWxvcGUsXG4gICAgICAgICAgcmVhZF9zdGF0ZTogcmVhZFN0YXRlRW52ZWxvcGUsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgZW52ZWxvcGVzLnB1c2goW3JlcVR5cGUsIHJlcXVlc3RFbnZlbG9wZXNdKTtcbiAgICB9XG4gICAgcmV0dXJuIGVudmVsb3BlcztcbiAgfVxufVxuIl19
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmVkVHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9zaWduZWRUcmFuc2FjdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsbUNBT2lCO0FBQ2pCLG9EQUE0QjtBQUM1QixvREFBNEI7QUFFNUIsTUFBYSx3QkFBd0I7SUFJbkMsWUFBWSxvQkFBNEIsRUFBRSxVQUF3QjtRQUNoRSxJQUFJLENBQUMscUJBQXFCLEdBQUcsb0JBQW9CLENBQUM7UUFDbEQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFVBQVUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE1BQU0sY0FBYyxHQUFHO1lBQ3JCLFVBQVUsRUFBRSxJQUFJLENBQUMsaUJBQWlCO1lBQ2xDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxxQkFBcUI7U0FDakQsQ0FBQztRQUNGLE1BQU0sWUFBWSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7UUFDL0IsS0FBSyxNQUFNLEdBQUcsSUFBSSxjQUFjLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDNUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN2RCxDQUFDO1FBQ0QsTUFBTSxtQkFBbUIsR0FBRyxlQUFLLENBQUMsVUFBVSxDQUMxQyxlQUFLLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUM1QixDQUFDO1FBQzdCLElBQUEsZ0JBQU0sRUFBQyxjQUFjLENBQUMsVUFBVSxDQUFDLE1BQU0sS0FBSyxtQkFBbUIsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDN0YsSUFBQSxnQkFBTSxFQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDakQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUN2RSxNQUFNLGVBQWUsR0FBRyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsQ0FBQztRQUNoRCxNQUFNLGlCQUFpQixHQUFHLGVBQUssQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDNUQsT0FBTyxpQkFBaUIsQ0FBQztJQUMzQixDQUFDO0lBRUQsWUFBWSxDQUNWLG1CQUE0QyxFQUM1QyxZQUFxQztRQUVyQyxNQUFNLFNBQVMsR0FBa0MsRUFBRSxDQUFDO1FBQ3BELEtBQUssTUFBTSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsSUFBSSxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM1RCxNQUFNLGdCQUFnQixHQUFzQixFQUFFLENBQUM7WUFDL0MsS0FBSyxNQUFNLGFBQWEsSUFBSSxtQkFBbUIsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO2dCQUNqRSxNQUFNLENBQUMsY0FBYyxHQUFHLGFBQWEsQ0FBQztnQkFFdEMsTUFBTSxTQUFTLEdBQUcsZUFBSyxDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN4RCxNQUFNLG9CQUFvQixHQUFHLGVBQUssQ0FBQyx1QkFBdUIsQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQ2pGLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO29CQUMxQixNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7Z0JBQ3hELENBQUM7Z0JBRUQsTUFBTSxrQkFBa0IsR0FBRyxlQUFLLENBQUMscUJBQXFCLENBQUMsWUFBWSxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUNoRixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztvQkFDeEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO2dCQUN2RCxDQUFDO2dCQUVELE1BQU0sTUFBTSxHQUFHLGVBQUssQ0FBQyx1QkFBdUIsQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ3hGLE1BQU0sY0FBYyxHQUFtQjtvQkFDckMsT0FBTyxFQUFFLEVBQUUsWUFBWSxFQUFFLG1CQUFXLENBQUMsSUFBSSxFQUFFLEdBQUcsTUFBTSxFQUFFO29CQUN0RCxhQUFhLEVBQUUsTUFBTTtvQkFDckIsVUFBVSxFQUFFLGVBQUssQ0FBQyxXQUFXLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDO2lCQUM5RCxDQUFDO2dCQUVGLE1BQU0saUJBQWlCLEdBQXNCO29CQUMzQyxPQUFPLEVBQUUsRUFBRSxZQUFZLEVBQUUsbUJBQVcsQ0FBQyxVQUFVLEVBQUUsR0FBRyxTQUFTLEVBQUU7b0JBQy9ELGFBQWEsRUFBRSxNQUFNO29CQUNyQixVQUFVLEVBQUUsZUFBSyxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUM7aUJBQzVELENBQUM7Z0JBRUYsZ0JBQWdCLENBQUMsSUFBSSxDQUFDO29CQUNwQixNQUFNLEVBQUUsY0FBYztvQkFDdEIsVUFBVSxFQUFFLGlCQUFpQjtpQkFDOUIsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUNELFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1FBQzlDLENBQUM7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0NBQ0Y7QUF4RUQsNERBd0VDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2JvclVuc2lnbmVkVHJhbnNhY3Rpb24sXG4gIFJlcXVlc3RUeXBlLFxuICBTaWduYXR1cmVzLFxuICBVcGRhdGVFbnZlbG9wZSxcbiAgUmVhZFN0YXRlRW52ZWxvcGUsXG4gIFJlcXVlc3RFbnZlbG9wZSxcbn0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5cbmV4cG9ydCBjbGFzcyBTaWduZWRUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBwcm90ZWN0ZWQgX3Vuc2lnbmVkX3RyYW5zYWN0aW9uOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBfc2lnbmF0dXJlUGF5bG9hZDogU2lnbmF0dXJlc1tdO1xuXG4gIGNvbnN0cnVjdG9yKHVuc2lnbmVkX3RyYW5zYWN0aW9uOiBzdHJpbmcsIHNpZ25hdHVyZXM6IFNpZ25hdHVyZXNbXSkge1xuICAgIHRoaXMuX3Vuc2lnbmVkX3RyYW5zYWN0aW9uID0gdW5zaWduZWRfdHJhbnNhY3Rpb247XG4gICAgdGhpcy5fc2lnbmF0dXJlUGF5bG9hZCA9IHNpZ25hdHVyZXM7XG4gIH1cblxuICBnZXRTaWduVHJhbnNhY3Rpb24oKTogc3RyaW5nIHtcbiAgICBjb25zdCBjb21iaW5lUmVxdWVzdCA9IHtcbiAgICAgIHNpZ25hdHVyZXM6IHRoaXMuX3NpZ25hdHVyZVBheWxvYWQsXG4gICAgICB1bnNpZ25lZF90cmFuc2FjdGlvbjogdGhpcy5fdW5zaWduZWRfdHJhbnNhY3Rpb24sXG4gICAgfTtcbiAgICBjb25zdCBzaWduYXR1cmVNYXAgPSBuZXcgTWFwKCk7XG4gICAgZm9yIChjb25zdCBzaWcgb2YgY29tYmluZVJlcXVlc3Quc2lnbmF0dXJlcykge1xuICAgICAgc2lnbmF0dXJlTWFwLnNldChzaWcuc2lnbmluZ19wYXlsb2FkLmhleF9ieXRlcywgc2lnKTtcbiAgICB9XG4gICAgY29uc3QgdW5zaWduZWRUcmFuc2FjdGlvbiA9IHV0aWxzLmNib3JEZWNvZGUoXG4gICAgICB1dGlscy5ibG9iRnJvbUhleChjb21iaW5lUmVxdWVzdC51bnNpZ25lZF90cmFuc2FjdGlvbilcbiAgICApIGFzIENib3JVbnNpZ25lZFRyYW5zYWN0aW9uO1xuICAgIGFzc2VydChjb21iaW5lUmVxdWVzdC5zaWduYXR1cmVzLmxlbmd0aCA9PT0gdW5zaWduZWRUcmFuc2FjdGlvbi5pbmdyZXNzX2V4cGlyaWVzLmxlbmd0aCAqIDIpO1xuICAgIGFzc2VydCh1bnNpZ25lZFRyYW5zYWN0aW9uLnVwZGF0ZXMubGVuZ3RoID09PSAxKTtcbiAgICBjb25zdCBlbnZlbG9wZXMgPSB0aGlzLmdldEVudmVsb3Blcyh1bnNpZ25lZFRyYW5zYWN0aW9uLCBzaWduYXR1cmVNYXApO1xuICAgIGNvbnN0IGVudmVsb3BSZXF1ZXN0cyA9IHsgcmVxdWVzdHM6IGVudmVsb3BlcyB9O1xuICAgIGNvbnN0IHNpZ25lZFRyYW5zYWN0aW9uID0gdXRpbHMuY2JvckVuY29kZShlbnZlbG9wUmVxdWVzdHMpO1xuICAgIHJldHVybiBzaWduZWRUcmFuc2FjdGlvbjtcbiAgfVxuXG4gIGdldEVudmVsb3BlcyhcbiAgICB1bnNpZ25lZFRyYW5zYWN0aW9uOiBDYm9yVW5zaWduZWRUcmFuc2FjdGlvbixcbiAgICBzaWduYXR1cmVNYXA6IE1hcDxzdHJpbmcsIFNpZ25hdHVyZXM+XG4gICk6IFtzdHJpbmcsIFJlcXVlc3RFbnZlbG9wZVtdXVtdIHtcbiAgICBjb25zdCBlbnZlbG9wZXM6IFtzdHJpbmcsIFJlcXVlc3RFbnZlbG9wZVtdXVtdID0gW107XG4gICAgZm9yIChjb25zdCBbcmVxVHlwZSwgdXBkYXRlXSBvZiB1bnNpZ25lZFRyYW5zYWN0aW9uLnVwZGF0ZXMpIHtcbiAgICAgIGNvbnN0IHJlcXVlc3RFbnZlbG9wZXM6IFJlcXVlc3RFbnZlbG9wZVtdID0gW107XG4gICAgICBmb3IgKGNvbnN0IGluZ3Jlc3NFeHBpcnkgb2YgdW5zaWduZWRUcmFuc2FjdGlvbi5pbmdyZXNzX2V4cGlyaWVzKSB7XG4gICAgICAgIHVwZGF0ZS5pbmdyZXNzX2V4cGlyeSA9IGluZ3Jlc3NFeHBpcnk7XG5cbiAgICAgICAgY29uc3QgcmVhZFN0YXRlID0gdXRpbHMubWFrZVJlYWRTdGF0ZUZyb21VcGRhdGUodXBkYXRlKTtcbiAgICAgICAgY29uc3QgdHJhbnNhY3Rpb25TaWduYXR1cmUgPSB1dGlscy5nZXRUcmFuc2FjdGlvblNpZ25hdHVyZShzaWduYXR1cmVNYXAsIHVwZGF0ZSk7XG4gICAgICAgIGlmICghdHJhbnNhY3Rpb25TaWduYXR1cmUpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RyYW5zYWN0aW9uIHNpZ25hdHVyZSBpcyB1bmRlZmluZWQnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJlYWRTdGF0ZVNpZ25hdHVyZSA9IHV0aWxzLmdldFJlYWRTdGF0ZVNpZ25hdHVyZShzaWduYXR1cmVNYXAsIHJlYWRTdGF0ZSk7XG4gICAgICAgIGlmICghcmVhZFN0YXRlU2lnbmF0dXJlKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdyZWFkIHN0YXRlIHNpZ25hdHVyZSBpcyB1bmRlZmluZWQnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHBrX2RlciA9IHV0aWxzLmdldFB1YmxpY0tleUluREVSRm9ybWF0KHRyYW5zYWN0aW9uU2lnbmF0dXJlLnB1YmxpY19rZXkuaGV4X2J5dGVzKTtcbiAgICAgICAgY29uc3QgdXBkYXRlRW52ZWxvcGU6IFVwZGF0ZUVudmVsb3BlID0ge1xuICAgICAgICAgIGNvbnRlbnQ6IHsgcmVxdWVzdF90eXBlOiBSZXF1ZXN0VHlwZS5DQUxMLCAuLi51cGRhdGUgfSxcbiAgICAgICAgICBzZW5kZXJfcHVia2V5OiBwa19kZXIsXG4gICAgICAgICAgc2VuZGVyX3NpZzogdXRpbHMuYmxvYkZyb21IZXgodHJhbnNhY3Rpb25TaWduYXR1cmUuaGV4X2J5dGVzKSxcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCByZWFkU3RhdGVFbnZlbG9wZTogUmVhZFN0YXRlRW52ZWxvcGUgPSB7XG4gICAgICAgICAgY29udGVudDogeyByZXF1ZXN0X3R5cGU6IFJlcXVlc3RUeXBlLlJFQURfU1RBVEUsIC4uLnJlYWRTdGF0ZSB9LFxuICAgICAgICAgIHNlbmRlcl9wdWJrZXk6IHBrX2RlcixcbiAgICAgICAgICBzZW5kZXJfc2lnOiB1dGlscy5ibG9iRnJvbUhleChyZWFkU3RhdGVTaWduYXR1cmUuaGV4X2J5dGVzKSxcbiAgICAgICAgfTtcblxuICAgICAgICByZXF1ZXN0RW52ZWxvcGVzLnB1c2goe1xuICAgICAgICAgIHVwZGF0ZTogdXBkYXRlRW52ZWxvcGUsXG4gICAgICAgICAgcmVhZF9zdGF0ZTogcmVhZFN0YXRlRW52ZWxvcGUsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgZW52ZWxvcGVzLnB1c2goW3JlcVR5cGUsIHJlcXVlc3RFbnZlbG9wZXNdKTtcbiAgICB9XG4gICAgcmV0dXJuIGVudmVsb3BlcztcbiAgfVxufVxuIl19
@@ -1,6 +1,6 @@
1
1
  import { BaseKey, BaseTransaction } from '@bitgo/sdk-core';
2
2
  import { BaseCoin as CoinConfig } from '@bitgo/statics';
3
- import { IcpTransaction, IcpTransactionData, PayloadsData, Signatures, TxData, IcpTransactionExplanation } from './iface';
3
+ import { IcpTransaction, IcpTransactionData, PayloadsData, Signatures, TxData, IcpTransactionExplanation, ParsedTransaction } from './iface';
4
4
  import { Utils } from './utils';
5
5
  export declare class Transaction extends BaseTransaction {
6
6
  protected _icpTransactionData: IcpTransactionData;
@@ -38,5 +38,8 @@ export declare class Transaction extends BaseTransaction {
38
38
  serialize(): string;
39
39
  /** @inheritdoc */
40
40
  canSign(key: BaseKey): boolean;
41
+ parseUnsignedTransaction(rawTransaction: string): Promise<ParsedTransaction>;
42
+ private getParsedTransactionFromUpdate;
43
+ parseSignedTransaction(rawTransaction: string): Promise<ParsedTransaction>;
41
44
  }
42
45
  //# sourceMappingURL=transaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/lib/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,eAAe,EAKhB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,YAAY,EAEZ,UAAU,EACV,MAAM,EACN,yBAAyB,EAG1B,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,qBAAa,WAAY,SAAQ,eAAe;IAC9C,SAAS,CAAC,mBAAmB,EAAE,kBAAkB,CAAC;IAClD,SAAS,CAAC,eAAe,EAAE,cAAc,CAAC;IAC1C,SAAS,CAAC,aAAa,EAAE,YAAY,CAAC;IACtC,SAAS,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACrC,SAAS,CAAC,iBAAiB,EAAE,UAAU,EAAE,CAAC;IAC1C,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC;gBAEZ,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,KAAK;IAK3D,IAAI,kBAAkB,IAAI,kBAAkB,CAE3C;IAED,IAAI,kBAAkB,CAAC,kBAAkB,EAAE,kBAAkB,EAE5D;IAED,IAAI,cAAc,IAAI,cAAc,CAEnC;IAED,IAAI,cAAc,CAAC,cAAc,EAAE,cAAc,EAEhD;IAED,IAAI,mBAAmB,IAAI,MAAM,CAEhC;IAED,IAAI,gBAAgB,IAAI,UAAU,EAAE,CAEnC;IAED,IAAI,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAEtC;IAED,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IAED,IAAI,YAAY,CAAC,YAAY,EAAE,YAAY,EAE1C;IAED,IAAI,YAAY,IAAI,YAAY,CAE/B;IAED,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAyBhD,YAAY,CAAC,iBAAiB,EAAE,UAAU,EAAE,GAAG,IAAI;IAUnD,kBAAkB;IAClB,MAAM,IAAI,MAAM;IAqBhB,kBAAkB;IAClB,kBAAkB,IAAI,yBAAyB;IAwB/C;;;;;OAKG;IACH,0BAA0B,CAAC,iBAAiB,EAAE,yBAAyB,GAAG,yBAAyB;IAcnG,kBAAkB;IAClB,iBAAiB,IAAI,MAAM;IAO3B,SAAS,IAAI,MAAM;IAWnB,kBAAkB;IAClB,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;CAa/B"}
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/lib/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,eAAe,EAKhB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,YAAY,EAEZ,UAAU,EACV,MAAM,EACN,yBAAyB,EAKzB,iBAAiB,EAGlB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,qBAAa,WAAY,SAAQ,eAAe;IAC9C,SAAS,CAAC,mBAAmB,EAAE,kBAAkB,CAAC;IAClD,SAAS,CAAC,eAAe,EAAE,cAAc,CAAC;IAC1C,SAAS,CAAC,aAAa,EAAE,YAAY,CAAC;IACtC,SAAS,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACrC,SAAS,CAAC,iBAAiB,EAAE,UAAU,EAAE,CAAC;IAC1C,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC;gBAEZ,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,KAAK;IAK3D,IAAI,kBAAkB,IAAI,kBAAkB,CAE3C;IAED,IAAI,kBAAkB,CAAC,kBAAkB,EAAE,kBAAkB,EAE5D;IAED,IAAI,cAAc,IAAI,cAAc,CAEnC;IAED,IAAI,cAAc,CAAC,cAAc,EAAE,cAAc,EAEhD;IAED,IAAI,mBAAmB,IAAI,MAAM,CAEhC;IAED,IAAI,gBAAgB,IAAI,UAAU,EAAE,CAEnC;IAED,IAAI,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAEtC;IAED,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IAED,IAAI,YAAY,CAAC,YAAY,EAAE,YAAY,EAE1C;IAED,IAAI,YAAY,IAAI,YAAY,CAE/B;IAED,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAyBhD,YAAY,CAAC,iBAAiB,EAAE,UAAU,EAAE,GAAG,IAAI;IAUnD,kBAAkB;IAClB,MAAM,IAAI,MAAM;IAqBhB,kBAAkB;IAClB,kBAAkB,IAAI,yBAAyB;IAwB/C;;;;;OAKG;IACH,0BAA0B,CAAC,iBAAiB,EAAE,yBAAyB,GAAG,yBAAyB;IAcnG,kBAAkB;IAClB,iBAAiB,IAAI,MAAM;IAO3B,SAAS,IAAI,MAAM;IAWnB,kBAAkB;IAClB,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;IAcxB,wBAAwB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;YASpE,8BAA8B;IA8DtC,sBAAsB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAQjF"}
@@ -164,6 +164,73 @@ class Transaction extends sdk_core_1.BaseTransaction {
164
164
  return false;
165
165
  }
166
166
  }
167
+ async parseUnsignedTransaction(rawTransaction) {
168
+ const unsignedTransaction = this._utils.cborDecode(this._utils.blobFromHex(rawTransaction));
169
+ const update = unsignedTransaction.updates[0];
170
+ const httpCanisterUpdate = update[1];
171
+ return await this.getParsedTransactionFromUpdate(httpCanisterUpdate, false);
172
+ }
173
+ async getParsedTransactionFromUpdate(httpCanisterUpdate, isSigned) {
174
+ const senderPrincipal = this._utils.convertSenderBlobToPrincipal(httpCanisterUpdate.sender);
175
+ const ACCOUNT_ID_PREFIX = this._utils.getAccountIdPrefix();
176
+ const subAccount = new Uint8Array(32);
177
+ const senderAccount = this._utils.getAccountIdFromPrincipalBytes(ACCOUNT_ID_PREFIX, Buffer.from(senderPrincipal.buffer), subAccount);
178
+ const args = await this._utils.fromArgs(httpCanisterUpdate.arg);
179
+ const senderOperation = {
180
+ type: iface_1.OperationType.TRANSACTION,
181
+ account: { address: senderAccount },
182
+ amount: {
183
+ value: `-${args.payment.receiverGets.e8s.toString()}`,
184
+ currency: {
185
+ symbol: this._coinConfig.family,
186
+ decimals: this._coinConfig.decimalPlaces,
187
+ },
188
+ },
189
+ };
190
+ const receiverOperation = {
191
+ type: iface_1.OperationType.TRANSACTION,
192
+ account: { address: args.to.hash.toString('hex') },
193
+ amount: {
194
+ value: args.payment.receiverGets.e8s.toString(),
195
+ currency: {
196
+ symbol: this._coinConfig.family,
197
+ decimals: this._coinConfig.decimalPlaces,
198
+ },
199
+ },
200
+ };
201
+ const feeOperation = {
202
+ type: iface_1.OperationType.FEE,
203
+ account: { address: senderAccount },
204
+ amount: {
205
+ value: `-${args.maxFee.e8s.toString()}`,
206
+ currency: {
207
+ symbol: this._coinConfig.family,
208
+ decimals: this._coinConfig.decimalPlaces,
209
+ },
210
+ },
211
+ };
212
+ const accountIdentifierSigners = [];
213
+ if (isSigned) {
214
+ accountIdentifierSigners.push({ address: senderAccount });
215
+ }
216
+ const parsedTxn = {
217
+ operations: [senderOperation, receiverOperation, feeOperation],
218
+ metadata: {
219
+ created_at_time: args.createdAtTime.timestampNanos,
220
+ memo: Number(args.memo.memo),
221
+ },
222
+ account_identifier_signers: accountIdentifierSigners,
223
+ };
224
+ return parsedTxn;
225
+ }
226
+ async parseSignedTransaction(rawTransaction) {
227
+ const signedTransaction = this._utils.cborDecode(this._utils.blobFromHex(rawTransaction));
228
+ const signedTransactionTyped = signedTransaction;
229
+ const envelopes = signedTransactionTyped.requests[0][1];
230
+ const updates = envelopes.map((envelope) => envelope.update);
231
+ const httpCanisterUpdate = updates[0].content;
232
+ return await this.getParsedTransactionFromUpdate(httpCanisterUpdate, true);
233
+ }
167
234
  }
168
235
  exports.Transaction = Transaction;
169
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3RyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDhDQU95QjtBQUV6QixtQ0FVaUI7QUFFakIsdUNBQW9DO0FBRXBDLE1BQWEsV0FBWSxTQUFRLDBCQUFlO0lBUTlDLFlBQVksV0FBaUMsRUFBRSxLQUFZO1FBQ3pELEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQUksa0JBQWtCLENBQUMsa0JBQXNDO1FBQzNELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxrQkFBa0IsQ0FBQztJQUNoRCxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBSSxjQUFjLENBQUMsY0FBOEI7UUFDL0MsSUFBSSxDQUFDLGVBQWUsR0FBRyxjQUFjLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQUksbUJBQW1CO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQztJQUNqRCxDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQUksaUJBQWlCLENBQUMsU0FBaUI7UUFDckMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFNBQVMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsSUFBSSxpQkFBaUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDakMsQ0FBQztJQUVELElBQUksWUFBWSxDQUFDLFlBQTBCO1FBQ3pDLElBQUksQ0FBQyxhQUFhLEdBQUcsWUFBWSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUVELGtCQUFrQixDQUFDLGNBQXNCO1FBQ3ZDLElBQUksQ0FBQztZQUNILE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDNUMsUUFBUSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ3RCLEtBQUsscUJBQWEsQ0FBQyxXQUFXO29CQUM1QixJQUFJLENBQUMsbUJBQW1CLEdBQUc7d0JBQ3pCLGFBQWEsRUFBRSxRQUFRLENBQUMsT0FBTzt3QkFDL0IsZUFBZSxFQUFFLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTzt3QkFDcEQsTUFBTSxFQUFFLFFBQVEsQ0FBQyxpQkFBaUI7d0JBQ2xDLEdBQUcsRUFBRSxRQUFRLENBQUMsR0FBRzt3QkFDakIsa0JBQWtCLEVBQUUsUUFBUSxDQUFDLFNBQVM7d0JBQ3RDLElBQUksRUFBRSxRQUFRLENBQUMsS0FBSzt3QkFDcEIsZUFBZSxFQUFFLFFBQVEsQ0FBQyxJQUFJO3dCQUM5QixVQUFVLEVBQUUsUUFBUSxDQUFDLFVBQVU7cUJBQ2hDLENBQUM7b0JBQ0YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztvQkFDN0QsTUFBTTtnQkFDUjtvQkFDRSxNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUM7WUFDaEQsQ0FBQztRQUNILENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsTUFBTSxJQUFJLGtDQUF1QixDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDL0QsQ0FBQztJQUNILENBQUM7SUFFRCxZQUFZLENBQUMsaUJBQStCO1FBQzFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3ZCLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUM3QyxDQUFDO1FBQ0QsSUFBSSxpQkFBaUIsQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDcEUsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO1FBQ3ZELENBQUM7UUFDRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsaUJBQWlCLENBQUM7SUFDN0MsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixNQUFNO1FBQ0osSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQzlCLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ3pELENBQUM7UUFDRCxRQUFRLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUNqRCxLQUFLLHFCQUFhLENBQUMsV0FBVztnQkFDNUIsT0FBTztvQkFDTCxFQUFFLEVBQUUsSUFBSSxDQUFDLEdBQUc7b0JBQ1osTUFBTSxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhO29CQUM5QyxlQUFlLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGtCQUFrQjtvQkFDNUQsU0FBUyxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlO29CQUNuRCxJQUFJLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUk7b0JBQ25DLFNBQVMsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRztvQkFDdkMsY0FBYyxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVO29CQUNuRCxJQUFJLEVBQUUsMEJBQW9CLENBQUMsSUFBSTtpQkFDaEMsQ0FBQztZQUNKO2dCQUNFLE1BQU0sSUFBSSxLQUFLLENBQUMsOEJBQThCLENBQUMsQ0FBQztRQUNwRCxDQUFDO0lBQ0gsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixrQkFBa0I7UUFDaEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzdCLE1BQU0sWUFBWSxHQUFHLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMvRixNQUFNLE9BQU8sR0FBMkIsRUFBRSxDQUFDO1FBRTNDLE1BQU0saUJBQWlCLEdBQUc7WUFDeEIsWUFBWTtZQUNaLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNYLE9BQU87WUFDUCxZQUFZLEVBQUUsR0FBRztZQUNqQixHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFO1lBQ2pCLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSTtZQUNqQixhQUFhLEVBQUUsRUFBRSxFQUFFLDRDQUE0QztZQUMvRCxZQUFZLEVBQUUsR0FBRyxFQUFFLHFDQUFxQztTQUN6RCxDQUFDO1FBRUYsUUFBUSxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUMvQixLQUFLLDBCQUFlLENBQUMsSUFBSTtnQkFDdkIsT0FBTyxJQUFJLENBQUMsMEJBQTBCLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUM1RDtnQkFDRSxNQUFNLElBQUksa0NBQXVCLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztRQUN4RSxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsMEJBQTBCLENBQUMsaUJBQTRDO1FBQ3JFLGlCQUFpQixDQUFDLEdBQUcsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDN0QsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDdEUsTUFBTSxPQUFPLEdBQTJCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDckQsTUFBTSxjQUFjLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQztRQUN6QyxNQUFNLFlBQVksR0FBRyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFL0MsT0FBTztZQUNMLEdBQUcsaUJBQWlCO1lBQ3BCLFlBQVk7WUFDWixPQUFPO1NBQ1IsQ0FBQztJQUNKLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQzdCLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ3pELENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsU0FBUztRQUNQLE1BQU0sV0FBVyxHQUE2QjtZQUM1QyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsa0JBQWtCO1lBQzNDLGtCQUFrQixFQUFFO2dCQUNsQixVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRO2dCQUNyQyxPQUFPLEVBQUUsZUFBTyxDQUFDLEVBQUU7YUFDcEI7U0FDRixDQUFDO1FBQ0YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsT0FBTyxDQUFDLEdBQVk7UUFDbEIsSUFBSSxDQUFDO1lBQ0gsTUFBTSxPQUFPLEdBQUcsSUFBSSxpQkFBTyxDQUFDLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQzlDLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDaEYsTUFBTSx3QkFBd0IsR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzdGLE9BQU8sQ0FDTCxJQUFJLENBQUMsa0JBQWtCLENBQUMsa0JBQWtCLEtBQUssWUFBWTtnQkFDM0QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGtCQUFrQixLQUFLLHdCQUF3QixDQUN4RSxDQUFDO1FBQ0osQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUE1TEQsa0NBNExDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQmFzZUtleSxcbiAgQmFzZVRyYW5zYWN0aW9uLFxuICBUcmFuc2FjdGlvblJlY2lwaWVudCxcbiAgVHJhbnNhY3Rpb25UeXBlLFxuICBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcixcbiAgVHJhbnNhY3Rpb25UeXBlIGFzIEJpdEdvVHJhbnNhY3Rpb25UeXBlLFxufSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCB7XG4gIEljcFRyYW5zYWN0aW9uLFxuICBJY3BUcmFuc2FjdGlvbkRhdGEsXG4gIFBheWxvYWRzRGF0YSxcbiAgT3BlcmF0aW9uVHlwZSxcbiAgU2lnbmF0dXJlcyxcbiAgVHhEYXRhLFxuICBJY3BUcmFuc2FjdGlvbkV4cGxhbmF0aW9uLFxuICBTaWduZWRUcmFuc2FjdGlvblJlcXVlc3QsXG4gIE5ldHdvcmssXG59IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHsgVXRpbHMgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IEtleVBhaXIgfSBmcm9tICcuL2tleVBhaXInO1xuXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb24gZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb24ge1xuICBwcm90ZWN0ZWQgX2ljcFRyYW5zYWN0aW9uRGF0YTogSWNwVHJhbnNhY3Rpb25EYXRhO1xuICBwcm90ZWN0ZWQgX2ljcFRyYW5zYWN0aW9uOiBJY3BUcmFuc2FjdGlvbjtcbiAgcHJvdGVjdGVkIF9wYXlsb2Fkc0RhdGE6IFBheWxvYWRzRGF0YTtcbiAgcHJvdGVjdGVkIF9zaWduZWRUcmFuc2FjdGlvbjogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX3NpZ25hdHVyZVBheWxvYWQ6IFNpZ25hdHVyZXNbXTtcbiAgcHJvdGVjdGVkIF91dGlsczogVXRpbHM7XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+LCB1dGlsczogVXRpbHMpIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gICAgdGhpcy5fdXRpbHMgPSB1dGlscztcbiAgfVxuXG4gIGdldCBpY3BUcmFuc2FjdGlvbkRhdGEoKTogSWNwVHJhbnNhY3Rpb25EYXRhIHtcbiAgICByZXR1cm4gdGhpcy5faWNwVHJhbnNhY3Rpb25EYXRhO1xuICB9XG5cbiAgc2V0IGljcFRyYW5zYWN0aW9uRGF0YShpY3BUcmFuc2FjdGlvbkRhdGE6IEljcFRyYW5zYWN0aW9uRGF0YSkge1xuICAgIHRoaXMuX2ljcFRyYW5zYWN0aW9uRGF0YSA9IGljcFRyYW5zYWN0aW9uRGF0YTtcbiAgfVxuXG4gIGdldCBpY3BUcmFuc2FjdGlvbigpOiBJY3BUcmFuc2FjdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuX2ljcFRyYW5zYWN0aW9uO1xuICB9XG5cbiAgc2V0IGljcFRyYW5zYWN0aW9uKGljcFRyYW5zYWN0aW9uOiBJY3BUcmFuc2FjdGlvbikge1xuICAgIHRoaXMuX2ljcFRyYW5zYWN0aW9uID0gaWNwVHJhbnNhY3Rpb247XG4gIH1cblxuICBnZXQgdW5zaWduZWRUcmFuc2FjdGlvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9wYXlsb2Fkc0RhdGEudW5zaWduZWRfdHJhbnNhY3Rpb247XG4gIH1cblxuICBnZXQgc2lnbmF0dXJlUGF5bG9hZCgpOiBTaWduYXR1cmVzW10ge1xuICAgIHJldHVybiB0aGlzLl9zaWduYXR1cmVQYXlsb2FkO1xuICB9XG5cbiAgc2V0IHNpZ25lZFRyYW5zYWN0aW9uKHNpZ25hdHVyZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fc2lnbmVkVHJhbnNhY3Rpb24gPSBzaWduYXR1cmU7XG4gIH1cblxuICBnZXQgc2lnbmVkVHJhbnNhY3Rpb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fc2lnbmVkVHJhbnNhY3Rpb247XG4gIH1cblxuICBzZXQgcGF5bG9hZHNEYXRhKHBheWxvYWRzRGF0YTogUGF5bG9hZHNEYXRhKSB7XG4gICAgdGhpcy5fcGF5bG9hZHNEYXRhID0gcGF5bG9hZHNEYXRhO1xuICB9XG5cbiAgZ2V0IHBheWxvYWRzRGF0YSgpOiBQYXlsb2Fkc0RhdGEge1xuICAgIHJldHVybiB0aGlzLl9wYXlsb2Fkc0RhdGE7XG4gIH1cblxuICBmcm9tUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IHZvaWQge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBwYXJzZWRUeCA9IEpTT04ucGFyc2UocmF3VHJhbnNhY3Rpb24pO1xuICAgICAgc3dpdGNoIChwYXJzZWRUeC50eXBlKSB7XG4gICAgICAgIGNhc2UgT3BlcmF0aW9uVHlwZS5UUkFOU0FDVElPTjpcbiAgICAgICAgICB0aGlzLl9pY3BUcmFuc2FjdGlvbkRhdGEgPSB7XG4gICAgICAgICAgICBzZW5kZXJBZGRyZXNzOiBwYXJzZWRUeC5hZGRyZXNzLFxuICAgICAgICAgICAgcmVjZWl2ZXJBZGRyZXNzOiBwYXJzZWRUeC5leHRlcm5hbE91dHB1dHNbMF0uYWRkcmVzcyxcbiAgICAgICAgICAgIGFtb3VudDogcGFyc2VkVHguc3BlbmRBbW91bnRTdHJpbmcsXG4gICAgICAgICAgICBmZWU6IHBhcnNlZFR4LmZlZSxcbiAgICAgICAgICAgIHNlbmRlclB1YmxpY0tleUhleDogcGFyc2VkVHguc2VuZGVyS2V5LFxuICAgICAgICAgICAgbWVtbzogcGFyc2VkVHguc2Vxbm8sXG4gICAgICAgICAgICB0cmFuc2FjdGlvblR5cGU6IHBhcnNlZFR4LnR5cGUsXG4gICAgICAgICAgICBleHBpcnlUaW1lOiBwYXJzZWRUeC5leHBpcnlUaW1lLFxuICAgICAgICAgIH07XG4gICAgICAgICAgdGhpcy5fdXRpbHMudmFsaWRhdGVSYXdUcmFuc2FjdGlvbih0aGlzLl9pY3BUcmFuc2FjdGlvbkRhdGEpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCB0cmFuc2FjdGlvbiB0eXBlJyk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCByYXcgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG4gIH1cblxuICBhZGRTaWduYXR1cmUoc2lnbmF0dXJlUGF5bG9hZHM6IFNpZ25hdHVyZXNbXSk6IHZvaWQge1xuICAgIGlmICghc2lnbmF0dXJlUGF5bG9hZHMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignc2lnbmF0dXJlcyBub3QgcHJvdmlkZWQnKTtcbiAgICB9XG4gICAgaWYgKHNpZ25hdHVyZVBheWxvYWRzLmxlbmd0aCAhPT0gdGhpcy5fcGF5bG9hZHNEYXRhLnBheWxvYWRzLmxlbmd0aCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdzaWduYXR1cmVzIGxlbmd0aCBpcyBub3QgbWF0Y2hpbmcnKTtcbiAgICB9XG4gICAgdGhpcy5fc2lnbmF0dXJlUGF5bG9hZCA9IHNpZ25hdHVyZVBheWxvYWRzO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHRvSnNvbigpOiBUeERhdGEge1xuICAgIGlmICghdGhpcy5faWNwVHJhbnNhY3Rpb25EYXRhKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0VtcHR5IHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICAgIHN3aXRjaCAodGhpcy5faWNwVHJhbnNhY3Rpb25EYXRhLnRyYW5zYWN0aW9uVHlwZSkge1xuICAgICAgY2FzZSBPcGVyYXRpb25UeXBlLlRSQU5TQUNUSU9OOlxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGlkOiB0aGlzLl9pZCxcbiAgICAgICAgICBzZW5kZXI6IHRoaXMuX2ljcFRyYW5zYWN0aW9uRGF0YS5zZW5kZXJBZGRyZXNzLFxuICAgICAgICAgIHNlbmRlclB1YmxpY0tleTogdGhpcy5faWNwVHJhbnNhY3Rpb25EYXRhLnNlbmRlclB1YmxpY0tleUhleCxcbiAgICAgICAgICByZWNpcGllbnQ6IHRoaXMuX2ljcFRyYW5zYWN0aW9uRGF0YS5yZWNlaXZlckFkZHJlc3MsXG4gICAgICAgICAgbWVtbzogdGhpcy5faWNwVHJhbnNhY3Rpb25EYXRhLm1lbW8sXG4gICAgICAgICAgZmVlQW1vdW50OiB0aGlzLl9pY3BUcmFuc2FjdGlvbkRhdGEuZmVlLFxuICAgICAgICAgIGV4cGlyYXRpb25UaW1lOiB0aGlzLl9pY3BUcmFuc2FjdGlvbkRhdGEuZXhwaXJ5VGltZSxcbiAgICAgICAgICB0eXBlOiBCaXRHb1RyYW5zYWN0aW9uVHlwZS5TZW5kLFxuICAgICAgICB9O1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbnN1cHBvcnRlZCB0cmFuc2FjdGlvbiB0eXBlJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIGV4cGxhaW5UcmFuc2FjdGlvbigpOiBJY3BUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIHtcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLnRvSnNvbigpO1xuICAgIGNvbnN0IGRpc3BsYXlPcmRlciA9IFsnaWQnLCAnb3V0cHV0QW1vdW50JywgJ2NoYW5nZUFtb3VudCcsICdvdXRwdXRzJywgJ2NoYW5nZU91dHB1dHMnLCAnZmVlJ107XG4gICAgY29uc3Qgb3V0cHV0czogVHJhbnNhY3Rpb25SZWNpcGllbnRbXSA9IFtdO1xuXG4gICAgY29uc3QgZXhwbGFuYXRpb25SZXN1bHQgPSB7XG4gICAgICBkaXNwbGF5T3JkZXIsXG4gICAgICBpZDogdGhpcy5pZCxcbiAgICAgIG91dHB1dHMsXG4gICAgICBvdXRwdXRBbW91bnQ6ICcwJyxcbiAgICAgIGZlZTogeyBmZWU6ICcwJyB9LFxuICAgICAgdHlwZTogcmVzdWx0LnR5cGUsXG4gICAgICBjaGFuZ2VPdXRwdXRzOiBbXSwgLy8gYWNjb3VudCBiYXNlZCBkb2VzIG5vdCB1c2UgY2hhbmdlIG91dHB1dHNcbiAgICAgIGNoYW5nZUFtb3VudDogJzAnLCAvLyBhY2NvdW50IGJhc2VkIGRvZXMgbm90IG1ha2UgY2hhbmdlXG4gICAgfTtcblxuICAgIHN3aXRjaCAoZXhwbGFuYXRpb25SZXN1bHQudHlwZSkge1xuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU2VuZDpcbiAgICAgICAgcmV0dXJuIHRoaXMuZXhwbGFpblRyYW5zZmVyVHJhbnNhY3Rpb24oZXhwbGFuYXRpb25SZXN1bHQpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdUcmFuc2FjdGlvbiB0eXBlIG5vdCBzdXBwb3J0ZWQnKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRXhwbGFpbnMgYSB0cmFuc2ZlciB0cmFuc2FjdGlvbiBieSBwcm92aWRpbmcgZGV0YWlscyBhYm91dCB0aGUgcmVjaXBpZW50cyBhbmQgdGhlIHRvdGFsIG91dHB1dCBhbW91bnQuXG4gICAqXG4gICAqIEBwYXJhbSB7SWNwVHJhbnNhY3Rpb25FeHBsYW5hdGlvbn0gZXhwbGFuYXRpb25SZXN1bHQgLSBUaGUgaW5pdGlhbCBleHBsYW5hdGlvbiByZXN1bHQgdG8gYmUgZXh0ZW5kZWQuXG4gICAqIEByZXR1cm5zIHtJY3BUcmFuc2FjdGlvbkV4cGxhbmF0aW9ufSBUaGUgZXh0ZW5kZWQgZXhwbGFuYXRpb24gcmVzdWx0IGluY2x1ZGluZyB0aGUgb3V0cHV0IGFtb3VudCBhbmQgcmVjaXBpZW50cy5cbiAgICovXG4gIGV4cGxhaW5UcmFuc2ZlclRyYW5zYWN0aW9uKGV4cGxhbmF0aW9uUmVzdWx0OiBJY3BUcmFuc2FjdGlvbkV4cGxhbmF0aW9uKTogSWNwVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiB7XG4gICAgZXhwbGFuYXRpb25SZXN1bHQuZmVlID0geyBmZWU6IHRoaXMuaWNwVHJhbnNhY3Rpb25EYXRhLmZlZSB9O1xuICAgIGNvbnN0IHJlY2lwaWVudHMgPSB0aGlzLl91dGlscy5nZXRSZWNpcGllbnRzKHRoaXMuaWNwVHJhbnNhY3Rpb25EYXRhKTtcbiAgICBjb25zdCBvdXRwdXRzOiBUcmFuc2FjdGlvblJlY2lwaWVudFtdID0gW3JlY2lwaWVudHNdO1xuICAgIGNvbnN0IG91dHB1dEFtb3VudEJOID0gcmVjaXBpZW50cy5hbW91bnQ7XG4gICAgY29uc3Qgb3V0cHV0QW1vdW50ID0gb3V0cHV0QW1vdW50Qk4udG9TdHJpbmcoKTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5leHBsYW5hdGlvblJlc3VsdCxcbiAgICAgIG91dHB1dEFtb3VudCxcbiAgICAgIG91dHB1dHMsXG4gICAgfTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB0b0Jyb2FkY2FzdEZvcm1hdCgpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5fc2lnbmVkVHJhbnNhY3Rpb24pIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignRW1wdHkgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuc2VyaWFsaXplKCk7XG4gIH1cblxuICBzZXJpYWxpemUoKTogc3RyaW5nIHtcbiAgICBjb25zdCB0cmFuc2FjdGlvbjogU2lnbmVkVHJhbnNhY3Rpb25SZXF1ZXN0ID0ge1xuICAgICAgc2lnbmVkX3RyYW5zYWN0aW9uOiB0aGlzLl9zaWduZWRUcmFuc2FjdGlvbixcbiAgICAgIG5ldHdvcmtfaWRlbnRpZmllcjoge1xuICAgICAgICBibG9ja2NoYWluOiB0aGlzLl9jb2luQ29uZmlnLmZ1bGxOYW1lLFxuICAgICAgICBuZXR3b3JrOiBOZXR3b3JrLklELFxuICAgICAgfSxcbiAgICB9O1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh0cmFuc2FjdGlvbik7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgY2FuU2lnbihrZXk6IEJhc2VLZXkpOiBib29sZWFuIHtcbiAgICB0cnkge1xuICAgICAgY29uc3Qga2V5UGFpciA9IG5ldyBLZXlQYWlyKHsgcHJ2OiBrZXkua2V5IH0pO1xuICAgICAgY29uc3QgcHVibGljS2V5SGV4ID0ga2V5UGFpci5nZXRQdWJsaWNLZXkoeyBjb21wcmVzc2VkOiB0cnVlIH0pLnRvU3RyaW5nKCdoZXgnKTtcbiAgICAgIGNvbnN0IHVuY29tcHJlc3NlZFB1YmxpY0tleUhleCA9IGtleVBhaXIuZ2V0UHVibGljS2V5KHsgY29tcHJlc3NlZDogZmFsc2UgfSkudG9TdHJpbmcoJ2hleCcpO1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgdGhpcy5pY3BUcmFuc2FjdGlvbkRhdGEuc2VuZGVyUHVibGljS2V5SGV4ID09PSBwdWJsaWNLZXlIZXggfHxcbiAgICAgICAgdGhpcy5pY3BUcmFuc2FjdGlvbkRhdGEuc2VuZGVyUHVibGljS2V5SGV4ID09PSB1bmNvbXByZXNzZWRQdWJsaWNLZXlIZXhcbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
236
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3RyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDhDQU95QjtBQUV6QixtQ0FlaUI7QUFFakIsdUNBQW9DO0FBRXBDLE1BQWEsV0FBWSxTQUFRLDBCQUFlO0lBUTlDLFlBQVksV0FBaUMsRUFBRSxLQUFZO1FBQ3pELEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQUksa0JBQWtCLENBQUMsa0JBQXNDO1FBQzNELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxrQkFBa0IsQ0FBQztJQUNoRCxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBSSxjQUFjLENBQUMsY0FBOEI7UUFDL0MsSUFBSSxDQUFDLGVBQWUsR0FBRyxjQUFjLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQUksbUJBQW1CO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQztJQUNqRCxDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQUksaUJBQWlCLENBQUMsU0FBaUI7UUFDckMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFNBQVMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsSUFBSSxpQkFBaUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDakMsQ0FBQztJQUVELElBQUksWUFBWSxDQUFDLFlBQTBCO1FBQ3pDLElBQUksQ0FBQyxhQUFhLEdBQUcsWUFBWSxDQUFDO0lB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YW5zYWN0aW9uUmVjaXBpZW50LFxuICBUcmFuc2FjdGlvblR5cGUsXG4gIEludmFsaWRUcmFuc2FjdGlvbkVycm9yLFxuICBUcmFuc2FjdGlvblR5cGUgYXMgQml0R29UcmFuc2FjdGlvblR5cGUsXG59IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHtcbiAgSWNwVHJhbnNhY3Rpb24sXG4gIEljcFRyYW5zYWN0aW9uRGF0YSxcbiAgUGF5bG9hZHNEYXRhLFxuICBPcGVyYXRpb25UeXBlLFxuICBTaWduYXR1cmVzLFxuICBUeERhdGEsXG4gIEljcFRyYW5zYWN0aW9uRXhwbGFuYXRpb24sXG4gIFNpZ25lZFRyYW5zYWN0aW9uUmVxdWVzdCxcbiAgTmV0d29yayxcbiAgQ2JvclVuc2lnbmVkVHJhbnNhY3Rpb24sXG4gIEh0dHBDYW5pc3RlclVwZGF0ZSxcbiAgUGFyc2VkVHJhbnNhY3Rpb24sXG4gIEljcE9wZXJhdGlvbixcbiAgSWNwQWNjb3VudCxcbn0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBVdGlscyB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgS2V5UGFpciB9IGZyb20gJy4va2V5UGFpcic7XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbiBleHRlbmRzIEJhc2VUcmFuc2FjdGlvbiB7XG4gIHByb3RlY3RlZCBfaWNwVHJhbnNhY3Rpb25EYXRhOiBJY3BUcmFuc2FjdGlvbkRhdGE7XG4gIHByb3RlY3RlZCBfaWNwVHJhbnNhY3Rpb246IEljcFRyYW5zYWN0aW9uO1xuICBwcm90ZWN0ZWQgX3BheWxvYWRzRGF0YTogUGF5bG9hZHNEYXRhO1xuICBwcm90ZWN0ZWQgX3NpZ25lZFRyYW5zYWN0aW9uOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBfc2lnbmF0dXJlUGF5bG9hZDogU2lnbmF0dXJlc1tdO1xuICBwcm90ZWN0ZWQgX3V0aWxzOiBVdGlscztcblxuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4sIHV0aWxzOiBVdGlscykge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLl91dGlscyA9IHV0aWxzO1xuICB9XG5cbiAgZ2V0IGljcFRyYW5zYWN0aW9uRGF0YSgpOiBJY3BUcmFuc2FjdGlvbkRhdGEge1xuICAgIHJldHVybiB0aGlzLl9pY3BUcmFuc2FjdGlvbkRhdGE7XG4gIH1cblxuICBzZXQgaWNwVHJhbnNhY3Rpb25EYXRhKGljcFRyYW5zYWN0aW9uRGF0YTogSWNwVHJhbnNhY3Rpb25EYXRhKSB7XG4gICAgdGhpcy5faWNwVHJhbnNhY3Rpb25EYXRhID0gaWNwVHJhbnNhY3Rpb25EYXRhO1xuICB9XG5cbiAgZ2V0IGljcFRyYW5zYWN0aW9uKCk6IEljcFRyYW5zYWN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5faWNwVHJhbnNhY3Rpb247XG4gIH1cblxuICBzZXQgaWNwVHJhbnNhY3Rpb24oaWNwVHJhbnNhY3Rpb246IEljcFRyYW5zYWN0aW9uKSB7XG4gICAgdGhpcy5faWNwVHJhbnNhY3Rpb24gPSBpY3BUcmFuc2FjdGlvbjtcbiAgfVxuXG4gIGdldCB1bnNpZ25lZFRyYW5zYWN0aW9uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3BheWxvYWRzRGF0YS51bnNpZ25lZF90cmFuc2FjdGlvbjtcbiAgfVxuXG4gIGdldCBzaWduYXR1cmVQYXlsb2FkKCk6IFNpZ25hdHVyZXNbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3NpZ25hdHVyZVBheWxvYWQ7XG4gIH1cblxuICBzZXQgc2lnbmVkVHJhbnNhY3Rpb24oc2lnbmF0dXJlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9zaWduZWRUcmFuc2FjdGlvbiA9IHNpZ25hdHVyZTtcbiAgfVxuXG4gIGdldCBzaWduZWRUcmFuc2FjdGlvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9zaWduZWRUcmFuc2FjdGlvbjtcbiAgfVxuXG4gIHNldCBwYXlsb2Fkc0RhdGEocGF5bG9hZHNEYXRhOiBQYXlsb2Fkc0RhdGEpIHtcbiAgICB0aGlzLl9wYXlsb2Fkc0RhdGEgPSBwYXlsb2Fkc0RhdGE7XG4gIH1cblxuICBnZXQgcGF5bG9hZHNEYXRhKCk6IFBheWxvYWRzRGF0YSB7XG4gICAgcmV0dXJuIHRoaXMuX3BheWxvYWRzRGF0YTtcbiAgfVxuXG4gIGZyb21SYXdUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogdm9pZCB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHBhcnNlZFR4ID0gSlNPTi5wYXJzZShyYXdUcmFuc2FjdGlvbik7XG4gICAgICBzd2l0Y2ggKHBhcnNlZFR4LnR5cGUpIHtcbiAgICAgICAgY2FzZSBPcGVyYXRpb25UeXBlLlRSQU5TQUNUSU9OOlxuICAgICAgICAgIHRoaXMuX2ljcFRyYW5zYWN0aW9uRGF0YSA9IHtcbiAgICAgICAgICAgIHNlbmRlckFkZHJlc3M6IHBhcnNlZFR4LmFkZHJlc3MsXG4gICAgICAgICAgICByZWNlaXZlckFkZHJlc3M6IHBhcnNlZFR4LmV4dGVybmFsT3V0cHV0c1swXS5hZGRyZXNzLFxuICAgICAgICAgICAgYW1vdW50OiBwYXJzZWRUeC5zcGVuZEFtb3VudFN0cmluZyxcbiAgICAgICAgICAgIGZlZTogcGFyc2VkVHguZmVlLFxuICAgICAgICAgICAgc2VuZGVyUHVibGljS2V5SGV4OiBwYXJzZWRUeC5zZW5kZXJLZXksXG4gICAgICAgICAgICBtZW1vOiBwYXJzZWRUeC5zZXFubyxcbiAgICAgICAgICAgIHRyYW5zYWN0aW9uVHlwZTogcGFyc2VkVHgudHlwZSxcbiAgICAgICAgICAgIGV4cGlyeVRpbWU6IHBhcnNlZFR4LmV4cGlyeVRpbWUsXG4gICAgICAgICAgfTtcbiAgICAgICAgICB0aGlzLl91dGlscy52YWxpZGF0ZVJhd1RyYW5zYWN0aW9uKHRoaXMuX2ljcFRyYW5zYWN0aW9uRGF0YSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHRyYW5zYWN0aW9uIHR5cGUnKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIHJhdyB0cmFuc2FjdGlvbicpO1xuICAgIH1cbiAgfVxuXG4gIGFkZFNpZ25hdHVyZShzaWduYXR1cmVQYXlsb2FkczogU2lnbmF0dXJlc1tdKTogdm9pZCB7XG4gICAgaWYgKCFzaWduYXR1cmVQYXlsb2Fkcykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdzaWduYXR1cmVzIG5vdCBwcm92aWRlZCcpO1xuICAgIH1cbiAgICBpZiAoc2lnbmF0dXJlUGF5bG9hZHMubGVuZ3RoICE9PSB0aGlzLl9wYXlsb2Fkc0RhdGEucGF5bG9hZHMubGVuZ3RoKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3NpZ25hdHVyZXMgbGVuZ3RoIGlzIG5vdCBtYXRjaGluZycpO1xuICAgIH1cbiAgICB0aGlzLl9zaWduYXR1cmVQYXlsb2FkID0gc2lnbmF0dXJlUGF5bG9hZHM7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdG9Kc29uKCk6IFR4RGF0YSB7XG4gICAgaWYgKCF0aGlzLl9pY3BUcmFuc2FjdGlvbkRhdGEpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignRW1wdHkgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG4gICAgc3dpdGNoICh0aGlzLl9pY3BUcmFuc2FjdGlvbkRhdGEudHJhbnNhY3Rpb25UeXBlKSB7XG4gICAgICBjYXNlIE9wZXJhdGlvblR5cGUuVFJBTlNBQ1RJT046XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgaWQ6IHRoaXMuX2lkLFxuICAgICAgICAgIHNlbmRlcjogdGhpcy5faWNwVHJhbnNhY3Rpb25EYXRhLnNlbmRlckFkZHJlc3MsXG4gICAgICAgICAgc2VuZGVyUHVibGljS2V5OiB0aGlzLl9pY3BUcmFuc2FjdGlvbkRhdGEuc2VuZGVyUHVibGljS2V5SGV4LFxuICAgICAgICAgIHJlY2lwaWVudDogdGhpcy5faWNwVHJhbnNhY3Rpb25EYXRhLnJlY2VpdmVyQWRkcmVzcyxcbiAgICAgICAgICBtZW1vOiB0aGlzLl9pY3BUcmFuc2FjdGlvbkRhdGEubWVtbyxcbiAgICAgICAgICBmZWVBbW91bnQ6IHRoaXMuX2ljcFRyYW5zYWN0aW9uRGF0YS5mZWUsXG4gICAgICAgICAgZXhwaXJhdGlvblRpbWU6IHRoaXMuX2ljcFRyYW5zYWN0aW9uRGF0YS5leHBpcnlUaW1lLFxuICAgICAgICAgIHR5cGU6IEJpdEdvVHJhbnNhY3Rpb25UeXBlLlNlbmQsXG4gICAgICAgIH07XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Vuc3VwcG9ydGVkIHRyYW5zYWN0aW9uIHR5cGUnKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgZXhwbGFpblRyYW5zYWN0aW9uKCk6IEljcFRyYW5zYWN0aW9uRXhwbGFuYXRpb24ge1xuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMudG9Kc29uKCk7XG4gICAgY29uc3QgZGlzcGxheU9yZGVyID0gWydpZCcsICdvdXRwdXRBbW91bnQnLCAnY2hhbmdlQW1vdW50JywgJ291dHB1dHMnLCAnY2hhbmdlT3V0cHV0cycsICdmZWUnXTtcbiAgICBjb25zdCBvdXRwdXRzOiBUcmFuc2FjdGlvblJlY2lwaWVudFtdID0gW107XG5cbiAgICBjb25zdCBleHBsYW5hdGlvblJlc3VsdCA9IHtcbiAgICAgIGRpc3BsYXlPcmRlcixcbiAgICAgIGlkOiB0aGlzLmlkLFxuICAgICAgb3V0cHV0cyxcbiAgICAgIG91dHB1dEFtb3VudDogJzAnLFxuICAgICAgZmVlOiB7IGZlZTogJzAnIH0sXG4gICAgICB0eXBlOiByZXN1bHQudHlwZSxcbiAgICAgIGNoYW5nZU91dHB1dHM6IFtdLCAvLyBhY2NvdW50IGJhc2VkIGRvZXMgbm90IHVzZSBjaGFuZ2Ugb3V0cHV0c1xuICAgICAgY2hhbmdlQW1vdW50OiAnMCcsIC8vIGFjY291bnQgYmFzZWQgZG9lcyBub3QgbWFrZSBjaGFuZ2VcbiAgICB9O1xuXG4gICAgc3dpdGNoIChleHBsYW5hdGlvblJlc3VsdC50eXBlKSB7XG4gICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5TZW5kOlxuICAgICAgICByZXR1cm4gdGhpcy5leHBsYWluVHJhbnNmZXJUcmFuc2FjdGlvbihleHBsYW5hdGlvblJlc3VsdCk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ1RyYW5zYWN0aW9uIHR5cGUgbm90IHN1cHBvcnRlZCcpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBFeHBsYWlucyBhIHRyYW5zZmVyIHRyYW5zYWN0aW9uIGJ5IHByb3ZpZGluZyBkZXRhaWxzIGFib3V0IHRoZSByZWNpcGllbnRzIGFuZCB0aGUgdG90YWwgb3V0cHV0IGFtb3VudC5cbiAgICpcbiAgICogQHBhcmFtIHtJY3BUcmFuc2FjdGlvbkV4cGxhbmF0aW9ufSBleHBsYW5hdGlvblJlc3VsdCAtIFRoZSBpbml0aWFsIGV4cGxhbmF0aW9uIHJlc3VsdCB0byBiZSBleHRlbmRlZC5cbiAgICogQHJldHVybnMge0ljcFRyYW5zYWN0aW9uRXhwbGFuYXRpb259IFRoZSBleHRlbmRlZCBleHBsYW5hdGlvbiByZXN1bHQgaW5jbHVkaW5nIHRoZSBvdXRwdXQgYW1vdW50IGFuZCByZWNpcGllbnRzLlxuICAgKi9cbiAgZXhwbGFpblRyYW5zZmVyVHJhbnNhY3Rpb24oZXhwbGFuYXRpb25SZXN1bHQ6IEljcFRyYW5zYWN0aW9uRXhwbGFuYXRpb24pOiBJY3BUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIHtcbiAgICBleHBsYW5hdGlvblJlc3VsdC5mZWUgPSB7IGZlZTogdGhpcy5pY3BUcmFuc2FjdGlvbkRhdGEuZmVlIH07XG4gICAgY29uc3QgcmVjaXBpZW50cyA9IHRoaXMuX3V0aWxzLmdldFJlY2lwaWVudHModGhpcy5pY3BUcmFuc2FjdGlvbkRhdGEpO1xuICAgIGNvbnN0IG91dHB1dHM6IFRyYW5zYWN0aW9uUmVjaXBpZW50W10gPSBbcmVjaXBpZW50c107XG4gICAgY29uc3Qgb3V0cHV0QW1vdW50Qk4gPSByZWNpcGllbnRzLmFtb3VudDtcbiAgICBjb25zdCBvdXRwdXRBbW91bnQgPSBvdXRwdXRBbW91bnRCTi50b1N0cmluZygpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmV4cGxhbmF0aW9uUmVzdWx0LFxuICAgICAgb3V0cHV0QW1vdW50LFxuICAgICAgb3V0cHV0cyxcbiAgICB9O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHRvQnJvYWRjYXN0Rm9ybWF0KCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLl9zaWduZWRUcmFuc2FjdGlvbikge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdFbXB0eSB0cmFuc2FjdGlvbicpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5zZXJpYWxpemUoKTtcbiAgfVxuXG4gIHNlcmlhbGl6ZSgpOiBzdHJpbmcge1xuICAgIGNvbnN0IHRyYW5zYWN0aW9uOiBTaWduZWRUcmFuc2FjdGlvblJlcXVlc3QgPSB7XG4gICAgICBzaWduZWRfdHJhbnNhY3Rpb246IHRoaXMuX3NpZ25lZFRyYW5zYWN0aW9uLFxuICAgICAgbmV0d29ya19pZGVudGlmaWVyOiB7XG4gICAgICAgIGJsb2NrY2hhaW46IHRoaXMuX2NvaW5Db25maWcuZnVsbE5hbWUsXG4gICAgICAgIG5ldHdvcms6IE5ldHdvcmsuSUQsXG4gICAgICB9LFxuICAgIH07XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHRyYW5zYWN0aW9uKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBjYW5TaWduKGtleTogQmFzZUtleSk6IGJvb2xlYW4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBrZXlQYWlyID0gbmV3IEtleVBhaXIoeyBwcnY6IGtleS5rZXkgfSk7XG4gICAgICBjb25zdCBwdWJsaWNLZXlIZXggPSBrZXlQYWlyLmdldFB1YmxpY0tleSh7IGNvbXByZXNzZWQ6IHRydWUgfSkudG9TdHJpbmcoJ2hleCcpO1xuICAgICAgY29uc3QgdW5jb21wcmVzc2VkUHVibGljS2V5SGV4ID0ga2V5UGFpci5nZXRQdWJsaWNLZXkoeyBjb21wcmVzc2VkOiBmYWxzZSB9KS50b1N0cmluZygnaGV4Jyk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICB0aGlzLmljcFRyYW5zYWN0aW9uRGF0YS5zZW5kZXJQdWJsaWNLZXlIZXggPT09IHB1YmxpY0tleUhleCB8fFxuICAgICAgICB0aGlzLmljcFRyYW5zYWN0aW9uRGF0YS5zZW5kZXJQdWJsaWNLZXlIZXggPT09IHVuY29tcHJlc3NlZFB1YmxpY0tleUhleFxuICAgICAgKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHBhcnNlVW5zaWduZWRUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogUHJvbWlzZTxQYXJzZWRUcmFuc2FjdGlvbj4ge1xuICAgIGNvbnN0IHVuc2lnbmVkVHJhbnNhY3Rpb24gPSB0aGlzLl91dGlscy5jYm9yRGVjb2RlKFxuICAgICAgdGhpcy5fdXRpbHMuYmxvYkZyb21IZXgocmF3VHJhbnNhY3Rpb24pXG4gICAgKSBhcyBDYm9yVW5zaWduZWRUcmFuc2FjdGlvbjtcbiAgICBjb25zdCB1cGRhdGUgPSB1bnNpZ25lZFRyYW5zYWN0aW9uLnVwZGF0ZXNbMF07XG4gICAgY29uc3QgaHR0cENhbmlzdGVyVXBkYXRlID0gdXBkYXRlWzFdIGFzIEh0dHBDYW5pc3RlclVwZGF0ZTtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5nZXRQYXJzZWRUcmFuc2FjdGlvbkZyb21VcGRhdGUoaHR0cENhbmlzdGVyVXBkYXRlLCBmYWxzZSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldFBhcnNlZFRyYW5zYWN0aW9uRnJvbVVwZGF0ZShcbiAgICBodHRwQ2FuaXN0ZXJVcGRhdGU6IEh0dHBDYW5pc3RlclVwZGF0ZSxcbiAgICBpc1NpZ25lZDogYm9vbGVhblxuICApOiBQcm9taXNlPFBhcnNlZFRyYW5zYWN0aW9uPiB7XG4gICAgY29uc3Qgc2VuZGVyUHJpbmNpcGFsID0gdGhpcy5fdXRpbHMuY29udmVydFNlbmRlckJsb2JUb1ByaW5jaXBhbChodHRwQ2FuaXN0ZXJVcGRhdGUuc2VuZGVyKTtcbiAgICBjb25zdCBBQ0NPVU5UX0lEX1BSRUZJWCA9IHRoaXMuX3V0aWxzLmdldEFjY291bnRJZFByZWZpeCgpO1xuICAgIGNvbnN0IHN1YkFjY291bnQgPSBuZXcgVWludDhBcnJheSgzMik7XG4gICAgY29uc3Qgc2VuZGVyQWNjb3VudCA9IHRoaXMuX3V0aWxzLmdldEFjY291bnRJZEZyb21QcmluY2lwYWxCeXRlcyhcbiAgICAgIEFDQ09VTlRfSURfUFJFRklYLFxuICAgICAgQnVmZmVyLmZyb20oc2VuZGVyUHJpbmNpcGFsLmJ1ZmZlciksXG4gICAgICBzdWJBY2NvdW50XG4gICAgKTtcbiAgICBjb25zdCBhcmdzID0gYXdhaXQgdGhpcy5fdXRpbHMuZnJvbUFyZ3MoaHR0cENhbmlzdGVyVXBkYXRlLmFyZyk7XG4gICAgY29uc3Qgc2VuZGVyT3BlcmF0aW9uOiBJY3BPcGVyYXRpb24gPSB7XG4gICAgICB0eXBlOiBPcGVyYXRpb25UeXBlLlRSQU5TQUNUSU9OLFxuICAgICAgYWNjb3VudDogeyBhZGRyZXNzOiBzZW5kZXJBY2NvdW50IH0sXG4gICAgICBhbW91bnQ6IHtcbiAgICAgICAgdmFsdWU6IGAtJHthcmdzLnBheW1lbnQucmVjZWl2ZXJHZXRzLmU4cy50b1N0cmluZygpfWAsXG4gICAgICAgIGN1cnJlbmN5OiB7XG4gICAgICAgICAgc3ltYm9sOiB0aGlzLl9jb2luQ29uZmlnLmZhbWlseSxcbiAgICAgICAgICBkZWNpbWFsczogdGhpcy5fY29pbkNvbmZpZy5kZWNpbWFsUGxhY2VzLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuICAgIGNvbnN0IHJlY2VpdmVyT3BlcmF0aW9uOiBJY3BPcGVyYXRpb24gPSB7XG4gICAgICB0eXBlOiBPcGVyYXRpb25UeXBlLlRSQU5TQUNUSU9OLFxuICAgICAgYWNjb3VudDogeyBhZGRyZXNzOiBhcmdzLnRvLmhhc2gudG9TdHJpbmcoJ2hleCcpIH0sXG4gICAgICBhbW91bnQ6IHtcbiAgICAgICAgdmFsdWU6IGFyZ3MucGF5bWVudC5yZWNlaXZlckdldHMuZThzLnRvU3RyaW5nKCksXG4gICAgICAgIGN1cnJlbmN5OiB7XG4gICAgICAgICAgc3ltYm9sOiB0aGlzLl9jb2luQ29uZmlnLmZhbWlseSxcbiAgICAgICAgICBkZWNpbWFsczogdGhpcy5fY29pbkNvbmZpZy5kZWNpbWFsUGxhY2VzLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgY29uc3QgZmVlT3BlcmF0aW9uOiBJY3BPcGVyYXRpb24gPSB7XG4gICAgICB0eXBlOiBPcGVyYXRpb25UeXBlLkZFRSxcbiAgICAgIGFjY291bnQ6IHsgYWRkcmVzczogc2VuZGVyQWNjb3VudCB9LFxuICAgICAgYW1vdW50OiB7XG4gICAgICAgIHZhbHVlOiBgLSR7YXJncy5tYXhGZWUuZThzLnRvU3RyaW5nKCl9YCxcbiAgICAgICAgY3VycmVuY3k6IHtcbiAgICAgICAgICBzeW1ib2w6IHRoaXMuX2NvaW5Db25maWcuZmFtaWx5LFxuICAgICAgICAgIGRlY2ltYWxzOiB0aGlzLl9jb2luQ29uZmlnLmRlY2ltYWxQbGFjZXMsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG4gICAgY29uc3QgYWNjb3VudElkZW50aWZpZXJTaWduZXJzOiBJY3BBY2NvdW50W10gPSBbXTtcbiAgICBpZiAoaXNTaWduZWQpIHtcbiAgICAgIGFjY291bnRJZGVudGlmaWVyU2lnbmVycy5wdXNoKHsgYWRkcmVzczogc2VuZGVyQWNjb3VudCB9KTtcbiAgICB9XG4gICAgY29uc3QgcGFyc2VkVHhuOiBQYXJzZWRUcmFuc2FjdGlvbiA9IHtcbiAgICAgIG9wZXJhdGlvbnM6IFtzZW5kZXJPcGVyYXRpb24sIHJlY2VpdmVyT3BlcmF0aW9uLCBmZWVPcGVyYXRpb25dLFxuICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgY3JlYXRlZF9hdF90aW1lOiBhcmdzLmNyZWF0ZWRBdFRpbWUudGltZXN0YW1wTmFub3MsXG4gICAgICAgIG1lbW86IE51bWJlcihhcmdzLm1lbW8ubWVtbyksXG4gICAgICB9LFxuICAgICAgYWNjb3VudF9pZGVudGlmaWVyX3NpZ25lcnM6IGFjY291bnRJZGVudGlmaWVyU2lnbmVycyxcbiAgICB9O1xuICAgIHJldHVybiBwYXJzZWRUeG47XG4gIH1cblxuICBhc3luYyBwYXJzZVNpZ25lZFRyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uOiBzdHJpbmcpOiBQcm9taXNlPFBhcnNlZFRyYW5zYWN0aW9uPiB7XG4gICAgY29uc3Qgc2lnbmVkVHJhbnNhY3Rpb24gPSB0aGlzLl91dGlscy5jYm9yRGVjb2RlKHRoaXMuX3V0aWxzLmJsb2JGcm9tSGV4KHJhd1RyYW5zYWN0aW9uKSk7XG4gICAgY29uc3Qgc2lnbmVkVHJhbnNhY3Rpb25UeXBlZCA9IHNpZ25lZFRyYW5zYWN0aW9uIGFzIHsgcmVxdWVzdHM6IGFueVtdIH07XG4gICAgY29uc3QgZW52ZWxvcGVzID0gc2lnbmVkVHJhbnNhY3Rpb25UeXBlZC5yZXF1ZXN0c1swXVsxXTtcbiAgICBjb25zdCB1cGRhdGVzID0gZW52ZWxvcGVzLm1hcCgoZW52ZWxvcGUpID0+IGVudmVsb3BlLnVwZGF0ZSk7XG4gICAgY29uc3QgaHR0cENhbmlzdGVyVXBkYXRlID0gdXBkYXRlc1swXS5jb250ZW50IGFzIEh0dHBDYW5pc3RlclVwZGF0ZTtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5nZXRQYXJzZWRUcmFuc2FjdGlvbkZyb21VcGRhdGUoaHR0cENhbmlzdGVyVXBkYXRlLCB0cnVlKTtcbiAgfVxufVxuIl19
@@ -3,6 +3,7 @@ import { BaseCoin as CoinConfig } from '@bitgo/statics';
3
3
  import { Transaction } from './transaction';
4
4
  import { TransactionBuilder } from './transactionBuilder';
5
5
  import { TransferBuilder } from './transferBuilder';
6
+ import { ParsedTransaction } from './iface';
6
7
  export declare class TransactionBuilderFactory extends BaseTransactionBuilderFactory {
7
8
  constructor(_coinConfig: Readonly<CoinConfig>);
8
9
  /** @inheritdoc */
@@ -17,10 +18,7 @@ export declare class TransactionBuilderFactory extends BaseTransactionBuilderFac
17
18
  private static initializeBuilder;
18
19
  /** @inheritdoc */
19
20
  getTransferBuilder(tx?: Transaction): TransferBuilder;
20
- /**
21
- * Parse the transaction from a raw transaction
22
- */
23
- private parseTransaction;
21
+ parseTransaction(rawTransaction: string, isSigned: boolean): Promise<ParsedTransaction>;
24
22
  /** @inheritdoc */
25
23
  getWalletInitializationBuilder(): void;
26
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"transactionBuilderFactory.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAA2B,MAAM,iBAAiB,CAAC;AACzF,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIpD,qBAAa,yBAA0B,SAAQ,6BAA6B;gBAC9D,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,kBAAkB;IAClB,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,kBAAkB;IAehD;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAOhC,kBAAkB;IAClB,kBAAkB,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,eAAe;IAKrD;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAIxB,kBAAkB;IAClB,8BAA8B,IAAI,IAAI;CAGvC"}
1
+ {"version":3,"file":"transactionBuilderFactory.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAA2B,MAAM,iBAAiB,CAAC;AACzF,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAiB,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE3D,qBAAa,yBAA0B,SAAQ,6BAA6B;gBAC9D,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,kBAAkB;IAClB,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,kBAAkB;IAehD;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAOhC,kBAAkB;IAClB,kBAAkB,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,eAAe;IAIrD,gBAAgB,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAWvF,kBAAkB;IAClB,8BAA8B,IAAI,IAAI;CAGvC"}
@@ -43,12 +43,15 @@ class TransactionBuilderFactory extends sdk_core_1.BaseTransactionBuilderFactory
43
43
  getTransferBuilder(tx) {
44
44
  return TransactionBuilderFactory.initializeBuilder(tx, new transferBuilder_1.TransferBuilder(this._coinConfig, new utils_1.Utils()));
45
45
  }
46
- //TODO WIN-4723 need to implement the following method
47
- /**
48
- * Parse the transaction from a raw transaction
49
- */
50
- parseTransaction(rawTransaction) {
51
- throw new Error('method not implemented');
46
+ parseTransaction(rawTransaction, isSigned) {
47
+ if (!rawTransaction) {
48
+ throw new sdk_core_1.InvalidTransactionError('Transaction is empty');
49
+ }
50
+ const transaction = new transaction_1.Transaction(this._coinConfig, new utils_1.Utils());
51
+ if (isSigned) {
52
+ return transaction.parseSignedTransaction(rawTransaction);
53
+ }
54
+ return transaction.parseUnsignedTransaction(rawTransaction);
52
55
  }
53
56
  /** @inheritdoc */
54
57
  getWalletInitializationBuilder() {
@@ -56,4 +59,4 @@ class TransactionBuilderFactory extends sdk_core_1.BaseTransactionBuilderFactory
56
59
  }
57
60
  }
58
61
  exports.TransactionBuilderFactory = TransactionBuilderFactory;
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw4Q0FBeUY7QUFFekYsK0NBQTRDO0FBRTVDLHVEQUFvRDtBQUNwRCxtQ0FBZ0M7QUFDaEMsbUNBQXdDO0FBRXhDLE1BQWEseUJBQTBCLFNBQVEsd0NBQTZCO0lBQzFFLFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsSUFBSSxDQUFDLGNBQXNCO1FBQ3pCLE1BQU0sV0FBVyxHQUFHLElBQUkseUJBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksYUFBSyxFQUFFLENBQUMsQ0FBQztRQUNuRSxXQUFXLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDO1lBQ0gsUUFBUSxXQUFXLENBQUMsa0JBQWtCLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ3ZELEtBQUsscUJBQWEsQ0FBQyxXQUFXO29CQUM1QixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDOUM7b0JBQ0UsTUFBTSxJQUFJLGtDQUF1QixDQUFDLHFCQUFxQixDQUFDLENBQUM7WUFDN0QsQ0FBQztRQUNILENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsTUFBTSxJQUFJLGtDQUF1QixDQUFDLHVCQUF1QixHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6RSxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNLLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBK0IsRUFBMkIsRUFBRSxPQUFVO1FBQ3BHLElBQUksRUFBRSxFQUFFLENBQUM7WUFDUCxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFCLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGtCQUFrQixDQUFDLEVBQWdCO1FBQ2pDLE9BQU8seUJBQXlCLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUksaUNBQWUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksYUFBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzdHLENBQUM7SUFFRCxzREFBc0Q7SUFDdEQ7O09BRUc7SUFDSyxnQkFBZ0IsQ0FBQyxjQUFzQjtRQUM3QyxNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELGtCQUFrQjtJQUNsQiw4QkFBOEI7UUFDNUIsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQzVDLENBQUM7Q0FDRjtBQXBERCw4REFvREMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSwgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IgfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBUcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zZmVyQnVpbGRlcic7XG5pbXBvcnQgeyBVdGlscyB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgT3BlcmF0aW9uVHlwZSB9IGZyb20gJy4vaWZhY2UnO1xuXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSBleHRlbmRzIEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IHtcbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGZyb20ocmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gICAgY29uc3QgdHJhbnNhY3Rpb24gPSBuZXcgVHJhbnNhY3Rpb24odGhpcy5fY29pbkNvbmZpZywgbmV3IFV0aWxzKCkpO1xuICAgIHRyYW5zYWN0aW9uLmZyb21SYXdUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbik7XG4gICAgdHJ5IHtcbiAgICAgIHN3aXRjaCAodHJhbnNhY3Rpb24uaWNwVHJhbnNhY3Rpb25EYXRhLnRyYW5zYWN0aW9uVHlwZSkge1xuICAgICAgICBjYXNlIE9wZXJhdGlvblR5cGUuVFJBTlNBQ1RJT046XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VHJhbnNmZXJCdWlsZGVyKHRyYW5zYWN0aW9uKTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgdHJhbnNhY3Rpb24nKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgdHJhbnNhY3Rpb246ICcgKyBlLm1lc3NhZ2UpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplIHRoZSBidWlsZGVyIHdpdGggdGhlIGdpdmVuIHRyYW5zYWN0aW9uXG4gICAqXG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb24gfCB1bmRlZmluZWR9IHR4IC0gdGhlIHRyYW5zYWN0aW9uIHVzZWQgdG8gaW5pdGlhbGl6ZSB0aGUgYnVpbGRlclxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9uQnVpbGRlcn0gYnVpbGRlciAtIHRoZSBidWlsZGVyIHRvIGJlIGluaXRpYWxpemVkXG4gICAqIEByZXR1cm5zIHtUcmFuc2FjdGlvbkJ1aWxkZXJ9IHRoZSBidWlsZGVyIGluaXRpYWxpemVkXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBpbml0aWFsaXplQnVpbGRlcjxUIGV4dGVuZHMgVHJhbnNhY3Rpb25CdWlsZGVyPih0eDogVHJhbnNhY3Rpb24gfCB1bmRlZmluZWQsIGJ1aWxkZXI6IFQpOiBUIHtcbiAgICBpZiAodHgpIHtcbiAgICAgIGJ1aWxkZXIuaW5pdEJ1aWxkZXIodHgpO1xuICAgIH1cbiAgICByZXR1cm4gYnVpbGRlcjtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBnZXRUcmFuc2ZlckJ1aWxkZXIodHg/OiBUcmFuc2FjdGlvbik6IFRyYW5zZmVyQnVpbGRlciB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBUcmFuc2ZlckJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZywgbmV3IFV0aWxzKCkpKTtcbiAgfVxuXG4gIC8vVE9ETyBXSU4tNDcyMyBuZWVkIHRvIGltcGxlbWVudCB0aGUgZm9sbG93aW5nIG1ldGhvZFxuICAvKipcbiAgICogUGFyc2UgdGhlIHRyYW5zYWN0aW9uIGZyb20gYSByYXcgdHJhbnNhY3Rpb25cbiAgICovXG4gIHByaXZhdGUgcGFyc2VUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdtZXRob2Qgbm90IGltcGxlbWVudGVkJyk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZ2V0V2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyKCk6IHZvaWQge1xuICAgIHRocm93IG5ldyBFcnJvcignbWV0aG9kIG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG59XG4iXX0=
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw4Q0FBeUY7QUFFekYsK0NBQTRDO0FBRTVDLHVEQUFvRDtBQUNwRCxtQ0FBZ0M7QUFDaEMsbUNBQTJEO0FBRTNELE1BQWEseUJBQTBCLFNBQVEsd0NBQTZCO0lBQzFFLFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsSUFBSSxDQUFDLGNBQXNCO1FBQ3pCLE1BQU0sV0FBVyxHQUFHLElBQUkseUJBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksYUFBSyxFQUFFLENBQUMsQ0FBQztRQUNuRSxXQUFXLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDO1lBQ0gsUUFBUSxXQUFXLENBQUMsa0JBQWtCLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ3ZELEtBQUsscUJBQWEsQ0FBQyxXQUFXO29CQUM1QixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDOUM7b0JBQ0UsTUFBTSxJQUFJLGtDQUF1QixDQUFDLHFCQUFxQixDQUFDLENBQUM7WUFDN0QsQ0FBQztRQUNILENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsTUFBTSxJQUFJLGtDQUF1QixDQUFDLHVCQUF1QixHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6RSxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNLLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBK0IsRUFBMkIsRUFBRSxPQUFVO1FBQ3BHLElBQUksRUFBRSxFQUFFLENBQUM7WUFDUCxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFCLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGtCQUFrQixDQUFDLEVBQWdCO1FBQ2pDLE9BQU8seUJBQXlCLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUksaUNBQWUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksYUFBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzdHLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxjQUFzQixFQUFFLFFBQWlCO1FBQ3hELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksa0NBQXVCLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUM1RCxDQUFDO1FBQ0QsTUFBTSxXQUFXLEdBQUcsSUFBSSx5QkFBVyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxhQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ25FLElBQUksUUFBUSxFQUFFLENBQUM7WUFDYixPQUFPLFdBQVcsQ0FBQyxzQkFBc0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUM1RCxDQUFDO1FBQ0QsT0FBTyxXQUFXLENBQUMsd0JBQXdCLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELGtCQUFrQjtJQUNsQiw4QkFBOEI7UUFDNUIsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQzVDLENBQUM7Q0FDRjtBQXZERCw4REF1REMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSwgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IgfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBUcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zZmVyQnVpbGRlcic7XG5pbXBvcnQgeyBVdGlscyB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgT3BlcmF0aW9uVHlwZSwgUGFyc2VkVHJhbnNhY3Rpb24gfSBmcm9tICcuL2lmYWNlJztcblxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkgZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSB7XG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBmcm9tKHJhd1RyYW5zYWN0aW9uOiBzdHJpbmcpOiBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICAgIGNvbnN0IHRyYW5zYWN0aW9uID0gbmV3IFRyYW5zYWN0aW9uKHRoaXMuX2NvaW5Db25maWcsIG5ldyBVdGlscygpKTtcbiAgICB0cmFuc2FjdGlvbi5mcm9tUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb24pO1xuICAgIHRyeSB7XG4gICAgICBzd2l0Y2ggKHRyYW5zYWN0aW9uLmljcFRyYW5zYWN0aW9uRGF0YS50cmFuc2FjdGlvblR5cGUpIHtcbiAgICAgICAgY2FzZSBPcGVyYXRpb25UeXBlLlRSQU5TQUNUSU9OOlxuICAgICAgICAgIHJldHVybiB0aGlzLmdldFRyYW5zZmVyQnVpbGRlcih0cmFuc2FjdGlvbik7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIHRyYW5zYWN0aW9uJyk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIHRyYW5zYWN0aW9uOiAnICsgZS5tZXNzYWdlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSB0aGUgYnVpbGRlciB3aXRoIHRoZSBnaXZlbiB0cmFuc2FjdGlvblxuICAgKlxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9uIHwgdW5kZWZpbmVkfSB0eCAtIHRoZSB0cmFuc2FjdGlvbiB1c2VkIHRvIGluaXRpYWxpemUgdGhlIGJ1aWxkZXJcbiAgICogQHBhcmFtIHtUcmFuc2FjdGlvbkJ1aWxkZXJ9IGJ1aWxkZXIgLSB0aGUgYnVpbGRlciB0byBiZSBpbml0aWFsaXplZFxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25CdWlsZGVyfSB0aGUgYnVpbGRlciBpbml0aWFsaXplZFxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgaW5pdGlhbGl6ZUJ1aWxkZXI8VCBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlcj4odHg6IFRyYW5zYWN0aW9uIHwgdW5kZWZpbmVkLCBidWlsZGVyOiBUKTogVCB7XG4gICAgaWYgKHR4KSB7XG4gICAgICBidWlsZGVyLmluaXRCdWlsZGVyKHR4KTtcbiAgICB9XG4gICAgcmV0dXJuIGJ1aWxkZXI7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZ2V0VHJhbnNmZXJCdWlsZGVyKHR4PzogVHJhbnNhY3Rpb24pOiBUcmFuc2ZlckJ1aWxkZXIge1xuICAgIHJldHVybiBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgVHJhbnNmZXJCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcsIG5ldyBVdGlscygpKSk7XG4gIH1cblxuICBwYXJzZVRyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uOiBzdHJpbmcsIGlzU2lnbmVkOiBib29sZWFuKTogUHJvbWlzZTxQYXJzZWRUcmFuc2FjdGlvbj4ge1xuICAgIGlmICghcmF3VHJhbnNhY3Rpb24pIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignVHJhbnNhY3Rpb24gaXMgZW1wdHknKTtcbiAgICB9XG4gICAgY29uc3QgdHJhbnNhY3Rpb24gPSBuZXcgVHJhbnNhY3Rpb24odGhpcy5fY29pbkNvbmZpZywgbmV3IFV0aWxzKCkpO1xuICAgIGlmIChpc1NpZ25lZCkge1xuICAgICAgcmV0dXJuIHRyYW5zYWN0aW9uLnBhcnNlU2lnbmVkVHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb24pO1xuICAgIH1cbiAgICByZXR1cm4gdHJhbnNhY3Rpb24ucGFyc2VVbnNpZ25lZFRyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBnZXRXYWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIoKTogdm9pZCB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdtZXRob2Qgbm90IGltcGxlbWVudGVkJyk7XG4gIH1cbn1cbiJdfQ==
@@ -6,7 +6,6 @@ export declare class UnsignedTransactionBuilder {
6
6
  getPayloads(payloads: SigningPayload[], ingressExpiries: bigint[], accountAddress: string, update: HttpCanisterUpdate): SigningPayload[];
7
7
  getIngressExpiries(ingressStartTime: number | BigInt, ingressEndTime: number | BigInt, interval: number): bigint[];
8
8
  getSendArgs(memo: number | BigInt, created_at_time: number, amount: string, fee: string, receiver: string): SendArgs;
9
- toArg(args: SendArgs): Promise<Uint8Array>;
10
9
  getUpdate(sendArgs: SendArgs, publicKeyHex: string): Promise<HttpCanisterUpdate>;
11
10
  }
12
11
  //# sourceMappingURL=unsignedTransactionBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"unsignedTransactionBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/unsignedTransactionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,QAAQ,EACR,kBAAkB,EAClB,cAAc,EACd,YAAY,EAIb,MAAM,SAAS,CAAC;AASjB,qBAAa,0BAA0B;IACrC,OAAO,CAAC,sBAAsB,CAAiB;gBACnC,qBAAqB,EAAE,cAAc;IAI3C,sBAAsB,IAAI,OAAO,CAAC,YAAY,CAAC;IA4BrD,WAAW,CACT,QAAQ,EAAE,cAAc,EAAE,EAC1B,eAAe,EAAE,MAAM,EAAE,EACzB,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,kBAAkB,GACzB,cAAc,EAAE;IA+BnB,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE;IAWlH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,QAAQ;IAW9G,KAAK,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;IAS1C,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAcvF"}
1
+ {"version":3,"file":"unsignedTransactionBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/unsignedTransactionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,QAAQ,EACR,kBAAkB,EAClB,cAAc,EACd,YAAY,EAIb,MAAM,SAAS,CAAC;AAOjB,qBAAa,0BAA0B;IACrC,OAAO,CAAC,sBAAsB,CAAiB;gBACnC,qBAAqB,EAAE,cAAc;IAI3C,sBAAsB,IAAI,OAAO,CAAC,YAAY,CAAC;IA4BrD,WAAW,CACT,QAAQ,EAAE,cAAc,EAAE,EAC1B,eAAe,EAAE,MAAM,EAAE,EACzB,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,kBAAkB,GACzB,cAAc,EAAE;IA+BnB,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE;IAWlH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,QAAQ;IAW9G,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAcvF"}
@@ -5,9 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.UnsignedTransactionBuilder = void 0;
7
7
  const iface_1 = require("./iface");
8
- const protobufjs_1 = __importDefault(require("protobufjs"));
9
8
  const utils_1 = __importDefault(require("./utils"));
10
- const protoDefinition_1 = require("./protoDefinition");
11
9
  const MAX_INGRESS_TTL = 5 * 60 * 1000000000; // 5 minutes in nanoseconds
12
10
  const PERMITTED_DRIFT = 60 * 1000000000; // 60 seconds in nanoseconds
13
11
  const LEDGER_CANISTER_ID = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 2, 1, 1]); // Uint8Array value for "00000000000000020101" and the string value is "ryjl3-tyaaa-aaaaa-aaaba-cai"
@@ -77,20 +75,11 @@ class UnsignedTransactionBuilder {
77
75
  };
78
76
  return sendArgs;
79
77
  }
80
- async toArg(args) {
81
- const root = await protobufjs_1.default.parse(protoDefinition_1.protoDefinition).root;
82
- const SendRequestMessage = root.lookupType('SendRequest');
83
- const errMsg = SendRequestMessage.verify(args);
84
- if (errMsg)
85
- throw new Error(errMsg);
86
- const message = SendRequestMessage.create(args);
87
- return SendRequestMessage.encode(message).finish();
88
- }
89
78
  async getUpdate(sendArgs, publicKeyHex) {
90
79
  const principalId = utils_1.default.getPrincipalIdFromPublicKey(publicKeyHex).toUint8Array();
91
80
  const senderBlob = Buffer.from(principalId);
92
81
  const canisterIdBuffer = Buffer.from(LEDGER_CANISTER_ID);
93
- const args = await this.toArg(sendArgs);
82
+ const args = await utils_1.default.toArg(sendArgs);
94
83
  const update = {
95
84
  canister_id: canisterIdBuffer,
96
85
  method_name: iface_1.MethodName.SEND_PB,
@@ -102,4 +91,4 @@ class UnsignedTransactionBuilder {
102
91
  }
103
92
  }
104
93
  exports.UnsignedTransactionBuilder = UnsignedTransactionBuilder;
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5zaWduZWRUcmFuc2FjdGlvbkJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3Vuc2lnbmVkVHJhbnNhY3Rpb25CdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG1DQVNpQjtBQUNqQiw0REFBa0M7QUFDbEMsb0RBQTRCO0FBQzVCLHVEQUFvRDtBQUVwRCxNQUFNLGVBQWUsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLFVBQVksQ0FBQyxDQUFDLDJCQUEyQjtBQUMxRSxNQUFNLGVBQWUsR0FBRyxFQUFFLEdBQUcsVUFBWSxDQUFDLENBQUMsNEJBQTRCO0FBQ3ZFLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsb0dBQW9HO0FBRS9LLE1BQWEsMEJBQTBCO0lBRXJDLFlBQVkscUJBQXFDO1FBQy9DLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxxQkFBcUIsQ0FBQztJQUN0RCxDQUFDO0lBRUQsS0FBSyxDQUFDLHNCQUFzQjtRQUMxQixNQUFNLFFBQVEsR0FBRyxlQUFlLEdBQUcsZUFBZSxHQUFHLEdBQUcsR0FBRyxVQUFZLENBQUMsQ0FBQyw4QkFBOEI7UUFDdkcsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUM3QyxJQUFJLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFDbEQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQ2hELFFBQVEsQ0FDVCxDQUFDO1FBQ0YsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FDL0IsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQ3pD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LFxuICBIdHRwQ2FuaXN0ZXJVcGRhdGUsXG4gIFNpZ25pbmdQYXlsb2FkLFxuICBQYXlsb2Fkc0RhdGEsXG4gIFNpZ25hdHVyZVR5cGUsXG4gIE9wZXJhdGlvblR5cGUsXG4gIE1ldGhvZE5hbWUsXG59IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHByb3RvYnVmIGZyb20gJ3Byb3RvYnVmanMnO1xuaW1wb3J0IHV0aWxzIGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgcHJvdG9EZWZpbml0aW9uIH0gZnJvbSAnLi9wcm90b0RlZmluaXRpb24nO1xuXG5jb25zdCBNQVhfSU5HUkVTU19UVEwgPSA1ICogNjAgKiAxMDAwXzAwMF8wMDA7IC8vIDUgbWludXRlcyBpbiBuYW5vc2Vjb25kc1xuY29uc3QgUEVSTUlUVEVEX0RSSUZUID0gNjAgKiAxMDAwXzAwMF8wMDA7IC8vIDYwIHNlY29uZHMgaW4gbmFub3NlY29uZHNcbmNvbnN0IExFREdFUl9DQU5JU1RFUl9JRCA9IG5ldyBVaW50OEFycmF5KFswLCAwLCAwLCAwLCAwLCAwLCAwLCAyLCAxLCAxXSk7IC8vIFVpbnQ4QXJyYXkgdmFsdWUgZm9yIFwiMDAwMDAwMDAwMDAwMDAwMjAxMDFcIiBhbmQgdGhlIHN0cmluZyB2YWx1ZSBpcyBcInJ5amwzLXR5YWFhLWFhYWFhLWFhYWJhLWNhaVwiXG5cbmV4cG9ydCBjbGFzcyBVbnNpZ25lZFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gIHByaXZhdGUgX2ljcFRyYW5zYWN0aW9uUGF5bG9hZDogSWNwVHJhbnNhY3Rpb247XG4gIGNvbnN0cnVjdG9yKGljcFRyYW5zYWN0aW9uUGF5bG9hZDogSWNwVHJhbnNhY3Rpb24pIHtcbiAgICB0aGlzLl9pY3BUcmFuc2FjdGlvblBheWxvYWQgPSBpY3BUcmFuc2FjdGlvblBheWxvYWQ7XG4gIH1cblxuICBhc3luYyBnZXRVbnNpZ25lZFRyYW5zYWN0aW9uKCk6IFByb21pc2U8UGF5bG9hZHNEYXRhPiB7XG4gICAgY29uc3QgaW50ZXJ2YWwgPSBNQVhfSU5HUkVTU19UVEwgLSBQRVJNSVRURURfRFJJRlQgLSAxMjAgKiAxMDAwXzAwMF8wMDA7IC8vIDEyMCBzZWNvbmRzIGluIG1pbGxpc2Vjb25kc1xuICAgIGNvbnN0IGluZ3Jlc3NFeHBpcmllcyA9IHRoaXMuZ2V0SW5ncmVzc0V4cGlyaWVzKFxuICAgICAgdGhpcy5faWNwVHJhbnNhY3Rpb25QYXlsb2FkLm1ldGFkYXRhLmluZ3Jlc3Nfc3RhcnQsXG4gICAgICB0aGlzLl9pY3BUcmFuc2FjdGlvblBheWxvYWQubWV0YWRhdGEuaW5ncmVzc19lbmQsXG4gICAgICBpbnRlcnZhbFxuICAgICk7XG4gICAgY29uc3Qgc2VuZEFyZ3MgPSB0aGlzLmdldFNlbmRBcmdzKFxuICAgICAgdGhpcy5faWNwVHJhbnNhY3Rpb25QYXlsb2FkLm1ldGFkYXRhLm1lbW8sXG4gICAgICB0aGlzLl9pY3BUcmFuc2FjdGlvblBheWxvYWQubWV0YWRhdGEuY3JlYXRlZF9hdF90aW1lLFxuICAgICAgdGhpcy5faWNwVHJhbnNhY3Rpb25QYXlsb2FkLm9wZXJhdGlvbnNbMV0uYW1vdW50LnZhbHVlLFxuICAgICAgdGhpcy5faWNwVHJhbnNhY3Rpb25QYXlsb2FkLm9wZXJhdGlvbnNbMl0uYW1vdW50LnZhbHVlLFxuICAgICAgdGhpcy5faWNwVHJhbnNhY3Rpb25QYXlsb2FkLm9wZXJhdGlvbnNbMV0uYWNjb3VudC5hZGRyZXNzXG4gICAgKTtcbiAgICBjb25zdCB1cGRhdGUgPSBhd2FpdCB0aGlzLmdldFVwZGF0ZShzZW5kQXJncywgdGhpcy5faWNwVHJhbnNhY3Rpb25QYXlsb2FkLnB1YmxpY19rZXlzWzBdLmhleF9ieXRlcyk7XG4gICAgY29uc3QgdXBkYXRlczogW3N0cmluZywgSHR0cENhbmlzdGVyVXBkYXRlXVtdID0gW107XG4gICAgdXBkYXRlcy5wdXNoKFtPcGVyYXRpb25UeXBlLlRSQU5TQUNUSU9OLCB1cGRhdGVdKTtcbiAgICBjb25zdCB0eG4gPSB7IHVwZGF0ZXM6IHVwZGF0ZXMsIGluZ3Jlc3NfZXhwaXJpZXM6IGluZ3Jlc3NFeHBpcmllcyB9O1xuICAgIGNvbnN0IHVuc2lnbmVkVHJhbnNhY3Rpb24gPSB1dGlscy5jYm9yRW5jb2RlKHR4bik7XG4gICAgY29uc3QgcGF5bG9hZHM6IFNpZ25pbmdQYXlsb2FkW10gPSBbXTtcbiAgICB0aGlzLmdldFBheWxvYWRzKHBheWxvYWRzLCBpbmdyZXNzRXhwaXJpZXMsIHRoaXMuX2ljcFRyYW5zYWN0aW9uUGF5bG9hZC5vcGVyYXRpb25zWzBdLmFjY291bnQuYWRkcmVzcywgdXBkYXRlKTtcbiAgICBjb25zdCBwYXlsb2Fkc0RhdGEgPSB7XG4gICAgICBwYXlsb2FkczogcGF5bG9hZHMsXG4gICAgICB1bnNpZ25lZF90cmFuc2FjdGlvbjogdW5zaWduZWRUcmFuc2FjdGlvbixcbiAgICB9O1xuICAgIHJldHVybiBwYXlsb2Fkc0RhdGE7XG4gIH1cblxuICBnZXRQYXlsb2FkcyhcbiAgICBwYXlsb2FkczogU2lnbmluZ1BheWxvYWRbXSxcbiAgICBpbmdyZXNzRXhwaXJpZXM6IGJpZ2ludFtdLFxuICAgIGFjY291bnRBZGRyZXNzOiBzdHJpbmcsXG4gICAgdXBkYXRlOiBIdHRwQ2FuaXN0ZXJVcGRhdGVcbiAgKTogU2lnbmluZ1BheWxvYWRbXSB7XG4gICAgZm9yIChjb25zdCBpbmdyZXNzRXhwaXJ5IG9mIGluZ3Jlc3NFeHBpcmllcykge1xuICAgICAgY29uc3QgY2xvbmVkVXBkYXRlOiBIdHRwQ2FuaXN0ZXJVcGRhdGUgPSB7XG4gICAgICAgIGNhbmlzdGVyX2lkOiBCdWZmZXIuZnJvbSh1cGRhdGUuY2FuaXN0ZXJfaWQpLFxuICAgICAgICBtZXRob2RfbmFtZTogdXBkYXRlLm1ldGhvZF9uYW1lLFxuICAgICAgICBhcmc6IHVwZGF0ZS5hcmcsXG4gICAgICAgIHNlbmRlcjogdXBkYXRlLnNlbmRlcixcbiAgICAgICAgaW5ncmVzc19leHBpcnk6IGluZ3Jlc3NFeHBpcnksXG4gICAgICB9O1xuXG4gICAgICBjb25zdCByZXByZXNlbnRhdGlvbkluZGVwZW5kZW50SGFzaCA9IHV0aWxzLkh0dHBDYW5pc3RlclVwZGF0ZVJlcHJlc2VudGF0aW9uSW5kZXBlbmRlbnRIYXNoKGNsb25lZFVwZGF0ZSk7XG4gICAgICBjb25zdCB0cmFuc2FjdGlvblBheWxvYWQ6IFNpZ25pbmdQYXlsb2FkID0ge1xuICAgICAgICBoZXhfYnl0ZXM6IHV0aWxzLmJsb2JUb0hleCh1dGlscy5tYWtlU2lnbmF0dXJlRGF0YShyZXByZXNlbnRhdGlvbkluZGVwZW5kZW50SGFzaCkpLFxuICAgICAgICBhY2NvdW50X2lkZW50aWZpZXI6IHsgYWRkcmVzczogYWNjb3VudEFkZHJlc3MgfSxcbiAgICAgICAgc2lnbmF0dXJlX3R5cGU6IFNpZ25hdHVyZVR5cGUuRUNEU0EsXG4gICAgICB9O1xuICAgICAgcGF5bG9hZHMucHVzaCh0cmFuc2FjdGlvblBheWxvYWQpO1xuXG4gICAgICBjb25zdCByZWFkU3RhdGUgPSB1dGlscy5tYWtlUmVhZFN0YXRlRnJvbVVwZGF0ZShjbG9uZWRVcGRhdGUpO1xuICAgICAgY29uc3QgcmVhZFN0YXRlTWVzc2FnZUlkID0gdXRpbHMuSHR0cFJlYWRTdGF0ZVJlcHJlc2VudGF0aW9uSW5kZXBlbmRlbnRIYXNoKHJlYWRTdGF0ZSk7XG4gICAgICBjb25zdCByZWFkU3RhdGVQYXlsb2FkOiBTaWduaW5nUGF5bG9hZCA9IHtcbiAgICAgICAgaGV4X2J5dGVzOiB1dGlscy5ibG9iVG9IZXgodXRpbHMubWFrZVNpZ25hdHVyZURhdGEocmVhZFN0YXRlTWVzc2FnZUlkKSksXG4gICAgICAgIGFjY291bnRfaWRlbnRpZmllcjogeyBhZGRyZXNzOiBhY2NvdW50QWRkcmVzcyB9LFxuICAgICAgICBzaWduYXR1cmVfdHlwZTogU2lnbmF0dXJlVHlwZS5FQ0RTQSxcbiAgICAgIH07XG4gICAgICBwYXlsb2Fkcy5wdXNoKHJlYWRTdGF0ZVBheWxvYWQpO1xuICAgIH1cblxuICAgIHJldHVybiBwYXlsb2FkcztcbiAgfVxuXG4gIGdldEluZ3Jlc3NFeHBpcmllcyhpbmdyZXNzU3RhcnRUaW1lOiBudW1iZXIgfCBCaWdJbnQsIGluZ3Jlc3NFbmRUaW1lOiBudW1iZXIgfCBCaWdJbnQsIGludGVydmFsOiBudW1iZXIpOiBiaWdpbnRbXSB7XG4gICAgY29uc3QgaW5ncmVzc0V4cGlyaWVzOiBiaWdpbnRbXSA9IFtdO1xuXG4gICAgZm9yIChsZXQgbm93ID0gTnVtYmVyKGluZ3Jlc3NTdGFydFRpbWUpOyBub3cgPCBOdW1iZXIoaW5ncmVzc0VuZFRpbWUpOyBub3cgKz0gaW50ZXJ2YWwpIHtcbiAgICAgIGNvbnN0IGluZ3Jlc3NFeHBpcnkgPSBCaWdJbnQobm93ICsgKE1BWF9JTkdSRVNTX1RUTCAtIFBFUk1JVFRFRF9EUklGVCkpO1xuICAgICAgaW5ncmVzc0V4cGlyaWVzLnB1c2goaW5ncmVzc0V4cGlyeSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGluZ3Jlc3NFeHBpcmllcztcbiAgfVxuXG4gIGdldFNlbmRBcmdzKG1lbW86IG51bWJlciB8IEJpZ0ludCwgY3JlYXRlZF9hdF90aW1lOiBudW1iZXIsIGFtb3VudDogc3RyaW5nLCBmZWU6IHN0cmluZywgcmVjZWl2ZXI6IHN0cmluZyk6IFNlbmRBcmdzIHtcbiAgICBjb25zdCBzZW5kQXJnczogU2VuZEFyZ3MgPSB7XG4gICAgICBtZW1vOiB7IG1lbW86IG1lbW8gfSxcbiAgICAgIHBheW1lbnQ6IHsgcmVjZWl2ZXJHZXRzOiB7IGU4czogTnVtYmVyKGFtb3VudCkgfSB9LFxuICAgICAgbWF4RmVlOiB7IGU4czogLU51bWJlcihmZWUpIH0sXG4gICAgICB0bzogeyBoYXNoOiBCdWZmZXIuZnJvbShyZWNlaXZlciwgJ2hleCcpIH0sXG4gICAgICBjcmVhdGVkQXRUaW1lOiB7IHRpbWVzdGFtcE5hbm9zOiBOdW1iZXIoY3JlYXRlZF9hdF90aW1lKSB9LFxuICAgIH07XG4gICAgcmV0dXJuIHNlbmRBcmdzO1xuICB9XG5cbiAgYXN5bmMgdG9BcmcoYXJnczogU2VuZEFyZ3MpOiBQcm9taXNlPFVpbnQ4QXJyYXk+IHtcbiAgICBjb25zdCByb290ID0gYXdhaXQgcHJvdG9idWYucGFyc2UocHJvdG9EZWZpbml0aW9uKS5yb290O1xuICAgIGNvbnN0IFNlbmRSZXF1ZXN0TWVzc2FnZSA9IHJvb3QubG9va3VwVHlwZSgnU2VuZFJlcXVlc3QnKTtcbiAgICBjb25zdCBlcnJNc2cgPSBTZW5kUmVxdWVzdE1lc3NhZ2UudmVyaWZ5KGFyZ3MpO1xuICAgIGlmIChlcnJNc2cpIHRocm93IG5ldyBFcnJvcihlcnJNc2cpO1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBTZW5kUmVxdWVzdE1lc3NhZ2UuY3JlYXRlKGFyZ3MpO1xuICAgIHJldHVybiBTZW5kUmVxdWVzdE1lc3NhZ2UuZW5jb2RlKG1lc3NhZ2UpLmZpbmlzaCgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0VXBkYXRlKHNlbmRBcmdzOiBTZW5kQXJncywgcHVibGljS2V5SGV4OiBzdHJpbmcpOiBQcm9taXNlPEh0dHBDYW5pc3RlclVwZGF0ZT4ge1xuICAgIGNvbnN0IHByaW5jaXBhbElkID0gdXRpbHMuZ2V0UHJpbmNpcGFsSWRGcm9tUHVibGljS2V5KHB1YmxpY0tleUhleCkudG9VaW50OEFycmF5KCk7XG4gICAgY29uc3Qgc2VuZGVyQmxvYiA9IEJ1ZmZlci5mcm9tKHByaW5jaXBhbElkKTtcbiAgICBjb25zdCBjYW5pc3RlcklkQnVmZmVyID0gQnVmZmVyLmZyb20oTEVER0VSX0NBTklTVEVSX0lEKTtcbiAgICBjb25zdCBhcmdzID0gYXdhaXQgdGhpcy50b0FyZyhzZW5kQXJncyk7XG4gICAgY29uc3QgdXBkYXRlOiBIdHRwQ2FuaXN0ZXJVcGRhdGUgPSB7XG4gICAgICBjYW5pc3Rlcl9pZDogY2FuaXN0ZXJJZEJ1ZmZlcixcbiAgICAgIG1ldGhvZF9uYW1lOiBNZXRob2ROYW1lLlNFTkRfUEIsXG4gICAgICBhcmc6IGFyZ3MsXG4gICAgICBzZW5kZXI6IHNlbmRlckJsb2IsXG4gICAgICBpbmdyZXNzX2V4cGlyeTogMG4sXG4gICAgfTtcbiAgICByZXR1cm4gdXBkYXRlO1xuICB9XG59XG4iXX0=
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5zaWduZWRUcmFuc2FjdGlvbkJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3Vuc2lnbmVkVHJhbnNhY3Rpb25CdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG1DQVNpQjtBQUNqQixvREFBNEI7QUFFNUIsTUFBTSxlQUFlLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxVQUFZLENBQUMsQ0FBQywyQkFBMkI7QUFDMUUsTUFBTSxlQUFlLEdBQUcsRUFBRSxHQUFHLFVBQVksQ0FBQyxDQUFDLDRCQUE0QjtBQUN2RSxNQUFNLGtCQUFrQixHQUFHLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLG9HQUFvRztBQUUvSyxNQUFhLDBCQUEwQjtJQUVyQyxZQUFZLHFCQUFxQztRQUMvQyxJQUFJLENBQUMsc0JBQXNCLEdBQUcscUJBQXFCLENBQUM7SUFDdEQsQ0FBQztJQUVELEtBQUssQ0FBQyxzQkFBc0I7UUFDMUIsTUFBTSxRQUFRLEdBQUcsZUFBZSxHQUFHLGVBQWUsR0FBRyxHQUFHLEdBQUcsVUFBWSxDQUFDLENBQUMsOEJBQThCO1FBQ3ZHLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FDN0MsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxhQUFjLEVBQ25ELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsV0FBWSxFQUNqRCxRQUFRLENBQ1QsQ0FBQztRQUNGLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQy9CLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUN6QyxJQUFJLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUFDLGVBQWUsRUFDcEQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUN0RCxJQUFJLENBQUMsc0JBQXNCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQ3RELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FDMUQsQ0FBQztRQUNGLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNwRyxNQUFNLE9BQU8sR0FBbUMsRUFBRSxDQUFDO1FBQ25ELE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxxQkFBYSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ2xELE1BQU0sR0FBRyxHQUFHLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsQ0FBQztRQUNwRSxNQUFNLG1CQUFtQixHQUFHLGVBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEQsTUFBTSxRQUFRLEdBQXFCLEVBQUUsQ0FBQztRQUN0QyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxlQUFlLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQy9HLE1BQU0sWUFBWSxHQUFHO1lBQ25CLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLG9CQUFvQixFQUFFLG1CQUFtQjtTQUMxQyxDQUFDO1FBQ0YsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQztJQUVELFdBQVcsQ0FDVCxRQUEwQixFQUMxQixlQUF5QixFQUN6QixjQUFzQixFQUN0QixNQUEwQjtRQUUxQixLQUFLLE1BQU0sYUFBYSxJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQzVDLE1BQU0sWUFBWSxHQUF1QjtnQkFDdkMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQztnQkFDNUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxXQUFXO2dCQUMvQixHQUFHLEVBQUUsTUFBTSxDQUFDLEdBQUc7Z0JBQ2YsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNO2dCQUNyQixjQUFjLEVBQUUsYUFBYTthQUM5QixDQUFDO1lBRUYsTUFBTSw2QkFBNkIsR0FBRyxlQUFLLENBQUMsK0NBQStDLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDMUcsTUFBTSxrQkFBa0IsR0FBbUI7Z0JBQ3pDLFNBQVMsRUFBRSxlQUFLLENBQUMsU0FBUyxDQUFDLGVBQUssQ0FBQyxpQkFBaUIsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO2dCQUNsRixrQkFBa0IsRUFBRSxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUU7Z0JBQy9DLGNBQWMsRUFBRSxxQkFBYSxDQUFDLEtBQUs7YUFDcEMsQ0FBQztZQUNGLFFBQVEsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztZQUVsQyxNQUFNLFNBQVMsR0FBRyxlQUFLLENBQUMsdUJBQXVCLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDOUQsTUFBTSxrQkFBa0IsR0FBRyxlQUFLLENBQUMsMENBQTBDLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDdkYsTUFBTSxnQkFBZ0IsR0FBbUI7Z0JBQ3ZDLFNBQVMsRUFBRSxlQUFLLENBQUMsU0FBUyxDQUFDLGVBQUssQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO2dCQUN2RSxrQkFBa0IsRUFBRSxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUU7Z0JBQy9DLGNBQWMsRUFBRSxxQkFBYSxDQUFDLEtBQUs7YUFDcEMsQ0FBQztZQUNGLFFBQVEsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNsQyxDQUFDO1FBRUQsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVELGtCQUFrQixDQUFDLGdCQUFpQyxFQUFFLGNBQStCLEVBQUUsUUFBZ0I7UUFDckcsTUFBTSxlQUFlLEdBQWEsRUFBRSxDQUFDO1FBRXJDLEtBQUssSUFBSSxHQUFHLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsR0FBRyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsRUFBRSxHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7WUFDdkYsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDLGVBQWUsR0FBRyxlQUFlLENBQUMsQ0FBQyxDQUFDO1lBQ3hFLGVBQWUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdEMsQ0FBQztRQUVELE9BQU8sZUFBZSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBcUIsRUFBRSxlQUF1QixFQUFFLE1BQWMsRUFBRSxHQUFXLEVBQUUsUUFBZ0I7UUFDdkcsTUFBTSxRQUFRLEdBQWE7WUFDekIsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRTtZQUNwQixPQUFPLEVBQUUsRUFBRSxZQUFZLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUU7WUFDbEQsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQzdCLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsRUFBRTtZQUMxQyxhQUFhLEVBQUUsRUFBRSxjQUFjLEVBQUUsTUFBTSxDQUFDLGVBQWUsQ0FBQyxFQUFFO1NBQzNELENBQUM7UUFDRixPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxRQUFrQixFQUFFLFlBQW9CO1FBQ3RELE1BQU0sV0FBVyxHQUFHLGVBQUssQ0FBQywyQkFBMkIsQ0FBQyxZQUFZLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNuRixNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzVDLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3pELE1BQU0sSUFBSSxHQUFHLE1BQU0sZUFBSyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN6QyxNQUFNLE1BQU0sR0FBdUI7WUFDakMsV0FBVyxFQUFFLGdCQUFnQjtZQUM3QixXQUFXLEVBQUUsa0JBQVUsQ0FBQyxPQUFPO1lBQy9CLEdBQUcsRUFBRSxJQUFJO1lBQ1QsTUFBTSxFQUFFLFVBQVU7WUFDbEIsY0FBYyxFQUFFLEVBQUU7U0FDbkIsQ0FBQztRQUNGLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7Q0FDRjtBQTFHRCxnRUEwR0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBJY3BUcmFuc2FjdGlvbixcbiAgU2VuZEFyZ3MsXG4gIEh0dHBDYW5pc3RlclVwZGF0ZSxcbiAgU2lnbmluZ1BheWxvYWQsXG4gIFBheWxvYWRzRGF0YSxcbiAgU2lnbmF0dXJlVHlwZSxcbiAgT3BlcmF0aW9uVHlwZSxcbiAgTWV0aG9kTmFtZSxcbn0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5cbmNvbnN0IE1BWF9JTkdSRVNTX1RUTCA9IDUgKiA2MCAqIDEwMDBfMDAwXzAwMDsgLy8gNSBtaW51dGVzIGluIG5hbm9zZWNvbmRzXG5jb25zdCBQRVJNSVRURURfRFJJRlQgPSA2MCAqIDEwMDBfMDAwXzAwMDsgLy8gNjAgc2Vjb25kcyBpbiBuYW5vc2Vjb25kc1xuY29uc3QgTEVER0VSX0NBTklTVEVSX0lEID0gbmV3IFVpbnQ4QXJyYXkoWzAsIDAsIDAsIDAsIDAsIDAsIDAsIDIsIDEsIDFdKTsgLy8gVWludDhBcnJheSB2YWx1ZSBmb3IgXCIwMDAwMDAwMDAwMDAwMDAyMDEwMVwiIGFuZCB0aGUgc3RyaW5nIHZhbHVlIGlzIFwicnlqbDMtdHlhYWEtYWFhYWEtYWFhYmEtY2FpXCJcblxuZXhwb3J0IGNsYXNzIFVuc2lnbmVkVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgcHJpdmF0ZSBfaWNwVHJhbnNhY3Rpb25QYXlsb2FkOiBJY3BUcmFuc2FjdGlvbjtcbiAgY29uc3RydWN0b3IoaWNwVHJhbnNhY3Rpb25QYXlsb2FkOiBJY3BUcmFuc2FjdGlvbikge1xuICAgIHRoaXMuX2ljcFRyYW5zYWN0aW9uUGF5bG9hZCA9IGljcFRyYW5zYWN0aW9uUGF5bG9hZDtcbiAgfVxuXG4gIGFzeW5jIGdldFVuc2lnbmVkVHJhbnNhY3Rpb24oKTogUHJvbWlzZTxQYXlsb2Fkc0RhdGE+IHtcbiAgICBjb25zdCBpbnRlcnZhbCA9IE1BWF9JTkdSRVNTX1RUTCAtIFBFUk1JVFRFRF9EUklGVCAtIDEyMCAqIDEwMDBfMDAwXzAwMDsgLy8gMTIwIHNlY29uZHMgaW4gbWlsbGlzZWNvbmRzXG4gICAgY29uc3QgaW5ncmVzc0V4cGlyaWVzID0gdGhpcy5nZXRJbmdyZXNzRXhwaXJpZXMoXG4gICAgICB0aGlzLl9pY3BUcmFuc2FjdGlvblBheWxvYWQubWV0YWRhdGEuaW5ncmVzc19zdGFydCEsXG4gICAgICB0aGlzLl9pY3BUcmFuc2FjdGlvblBheWxvYWQubWV0YWRhdGEuaW5ncmVzc19lbmQhLFxuICAgICAgaW50ZXJ2YWxcbiAgICApO1xuICAgIGNvbnN0IHNlbmRBcmdzID0gdGhpcy5nZXRTZW5kQXJncyhcbiAgICAgIHRoaXMuX2ljcFRyYW5zYWN0aW9uUGF5bG9hZC5tZXRhZGF0YS5tZW1vLFxuICAgICAgdGhpcy5faWNwVHJhbnNhY3Rpb25QYXlsb2FkLm1ldGFkYXRhLmNyZWF0ZWRfYXRfdGltZSxcbiAgICAgIHRoaXMuX2ljcFRyYW5zYWN0aW9uUGF5bG9hZC5vcGVyYXRpb25zWzFdLmFtb3VudC52YWx1ZSxcbiAgICAgIHRoaXMuX2ljcFRyYW5zYWN0aW9uUGF5bG9hZC5vcGVyYXRpb25zWzJdLmFtb3VudC52YWx1ZSxcbiAgICAgIHRoaXMuX2ljcFRyYW5zYWN0aW9uUGF5bG9hZC5vcGVyYXRpb25zWzFdLmFjY291bnQuYWRkcmVzc1xuICAgICk7XG4gICAgY29uc3QgdXBkYXRlID0gYXdhaXQgdGhpcy5nZXRVcGRhdGUoc2VuZEFyZ3MsIHRoaXMuX2ljcFRyYW5zYWN0aW9uUGF5bG9hZC5wdWJsaWNfa2V5c1swXS5oZXhfYnl0ZXMpO1xuICAgIGNvbnN0IHVwZGF0ZXM6IFtzdHJpbmcsIEh0dHBDYW5pc3RlclVwZGF0ZV1bXSA9IFtdO1xuICAgIHVwZGF0ZXMucHVzaChbT3BlcmF0aW9uVHlwZS5UUkFOU0FDVElPTiwgdXBkYXRlXSk7XG4gICAgY29uc3QgdHhuID0geyB1cGRhdGVzOiB1cGRhdGVzLCBpbmdyZXNzX2V4cGlyaWVzOiBpbmdyZXNzRXhwaXJpZXMgfTtcbiAgICBjb25zdCB1bnNpZ25lZFRyYW5zYWN0aW9uID0gdXRpbHMuY2JvckVuY29kZSh0eG4pO1xuICAgIGNvbnN0IHBheWxvYWRzOiBTaWduaW5nUGF5bG9hZFtdID0gW107XG4gICAgdGhpcy5nZXRQYXlsb2FkcyhwYXlsb2FkcywgaW5ncmVzc0V4cGlyaWVzLCB0aGlzLl9pY3BUcmFuc2FjdGlvblBheWxvYWQub3BlcmF0aW9uc1swXS5hY2NvdW50LmFkZHJlc3MsIHVwZGF0ZSk7XG4gICAgY29uc3QgcGF5bG9hZHNEYXRhID0ge1xuICAgICAgcGF5bG9hZHM6IHBheWxvYWRzLFxuICAgICAgdW5zaWduZWRfdHJhbnNhY3Rpb246IHVuc2lnbmVkVHJhbnNhY3Rpb24sXG4gICAgfTtcbiAgICByZXR1cm4gcGF5bG9hZHNEYXRhO1xuICB9XG5cbiAgZ2V0UGF5bG9hZHMoXG4gICAgcGF5bG9hZHM6IFNpZ25pbmdQYXlsb2FkW10sXG4gICAgaW5ncmVzc0V4cGlyaWVzOiBiaWdpbnRbXSxcbiAgICBhY2NvdW50QWRkcmVzczogc3RyaW5nLFxuICAgIHVwZGF0ZTogSHR0cENhbmlzdGVyVXBkYXRlXG4gICk6IFNpZ25pbmdQYXlsb2FkW10ge1xuICAgIGZvciAoY29uc3QgaW5ncmVzc0V4cGlyeSBvZiBpbmdyZXNzRXhwaXJpZXMpIHtcbiAgICAgIGNvbnN0IGNsb25lZFVwZGF0ZTogSHR0cENhbmlzdGVyVXBkYXRlID0ge1xuICAgICAgICBjYW5pc3Rlcl9pZDogQnVmZmVyLmZyb20odXBkYXRlLmNhbmlzdGVyX2lkKSxcbiAgICAgICAgbWV0aG9kX25hbWU6IHVwZGF0ZS5tZXRob2RfbmFtZSxcbiAgICAgICAgYXJnOiB1cGRhdGUuYXJnLFxuICAgICAgICBzZW5kZXI6IHVwZGF0ZS5zZW5kZXIsXG4gICAgICAgIGluZ3Jlc3NfZXhwaXJ5OiBpbmdyZXNzRXhwaXJ5LFxuICAgICAgfTtcblxuICAgICAgY29uc3QgcmVwcmVzZW50YXRpb25JbmRlcGVuZGVudEhhc2ggPSB1dGlscy5IdHRwQ2FuaXN0ZXJVcGRhdGVSZXByZXNlbnRhdGlvbkluZGVwZW5kZW50SGFzaChjbG9uZWRVcGRhdGUpO1xuICAgICAgY29uc3QgdHJhbnNhY3Rpb25QYXlsb2FkOiBTaWduaW5nUGF5bG9hZCA9IHtcbiAgICAgICAgaGV4X2J5dGVzOiB1dGlscy5ibG9iVG9IZXgodXRpbHMubWFrZVNpZ25hdHVyZURhdGEocmVwcmVzZW50YXRpb25JbmRlcGVuZGVudEhhc2gpKSxcbiAgICAgICAgYWNjb3VudF9pZGVudGlmaWVyOiB7IGFkZHJlc3M6IGFjY291bnRBZGRyZXNzIH0sXG4gICAgICAgIHNpZ25hdHVyZV90eXBlOiBTaWduYXR1cmVUeXBlLkVDRFNBLFxuICAgICAgfTtcbiAgICAgIHBheWxvYWRzLnB1c2godHJhbnNhY3Rpb25QYXlsb2FkKTtcblxuICAgICAgY29uc3QgcmVhZFN0YXRlID0gdXRpbHMubWFrZVJlYWRTdGF0ZUZyb21VcGRhdGUoY2xvbmVkVXBkYXRlKTtcbiAgICAgIGNvbnN0IHJlYWRTdGF0ZU1lc3NhZ2VJZCA9IHV0aWxzLkh0dHBSZWFkU3RhdGVSZXByZXNlbnRhdGlvbkluZGVwZW5kZW50SGFzaChyZWFkU3RhdGUpO1xuICAgICAgY29uc3QgcmVhZFN0YXRlUGF5bG9hZDogU2lnbmluZ1BheWxvYWQgPSB7XG4gICAgICAgIGhleF9ieXRlczogdXRpbHMuYmxvYlRvSGV4KHV0aWxzLm1ha2VTaWduYXR1cmVEYXRhKHJlYWRTdGF0ZU1lc3NhZ2VJZCkpLFxuICAgICAgICBhY2NvdW50X2lkZW50aWZpZXI6IHsgYWRkcmVzczogYWNjb3VudEFkZHJlc3MgfSxcbiAgICAgICAgc2lnbmF0dXJlX3R5cGU6IFNpZ25hdHVyZVR5cGUuRUNEU0EsXG4gICAgICB9O1xuICAgICAgcGF5bG9hZHMucHVzaChyZWFkU3RhdGVQYXlsb2FkKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcGF5bG9hZHM7XG4gIH1cblxuICBnZXRJbmdyZXNzRXhwaXJpZXMoaW5ncmVzc1N0YXJ0VGltZTogbnVtYmVyIHwgQmlnSW50LCBpbmdyZXNzRW5kVGltZTogbnVtYmVyIHwgQmlnSW50LCBpbnRlcnZhbDogbnVtYmVyKTogYmlnaW50W10ge1xuICAgIGNvbnN0IGluZ3Jlc3NFeHBpcmllczogYmlnaW50W10gPSBbXTtcblxuICAgIGZvciAobGV0IG5vdyA9IE51bWJlcihpbmdyZXNzU3RhcnRUaW1lKTsgbm93IDwgTnVtYmVyKGluZ3Jlc3NFbmRUaW1lKTsgbm93ICs9IGludGVydmFsKSB7XG4gICAgICBjb25zdCBpbmdyZXNzRXhwaXJ5ID0gQmlnSW50KG5vdyArIChNQVhfSU5HUkVTU19UVEwgLSBQRVJNSVRURURfRFJJRlQpKTtcbiAgICAgIGluZ3Jlc3NFeHBpcmllcy5wdXNoKGluZ3Jlc3NFeHBpcnkpO1xuICAgIH1cblxuICAgIHJldHVybiBpbmdyZXNzRXhwaXJpZXM7XG4gIH1cblxuICBnZXRTZW5kQXJncyhtZW1vOiBudW1iZXIgfCBCaWdJbnQsIGNyZWF0ZWRfYXRfdGltZTogbnVtYmVyLCBhbW91bnQ6IHN0cmluZywgZmVlOiBzdHJpbmcsIHJlY2VpdmVyOiBzdHJpbmcpOiBTZW5kQXJncyB7XG4gICAgY29uc3Qgc2VuZEFyZ3M6IFNlbmRBcmdzID0ge1xuICAgICAgbWVtbzogeyBtZW1vOiBtZW1vIH0sXG4gICAgICBwYXltZW50OiB7IHJlY2VpdmVyR2V0czogeyBlOHM6IE51bWJlcihhbW91bnQpIH0gfSxcbiAgICAgIG1heEZlZTogeyBlOHM6IC1OdW1iZXIoZmVlKSB9LFxuICAgICAgdG86IHsgaGFzaDogQnVmZmVyLmZyb20ocmVjZWl2ZXIsICdoZXgnKSB9LFxuICAgICAgY3JlYXRlZEF0VGltZTogeyB0aW1lc3RhbXBOYW5vczogTnVtYmVyKGNyZWF0ZWRfYXRfdGltZSkgfSxcbiAgICB9O1xuICAgIHJldHVybiBzZW5kQXJncztcbiAgfVxuXG4gIGFzeW5jIGdldFVwZGF0ZShzZW5kQXJnczogU2VuZEFyZ3MsIHB1YmxpY0tleUhleDogc3RyaW5nKTogUHJvbWlzZTxIdHRwQ2FuaXN0ZXJVcGRhdGU+IHtcbiAgICBjb25zdCBwcmluY2lwYWxJZCA9IHV0aWxzLmdldFByaW5jaXBhbElkRnJvbVB1YmxpY0tleShwdWJsaWNLZXlIZXgpLnRvVWludDhBcnJheSgpO1xuICAgIGNvbnN0IHNlbmRlckJsb2IgPSBCdWZmZXIuZnJvbShwcmluY2lwYWxJZCk7XG4gICAgY29uc3QgY2FuaXN0ZXJJZEJ1ZmZlciA9IEJ1ZmZlci5mcm9tKExFREdFUl9DQU5JU1RFUl9JRCk7XG4gICAgY29uc3QgYXJncyA9IGF3YWl0IHV0aWxzLnRvQXJnKHNlbmRBcmdzKTtcbiAgICBjb25zdCB1cGRhdGU6IEh0dHBDYW5pc3RlclVwZGF0ZSA9IHtcbiAgICAgIGNhbmlzdGVyX2lkOiBjYW5pc3RlcklkQnVmZmVyLFxuICAgICAgbWV0aG9kX25hbWU6IE1ldGhvZE5hbWUuU0VORF9QQixcbiAgICAgIGFyZzogYXJncyxcbiAgICAgIHNlbmRlcjogc2VuZGVyQmxvYixcbiAgICAgIGluZ3Jlc3NfZXhwaXJ5OiAwbixcbiAgICB9O1xuICAgIHJldHVybiB1cGRhdGU7XG4gIH1cbn1cbiJdfQ==
@@ -1,13 +1,9 @@
1
1
  import { BaseUtils, KeyPair, Recipient } from '@bitgo/sdk-core';
2
2
  import { Principal as DfinityPrincipal } from '@dfinity/principal';
3
- import { HttpCanisterUpdate, IcpTransactionData, ReadState, Signatures, IcpMetadata } from './iface';
3
+ import { HttpCanisterUpdate, IcpTransactionData, ReadState, Signatures, IcpMetadata, SendArgs } from './iface';
4
4
  import BigNumber from 'bignumber.js';
5
5
  export declare const REQUEST_STATUS = "request_status";
6
6
  export declare class Utils implements BaseUtils {
7
- /** @inheritdoc */
8
- isValidTransactionId(txId: string): boolean;
9
- /** @inheritdoc */
10
- isValidBlockId(hash: string): boolean;
11
7
  /** @inheritdoc */
12
8
  isValidSignature(signature: string): boolean;
13
9
  /**
@@ -114,6 +110,7 @@ export declare class Utils implements BaseUtils {
114
110
  * @returns {string} The hexadecimal string representation of the account ID.
115
111
  */
116
112
  fromPrincipal(principal: DfinityPrincipal, subAccount?: Uint8Array): string;
113
+ getAccountIdFromPrincipalBytes(ACCOUNT_ID_PREFIX: Buffer<ArrayBuffer>, principalBytes: Buffer<ArrayBufferLike>, subAccount: Uint8Array<ArrayBufferLike>): string;
117
114
  /**
118
115
  * Retrieves the address associated with a given hex-encoded public key.
119
116
  *
@@ -274,6 +271,21 @@ export declare class Utils implements BaseUtils {
274
271
  metaData: IcpMetadata;
275
272
  ingressEndTime: number | BigInt;
276
273
  };
274
+ convertSenderBlobToPrincipal(senderBlob: Uint8Array): Uint8Array;
275
+ fromArgs(arg: Uint8Array): Promise<SendArgs>;
276
+ toArg(args: SendArgs): Promise<Uint8Array>;
277
+ getAccountIdPrefix(): Buffer<ArrayBuffer>;
278
+ /** @inheritdoc */
279
+ isValidBlockId(hash: string): boolean;
280
+ /**
281
+ * Returns whether or not the string is a valid ICP hash
282
+ *
283
+ * @param {string} hash - string to validate
284
+ * @returns {boolean}
285
+ */
286
+ isValidHash(hash: string): boolean;
287
+ /** @inheritdoc */
288
+ isValidTransactionId(txId: string): boolean;
277
289
  }
278
290
  declare const utils: Utils;
279
291
  export default utils;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"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"}
@@ -48,16 +48,10 @@ const cbor_x_1 = require("cbor-x"); // The "cbor-x" library is used here because
48
48
  const js_sha256_1 = __importDefault(require("js-sha256"));
49
49
  const bignumber_js_1 = __importDefault(require("bignumber.js"));
50
50
  const secp256k1_1 = require("@noble/curves/secp256k1");
51
+ const protobufjs_1 = __importDefault(require("protobufjs"));
52
+ const protoDefinition_1 = require("./protoDefinition");
51
53
  exports.REQUEST_STATUS = 'request_status';
52
54
  class Utils {
53
- /** @inheritdoc */
54
- isValidTransactionId(txId) {
55
- throw new Error('Method not implemented.');
56
- }
57
- /** @inheritdoc */
58
- isValidBlockId(hash) {
59
- throw new Error('Method not implemented.');
60
- }
61
55
  /** @inheritdoc */
62
56
  isValidSignature(signature) {
63
57
  throw new Error('Method not implemented.');
@@ -76,7 +70,7 @@ class Utils {
76
70
  * @returns {boolean} - Returns `true` if the address is a valid 64-character hexadecimal string, otherwise `false`.
77
71
  */
78
72
  isValidAddress(address) {
79
- return typeof address === 'string' && /^[0-9a-fA-F]{64}$/.test(address);
73
+ return this.isValidHash(address);
80
74
  }
81
75
  /**
82
76
  * Checks if the provided hex string is a valid public key.
@@ -238,8 +232,10 @@ class Utils {
238
232
  * @returns {string} The hexadecimal string representation of the account ID.
239
233
  */
240
234
  fromPrincipal(principal, subAccount = new Uint8Array(32)) {
241
- const ACCOUNT_ID_PREFIX = Buffer.from([0x0a, ...Buffer.from('account-id')]);
242
- const principalBytes = Buffer.from(principal.toUint8Array());
235
+ const principalBytes = Buffer.from(principal.toUint8Array().buffer);
236
+ return this.getAccountIdFromPrincipalBytes(this.getAccountIdPrefix(), principalBytes, subAccount);
237
+ }
238
+ getAccountIdFromPrincipalBytes(ACCOUNT_ID_PREFIX, principalBytes, subAccount) {
243
239
  const combinedBytes = Buffer.concat([ACCOUNT_ID_PREFIX, principalBytes, subAccount]);
244
240
  const sha224Hash = crypto_1.default.createHash('sha224').update(combinedBytes).digest();
245
241
  const checksum = Buffer.alloc(4);
@@ -564,8 +560,60 @@ class Utils {
564
560
  };
565
561
  return { metaData, ingressEndTime };
566
562
  }
563
+ convertSenderBlobToPrincipal(senderBlob) {
564
+ const MAX_LENGTH_IN_BYTES = 29;
565
+ if (senderBlob.length > MAX_LENGTH_IN_BYTES) {
566
+ throw new Error('Bytes too long for a valid Principal');
567
+ }
568
+ const principalBytes = new Uint8Array(MAX_LENGTH_IN_BYTES);
569
+ principalBytes.set(senderBlob.slice(0, senderBlob.length));
570
+ return principalBytes;
571
+ }
572
+ async fromArgs(arg) {
573
+ const root = protobufjs_1.default.parse(protoDefinition_1.protoDefinition).root;
574
+ const SendRequestMessage = root.lookupType('SendRequest');
575
+ const args = SendRequestMessage.decode(arg);
576
+ const transformedArgs = {
577
+ memo: { memo: BigInt(args.memo.memo.toString()) },
578
+ payment: { receiverGets: { e8s: args.payment.receiverGets.e8s } },
579
+ maxFee: { e8s: args.maxFee.e8s },
580
+ to: { hash: Buffer.from(args.to.hash) },
581
+ createdAtTime: { timestampNanos: (0, bignumber_js_1.default)(args.createdAtTime.timestampNanos.toString()).toNumber() },
582
+ };
583
+ return transformedArgs;
584
+ }
585
+ async toArg(args) {
586
+ const root = protobufjs_1.default.parse(protoDefinition_1.protoDefinition).root;
587
+ const SendRequestMessage = root.lookupType('SendRequest');
588
+ const errMsg = SendRequestMessage.verify(args);
589
+ if (errMsg)
590
+ throw new Error(errMsg);
591
+ const message = SendRequestMessage.create(args);
592
+ return SendRequestMessage.encode(message).finish();
593
+ }
594
+ getAccountIdPrefix() {
595
+ return Buffer.from([0x0a, ...Buffer.from('account-id')]);
596
+ }
597
+ /** @inheritdoc */
598
+ isValidBlockId(hash) {
599
+ // ICP block hashes are 64-character hexadecimal strings
600
+ return this.isValidHash(hash);
601
+ }
602
+ /**
603
+ * Returns whether or not the string is a valid ICP hash
604
+ *
605
+ * @param {string} hash - string to validate
606
+ * @returns {boolean}
607
+ */
608
+ isValidHash(hash) {
609
+ return typeof hash === 'string' && /^[0-9a-fA-F]{64}$/.test(hash);
610
+ }
611
+ /** @inheritdoc */
612
+ isValidTransactionId(txId) {
613
+ return this.isValidHash(txId);
614
+ }
567
615
  }
568
616
  exports.Utils = Utils;
569
617
  const utils = new Utils();
570
618
  exports.default = utils;
571
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDhDQUE4RztBQUM5RyxrREFBbUU7QUFDbkUsc0RBQXdDO0FBQ3hDLG9EQUE0QjtBQUM1QixvREFBMkI7QUFDM0IsbUNBQWtIO0FBQ2xILHVDQUFrRDtBQUNsRCxtQ0FBd0MsQ0FBQyxnTUFBZ007QUFDek8sMERBQWtDO0FBQ2xDLGdFQUFxQztBQUNyQyx1REFBb0Q7QUFFdkMsUUFBQSxjQUFjLEdBQUcsZ0JBQWdCLENBQUM7QUFFL0MsTUFBYSxLQUFLO0lBQ2hCLGtCQUFrQjtJQUNsQixvQkFBb0IsQ0FBQyxJQUFZO1FBQy9CLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGNBQWMsQ0FBQyxJQUFZO1FBQ3pCLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGdCQUFnQixDQUFDLFNBQWlCO1FBQ2hDLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxnRkFBZ0Y7SUFDaEYsT0FBTztRQUNMLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGNBQWMsQ0FBQyxPQUFlO1FBQzVCLE9BQU8sT0FBTyxPQUFPLEtBQUssUUFBUSxJQUFJLG1CQUFtQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0gsZ0JBQWdCLENBQUMsTUFBYztRQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElB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dXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VVdGlscywgS2V5UGFpciwgUGFyc2VUcmFuc2FjdGlvbkVycm9yLCBSZWNpcGllbnQsIEJ1aWxkVHJhbnNhY3Rpb25FcnJvciB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBQcmluY2lwYWwgYXMgRGZpbml0eVByaW5jaXBhbCB9IGZyb20gJ0BkZmluaXR5L3ByaW5jaXBhbCc7XG5pbXBvcnQgKiBhcyBhZ2VudCBmcm9tICdAZGZpbml0eS9hZ2VudCc7XG5pbXBvcnQgY3J5cHRvIGZyb20gJ2NyeXB0byc7XG5pbXBvcnQgY3JjMzIgZnJvbSAnY3JjLTMyJztcbmltcG9ydCB7IEh0dHBDYW5pc3RlclVwZGF0ZSwgSWNwVHJhbnNhY3Rpb25EYXRhLCBSZWFkU3RhdGUsIFJlcXVlc3RUeXBlLCBTaWduYXR1cmVzLCBJY3BNZXRhZGF0YSB9IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHsgS2V5UGFpciBhcyBJY3BLZXlQYWlyIH0gZnJvbSAnLi9rZXlQYWlyJztcbmltcG9ydCB7IGRlY29kZSwgZW5jb2RlIH0gZnJvbSAnY2Jvci14JzsgLy8gVGhlIFwiY2Jvci14XCIgbGlicmFyeSBpcyB1c2VkIGhlcmUgYmVjYXVzZSBpdCBzdXBwb3J0cyBtb2Rlcm4gZmVhdHVyZXMgbGlrZSBCaWdJbnQuIGRvIG5vdCByZXBsYWNlIGl0IHdpdGggXCJjYm9yIGFzIFwiY2JvclwiIGlzIG5vdCBjb21wYXRpYmxlIHdpdGggUnVzdCdzIHNlcmRlX2Nib3Igd2hlbiBoYW5kbGluZyBiaWcgbnVtYmVycy5cbmltcG9ydCBqc19zaGEyNTYgZnJvbSAnanMtc2hhMjU2JztcbmltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcbmltcG9ydCB7IHNlY3AyNTZrMSB9IGZyb20gJ0Bub2JsZS9jdXJ2ZXMvc2VjcDI1NmsxJztcblxuZXhwb3J0IGNvbnN0IFJFUVVFU1RfU1RBVFVTID0gJ3JlcXVlc3Rfc3RhdHVzJztcblxuZXhwb3J0IGNsYXNzIFV0aWxzIGltcGxlbWVudHMgQmFzZVV0aWxzIHtcbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGlzVmFsaWRUcmFuc2FjdGlvbklkKHR4SWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpc1ZhbGlkQmxvY2tJZChoYXNoOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgaXNWYWxpZFNpZ25hdHVyZShzaWduYXR1cmU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXRzIHRoZSBnYXMgZGF0YSBvZiB0aGlzIHRyYW5zYWN0aW9uLlxuICAgKi9cbiAgLy9UT0RPIFdJTi00MjQyOiB0byBtb3ZlZCB0byBhIGNvbmZpZyBhbmQgZXZlbnR1YWxseSB0byBhbiBBUEkgZm9yIGR5bmFtaWMgdmFsdWVcbiAgZ2FzRGF0YSgpOiBzdHJpbmcge1xuICAgIHJldHVybiAnLTEwMDAwJztcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIHByb3ZpZGVkIGFkZHJlc3MgaXMgYSB2YWxpZCBoZXhhZGVjaW1hbCBzdHJpbmcuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhZGRyZXNzIC0gVGhlIGFkZHJlc3MgdG8gdmFsaWRhdGUuXG4gICAqIEByZXR1cm5zIHtib29sZWFufSAtIFJldHVybnMgYHRydWVgIGlmIHRoZSBhZGRyZXNzIGlzIGEgdmFsaWQgNjQtY2hhcmFjdGVyIGhleGFkZWNpbWFsIHN0cmluZywgb3RoZXJ3aXNlIGBmYWxzZWAuXG4gICAqL1xuICBpc1ZhbGlkQWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHlwZW9mIGFkZHJlc3MgPT09ICdzdHJpbmcnICYmIC9eWzAtOWEtZkEtRl17NjR9JC8udGVzdChhZGRyZXNzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIHByb3ZpZGVkIGhleCBzdHJpbmcgaXMgYSB2YWxpZCBwdWJsaWMga2V5LlxuICAgKlxuICAgKiBBIHZhbGlkIHB1YmxpYyBrZXkgY2FuIGJlIGVpdGhlciBjb21wcmVzc2VkIG9yIHVuY29tcHJlc3NlZDpcbiAgICogLSBDb21wcmVzc2VkIHB1YmxpYyBrZXlzIGFyZSAzMyBieXRlcyBsb25nIGFuZCBzdGFydCB3aXRoIGVpdGhlciAweDAyIG9yIDB4MDMuXG4gICAqIC0gVW5jb21wcmVzc2VkIHB1YmxpYyBrZXlzIGFyZSA2NSBieXRlcyBsb25nIGFuZCBzdGFydCB3aXRoIDB4MDQuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBoZXhTdHIgLSBUaGUgaGV4IHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgcHVibGljIGtleSB0byB2YWxpZGF0ZS5cbiAgICogQHJldHVybnMge2Jvb2xlYW59IC0gUmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGhleCBzdHJpbmcgaXMgYSB2YWxpZCBwdWJsaWMga2V5LCBvdGhlcndpc2UgYGZhbHNlYC5cbiAgICovXG4gIGlzVmFsaWRQdWJsaWNLZXkoaGV4U3RyOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZEhleChoZXhTdHIpIHx8ICF0aGlzLmlzVmFsaWRMZW5ndGgoaGV4U3RyKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IHB1YktleUJ5dGVzID0gdGhpcy5oZXhUb0J5dGVzKGhleFN0cik7XG4gICAgY29uc3QgZmlyc3RCeXRlID0gcHViS2V5Qnl0ZXNbMF07XG4gICAgY29uc3QgdmFsaWRDb21wcmVzc2VkID0gcHViS2V5Qnl0ZXMubGVuZ3RoID09PSAzMyAmJiAoZmlyc3RCeXRlID09PSAyIHx8IGZpcnN0Qnl0ZSA9PT0gMyk7XG4gICAgY29uc3QgdmFsaWRVbmNvbXByZXNzZWQgPSBwdWJLZXlCeXRlcy5sZW5ndGggPT09IDY1ICYmIGZpcnN0Qnl0ZSA9PT0gNDtcblxuICAgIHJldHVybiB2YWxpZENvbXByZXNzZWQgfHwgdmFsaWRVbmNvbXByZXNzZWQ7XG4gIH1cblxuICAvKipcbiAgICogRW5jb2RlcyBhIHZhbHVlIGludG8gQ0JPUiBmb3JtYXQgYW5kIHJldHVybnMgaXQgYXMgYSBoZXggc3RyaW5nLlxuICAgKlxuICAgKiBAcGFyYW0ge3Vua25vd259IHZhbHVlIC0gVGhlIHZhbHVlIHRvIGVuY29kZS5cbiAgICogQHJldHVybnMge3N0cmluZ30gLSBUaGUgQ0JPUiBlbmNvZGVkIHZhbHVlIGFzIGEgaGV4IHN0cmluZy5cbiAgICovXG4gIGNib3JFbmNvZGUodmFsdWU6IHVua25vd24pOiBzdHJpbmcge1xuICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1ZhbHVlIHRvIGVuY29kZSBjYW5ub3QgYmUgdW5kZWZpbmVkLicpO1xuICAgIH1cbiAgICBjb25zdCBjYm9yRGF0YSA9IGVuY29kZSh2YWx1ZSk7XG4gICAgcmV0dXJuIEJ1ZmZlci5mcm9tKGNib3JEYXRhKS50b1N0cmluZygnaGV4Jyk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSBsZW5ndGggb2YgdGhlIGdpdmVuIGhleGFkZWNpbWFsIHN0cmluZyBpcyB2YWxpZC5cbiAgICogQSB2YWxpZCBsZW5ndGggaXMgZWl0aGVyIDY2IGNoYXJhY3RlcnMgKDMzIGJ5dGVzKSBvciAxMzAgY2hhcmFjdGVycyAoNjUgYnl0ZXMpLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gaGV4U3RyIC0gVGhlIGhleGFkZWNpbWFsIHN0cmluZyB0byBjaGVjay5cbiAgICogQHJldHVybnMge2Jvb2xlYW59IC0gUmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGxlbmd0aCBpcyB2YWxpZCwgb3RoZXJ3aXNlIGBmYWxzZWAuXG4gICAqL1xuICBpc1ZhbGlkTGVuZ3RoKGhleFN0cjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGhleFN0ci5sZW5ndGggLyAyID09PSAzMyB8fCBoZXhTdHIubGVuZ3RoIC8gMiA9PT0gNjU7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSBwcm92aWRlZCBzdHJpbmcgaXMgYSB2YWxpZCBoZXhhZGVjaW1hbCBzdHJpbmcuXG4gICAqXG4gICAqIEEgdmFsaWQgaGV4YWRlY2ltYWwgc3RyaW5nIGNvbnNpc3RzIG9mIHBhaXJzIG9mIGhleGFkZWNpbWFsIGRpZ2l0cyAoMC05LCBhLWYsIEEtRikuXG4gICAqXG4gICAqIEBwYXJhbSBoZXhTdHIgLSBUaGUgc3RyaW5nIHRvIGJlIHZhbGlkYXRlZCBhcyBhIGhleGFkZWNpbWFsIHN0cmluZy5cbiAgICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgc3RyaW5nIGlzIGEgdmFsaWQgaGV4YWRlY2ltYWwgc3RyaW5nLCBmYWxzZSBvdGhlcndpc2UuXG4gICAqL1xuICBpc1ZhbGlkSGV4KGhleFN0cjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIC9eKFswLTlhLWZBLUZdezJ9KSskLy50ZXN0KGhleFN0cik7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYSBoZXhhZGVjaW1hbCBzdHJpbmcgdG8gYSBVaW50OEFycmF5LlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gaGV4IC0gVGhlIGhleGFkZWNpbWFsIHN0cmluZyB0byBjb252ZXJ0LlxuICAgKiBAcmV0dXJucyB7VWludDhBcnJheX0gVGhlIHJlc3VsdGluZyBieXRlIGFycmF5LlxuICAgKi9cbiAgaGV4VG9CeXRlcyhoZXg6IHN0cmluZyk6IFVpbnQ4QXJyYXkge1xuICAgIGNvbnN0IGJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkoaGV4Lmxlbmd0aCAvIDIpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaGV4Lmxlbmd0aDsgaSArPSAyKSB7XG4gICAgICBieXRlc1tpIC8gMl0gPSBwYXJzZUludChoZXguc3Vic3RyKGksIDIpLCAxNik7XG4gICAgfVxuICAgIHJldHVybiBieXRlcztcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpc1ZhbGlkUHJpdmF0ZUtleShrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWRLZXkoa2V5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgd2hldGhlciB0aGUgcHJvdmlkZWQga2V5IGlzIGEgdmFsaWQgSUNQIHByaXZhdGUga2V5LlxuICAgKlxuICAgKiBUaGlzIGZ1bmN0aW9uIGF0dGVtcHRzIHRvIGNyZWF0ZSBhIG5ldyBpbnN0YW5jZSBvZiBgSWNwS2V5UGFpcmAgdXNpbmcgdGhlIHByb3ZpZGVkIGtleS5cbiAgICogSWYgdGhlIGtleSBpcyB2YWxpZCwgdGhlIGZ1bmN0aW9uIHJldHVybnMgYHRydWVgLiBJZiB0aGUga2V5IGlzIGludmFsaWQsIGFuIGVycm9yIGlzIHRocm93bixcbiAgICogYW5kIHRoZSBmdW5jdGlvbiByZXR1cm5zIGBmYWxzZWAuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgLSBUaGUgcHJpdmF0ZSBrZXkgdG8gdmFsaWRhdGUuXG4gICAqIEByZXR1cm5zIHtib29sZWFufSAtIGB0cnVlYCBpZiB0aGUga2V5IGlzIHZhbGlkLCBgZmFsc2VgIG90aGVyd2lzZS5cbiAgICovXG4gIGlzVmFsaWRLZXkoa2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICB0cnkge1xuICAgICAgbmV3IEljcEtleVBhaXIoeyBwcnY6IGtleSB9KTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDb21wcmVzc2VzIGFuIHVuY29tcHJlc3NlZCBwdWJsaWMga2V5LlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdW5jb21wcmVzc2VkS2V5IC0gVGhlIHVuY29tcHJlc3NlZCBwdWJsaWMga2V5IGluIGhleGFkZWNpbWFsIGZvcm1hdC5cbiAgICogQHJldHVybnMge3N0cmluZ30gLSBUaGUgY29tcHJlc3NlZCBwdWJsaWMga2V5IGluIGhleGFkZWNpbWFsIGZvcm1hdC5cbiAgICogQHRocm93cyB7RXJyb3J9IC0gSWYgdGhlIGlucHV0IGtleSBpcyBub3QgYSB2YWxpZCB1bmNvbXByZXNzZWQgcHVibGljIGtleS5cbiAgICovXG4gIGNvbXByZXNzUHVibGljS2V5KHVuY29tcHJlc3NlZEtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAodW5jb21wcmVzc2VkS2V5LnN0YXJ0c1dpdGgoJzAyJykgfHwgdW5jb21wcmVzc2VkS2V5LnN0YXJ0c1dpdGgoJzAzJykpIHtcbiAgICAgIHJldHVybiB1bmNvbXByZXNzZWRLZXk7XG4gICAgfVxuICAgIGlmICghdW5jb21wcmVzc2VkS2V5LnN0YXJ0c1dpdGgoJzA0JykgfHwgdW5jb21wcmVzc2VkS2V5Lmxlbmd0aCAhPT0gMTMwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdW5jb21wcmVzc2VkIHB1YmxpYyBrZXkgZm9ybWF0LicpO1xuICAgIH1cblxuICAgIGNvbnN0IHhIZXggPSB1bmNvbXByZXNzZWRLZXkuc2xpY2UoMiwgNjYpO1xuICAgIGNvbnN0IHlIZXggPSB1bmNvbXByZXNzZWRLZXkuc2xpY2UoNjYpO1xuICAgIGNvbnN0IHkgPSBCaWdJbnQoYDB4JHt5SGV4fWApO1xuICAgIGNvbnN0IHByZWZpeCA9IHkgJSAybiA9PT0gMG4gPyAnMDInIDogJzAzJztcblxuICAgIHJldHVybiBgJHtwcmVmaXh9JHt4SGV4fWA7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYSBwdWJsaWMga2V5IGZyb20gaXRzIGhleGFkZWNpbWFsIHN0cmluZyByZXByZXNlbnRhdGlvbiB0byBERVIgZm9ybWF0LlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gcHVibGljS2V5SGV4IC0gVGhlIHB1YmxpYyBrZXkgaW4gaGV4YWRlY2ltYWwgc3RyaW5nIGZvcm1hdC5cbiAgICogQHJldHVybnMgVGhlIHB1YmxpYyBrZXkgaW4gREVSIGZvcm1hdCBhcyBhIFVpbnQ4QXJyYXkuXG4gICAqL1xuICBnZXRQdWJsaWNLZXlJbkRFUkZvcm1hdChwdWJsaWNLZXlIZXg6IHN0cmluZyk6IFVpbnQ4QXJyYXkge1xuICAgIGNvbnN0IHB1YmxpY0tleUJ1ZmZlciA9IEJ1ZmZlci5mcm9tKHB1YmxpY0tleUhleCwgJ2hleCcpO1xuICAgIGNvbnN0IGVsbGlwdGljS2V5ID0gc2VjcDI1NmsxLlByb2plY3RpdmVQb2ludC5mcm9tSGV4KHB1YmxpY0tleUJ1ZmZlci50b1N0cmluZygnaGV4JykpO1xuICAgIGNvbnN0IHVuY29tcHJlc3NlZFB1YmxpY0tleUhleCA9IGVsbGlwdGljS2V5LnRvSGV4KGZhbHNlKTtcbiAgICBjb25zdCBkZXJFbmNvZGVkS2V5ID0gYWdlbnQud3JhcERFUihCdWZmZXIuZnJvbSh1bmNvbXByZXNzZWRQdWJsaWNLZXlIZXgsICdoZXgnKSwgYWdlbnQuU0VDUDI1NksxX09JRCk7XG4gICAgcmV0dXJuIGRlckVuY29kZWRLZXk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYSBwdWJsaWMga2V5IGluIGhleGFkZWNpbWFsIGZvcm1hdCB0byBhIERmaW5pdHkgUHJpbmNpcGFsIElELlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gcHVibGljS2V5SGV4IC0gVGhlIHB1YmxpYyBrZXkgaW4gaGV4YWRlY2ltYWwgZm9ybWF0LlxuICAgKiBAcmV0dXJucyBUaGUgY29ycmVzcG9uZGluZyBEZmluaXR5IFByaW5jaXBhbCBJRC5cbiAgICovXG4gIGdldFByaW5jaXBhbElkRnJvbVB1YmxpY0tleShwdWJsaWNLZXlIZXg6IHN0cmluZyk6IERmaW5pdHlQcmluY2lwYWwge1xuICAgIGNvbnN0IGRlckVuY29kZWRLZXkgPSB0aGlzLmdldFB1YmxpY0tleUluREVSRm9ybWF0KHB1YmxpY0tleUhleCk7XG4gICAgY29uc3QgcHJpbmNpcGFsSWQgPSBEZmluaXR5UHJpbmNpcGFsLnNlbGZBdXRoZW50aWNhdGluZyhCdWZmZXIuZnJvbShkZXJFbmNvZGVkS2V5KSk7XG4gICAgcmV0dXJuIHByaW5jaXBhbElkO1xuICB9XG5cbiAgLyoqXG4gICAqIERlcml2ZXMgYSBEZmluaXR5UHJpbmNpcGFsIGZyb20gYSBnaXZlbiBwdWJsaWMga2V5IGluIGhleGFkZWNpbWFsIGZvcm1hdC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHB1YmxpY0tleUhleCAtIFRoZSBwdWJsaWMga2V5IGluIGhleGFkZWNpbWFsIGZvcm1hdC5cbiAgICogQHJldHVybnMgVGhlIGRlcml2ZWQgRGZpbml0eVByaW5jaXBhbC5cbiAgICogQHRocm93cyBXaWxsIHRocm93IGFuIGVycm9yIGlmIHRoZSBwcmluY2lwYWwgY2Fubm90IGJlIGRlcml2ZWQgZnJvbSB0aGUgcHVibGljIGtleS5cbiAgICovXG4gIGRlcml2ZVByaW5jaXBhbEZyb21QdWJsaWNLZXkocHVibGljS2V5SGV4OiBzdHJpbmcpOiBEZmluaXR5UHJpbmNpcGFsIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgZGVyRW5jb2RlZEtleSA9IHRoaXMuZ2V0UHVibGljS2V5SW5ERVJGb3JtYXQocHVibGljS2V5SGV4KTtcbiAgICAgIGNvbnN0IHByaW5jaXBhbElkID0gRGZpbml0eVByaW5jaXBhbC5zZWxmQXV0aGVudGljYXRpbmcoQnVmZmVyLmZyb20oZGVyRW5jb2RlZEtleSkpO1xuICAgICAgY29uc3QgcHJpbmNpcGFsID0gRGZpbml0eVByaW5jaXBhbC5mcm9tVWludDhBcnJheShwcmluY2lwYWxJZC50b1VpbnQ4QXJyYXkoKSk7XG4gICAgICByZXR1cm4gcHJpbmNpcGFsO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBkZXJpdmUgcHJpbmNpcGFsIGZyb20gcHVibGljIGtleTogJHtlcnJvci5tZXNzYWdlfWApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyBhIERmaW5pdHlQcmluY2lwYWwgYW5kIGFuIG9wdGlvbmFsIHN1YkFjY291bnQgdG8gYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgYW4gYWNjb3VudCBJRC5cbiAgICpcbiAgICogQHBhcmFtIHtEZmluaXR5UHJpbmNpcGFsfSBwcmluY2lwYWwgLSBUaGUgcHJpbmNpcGFsIHRvIGNvbnZlcnQuXG4gICAqIEBwYXJhbSB7VWludDhBcnJheX0gW3N1YkFjY291bnQ9bmV3IFVpbnQ4QXJyYXkoMzIpXSAtIEFuIG9wdGlvbmFsIHN1Yi1hY2NvdW50LCBkZWZhdWx0cyB0byBhIDMyLWJ5dGUgYXJyYXkgb2YgemVyb3MuXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBoZXhhZGVjaW1hbCBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIGFjY291bnQgSUQuXG4gICAqL1xuICBmcm9tUHJpbmNpcGFsKHByaW5jaXBhbDogRGZpbml0eVByaW5jaXBhbCwgc3ViQWNjb3VudDogVWludDhBcnJheSA9IG5ldyBVaW50OEFycmF5KDMyKSk6IHN0cmluZyB7XG4gICAgY29uc3QgQUNDT1VOVF9JRF9QUkVGSVggPSBCdWZmZXIuZnJvbShbMHgwYSwgLi4uQnVmZmVyLmZyb20oJ2FjY291bnQtaWQnKV0pO1xuICAgIGNvbnN0IHByaW5jaXBhbEJ5dGVzID0gQnVmZmVyLmZyb20ocHJpbmNpcGFsLnRvVWludDhBcnJheSgpKTtcbiAgICBjb25zdCBjb21iaW5lZEJ5dGVzID0gQnVmZmVyLmNvbmNhdChbQUNDT1VOVF9JRF9QUkVGSVgsIHByaW5jaXBhbEJ5dGVzLCBzdWJBY2NvdW50XSk7XG5cbiAgICBjb25zdCBzaGEyMjRIYXNoID0gY3J5cHRvLmNyZWF0ZUhhc2goJ3NoYTIyNCcpLnVwZGF0ZShjb21iaW5lZEJ5dGVzKS5kaWdlc3QoKTtcbiAgICBjb25zdCBjaGVja3N1bSA9IEJ1ZmZlci5hbGxvYyg0KTtcbiAgICBjaGVja3N1bS53cml0ZVVJbnQzMkJFKGNyYzMyLmJ1ZihzaGEyMjRIYXNoKSA+Pj4gMCwgMCk7XG5cbiAgICBjb25zdCBhY2NvdW50SWRCeXRlcyA9IEJ1ZmZlci5jb25jYXQoW2NoZWNrc3VtLCBzaGEyMjRIYXNoXSk7XG4gICAgcmV0dXJuIGFjY291bnRJZEJ5dGVzLnRvU3RyaW5nKCdoZXgnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgdGhlIGFkZHJlc3MgYXNzb2NpYXRlZCB3aXRoIGEgZ2l2ZW4gaGV4LWVuY29kZWQgcHVibGljIGtleS5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGhleEVuY29kZWRQdWJsaWNLZXkgLSBUaGUgcHVibGljIGtleSBpbiBoZXgtZW5jb2RlZCBmb3JtYXQuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHN0cmluZz59IEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIHRoZSBhZGRyZXNzIGRlcml2ZWQgZnJvbSB0aGUgcHJvdmlkZWQgcHVibGljIGtleS5cbiAgICogQHRocm93cyB7RXJyb3J9IFRocm93cyBhbiBlcnJvciBpZiB0aGUgcHJvdmlkZWQgcHVibGljIGtleSBpcyBub3QgaW4gYSB2YWxpZCBoZXgtZW5jb2RlZCBmb3JtYXQuXG4gICAqL1xuICBhc3luYyBnZXRBZGRyZXNzRnJvbVB1YmxpY0tleShoZXhFbmNvZGVkUHVibGljS2V5OiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkUHVibGljS2V5KGhleEVuY29kZWRQdWJsaWNLZXkpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgaGV4LWVuY29kZWQgcHVibGljIGtleSBmb3JtYXQuJyk7XG4gICAgfVxuICAgIGNvbnN0IGNvbXByZXNzZWRLZXkgPSB0aGlzLmNvbXByZXNzUHVibGljS2V5KGhleEVuY29kZWRQdWJsaWNLZXkpO1xuICAgIGNvbnN0IGtleVBhaXIgPSBuZXcgSWNwS2V5UGFpcih7IHB1YjogY29tcHJlc3NlZEtleSB9KTtcbiAgICByZXR1cm4ga2V5UGFpci5nZXRBZGRyZXNzKCk7XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGVzIGEgbmV3IGtleSBwYWlyLiBJZiBhIHNlZWQgaXMgcHJvdmlkZWQsIGl0IHdpbGwgYmUgdXNlZCB0byBnZW5lcmF0ZSB0aGUga2V5IHBhaXIuXG4gICAqXG4gICAqIEBwYXJhbSB7QnVmZmVyfSBbc2VlZF0gLSBPcHRpb25hbCBzZWVkIGZvciBrZXkgZ2VuZXJhdGlvbi5cbiAgICogQHJldHVybnMge0tleVBhaXJ9IC0gVGhlIGdlbmVyYXRlZCBrZXkgcGFpciBjb250YWluaW5nIGJvdGggcHVibGljIGFuZCBwcml2YXRlIGtleXMuXG4gICAqIEB0aHJvd3Mge0Vycm9yfSAtIElmIHRoZSBwcml2YXRlIGtleSBpcyBtaXNzaW5nIGluIHRoZSBnZW5lcmF0ZWQga2V5IHBhaXIuXG4gICAqL1xuICBwdWJsaWMgZ2VuZXJhdGVLZXlQYWlyKHNlZWQ/OiBCdWZmZXIpOiBLZXlQYWlyIHtcbiAgICBjb25zdCBrZXlQYWlyID0gc2VlZCA/IG5ldyBJY3BLZXlQYWlyKHsgc2VlZCB9KSA6IG5ldyBJY3BLZXlQYWlyKCk7XG4gICAgY29uc3QgeyBwdWIsIHBydiB9ID0ga2V5UGFpci5nZXRLZXlzKCk7XG4gICAgaWYgKCFwcnYpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUHJpdmF0ZSBrZXkgaXMgbWlzc2luZyBpbiB0aGUgZ2VuZXJhdGVkIGtleSBwYWlyLicpO1xuICAgIH1cbiAgICByZXR1cm4geyBwdWIsIHBydiB9O1xuICB9XG5cbiAgdmFsaWRhdGVGZWUoZmVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAobmV3IEJpZ051bWJlcihmZWUpLmlzRXF1YWxUbygwKSkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignRmVlIGVxdWFsIHRvIHplcm8nKTtcbiAgICB9XG4gICAgaWYgKGZlZSAhPT0gdGhpcy5nYXNEYXRhKCkpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgZmVlIHZhbHVlJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlVmFsdWUodmFsdWU6IEJpZ051bWJlcik6IHZvaWQge1xuICAgIGlmICh2YWx1ZS5pc0xlc3NUaGFuT3JFcXVhbFRvKDApKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdhbW91bnQgY2Fubm90IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byB6ZXJvJyk7XG4gICAgfVxuICB9XG5cbiAgdmFsaWRhdGVNZW1vKG1lbW86IG51bWJlciB8IEJpZ0ludCk6IHZvaWQge1xuICAgIGlmIChOdW1iZXIobWVtbykgPCAwIHx8IE51bWJlcihtZW1vKSA9PT0gbnVsbCB8fCBOdW1iZXIobWVtbykgPT09IHVuZGVmaW5lZCB8fCBOdW1iZXIuaXNOYU4oTnVtYmVyKG1lbW8pKSkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCBtZW1vJyk7XG4gICAgfVxuICB9XG5cbiAgdmFsaWRhdGVFeHBpcmVUaW1lKGV4cGlyZVRpbWU6IG51bWJlciB8IEJpZ0ludCk6IHZvaWQge1xuICAgIGlmIChOdW1iZXIoZXhwaXJlVGltZSkgPCBEYXRlLm5vdygpICogMTAwMF8wMDApIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgZXhwaXJ5IHRpbWUnKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGVzIHRoZSByYXcgdHJhbnNhY3Rpb24gZGF0YSB0byBlbnN1cmUgaXQgaGFzIGEgdmFsaWQgZm9ybWF0IGluIHRoZSBibG9ja2NoYWluIGNvbnRleHQuXG4gICAqXG4gICAqIEBwYXJhbSB7SWNwVHJhbnNhY3Rpb25EYXRhfSB0cmFuc2FjdGlvbkRhdGEgLSBUaGUgdHJhbnNhY3Rpb24gZGF0YSB0byB2YWxpZGF0ZS5cbiAgICogQHRocm93cyB7UGFyc2VUcmFuc2FjdGlvbkVycm9yfSBJZiB0aGUgdHJhbnNhY3Rpb24gZGF0YSBpcyBpbnZhbGlkLlxuICAgKi9cbiAgdmFsaWRhdGVSYXdUcmFuc2FjdGlvbih0cmFuc2FjdGlvbkRhdGE6IEljcFRyYW5zYWN0aW9uRGF0YSk6IHZvaWQge1xuICAgIGlmICghdHJhbnNhY3Rpb25EYXRhKSB7XG4gICAgICB0aHJvdyBuZXcgUGFyc2VUcmFuc2FjdGlvbkVycm9yKCdUcmFuc2FjdGlvbiBkYXRhIGlzIG1pc3NpbmcuJyk7XG4gICAgfVxuICAgIGNvbnN0IHsgc2VuZGVyUHVibGljS2V5SGV4LCBzZW5kZXJBZGRyZXNzLCByZWNlaXZlckFkZHJlc3MgfSA9IHRyYW5zYWN0aW9uRGF0YTtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZFB1YmxpY0tleShzZW5kZXJQdWJsaWNLZXlIZXgpKSB7XG4gICAgICB0aHJvdyBuZXcgUGFyc2VUcmFuc2FjdGlvbkVycm9yKCdTZW5kZXIgcHVibGljIGtleSBpcyBpbnZhbGlkLicpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuaXNWYWxpZEFkZHJlc3Moc2VuZGVyQWRkcmVzcykpIHtcbiAgICAgIHRocm93IG5ldyBQYXJzZVRyYW5zYWN0aW9uRXJyb3IoJ1NlbmRlciBhZGRyZXNzIGlzIGludmFsaWQuJyk7XG4gICAgfVxuICAgIGlmICghdGhpcy5pc1ZhbGlkQWRkcmVzcyhyZWNlaXZlckFkZHJlc3MpKSB7XG4gICAgICB0aHJvdyBuZXcgUGFyc2VUcmFuc2FjdGlvbkVycm9yKCdSZWNlaXZlciBhZGRyZXNzIGlzIGludmFsaWQuJyk7XG4gICAgfVxuICAgIHRoaXMudmFsaWRhdGVGZWUodHJhbnNhY3Rpb25EYXRhLmZlZSk7XG4gICAgdGhpcy52YWxpZGF0ZVZhbHVlKG5ldyBCaWdOdW1iZXIodHJhbnNhY3Rpb25EYXRhLmFtb3VudCkpO1xuICAgIHRoaXMudmFsaWRhdGVNZW1vKHRyYW5zYWN0aW9uRGF0YS5tZW1vKTtcbiAgICB0aGlzLnZhbGlkYXRlRXhwaXJlVGltZSh0cmFuc2FjdGlvbkRhdGEuZXhwaXJ5VGltZSk7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIHtvYmplY3R9IHVwZGF0ZVxuICAgKiBAcmV0dXJucyB7QnVmZmVyfVxuICAgKi9cbiAgZ2VuZXJhdGVIdHRwQ2FuaXN0ZXJVcGRhdGVJZCh1cGRhdGU6IEh0dHBDYW5pc3RlclVwZGF0ZSk6IEJ1ZmZlciB7XG4gICAgcmV0dXJuIHRoaXMuSHR0cENhbmlzdGVyVXBkYXRlUmVwcmVzZW50YXRpb25JbmRlcGVuZGVudEhhc2godXBkYXRlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZXMgYSByZXByZXNlbnRhdGlvbi1pbmRlcGVuZGVudCBoYXNoIGZvciBhbiBIVFRQIGNhbmlzdGVyIHVwZGF0ZS5cbiAgICpcbiAgICogQHBhcmFtIHtIdHRwQ2FuaXN0ZXJVcGRhdGV9IHVwZGF0ZSAtIFRoZSBIVFRQIGNhbmlzdGVyIHVwZGF0ZSBvYmplY3QuXG4gICAqIEByZXR1cm5zIHtCdWZmZXJ9IC0gVGhlIGhhc2ggb2YgdGhlIHVwZGF0ZSBvYmplY3QuXG4gICAqL1xuICBIdHRwQ2FuaXN0ZXJVcGRhdGVSZXByZXNlbnRhdGlvbkluZGVwZW5kZW50SGFzaCh1cGRhdGU6IEh0dHBDYW5pc3RlclVwZGF0ZSk6IEJ1ZmZlciB7XG4gICAgY29uc3QgdXBkYXRlTWFwID0ge1xuICAgICAgcmVxdWVzdF90eXBlOiBSZXF1ZXN0VHlwZS5DQUxMLFxuICAgICAgY2FuaXN0ZXJfaWQ6IHVwZGF0ZS5jYW5pc3Rlcl9pZCxcbiAgICAgIG1ldGhvZF9uYW1lOiB1cGRhdGUubWV0aG9kX25hbWUsXG4gICAgICBhcmc6IHVwZGF0ZS5hcmcsXG4gICAgICBpbmdyZXNzX2V4cGlyeTogdXBkYXRlLmluZ3Jlc3NfZXhwaXJ5LFxuICAgICAgc2VuZGVyOiB1cGRhdGUuc2VuZGVyLFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMuaGFzaE9mTWFwKHVwZGF0ZU1hcCk7XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGVzIGEgU0hBLTI1NiBoYXNoIGZvciBhIGdpdmVuIG1hcCBvYmplY3QuXG4gICAqXG4gICAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgdW5rbm93bj59IG1hcCAtIFRoZSBtYXAgb2JqZWN0IHRvIGhhc2guXG4gICAqIEByZXR1cm5zIHtCdWZmZXJ9IC0gVGhlIHJlc3VsdGluZyBoYXNoIGFzIGEgQnVmZmVyLlxuICAgKi9cbiAgaGFzaE9mTWFwKG1hcDogUmVjb3JkPHN0cmluZywgYW55Pik6IEJ1ZmZlciB7XG4gICAgY29uc3QgaGFzaGVzOiBCdWZmZXJbXSA9IFtdO1xuICAgIGZvciAoY29uc3Qga2V5IGluIG1hcCkge1xuICAgICAgaGFzaGVzLnB1c2godGhpcy5oYXNoS2V5VmFsKGtleSwgbWFwW2tleV0pKTtcbiAgICB9XG4gICAgaGFzaGVzLnNvcnQoKGJ1ZjAsIGJ1ZjEpID0+IGJ1ZjAuY29tcGFyZShidWYxKSk7XG4gICAgcmV0dXJuIHRoaXMuc2hhMjU2KGhhc2hlcyk7XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGVzIGEgaGFzaCBmb3IgYSBrZXktdmFsdWUgcGFpci5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGtleSAtIFRoZSBrZXkgdG8gaGFzaC5cbiAgICogQHBhcmFtIHtzdHJpbmcgfCBCdWZmZXIgfCBCaWdJbnR9IHZhbCAtIFRoZSB2YWx1ZSB0byBoYXNoLlxuICAgKiBAcmV0dXJucyB7QnVmZmVyfSAtIFRoZSByZXN1bHRpbmcgaGFzaCBhcyBhIEJ1ZmZlci5cbiAgICovXG4gIGhhc2hLZXlWYWwoa2V5OiBzdHJpbmcsIHZhbDogYW55KTogQnVmZmVyIHtcbiAgICBjb25zdCBrZXlIYXNoID0gdGhpcy5oYXNoU3RyaW5nKGtleSk7XG4gICAgY29uc3QgdmFsSGFzaCA9IHRoaXMuaGFzaFZhbCh2YWwpO1xuICAgIHJldHVybiBCdWZmZXIuY29uY2F0KFtrZXlIYXNoLCB2YWxIYXNoXSk7XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGVzIGEgU0hBLTI1NiBoYXNoIGZvciBhIGdpdmVuIHN0cmluZy5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlIC0gVGhlIHN0cmluZyB0byBoYXNoLlxuICAgKiBAcmV0dXJucyB7QnVmZmVyfSAtIFRoZSByZXN1bHRpbmcgaGFzaCBhcyBhIEJ1ZmZlci5cbiAgICovXG4gIGhhc2hTdHJpbmcodmFsdWU6IHN0cmluZyk6IEJ1ZmZlciB7XG4gICAgcmV0dXJuIHRoaXMuc2hhMjU2KFtCdWZmZXIuZnJvbSh2YWx1ZSldKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZXMgYSBoYXNoIGZvciBhIDY0LWJpdCB1bnNpZ25lZCBpbnRlZ2VyLlxuICAgKlxuICAgKiBAcGFyYW0ge2JpZ2ludH0gbiAtIFRoZSA2NC1iaXQgdW5zaWduZWQgaW50ZWdlciB0byBoYXNoLlxuICAgKiBAcmV0dXJucyB7QnVmZmVyfSAtIFRoZSByZXN1bHRpbmcgaGFzaCBhcyBhIEJ1ZmZlci5cbiAgICovXG4gIGhhc2hVNjQobjogYmlnaW50KTogQnVmZmVyIHtcbiAgICBjb25zdCBidWYgPSBCdWZmZXIuYWxsb2NVbnNhZmUoMTApO1xuICAgIGxldCBpID0gMDtcbiAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgY29uc3QgYnl0ZSA9IE51bWJlcihuICYgQmlnSW50KDB4N2YpKTtcbiAgICAgIG4gPj49IEJpZ0ludCg3KTtcbiAgICAgIGlmIChuID09PSBCaWdJbnQoMCkpIHtcbiAgICAgICAgYnVmW2ldID0gYnl0ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBidWZbaV0gPSBieXRlIHwgMHg4MDtcbiAgICAgICAgKytpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5oYXNoQnl0ZXMoYnVmLnN1YmFycmF5KDAsIGkgKyAxKSk7XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGVzIGEgU0hBLTI1NiBoYXNoIGZvciBhbiBhcnJheSBvZiBlbGVtZW50cy5cbiAgICpcbiAgICogQHBhcmFtIHtBcnJheTxhbnk+fSBlbGVtZW50cyAtIFRoZSBhcnJheSBvZiBlbGVtZW50cyB0byBoYXNoLlxuICAgKiBAcmV0dXJucyB7QnVmZmVyfSAtIFRoZSByZXN1bHRpbmcgaGFzaCBhcyBhIEJ1ZmZlci5cbiAgICovXG4gIGhhc2hBcnJheShlbGVtZW50czogQXJyYXk8YW55Pik6IEJ1ZmZlciB7XG4gICAgcmV0dXJuIHRoaXMuc2hhMjU2KGVsZW1lbnRzLm1hcCh0aGlzLmhhc2hWYWwpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZXMgYSBoYXNoIGZvciBhIGdpdmVuIHZhbHVlLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZyB8IEJ1ZmZlciB8IEJpZ0ludCB8IG51bWJlciB8IEFycmF5PHVua25vd24+fSB2YWwgLSBUaGUgdmFsdWUgdG8gaGFzaC5cbiAgICogQHJldHVybnMge0J1ZmZlcn0gLSBUaGUgcmVzdWx0aW5nIGhhc2ggYXMgYSBCdWZmZXIuXG4gICAqIEB0aHJvd3Mge0Vycm9yfSAtIElmIHRoZSB2YWx1ZSB0eXBlIGlzIHVuc3VwcG9ydGVkLlxuICAgKi9cbiAgaGFzaFZhbCh2YWw6IHN0cmluZyB8IEJ1ZmZlciB8IEJpZ0ludCB8IG51bWJlciB8IEFycmF5PHVua25vd24+KTogQnVmZmVyIHtcbiAgICBpZiAodHlwZW9mIHZhbCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiB1dGlscy5oYXNoU3RyaW5nKHZhbCk7XG4gICAgfSBlbHNlIGlmIChCdWZmZXIuaXNCdWZmZXIodmFsKSkge1xuICAgICAgcmV0dXJuIHV0aWxzLmhhc2hCeXRlcyh2YWwpO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbCA9PT0gJ2JpZ2ludCcgfHwgdHlwZW9mIHZhbCA9PT0gJ251bWJlcicpIHtcbiAgICAgIHJldHVybiB1dGlscy5oYXNoVTY0KEJpZ0ludCh2YWwpKTtcbiAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkodmFsKSkge1xuICAgICAgcmV0dXJuIHV0aWxzLmhhc2hBcnJheSh2YWwpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuc3VwcG9ydGVkIHZhbHVlIHR5cGUgZm9yIGhhc2hpbmc6ICR7dHlwZW9mIHZhbH1gKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ29tcHV0ZXMgdGhlIFNIQS0yNTYgaGFzaCBvZiB0aGUgZ2l2ZW4gYnVmZmVyLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgYnVmZmVyIHRvIGhhc2guXG4gICAqIEByZXR1cm5zIFRoZSBTSEEtMjU2IGhhc2ggb2YgdGhlIGlucHV0IGJ1ZmZlci5cbiAgICovXG4gIGhhc2hCeXRlcyh2YWx1ZTogQnVmZmVyKTogQnVmZmVyIHtcbiAgICByZXR1cm4gdGhpcy5zaGEyNTYoW3ZhbHVlXSk7XG4gIH1cblxuICAvKipcbiAgICogQ29tcHV0ZXMgdGhlIFNIQS0yNTYgaGFzaCBvZiB0aGUgcHJvdmlkZWQgYXJyYXkgb2YgQnVmZmVyIGNodW5rcy5cbiAgICpcbiAgICogQHBhcmFtIHtBcnJheTxCdWZmZXI+fSBjaHVua3MgLSBBbiBhcnJheSBvZiBCdWZmZXIgb2JqZWN0cyB0byBiZSBoYXNoZWQuXG4gICAqIEByZXR1cm5zIHtCdWZmZXJ9IC0gVGhlIHJlc3VsdGluZyBTSEEtMjU2IGhhc2ggYXMgYSBCdWZmZXIuXG4gICAqL1xuICBzaGEyNTYoY2h1bmtzOiBBcnJheTxCdWZmZXI+KTogQnVmZmVyIHtcbiAgICBjb25zdCBoYXNoZXIgPSBqc19zaGEyNTYuc2hhMjU2LmNyZWF0ZSgpO1xuICAgIGNodW5rcy5mb3JFYWNoKChjaHVuaykgPT4gaGFzaGVyLnVwZGF0ZShjaHVuaykpO1xuICAgIHJldHVybiBCdWZmZXIuZnJvbShoYXNoZXIuYXJyYXlCdWZmZXIoKSk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYSBoZXhhZGVjaW1hbCBzdHJpbmcgdG8gYSBCdWZmZXIuXG4gICAqXG4gICAqIEBwYXJhbSBoZXggLSBUaGUgaGV4YWRlY2ltYWwgc3RyaW5nIHRvIGNvbnZlcnQuXG4gICAqIEByZXR1cm5zIEEgQnVmZmVyIGNvbnRhaW5pbmcgdGhlIGJpbmFyeSBkYXRhIHJlcHJlc2VudGVkIGJ5IHRoZSBoZXhhZGVjaW1hbCBzdHJpbmcuXG4gICAqL1xuICBibG9iRnJvbUhleChoZXg6IHN0cmluZyk6IEJ1ZmZlciB7XG4gICAgcmV0dXJuIEJ1ZmZlci5mcm9tKGhleCwgJ2hleCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIGEgYmluYXJ5IGJsb2IgKEJ1ZmZlcikgdG8gYSBoZXhhZGVjaW1hbCBzdHJpbmcuXG4gICAqXG4gICAqIEBwYXJhbSB7QnVmZmVyfSBibG9iIC0gVGhlIGJpbmFyeSBkYXRhIHRvIGJlIGNvbnZlcnRlZC5cbiAgICogQHJldHVybnMge3N0cmluZ30gVGhlIGhleGFkZWNpbWFsIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBiaW5hcnkgZGF0YS5cbiAgICovXG4gIGJsb2JUb0hleChibG9iOiBCdWZmZXIpOiBzdHJpbmcge1xuICAgIHJldHVybiBibG9iLnRvU3RyaW5nKCdoZXgnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWNvZGVzIGEgZ2l2ZW4gQ0JPUi1lbmNvZGVkIGJ1ZmZlci5cbiAgICpcbiAgICogQHBhcmFtIGJ1ZmZlciAtIFRoZSBDQk9SLWVuY29kZWQgYnVmZmVyIHRvIGRlY29kZS5cbiAgICogQHJldHVybnMgVGhlIGRlY29kZWQgZGF0YS5cbiAgICovXG4gIGNib3JEZWNvZGUoYnVmZmVyOiBCdWZmZXIpOiB1bmtub3duIHtcbiAgICBjb25zdCByZXMgPSBkZWNvZGUoYnVmZmVyKTtcbiAgICByZXR1cm4gcmVzO1xuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlcyBhIEJ1ZmZlciBjb250YWluaW5nIHRoZSBkb21haW4gSUMgcmVxdWVzdCBzdHJpbmcuXG4gICAqXG4gICAqIEByZXR1cm5zIHtCdWZmZXJ9IEEgQnVmZmVyIG9iamVjdCBpbml0aWFsaXplZCB3aXRoIHRoZSBzdHJpbmcgJ1xceDBBaWMtcmVxdWVzdCcuXG4gICAqL1xuICBnZXREb21haW5JQ1JlcXVlc3QoKTogQnVmZmVyIHtcbiAgICByZXR1cm4gQnVmZmVyLmZyb20oJ1xceDBBaWMtcmVxdWVzdCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbWJpbmVzIHRoZSBkb21haW4gSUMgcmVxdWVzdCBidWZmZXIgd2l0aCB0aGUgcHJvdmlkZWQgbWVzc2FnZSBJRCBidWZmZXIgdG8gY3JlYXRlIHNpZ25hdHVyZSBkYXRhLlxuICAgKlxuICAgKiBAcGFyYW0ge0J1ZmZlcn0gbWVzc2FnZUlkIC0gVGhlIGJ1ZmZlciBjb250YWluaW5nIHRoZSBtZXNzYWdlIElELlxuICAgKiBAcmV0dXJucyB7QnVmZmVyfSAtIFRoZSBjb25jYXRlbmF0ZWQgYnVmZmVyIGNvbnRhaW5pbmcgdGhlIGRvbWFpbiBJQyByZXF1ZXN0IGFuZCB0aGUgbWVzc2FnZSBJRC5cbiAgICovXG4gIG1ha2VTaWduYXR1cmVEYXRhKG1lc3NhZ2VJZDogQnVmZmVyKTogQnVmZmVyIHtcbiAgICByZXR1cm4gQnVmZmVyLmNvbmNhdChbdGhpcy5nZXREb21haW5JQ1JlcXVlc3QoKSwgbWVzc2FnZUlkXSk7XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGVzIGEgcmVhZCBzdGF0ZSBvYmplY3QgZnJvbSBhbiBIVFRQIGNhbmlzdGVyIHVwZGF0ZS5cbiAgICpcbiAgICogQHBhcmFtIHtIdHRwQ2FuaXN0ZXJVcGRhdGV9IHVwZGF0ZSAtIFRoZSBIVFRQIGNhbmlzdGVyIHVwZGF0ZSBvYmplY3QuXG4gICAqIEByZXR1cm5zIHtSZWFkU3RhdGV9IFRoZSByZWFkIHN0YXRlIG9iamVjdCBjb250YWluaW5nIHRoZSBzZW5kZXIsIHBhdGhzLCBhbmQgaW5ncmVzcyBleHBpcnkuXG4gICAqL1xuICBtYWtlUmVhZFN0YXRlRnJvbVVwZGF0ZSh1cGRhdGU6IEh0dHBDYW5pc3RlclVwZGF0ZSk6IFJlYWRTdGF0ZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHNlbmRlcjogdXBkYXRlLnNlbmRlcixcbiAgICAgIHBhdGhzOiBbW0J1ZmZlci5mcm9tKFJFUVVFU1RfU1RBVFVTKSwgdGhpcy5nZW5lcmF0ZUh0dHBDYW5pc3RlclVwZGF0ZUlkKHVwZGF0ZSldXSxcbiAgICAgIGluZ3Jlc3NfZXhwaXJ5OiB1cGRhdGUuaW5ncmVzc19leHBpcnksXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZXMgYSByZXByZXNlbnRhdGlvbi1pbmRlcGVuZGVudCBoYXNoIGZvciBhbiBIVFRQIHJlYWQgc3RhdGUgb2JqZWN0LlxuICAgKlxuICAgKiBAcGFyYW0ge1JlYWRTdGF0ZX0gcmVhZFN0YXRlIC0gVGhlIEhUVFAgcmVhZCBzdGF0ZSBvYmplY3QuXG4gICAqIEByZXR1cm5zIHtCdWZmZXJ9IC0gVGhlIGhhc2ggb2YgdGhlIHJlYWQgc3RhdGUgb2JqZWN0LlxuICAgKi9cbiAgSHR0cFJlYWRTdGF0ZVJlcHJlc2VudGF0aW9uSW5kZXBlbmRlbnRIYXNoKHJlYWRTdGF0ZTogUmVhZFN0YXRlKTogQnVmZmVyIHtcbiAgICByZXR1cm4gdGhpcy5oYXNoT2ZNYXAoe1xuICAgICAgcmVxdWVzdF90eXBlOiBSZXF1ZXN0VHlwZS5SRUFEX1NUQVRFLFxuICAgICAgaW5ncmVzc19leHBpcnk6IHJlYWRTdGF0ZS5pbmdyZXNzX2V4cGlyeSxcbiAgICAgIHBhdGhzOiByZWFkU3RhdGUucGF0aHMsXG4gICAgICBzZW5kZXI6IHJlYWRTdGF0ZS5zZW5kZXIsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogRXh0cmFjdHMgdGhlIHJlY2lwaWVudCBpbmZvcm1hdGlvbiBmcm9tIHRoZSBwcm92aWRlZCBJQ1AgdHJhbnNhY3Rpb24gZGF0YS5cbiAgICpcbiAgICogQHBhcmFtIHtJY3BUcmFuc2FjdGlvbkRhdGF9IGljcFRyYW5zYWN0aW9uRGF0YSAtIFRoZSBJQ1AgdHJhbnNhY3Rpb24gZGF0YSBjb250YWluaW5nIHRoZSByZWNlaXZlcidzIGFkZHJlc3MgYW5kIGFtb3VudC5cbiAgICogQHJldHVybnMge1JlY2lwaWVudFtdfSBBbiBhcnJheSBjb250YWluaW5nIGEgc2luZ2xlIHJlY2lwaWVudCBvYmplY3Qgd2l0aCB0aGUgcmVjZWl2ZXIncyBhZGRyZXNzIGFuZCBhbW91bnQuXG4gICAqL1xuICBnZXRSZWNpcGllbnRzKGljcFRyYW5zYWN0aW9uRGF0YTogSWNwVHJhbnNhY3Rpb25EYXRhKTogUmVjaXBpZW50IHtcbiAgICByZXR1cm4ge1xuICAgICAgYWRkcmVzczogaWNwVHJhbnNhY3Rpb25EYXRhLnJlY2VpdmVyQWRkcmVzcyxcbiAgICAgIGFtb3VudDogaWNwVHJhbnNhY3Rpb25EYXRhLmFtb3VudCxcbiAgICB9O1xuICB9XG5cbiAgZ2V0VHJhbnNhY3Rpb25TaWduYXR1cmUoc2lnbmF0dXJlTWFwOiBNYXA8c3RyaW5nLCBTaWduYXR1cmVzPiwgdXBkYXRlOiBIdHRwQ2FuaXN0ZXJVcGRhdGUpOiBTaWduYXR1cmVzIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gc2lnbmF0dXJlTWFwLmdldCh0aGlzLmJsb2JUb0hleCh0aGlzLm1ha2VTaWduYXR1cmVEYXRhKHRoaXMuZ2VuZXJhdGVIdHRwQ2FuaXN0ZXJVcGRhdGVJZCh1cGRhdGUpKSkpO1xuICB9XG5cbiAgZ2V0UmVhZFN0YXRlU2lnbmF0dXJlKHNpZ25hdHVyZU1hcDogTWFwPHN0cmluZywgU2lnbmF0dXJlcz4sIHJlYWRTdGF0ZTogUmVhZFN0YXRlKTogU2lnbmF0dXJlcyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHNpZ25hdHVyZU1hcC5nZXQoXG4gICAgICB0aGlzLmJsb2JUb0hleCh0aGlzLm1ha2VTaWduYXR1cmVEYXRhKHRoaXMuSHR0cFJlYWRTdGF0ZVJlcHJlc2VudGF0aW9uSW5kZXBlbmRlbnRIYXNoKHJlYWRTdGF0ZSkpKVxuICAgICk7XG4gIH1cblxuICBnZXRNZXRhRGF0YShtZW1vOiBudW1iZXIgfCBCaWdJbnQpOiB7IG1ldGFEYXRhOiBJY3BNZXRhZGF0YTsgaW5ncmVzc0VuZFRpbWU6IG51bWJlciB8IEJpZ0ludCB9IHtcbiAgICBjb25zdCBjdXJyZW50VGltZSA9IERhdGUubm93KCkgKiAxMDAwMDAwO1xuICAgIGNvbnN0IGluZ3Jlc3NTdGFydFRpbWUgPSBjdXJyZW50VGltZTtcbiAgICBjb25zdCBpbmdyZXNzRW5kVGltZSA9IGluZ3Jlc3NTdGFydFRpbWUgKyA1ICogNjAgKiAxMDAwMDAwMDAwOyAvLyA1IG1pbnMgaW4gbmFub3NlY29uZHNcbiAgICBjb25zdCBtZXRhRGF0YTogSWNwTWV0YWRhdGEgPSB7XG4gICAgICBjcmVhdGVkX2F0X3RpbWU6IGN1cnJlbnRUaW1lLFxuICAgICAgbWVtbzogbWVtbyxcbiAgICAgIGluZ3Jlc3Nfc3RhcnQ6IGluZ3Jlc3NTdGFydFRpbWUsXG4gICAgICBpbmdyZXNzX2VuZDogaW5ncmVzc0VuZFRpbWUsXG4gICAgfTtcbiAgICByZXR1cm4geyBtZXRhRGF0YSwgaW5ncmVzc0VuZFRpbWUgfTtcbiAgfVxufVxuXG5jb25zdCB1dGlscyA9IG5ldyBVdGlscygpO1xuZXhwb3J0IGRlZmF1bHQgdXRpbHM7XG4iXX0=
619
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDhDQUE4RztBQUM5RyxrREFBbUU7QUFDbkUsc0RBQXdDO0FBQ3hDLG9EQUE0QjtBQUM1QixvREFBMkI7QUFDM0IsbUNBUWlCO0FBQ2pCLHVDQUFrRDtBQUNsRCxtQ0FBd0MsQ0FBQyxnTUFBZ007QUFDek8sMERBQWtDO0FBQ2xDLGdFQUFxQztBQUNyQyx1REFBb0Q7QUFDcEQsNERBQWtDO0FBQ2xDLHVEQUFvRDtBQUV2QyxRQUFBLGNBQWMsR0FBRyxnQkFBZ0IsQ0FBQztBQUUvQyxNQUFhLEtBQUs7SUFDaEIsa0JBQWtCO0lBQ2xCLGdCQUFnQixDQUFDLFNBQWlCO1FBQ2hDLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxnRkFBZ0Y7SUFDaEYsT0FBTztRQUNMLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGNBQWMsQ0FBQyxPQUFlO1FBQzVCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0gsZ0JBQWdCLENBQUMsTUFBYztRQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUM1RCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFFRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVDLE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqQyxN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ZVRyYW5zYWN0aW9uRXJyb3IsIFJlY2lwaWVudCwgQnVpbGRUcmFuc2FjdGlvbkVycm9yIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IFByaW5jaXBhbCBhcyBEZmluaXR5UHJpbmNpcGFsIH0gZnJvbSAnQGRmaW5pdHkvcHJpbmNpcGFsJztcbmltcG9ydCAqIGFzIGFnZW50IGZyb20gJ0BkZmluaXR5L2FnZW50JztcbmltcG9ydCBjcnlwdG8gZnJvbSAnY3J5cHRvJztcbmltcG9ydCBjcmMzMiBmcm9tICdjcmMtMzInO1xuaW1wb3J0IHtcbiAgSHR0cENhbmlzdGVyVXBkYXRlLFxuICBJY3BUcmFuc2FjdGlvbkRhdGEsXG4gIFJlYWRTdGF0ZSxcbiAgUmVxdWVzdFR5cGUsXG4gIFNpZ25hdHVyZXMsXG4gIEljcE1ldGFkYXRhLFxuICBTZW5kQXJncyxcbn0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBLZXlQYWlyIGFzIEljcEtleVBhaXIgfSBmcm9tICcuL2tleVBhaXInO1xuaW1wb3J0IHsgZGVjb2RlLCBlbmNvZGUgfSBmcm9tICdjYm9yLXgnOyAvLyBUaGUgXCJjYm9yLXhcIiBsaWJyYXJ5IGlzIHVzZWQgaGVyZSBiZWNhdXNlIGl0IHN1cHBvcnRzIG1vZGVybiBmZWF0dXJlcyBsaWtlIEJpZ0ludC4gZG8gbm90IHJlcGxhY2UgaXQgd2l0aCBcImNib3IgYXMgXCJjYm9yXCIgaXMgbm90IGNvbXBhdGlibGUgd2l0aCBSdXN0J3Mgc2VyZGVfY2JvciB3aGVuIGhhbmRsaW5nIGJpZyBudW1iZXJzLlxuaW1wb3J0IGpzX3NoYTI1NiBmcm9tICdqcy1zaGEyNTYnO1xuaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuaW1wb3J0IHsgc2VjcDI1NmsxIH0gZnJvbSAnQG5vYmxlL2N1cnZlcy9zZWNwMjU2azEnO1xuaW1wb3J0IHByb3RvYnVmIGZyb20gJ3Byb3RvYnVmanMnO1xuaW1wb3J0IHsgcHJvdG9EZWZpbml0aW9uIH0gZnJvbSAnLi9wcm90b0RlZmluaXRpb24nO1xuXG5leHBvcnQgY29uc3QgUkVRVUVTVF9TVEFUVVMgPSAncmVxdWVzdF9zdGF0dXMnO1xuXG5leHBvcnQgY2xhc3MgVXRpbHMgaW1wbGVtZW50cyBCYXNlVXRpbHMge1xuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgaXNWYWxpZFNpZ25hdHVyZShzaWduYXR1cmU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXRzIHRoZSBnYXMgZGF0YSBvZiB0aGlzIHRyYW5zYWN0aW9uLlxuICAgKi9cbiAgLy9UT0RPIFdJTi00MjQyOiB0byBtb3ZlZCB0byBhIGNvbmZpZyBhbmQgZXZlbnR1YWxseSB0byBhbiBBUEkgZm9yIGR5bmFtaWMgdmFsdWVcbiAgZ2FzRGF0YSgpOiBzdHJpbmcge1xuICAgIHJldHVybiAnLTEwMDAwJztcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIHByb3ZpZGVkIGFkZHJlc3MgaXMgYSB2YWxpZCBoZXhhZGVjaW1hbCBzdHJpbmcuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhZGRyZXNzIC0gVGhlIGFkZHJlc3MgdG8gdmFsaWRhdGUuXG4gICAqIEByZXR1cm5zIHtib29sZWFufSAtIFJldHVybnMgYHRydWVgIGlmIHRoZSBhZGRyZXNzIGlzIGEgdmFsaWQgNjQtY2hhcmFjdGVyIGhleGFkZWNpbWFsIHN0cmluZywgb3RoZXJ3aXNlIGBmYWxzZWAuXG4gICAqL1xuICBpc1ZhbGlkQWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc1ZhbGlkSGFzaChhZGRyZXNzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIHByb3ZpZGVkIGhleCBzdHJpbmcgaXMgYSB2YWxpZCBwdWJsaWMga2V5LlxuICAgKlxuICAgKiBBIHZhbGlkIHB1YmxpYyBrZXkgY2FuIGJlIGVpdGhlciBjb21wcmVzc2VkIG9yIHVuY29tcHJlc3NlZDpcbiAgICogLSBDb21wcmVzc2VkIHB1YmxpYyBrZXlzIGFyZSAzMyBieXRlcyBsb25nIGFuZCBzdGFydCB3aXRoIGVpdGhlciAweDAyIG9yIDB4MDMuXG4gICAqIC0gVW5jb21wcmVzc2VkIHB1YmxpYyBrZXlzIGFyZSA2NSBieXRlcyBsb25nIGFuZCBzdGFydCB3aXRoIDB4MDQuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBoZXhTdHIgLSBUaGUgaGV4IHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgcHVibGljIGtleSB0byB2YWxpZGF0ZS5cbiAgICogQHJldHVybnMge2Jvb2xlYW59IC0gUmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGhleCBzdHJpbmcgaXMgYSB2YWxpZCBwdWJsaWMga2V5LCBvdGhlcndpc2UgYGZhbHNlYC5cbiAgICovXG4gIGlzVmFsaWRQdWJsaWNLZXkoaGV4U3RyOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZEhleChoZXhTdHIpIHx8ICF0aGlzLmlzVmFsaWRMZW5ndGgoaGV4U3RyKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IHB1YktleUJ5dGVzID0gdGhpcy5oZXhUb0J5dGVzKGhleFN0cik7XG4gICAgY29uc3QgZmlyc3RCeXRlID0gcHViS2V5Qnl0ZXNbMF07XG4gICAgY29uc3QgdmFsaWRDb21wcmVzc2VkID0gcHViS2V5Qnl0ZXMubGVuZ3RoID09PSAzMyAmJiAoZmlyc3RCeXRlID09PSAyIHx8IGZpcnN0Qnl0ZSA9PT0gMyk7XG4gICAgY29uc3QgdmFsaWRVbmNvbXByZXNzZWQgPSBwdWJLZXlCeXRlcy5sZW5ndGggPT09IDY1ICYmIGZpcnN0Qnl0ZSA9PT0gNDtcblxuICAgIHJldHVybiB2YWxpZENvbXByZXNzZWQgfHwgdmFsaWRVbmNvbXByZXNzZWQ7XG4gIH1cblxuICAvKipcbiAgICogRW5jb2RlcyBhIHZhbHVlIGludG8gQ0JPUiBmb3JtYXQgYW5kIHJldHVybnMgaXQgYXMgYSBoZXggc3RyaW5nLlxuICAgKlxuICAgKiBAcGFyYW0ge3Vua25vd259IHZhbHVlIC0gVGhlIHZhbHVlIHRvIGVuY29kZS5cbiAgICogQHJldHVybnMge3N0cmluZ30gLSBUaGUgQ0JPUiBlbmNvZGVkIHZhbHVlIGFzIGEgaGV4IHN0cmluZy5cbiAgICovXG4gIGNib3JFbmNvZGUodmFsdWU6IHVua25vd24pOiBzdHJpbmcge1xuICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1ZhbHVlIHRvIGVuY29kZSBjYW5ub3QgYmUgdW5kZWZpbmVkLicpO1xuICAgIH1cbiAgICBjb25zdCBjYm9yRGF0YSA9IGVuY29kZSh2YWx1ZSk7XG4gICAgcmV0dXJuIEJ1ZmZlci5mcm9tKGNib3JEYXRhKS50b1N0cmluZygnaGV4Jyk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSBsZW5ndGggb2YgdGhlIGdpdmVuIGhleGFkZWNpbWFsIHN0cmluZyBpcyB2YWxpZC5cbiAgICogQSB2YWxpZCBsZW5ndGggaXMgZWl0aGVyIDY2IGNoYXJhY3RlcnMgKDMzIGJ5dGVzKSBvciAxMzAgY2hhcmFjdGVycyAoNjUgYnl0ZXMpLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gaGV4U3RyIC0gVGhlIGhleGFkZWNpbWFsIHN0cmluZyB0byBjaGVjay5cbiAgICogQHJldHVybnMge2Jvb2xlYW59IC0gUmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGxlbmd0aCBpcyB2YWxpZCwgb3RoZXJ3aXNlIGBmYWxzZWAuXG4gICAqL1xuICBpc1ZhbGlkTGVuZ3RoKGhleFN0cjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGhleFN0ci5sZW5ndGggLyAyID09PSAzMyB8fCBoZXhTdHIubGVuZ3RoIC8gMiA9PT0gNjU7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSBwcm92aWRlZCBzdHJpbmcgaXMgYSB2YWxpZCBoZXhhZGVjaW1hbCBzdHJpbmcuXG4gICAqXG4gICAqIEEgdmFsaWQgaGV4YWRlY2ltYWwgc3RyaW5nIGNvbnNpc3RzIG9mIHBhaXJzIG9mIGhleGFkZWNpbWFsIGRpZ2l0cyAoMC05LCBhLWYsIEEtRikuXG4gICAqXG4gICAqIEBwYXJhbSBoZXhTdHIgLSBUaGUgc3RyaW5nIHRvIGJlIHZhbGlkYXRlZCBhcyBhIGhleGFkZWNpbWFsIHN0cmluZy5cbiAgICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgc3RyaW5nIGlzIGEgdmFsaWQgaGV4YWRlY2ltYWwgc3RyaW5nLCBmYWxzZSBvdGhlcndpc2UuXG4gICAqL1xuICBpc1ZhbGlkSGV4KGhleFN0cjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIC9eKFswLTlhLWZBLUZdezJ9KSskLy50ZXN0KGhleFN0cik7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYSBoZXhhZGVjaW1hbCBzdHJpbmcgdG8gYSBVaW50OEFycmF5LlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gaGV4IC0gVGhlIGhleGFkZWNpbWFsIHN0cmluZyB0byBjb252ZXJ0LlxuICAgKiBAcmV0dXJucyB7VWludDhBcnJheX0gVGhlIHJlc3VsdGluZyBieXRlIGFycmF5LlxuICAgKi9cbiAgaGV4VG9CeXRlcyhoZXg6IHN0cmluZyk6IFVpbnQ4QXJyYXkge1xuICAgIGNvbnN0IGJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkoaGV4Lmxlbmd0aCAvIDIpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaGV4Lmxlbmd0aDsgaSArPSAyKSB7XG4gICAgICBieXRlc1tpIC8gMl0gPSBwYXJzZUludChoZXguc3Vic3RyKGksIDIpLCAxNik7XG4gICAgfVxuICAgIHJldHVybiBieXRlcztcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpc1ZhbGlkUHJpdmF0ZUtleShrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWRLZXkoa2V5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgd2hldGhlciB0aGUgcHJvdmlkZWQga2V5IGlzIGEgdmFsaWQgSUNQIHByaXZhdGUga2V5LlxuICAgKlxuICAgKiBUaGlzIGZ1bmN0aW9uIGF0dGVtcHRzIHRvIGNyZWF0ZSBhIG5ldyBpbnN0YW5jZSBvZiBgSWNwS2V5UGFpcmAgdXNpbmcgdGhlIHByb3ZpZGVkIGtleS5cbiAgICogSWYgdGhlIGtleSBpcyB2YWxpZCwgdGhlIGZ1bmN0aW9uIHJldHVybnMgYHRydWVgLiBJZiB0aGUga2V5IGlzIGludmFsaWQsIGFuIGVycm9yIGlzIHRocm93bixcbiAgICogYW5kIHRoZSBmdW5jdGlvbiByZXR1cm5zIGBmYWxzZWAuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgLSBUaGUgcHJpdmF0ZSBrZXkgdG8gdmFsaWRhdGUuXG4gICAqIEByZXR1cm5zIHtib29sZWFufSAtIGB0cnVlYCBpZiB0aGUga2V5IGlzIHZhbGlkLCBgZmFsc2VgIG90aGVyd2lzZS5cbiAgICovXG4gIGlzVmFsaWRLZXkoa2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICB0cnkge1xuICAgICAgbmV3IEljcEtleVBhaXIoeyBwcnY6IGtleSB9KTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDb21wcmVzc2VzIGFuIHVuY29tcHJlc3NlZCBwdWJsaWMga2V5LlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdW5jb21wcmVzc2VkS2V5IC0gVGhlIHVuY29tcHJlc3NlZCBwdWJsaWMga2V5IGluIGhleGFkZWNpbWFsIGZvcm1hdC5cbiAgICogQHJldHVybnMge3N0cmluZ30gLSBUaGUgY29tcHJlc3NlZCBwdWJsaWMga2V5IGluIGhleGFkZWNpbWFsIGZvcm1hdC5cbiAgICogQHRocm93cyB7RXJyb3J9IC0gSWYgdGhlIGlucHV0IGtleSBpcyBub3QgYSB2YWxpZCB1bmNvbXByZXNzZWQgcHVibGljIGtleS5cbiAgICovXG4gIGNvbXByZXNzUHVibGljS2V5KHVuY29tcHJlc3NlZEtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAodW5jb21wcmVzc2VkS2V5LnN0YXJ0c1dpdGgoJzAyJykgfHwgdW5jb21wcmVzc2VkS2V5LnN0YXJ0c1dpdGgoJzAzJykpIHtcbiAgICAgIHJldHVybiB1bmNvbXByZXNzZWRLZXk7XG4gICAgfVxuICAgIGlmICghdW5jb21wcmVzc2VkS2V5LnN0YXJ0c1dpdGgoJzA0JykgfHwgdW5jb21wcmVzc2VkS2V5Lmxlbmd0aCAhPT0gMTMwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdW5jb21wcmVzc2VkIHB1YmxpYyBrZXkgZm9ybWF0LicpO1xuICAgIH1cblxuICAgIGNvbnN0IHhIZXggPSB1bmNvbXByZXNzZWRLZXkuc2xpY2UoMiwgNjYpO1xuICAgIGNvbnN0IHlIZXggPSB1bmNvbXByZXNzZWRLZXkuc2xpY2UoNjYpO1xuICAgIGNvbnN0IHkgPSBCaWdJbnQoYDB4JHt5SGV4fWApO1xuICAgIGNvbnN0IHByZWZpeCA9IHkgJSAybiA9PT0gMG4gPyAnMDInIDogJzAzJztcblxuICAgIHJldHVybiBgJHtwcmVmaXh9JHt4SGV4fWA7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYSBwdWJsaWMga2V5IGZyb20gaXRzIGhleGFkZWNpbWFsIHN0cmluZyByZXByZXNlbnRhdGlvbiB0byBERVIgZm9ybWF0LlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gcHVibGljS2V5SGV4IC0gVGhlIHB1YmxpYyBrZXkgaW4gaGV4YWRlY2ltYWwgc3RyaW5nIGZvcm1hdC5cbiAgICogQHJldHVybnMgVGhlIHB1YmxpYyBrZXkgaW4gREVSIGZvcm1hdCBhcyBhIFVpbnQ4QXJyYXkuXG4gICAqL1xuICBnZXRQdWJsaWNLZXlJbkRFUkZvcm1hdChwdWJsaWNLZXlIZXg6IHN0cmluZyk6IFVpbnQ4QXJyYXkge1xuICAgIGNvbnN0IHB1YmxpY0tleUJ1ZmZlciA9IEJ1ZmZlci5mcm9tKHB1YmxpY0tleUhleCwgJ2hleCcpO1xuICAgIGNvbnN0IGVsbGlwdGljS2V5ID0gc2VjcDI1NmsxLlByb2plY3RpdmVQb2ludC5mcm9tSGV4KHB1YmxpY0tleUJ1ZmZlci50b1N0cmluZygnaGV4JykpO1xuICAgIGNvbnN0IHVuY29tcHJlc3NlZFB1YmxpY0tleUhleCA9IGVsbGlwdGljS2V5LnRvSGV4KGZhbHNlKTtcbiAgICBjb25zdCBkZXJFbmNvZGVkS2V5ID0gYWdlbnQud3JhcERFUihCdWZmZXIuZnJvbSh1bmNvbXByZXNzZWRQdWJsaWNLZXlIZXgsICdoZXgnKSwgYWdlbnQuU0VDUDI1NksxX09JRCk7XG4gICAgcmV0dXJuIGRlckVuY29kZWRLZXk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYSBwdWJsaWMga2V5IGluIGhleGFkZWNpbWFsIGZvcm1hdCB0byBhIERmaW5pdHkgUHJpbmNpcGFsIElELlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gcHVibGljS2V5SGV4IC0gVGhlIHB1YmxpYyBrZXkgaW4gaGV4YWRlY2ltYWwgZm9ybWF0LlxuICAgKiBAcmV0dXJucyBUaGUgY29ycmVzcG9uZGluZyBEZmluaXR5IFByaW5jaXBhbCBJRC5cbiAgICovXG4gIGdldFByaW5jaXBhbElkRnJvbVB1YmxpY0tleShwdWJsaWNLZXlIZXg6IHN0cmluZyk6IERmaW5pdHlQcmluY2lwYWwge1xuICAgIGNvbnN0IGRlckVuY29kZWRLZXkgPSB0aGlzLmdldFB1YmxpY0tleUluREVSRm9ybWF0KHB1YmxpY0tleUhleCk7XG4gICAgY29uc3QgcHJpbmNpcGFsSWQgPSBEZmluaXR5UHJpbmNpcGFsLnNlbGZBdXRoZW50aWNhdGluZyhCdWZmZXIuZnJvbShkZXJFbmNvZGVkS2V5KSk7XG4gICAgcmV0dXJuIHByaW5jaXBhbElkO1xuICB9XG5cbiAgLyoqXG4gICAqIERlcml2ZXMgYSBEZmluaXR5UHJpbmNpcGFsIGZyb20gYSBnaXZlbiBwdWJsaWMga2V5IGluIGhleGFkZWNpbWFsIGZvcm1hdC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHB1YmxpY0tleUhleCAtIFRoZSBwdWJsaWMga2V5IGluIGhleGFkZWNpbWFsIGZvcm1hdC5cbiAgICogQHJldHVybnMgVGhlIGRlcml2ZWQgRGZpbml0eVByaW5jaXBhbC5cbiAgICogQHRocm93cyBXaWxsIHRocm93IGFuIGVycm9yIGlmIHRoZSBwcmluY2lwYWwgY2Fubm90IGJlIGRlcml2ZWQgZnJvbSB0aGUgcHVibGljIGtleS5cbiAgICovXG4gIGRlcml2ZVByaW5jaXBhbEZyb21QdWJsaWNLZXkocHVibGljS2V5SGV4OiBzdHJpbmcpOiBEZmluaXR5UHJpbmNpcGFsIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgZGVyRW5jb2RlZEtleSA9IHRoaXMuZ2V0UHVibGljS2V5SW5ERVJGb3JtYXQocHVibGljS2V5SGV4KTtcbiAgICAgIGNvbnN0IHByaW5jaXBhbElkID0gRGZpbml0eVByaW5jaXBhbC5zZWxmQXV0aGVudGljYXRpbmcoQnVmZmVyLmZyb20oZGVyRW5jb2RlZEtleSkpO1xuICAgICAgY29uc3QgcHJpbmNpcGFsID0gRGZpbml0eVByaW5jaXBhbC5mcm9tVWludDhBcnJheShwcmluY2lwYWxJZC50b1VpbnQ4QXJyYXkoKSk7XG4gICAgICByZXR1cm4gcHJpbmNpcGFsO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBkZXJpdmUgcHJpbmNpcGFsIGZyb20gcHVibGljIGtleTogJHtlcnJvci5tZXNzYWdlfWApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyBhIERmaW5pdHlQcmluY2lwYWwgYW5kIGFuIG9wdGlvbmFsIHN1YkFjY291bnQgdG8gYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgYW4gYWNjb3VudCBJRC5cbiAgICpcbiAgICogQHBhcmFtIHtEZmluaXR5UHJpbmNpcGFsfSBwcmluY2lwYWwgLSBUaGUgcHJpbmNpcGFsIHRvIGNvbnZlcnQuXG4gICAqIEBwYXJhbSB7VWludDhBcnJheX0gW3N1YkFjY291bnQ9bmV3IFVpbnQ4QXJyYXkoMzIpXSAtIEFuIG9wdGlvbmFsIHN1Yi1hY2NvdW50LCBkZWZhdWx0cyB0byBhIDMyLWJ5dGUgYXJyYXkgb2YgemVyb3MuXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBoZXhhZGVjaW1hbCBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIGFjY291bnQgSUQuXG4gICAqL1xuICBmcm9tUHJpbmNpcGFsKHByaW5jaXBhbDogRGZpbml0eVByaW5jaXBhbCwgc3ViQWNjb3VudDogVWludDhBcnJheSA9IG5ldyBVaW50OEFycmF5KDMyKSk6IHN0cmluZyB7XG4gICAgY29uc3QgcHJpbmNpcGFsQnl0ZXMgPSBCdWZmZXIuZnJvbShwcmluY2lwYWwudG9VaW50OEFycmF5KCkuYnVmZmVyKTtcbiAgICByZXR1cm4gdGhpcy5nZXRBY2NvdW50SWRGcm9tUHJpbmNpcGFsQnl0ZXModGhpcy5nZXRBY2NvdW50SWRQcmVmaXgoKSwgcHJpbmNpcGFsQnl0ZXMsIHN1YkFjY291bnQpO1xuICB9XG5cbiAgZ2V0QWNjb3VudElkRnJvbVByaW5jaXBhbEJ5dGVzKFxuICAgIEFDQ09VTlRfSURfUFJFRklYOiBCdWZmZXI8QXJyYXlCdWZmZXI+LFxuICAgIHByaW5jaXBhbEJ5dGVzOiBCdWZmZXI8QXJyYXlCdWZmZXJMaWtlPixcbiAgICBzdWJBY2NvdW50OiBVaW50OEFycmF5PEFycmF5QnVmZmVyTGlrZT5cbiAgKTogc3RyaW5nIHtcbiAgICBjb25zdCBjb21iaW5lZEJ5dGVzID0gQnVmZmVyLmNvbmNhdChbQUNDT1VOVF9JRF9QUkVGSVgsIHByaW5jaXBhbEJ5dGVzLCBzdWJBY2NvdW50XSk7XG4gICAgY29uc3Qgc2hhMjI0SGFzaCA9IGNyeXB0by5jcmVhdGVIYXNoKCdzaGEyMjQnKS51cGRhdGUoY29tYmluZWRCeXRlcykuZGlnZXN0KCk7XG4gICAgY29uc3QgY2hlY2tzdW0gPSBCdWZmZXIuYWxsb2MoNCk7XG4gICAgY2hlY2tzdW0ud3JpdGVVSW50MzJCRShjcmMzMi5idWYoc2hhMjI0SGFzaCkgPj4+IDAsIDApO1xuICAgIGNvbnN0IGFjY291bnRJZEJ5dGVzID0gQnVmZmVyLmNvbmNhdChbY2hlY2tzdW0sIHNoYTIyNEhhc2hdKTtcbiAgICByZXR1cm4gYWNjb3VudElkQnl0ZXMudG9TdHJpbmcoJ2hleCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlcyB0aGUgYWRkcmVzcyBhc3NvY2lhdGVkIHdpdGggYSBnaXZlbiBoZXgtZW5jb2RlZCBwdWJsaWMga2V5LlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gaGV4RW5jb2RlZFB1YmxpY0tleSAtIFRoZSBwdWJsaWMga2V5IGluIGhleC1lbmNvZGVkIGZvcm1hdC5cbiAgICogQHJldHVybnMge1Byb21pc2U8c3RyaW5nPn0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gdGhlIGFkZHJlc3MgZGVyaXZlZCBmcm9tIHRoZSBwcm92aWRlZCBwdWJsaWMga2V5LlxuICAgKiBAdGhyb3dzIHtFcnJvcn0gVGhyb3dzIGFuIGVycm9yIGlmIHRoZSBwcm92aWRlZCBwdWJsaWMga2V5IGlzIG5vdCBpbiBhIHZhbGlkIGhleC1lbmNvZGVkIGZvcm1hdC5cbiAgICovXG4gIGFzeW5jIGdldEFkZHJlc3NGcm9tUHVibGljS2V5KGhleEVuY29kZWRQdWJsaWNLZXk6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWRQdWJsaWNLZXkoaGV4RW5jb2RlZFB1YmxpY0tleSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBoZXgtZW5jb2RlZCBwdWJsaWMga2V5IGZvcm1hdC4nKTtcbiAgICB9XG4gICAgY29uc3QgY29tcHJlc3NlZEtleSA9IHRoaXMuY29tcHJlc3NQdWJsaWNLZXkoaGV4RW5jb2RlZFB1YmxpY0tleSk7XG4gICAgY29uc3Qga2V5UGFpciA9IG5ldyBJY3BLZXlQYWlyKHsgcHViOiBjb21wcmVzc2VkS2V5IH0pO1xuICAgIHJldHVybiBrZXlQYWlyLmdldEFkZHJlc3MoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZXMgYSBuZXcga2V5IHBhaXIuIElmIGEgc2VlZCBpcyBwcm92aWRlZCwgaXQgd2lsbCBiZSB1c2VkIHRvIGdlbmVyYXRlIHRoZSBrZXkgcGFpci5cbiAgICpcbiAgICogQHBhcmFtIHtCdWZmZXJ9IFtzZWVkXSAtIE9wdGlvbmFsIHNlZWQgZm9yIGtleSBnZW5lcmF0aW9uLlxuICAgKiBAcmV0dXJucyB7S2V5UGFpcn0gLSBUaGUgZ2VuZXJhdGVkIGtleSBwYWlyIGNvbnRhaW5pbmcgYm90aCBwdWJsaWMgYW5kIHByaXZhdGUga2V5cy5cbiAgICogQHRocm93cyB7RXJyb3J9IC0gSWYgdGhlIHByaXZhdGUga2V5IGlzIG1pc3NpbmcgaW4gdGhlIGdlbmVyYXRlZCBrZXkgcGFpci5cbiAgICovXG4gIHB1YmxpYyBnZW5lcmF0ZUtleVBhaXIoc2VlZD86IEJ1ZmZlcik6IEtleVBhaXIge1xuICAgIGNvbnN0IGtleVBhaXIgPSBzZWVkID8gbmV3IEljcEtleVBhaXIoeyBzZWVkIH0pIDogbmV3IEljcEtleVBhaXIoKTtcbiAgICBjb25zdCB7IHB1YiwgcHJ2IH0gPSBrZXlQYWlyLmdldEtleXMoKTtcbiAgICBpZiAoIXBydikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdQcml2YXRlIGtleSBpcyBtaXNzaW5nIGluIHRoZSBnZW5lcmF0ZWQga2V5IHBhaXIuJyk7XG4gICAgfVxuICAgIHJldHVybiB7IHB1YiwgcHJ2IH07XG4gIH1cblxuICB2YWxpZGF0ZUZlZShmZWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChuZXcgQmlnTnVtYmVyKGZlZSkuaXNFcXVhbFRvKDApKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdGZWUgZXF1YWwgdG8gemVybycpO1xuICAgIH1cbiAgICBpZiAoZmVlICE9PSB0aGlzLmdhc0RhdGEoKSkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCBmZWUgdmFsdWUnKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVWYWx1ZSh2YWx1ZTogQmlnTnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKHZhbHVlLmlzTGVzc1RoYW5PckVxdWFsVG8oMCkpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ2Ftb3VudCBjYW5ub3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIHplcm8nKTtcbiAgICB9XG4gIH1cblxuICB2YWxpZGF0ZU1lbW8obWVtbzogbnVtYmVyIHwgQmlnSW50KTogdm9pZCB7XG4gICAgaWYgKE51bWJlcihtZW1vKSA8IDAgfHwgTnVtYmVyKG1lbW8pID09PSBudWxsIHx8IE51bWJlcihtZW1vKSA9PT0gdW5kZWZpbmVkIHx8IE51bWJlci5pc05hTihOdW1iZXIobWVtbykpKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIG1lbW8nKTtcbiAgICB9XG4gIH1cblxuICB2YWxpZGF0ZUV4cGlyZVRpbWUoZXhwaXJlVGltZTogbnVtYmVyIHwgQmlnSW50KTogdm9pZCB7XG4gICAgaWYgKE51bWJlcihleHBpcmVUaW1lKSA8IERhdGUubm93KCkgKiAxMDAwXzAwMCkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCBleHBpcnkgdGltZScpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgdGhlIHJhdyB0cmFuc2FjdGlvbiBkYXRhIHRvIGVuc3VyZSBpdCBoYXMgYSB2YWxpZCBmb3JtYXQgaW4gdGhlIGJsb2NrY2hhaW4gY29udGV4dC5cbiAgICpcbiAgICogQHBhcmFtIHtJY3BUcmFuc2FjdGlvbkRhdGF9IHRyYW5zYWN0aW9uRGF0YSAtIFRoZSB0cmFuc2FjdGlvbiBkYXRhIHRvIHZhbGlkYXRlLlxuICAgKiBAdGhyb3dzIHtQYXJzZVRyYW5zYWN0aW9uRXJyb3J9IElmIHRoZSB0cmFuc2FjdGlvbiBkYXRhIGlzIGludmFsaWQuXG4gICAqL1xuICB2YWxpZGF0ZVJhd1RyYW5zYWN0aW9uKHRyYW5zYWN0aW9uRGF0YTogSWNwVHJhbnNhY3Rpb25EYXRhKTogdm9pZCB7XG4gICAgaWYgKCF0cmFuc2FjdGlvbkRhdGEpIHtcbiAgICAgIHRocm93IG5ldyBQYXJzZVRyYW5zYWN0aW9uRXJyb3IoJ1RyYW5zYWN0aW9uIGRhdGEgaXMgbWlzc2luZy4nKTtcbiAgICB9XG4gICAgY29uc3QgeyBzZW5kZXJQdWJsaWNLZXlIZXgsIHNlbmRlckFkZHJlc3MsIHJlY2VpdmVyQWRkcmVzcyB9ID0gdHJhbnNhY3Rpb25EYXRhO1xuICAgIGlmICghdGhpcy5pc1ZhbGlkUHVibGljS2V5KHNlbmRlclB1YmxpY0tleUhleCkpIHtcbiAgICAgIHRocm93IG5ldyBQYXJzZVRyYW5zYWN0aW9uRXJyb3IoJ1NlbmRlciBwdWJsaWMga2V5IGlzIGludmFsaWQuJyk7XG4gICAgfVxuICAgIGlmICghdGhpcy5pc1ZhbGlkQWRkcmVzcyhzZW5kZXJBZGRyZXNzKSkge1xuICAgICAgdGhyb3cgbmV3IFBhcnNlVHJhbnNhY3Rpb25FcnJvcignU2VuZGVyIGFkZHJlc3MgaXMgaW52YWxpZC4nKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLmlzVmFsaWRBZGRyZXNzKHJlY2VpdmVyQWRkcmVzcykpIHtcbiAgICAgIHRocm93IG5ldyBQYXJzZVRyYW5zYWN0aW9uRXJyb3IoJ1JlY2VpdmVyIGFkZHJlc3MgaXMgaW52YWxpZC4nKTtcbiAgICB9XG4gICAgdGhpcy52YWxpZGF0ZUZlZSh0cmFuc2FjdGlvbkRhdGEuZmVlKTtcbiAgICB0aGlzLnZhbGlkYXRlVmFsdWUobmV3IEJpZ051bWJlcih0cmFuc2FjdGlvbkRhdGEuYW1vdW50KSk7XG4gICAgdGhpcy52YWxpZGF0ZU1lbW8odHJhbnNhY3Rpb25EYXRhLm1lbW8pO1xuICAgIHRoaXMudmFsaWRhdGVFeHBpcmVUaW1lKHRyYW5zYWN0aW9uRGF0YS5leHBpcnlUaW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0ge29iamVjdH0gdXBkYXRlXG4gICAqIEByZXR1cm5zIHtCdWZmZXJ9XG4gICAqL1xuICBnZW5lcmF0ZUh0dHBDYW5pc3RlclVwZGF0ZUlkKHVwZGF0ZTogSHR0cENhbmlzdGVyVXBkYXRlKTogQnVmZmVyIHtcbiAgICByZXR1cm4gdGhpcy5IdHRwQ2FuaXN0ZXJVcGRhdGVSZXByZXNlbnRhdGlvbkluZGVwZW5kZW50SGFzaCh1cGRhdGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlcyBhIHJlcHJlc2VudGF0aW9uLWluZGVwZW5kZW50IGhhc2ggZm9yIGFuIEhUVFAgY2FuaXN0ZXIgdXBkYXRlLlxuICAgKlxuICAgKiBAcGFyYW0ge0h0dHBDYW5pc3RlclVwZGF0ZX0gdXBkYXRlIC0gVGhlIEhUVFAgY2FuaXN0ZXIgdXBkYXRlIG9iamVjdC5cbiAgICogQHJldHVybnMge0J1ZmZlcn0gLSBUaGUgaGFzaCBvZiB0aGUgdXBkYXRlIG9iamVjdC5cbiAgICovXG4gIEh0dHBDYW5pc3RlclVwZGF0ZVJlcHJlc2VudGF0aW9uSW5kZXBlbmRlbnRIYXNoKHVwZGF0ZTogSHR0cENhbmlzdGVyVXBkYXRlKTogQnVmZmVyIHtcbiAgICBjb25zdCB1cGRhdGVNYXAgPSB7XG4gICAgICByZXF1ZXN0X3R5cGU6IFJlcXVlc3RUeXBlLkNBTEwsXG4gICAgICBjYW5pc3Rlcl9pZDogdXBkYXRlLmNhbmlzdGVyX2lkLFxuICAgICAgbWV0aG9kX25hbWU6IHVwZGF0ZS5tZXRob2RfbmFtZSxcbiAgICAgIGFyZzogdXBkYXRlLmFyZyxcbiAgICAgIGluZ3Jlc3NfZXhwaXJ5OiB1cGRhdGUuaW5ncmVzc19leHBpcnksXG4gICAgICBzZW5kZXI6IHVwZGF0ZS5zZW5kZXIsXG4gICAgfTtcbiAgICByZXR1cm4gdGhpcy5oYXNoT2ZNYXAodXBkYXRlTWFwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZXMgYSBTSEEtMjU2IGhhc2ggZm9yIGEgZ2l2ZW4gbWFwIG9iamVjdC5cbiAgICpcbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCB1bmtub3duPn0gbWFwIC0gVGhlIG1hcCBvYmplY3QgdG8gaGFzaC5cbiAgICogQHJldHVybnMge0J1ZmZlcn0gLSBUaGUgcmVzdWx0aW5nIGhhc2ggYXMgYSBCdWZmZXIuXG4gICAqL1xuICBoYXNoT2ZNYXAobWFwOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogQnVmZmVyIHtcbiAgICBjb25zdCBoYXNoZXM6IEJ1ZmZlcltdID0gW107XG4gICAgZm9yIChjb25zdCBrZXkgaW4gbWFwKSB7XG4gICAgICBoYXNoZXMucHVzaCh0aGlzLmhhc2hLZXlWYWwoa2V5LCBtYXBba2V5XSkpO1xuICAgIH1cbiAgICBoYXNoZXMuc29ydCgoYnVmMCwgYnVmMSkgPT4gYnVmMC5jb21wYXJlKGJ1ZjEpKTtcbiAgICByZXR1cm4gdGhpcy5zaGEyNTYoaGFzaGVzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZXMgYSBoYXNoIGZvciBhIGtleS12YWx1ZSBwYWlyLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IC0gVGhlIGtleSB0byBoYXNoLlxuICAgKiBAcGFyYW0ge3N0cmluZyB8IEJ1ZmZlciB8IEJpZ0ludH0gdmFsIC0gVGhlIHZhbHVlIHRvIGhhc2guXG4gICAqIEByZXR1cm5zIHtCdWZmZXJ9IC0gVGhlIHJlc3VsdGluZyBoYXNoIGFzIGEgQnVmZmVyLlxuICAgKi9cbiAgaGFzaEtleVZhbChrZXk6IHN0cmluZywgdmFsOiBhbnkpOiBCdWZmZXIge1xuICAgIGNvbnN0IGtleUhhc2ggPSB0aGlzLmhhc2hTdHJpbmcoa2V5KTtcbiAgICBjb25zdCB2YWxIYXNoID0gdGhpcy5oYXNoVmFsKHZhbCk7XG4gICAgcmV0dXJuIEJ1ZmZlci5jb25jYXQoW2tleUhhc2gsIHZhbEhhc2hdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZXMgYSBTSEEtMjU2IGhhc2ggZm9yIGEgZ2l2ZW4gc3RyaW5nLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdmFsdWUgLSBUaGUgc3RyaW5nIHRvIGhhc2guXG4gICAqIEByZXR1cm5zIHtCdWZmZXJ9IC0gVGhlIHJlc3VsdGluZyBoYXNoIGFzIGEgQnVmZmVyLlxuICAgKi9cbiAgaGFzaFN0cmluZyh2YWx1ZTogc3RyaW5nKTogQnVmZmVyIHtcbiAgICByZXR1cm4gdGhpcy5zaGEyNTYoW0J1ZmZlci5mcm9tKHZhbHVlKV0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlcyBhIGhhc2ggZm9yIGEgNjQtYml0IHVuc2lnbmVkIGludGVnZXIuXG4gICAqXG4gICAqIEBwYXJhbSB7YmlnaW50fSBuIC0gVGhlIDY0LWJpdCB1bnNpZ25lZCBpbnRlZ2VyIHRvIGhhc2guXG4gICAqIEByZXR1cm5zIHtCdWZmZXJ9IC0gVGhlIHJlc3VsdGluZyBoYXNoIGFzIGEgQnVmZmVyLlxuICAgKi9cbiAgaGFzaFU2NChuOiBiaWdpbnQpOiBCdWZmZXIge1xuICAgIGNvbnN0IGJ1ZiA9IEJ1ZmZlci5hbGxvY1Vuc2FmZSgxMCk7XG4gICAgbGV0IGkgPSAwO1xuICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICBjb25zdCBieXRlID0gTnVtYmVyKG4gJiBCaWdJbnQoMHg3ZikpO1xuICAgICAgbiA+Pj0gQmlnSW50KDcpO1xuICAgICAgaWYgKG4gPT09IEJpZ0ludCgwKSkge1xuICAgICAgICBidWZbaV0gPSBieXRlO1xuICAgICAgICBicmVhaztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGJ1ZltpXSA9IGJ5dGUgfCAweDgwO1xuICAgICAgICArK2k7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmhhc2hCeXRlcyhidWYuc3ViYXJyYXkoMCwgaSArIDEpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZXMgYSBTSEEtMjU2IGhhc2ggZm9yIGFuIGFycmF5IG9mIGVsZW1lbnRzLlxuICAgKlxuICAgKiBAcGFyYW0ge0FycmF5PGFueT59IGVsZW1lbnRzIC0gVGhlIGFycmF5IG9mIGVsZW1lbnRzIHRvIGhhc2guXG4gICAqIEByZXR1cm5zIHtCdWZmZXJ9IC0gVGhlIHJlc3VsdGluZyBoYXNoIGFzIGEgQnVmZmVyLlxuICAgKi9cbiAgaGFzaEFycmF5KGVsZW1lbnRzOiBBcnJheTxhbnk+KTogQnVmZmVyIHtcbiAgICByZXR1cm4gdGhpcy5zaGEyNTYoZWxlbWVudHMubWFwKHRoaXMuaGFzaFZhbCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlcyBhIGhhc2ggZm9yIGEgZ2l2ZW4gdmFsdWUuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nIHwgQnVmZmVyIHwgQmlnSW50IHwgbnVtYmVyIHwgQXJyYXk8dW5rbm93bj59IHZhbCAtIFRoZSB2YWx1ZSB0byBoYXNoLlxuICAgKiBAcmV0dXJucyB7QnVmZmVyfSAtIFRoZSByZXN1bHRpbmcgaGFzaCBhcyBhIEJ1ZmZlci5cbiAgICogQHRocm93cyB7RXJyb3J9IC0gSWYgdGhlIHZhbHVlIHR5cGUgaXMgdW5zdXBwb3J0ZWQuXG4gICAqL1xuICBoYXNoVmFsKHZhbDogc3RyaW5nIHwgQnVmZmVyIHwgQmlnSW50IHwgbnVtYmVyIHwgQXJyYXk8dW5rbm93bj4pOiBCdWZmZXIge1xuICAgIGlmICh0eXBlb2YgdmFsID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIHV0aWxzLmhhc2hTdHJpbmcodmFsKTtcbiAgICB9IGVsc2UgaWYgKEJ1ZmZlci5pc0J1ZmZlcih2YWwpKSB7XG4gICAgICByZXR1cm4gdXRpbHMuaGFzaEJ5dGVzKHZhbCk7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsID09PSAnYmlnaW50JyB8fCB0eXBlb2YgdmFsID09PSAnbnVtYmVyJykge1xuICAgICAgcmV0dXJuIHV0aWxzLmhhc2hVNjQoQmlnSW50KHZhbCkpO1xuICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheSh2YWwpKSB7XG4gICAgICByZXR1cm4gdXRpbHMuaGFzaEFycmF5KHZhbCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5zdXBwb3J0ZWQgdmFsdWUgdHlwZSBmb3IgaGFzaGluZzogJHt0eXBlb2YgdmFsfWApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDb21wdXRlcyB0aGUgU0hBLTI1NiBoYXNoIG9mIHRoZSBnaXZlbiBidWZmZXIuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSBidWZmZXIgdG8gaGFzaC5cbiAgICogQHJldHVybnMgVGhlIFNIQS0yNTYgaGFzaCBvZiB0aGUgaW5wdXQgYnVmZmVyLlxuICAgKi9cbiAgaGFzaEJ5dGVzKHZhbHVlOiBCdWZmZXIpOiBCdWZmZXIge1xuICAgIHJldHVybiB0aGlzLnNoYTI1NihbdmFsdWVdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb21wdXRlcyB0aGUgU0hBLTI1NiBoYXNoIG9mIHRoZSBwcm92aWRlZCBhcnJheSBvZiBCdWZmZXIgY2h1bmtzLlxuICAgKlxuICAgKiBAcGFyYW0ge0FycmF5PEJ1ZmZlcj59IGNodW5rcyAtIEFuIGFycmF5IG9mIEJ1ZmZlciBvYmplY3RzIHRvIGJlIGhhc2hlZC5cbiAgICogQHJldHVybnMge0J1ZmZlcn0gLSBUaGUgcmVzdWx0aW5nIFNIQS0yNTYgaGFzaCBhcyBhIEJ1ZmZlci5cbiAgICovXG4gIHNoYTI1NihjaHVua3M6IEFycmF5PEJ1ZmZlcj4pOiBCdWZmZXIge1xuICAgIGNvbnN0IGhhc2hlciA9IGpzX3NoYTI1Ni5zaGEyNTYuY3JlYXRlKCk7XG4gICAgY2h1bmtzLmZvckVhY2goKGNodW5rKSA9PiBoYXNoZXIudXBkYXRlKGNodW5rKSk7XG4gICAgcmV0dXJuIEJ1ZmZlci5mcm9tKGhhc2hlci5hcnJheUJ1ZmZlcigpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyBhIGhleGFkZWNpbWFsIHN0cmluZyB0byBhIEJ1ZmZlci5cbiAgICpcbiAgICogQHBhcmFtIGhleCAtIFRoZSBoZXhhZGVjaW1hbCBzdHJpbmcgdG8gY29udmVydC5cbiAgICogQHJldHVybnMgQSBCdWZmZXIgY29udGFpbmluZyB0aGUgYmluYXJ5IGRhdGEgcmVwcmVzZW50ZWQgYnkgdGhlIGhleGFkZWNpbWFsIHN0cmluZy5cbiAgICovXG4gIGJsb2JGcm9tSGV4KGhleDogc3RyaW5nKTogQnVmZmVyIHtcbiAgICByZXR1cm4gQnVmZmVyLmZyb20oaGV4LCAnaGV4Jyk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYSBiaW5hcnkgYmxvYiAoQnVmZmVyKSB0byBhIGhleGFkZWNpbWFsIHN0cmluZy5cbiAgICpcbiAgICogQHBhcmFtIHtCdWZmZXJ9IGJsb2IgLSBUaGUgYmluYXJ5IGRhdGEgdG8gYmUgY29udmVydGVkLlxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgaGV4YWRlY2ltYWwgcmVwcmVzZW50YXRpb24gb2YgdGhlIGJpbmFyeSBkYXRhLlxuICAgKi9cbiAgYmxvYlRvSGV4KGJsb2I6IEJ1ZmZlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIGJsb2IudG9TdHJpbmcoJ2hleCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlY29kZXMgYSBnaXZlbiBDQk9SLWVuY29kZWQgYnVmZmVyLlxuICAgKlxuICAgKiBAcGFyYW0gYnVmZmVyIC0gVGhlIENCT1ItZW5jb2RlZCBidWZmZXIgdG8gZGVjb2RlLlxuICAgKiBAcmV0dXJucyBUaGUgZGVjb2RlZCBkYXRhLlxuICAgKi9cbiAgY2JvckRlY29kZShidWZmZXI6IEJ1ZmZlcik6IHVua25vd24ge1xuICAgIGNvbnN0IHJlcyA9IGRlY29kZShidWZmZXIpO1xuICAgIHJldHVybiByZXM7XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGVzIGEgQnVmZmVyIGNvbnRhaW5pbmcgdGhlIGRvbWFpbiBJQyByZXF1ZXN0IHN0cmluZy5cbiAgICpcbiAgICogQHJldHVybnMge0J1ZmZlcn0gQSBCdWZmZXIgb2JqZWN0IGluaXRpYWxpemVkIHdpdGggdGhlIHN0cmluZyAnXFx4MEFpYy1yZXF1ZXN0Jy5cbiAgICovXG4gIGdldERvbWFpbklDUmVxdWVzdCgpOiBCdWZmZXIge1xuICAgIHJldHVybiBCdWZmZXIuZnJvbSgnXFx4MEFpYy1yZXF1ZXN0Jyk7XG4gIH1cblxuICAvKipcbiAgICogQ29tYmluZXMgdGhlIGRvbWFpbiBJQyByZXF1ZXN0IGJ1ZmZlciB3aXRoIHRoZSBwcm92aWRlZCBtZXNzYWdlIElEIGJ1ZmZlciB0byBjcmVhdGUgc2lnbmF0dXJlIGRhdGEuXG4gICAqXG4gICAqIEBwYXJhbSB7QnVmZmVyfSBtZXNzYWdlSWQgLSBUaGUgYnVmZmVyIGNvbnRhaW5pbmcgdGhlIG1lc3NhZ2UgSUQuXG4gICAqIEByZXR1cm5zIHtCdWZmZXJ9IC0gVGhlIGNvbmNhdGVuYXRlZCBidWZmZXIgY29udGFpbmluZyB0aGUgZG9tYWluIElDIHJlcXVlc3QgYW5kIHRoZSBtZXNzYWdlIElELlxuICAgKi9cbiAgbWFrZVNpZ25hdHVyZURhdGEobWVzc2FnZUlkOiBCdWZmZXIpOiBCdWZmZXIge1xuICAgIHJldHVybiBCdWZmZXIuY29uY2F0KFt0aGlzLmdldERvbWFpbklDUmVxdWVzdCgpLCBtZXNzYWdlSWRdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZXMgYSByZWFkIHN0YXRlIG9iamVjdCBmcm9tIGFuIEhUVFAgY2FuaXN0ZXIgdXBkYXRlLlxuICAgKlxuICAgKiBAcGFyYW0ge0h0dHBDYW5pc3RlclVwZGF0ZX0gdXBkYXRlIC0gVGhlIEhUVFAgY2FuaXN0ZXIgdXBkYXRlIG9iamVjdC5cbiAgICogQHJldHVybnMge1JlYWRTdGF0ZX0gVGhlIHJlYWQgc3RhdGUgb2JqZWN0IGNvbnRhaW5pbmcgdGhlIHNlbmRlciwgcGF0aHMsIGFuZCBpbmdyZXNzIGV4cGlyeS5cbiAgICovXG4gIG1ha2VSZWFkU3RhdGVGcm9tVXBkYXRlKHVwZGF0ZTogSHR0cENhbmlzdGVyVXBkYXRlKTogUmVhZFN0YXRlIHtcbiAgICByZXR1cm4ge1xuICAgICAgc2VuZGVyOiB1cGRhdGUuc2VuZGVyLFxuICAgICAgcGF0aHM6IFtbQnVmZmVyLmZyb20oUkVRVUVTVF9TVEFUVVMpLCB0aGlzLmdlbmVyYXRlSHR0cENhbmlzdGVyVXBkYXRlSWQodXBkYXRlKV1dLFxuICAgICAgaW5ncmVzc19leHBpcnk6IHVwZGF0ZS5pbmdyZXNzX2V4cGlyeSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlcyBhIHJlcHJlc2VudGF0aW9uLWluZGVwZW5kZW50IGhhc2ggZm9yIGFuIEhUVFAgcmVhZCBzdGF0ZSBvYmplY3QuXG4gICAqXG4gICAqIEBwYXJhbSB7UmVhZFN0YXRlfSByZWFkU3RhdGUgLSBUaGUgSFRUUCByZWFkIHN0YXRlIG9iamVjdC5cbiAgICogQHJldHVybnMge0J1ZmZlcn0gLSBUaGUgaGFzaCBvZiB0aGUgcmVhZCBzdGF0ZSBvYmplY3QuXG4gICAqL1xuICBIdHRwUmVhZFN0YXRlUmVwcmVzZW50YXRpb25JbmRlcGVuZGVudEhhc2gocmVhZFN0YXRlOiBSZWFkU3RhdGUpOiBCdWZmZXIge1xuICAgIHJldHVybiB0aGlzLmhhc2hPZk1hcCh7XG4gICAgICByZXF1ZXN0X3R5cGU6IFJlcXVlc3RUeXBlLlJFQURfU1RBVEUsXG4gICAgICBpbmdyZXNzX2V4cGlyeTogcmVhZFN0YXRlLmluZ3Jlc3NfZXhwaXJ5LFxuICAgICAgcGF0aHM6IHJlYWRTdGF0ZS5wYXRocyxcbiAgICAgIHNlbmRlcjogcmVhZFN0YXRlLnNlbmRlcixcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeHRyYWN0cyB0aGUgcmVjaXBpZW50IGluZm9ybWF0aW9uIGZyb20gdGhlIHByb3ZpZGVkIElDUCB0cmFuc2FjdGlvbiBkYXRhLlxuICAgKlxuICAgKiBAcGFyYW0ge0ljcFRyYW5zYWN0aW9uRGF0YX0gaWNwVHJhbnNhY3Rpb25EYXRhIC0gVGhlIElDUCB0cmFuc2FjdGlvbiBkYXRhIGNvbnRhaW5pbmcgdGhlIHJlY2VpdmVyJ3MgYWRkcmVzcyBhbmQgYW1vdW50LlxuICAgKiBAcmV0dXJucyB7UmVjaXBpZW50W119IEFuIGFycmF5IGNvbnRhaW5pbmcgYSBzaW5nbGUgcmVjaXBpZW50IG9iamVjdCB3aXRoIHRoZSByZWNlaXZlcidzIGFkZHJlc3MgYW5kIGFtb3VudC5cbiAgICovXG4gIGdldFJlY2lwaWVudHMoaWNwVHJhbnNhY3Rpb25EYXRhOiBJY3BUcmFuc2FjdGlvbkRhdGEpOiBSZWNpcGllbnQge1xuICAgIHJldHVybiB7XG4gICAgICBhZGRyZXNzOiBpY3BUcmFuc2FjdGlvbkRhdGEucmVjZWl2ZXJBZGRyZXNzLFxuICAgICAgYW1vdW50OiBpY3BUcmFuc2FjdGlvbkRhdGEuYW1vdW50LFxuICAgIH07XG4gIH1cblxuICBnZXRUcmFuc2FjdGlvblNpZ25hdHVyZShzaWduYXR1cmVNYXA6IE1hcDxzdHJpbmcsIFNpZ25hdHVyZXM+LCB1cGRhdGU6IEh0dHBDYW5pc3RlclVwZGF0ZSk6IFNpZ25hdHVyZXMgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBzaWduYXR1cmVNYXAuZ2V0KHRoaXMuYmxvYlRvSGV4KHRoaXMubWFrZVNpZ25hdHVyZURhdGEodGhpcy5nZW5lcmF0ZUh0dHBDYW5pc3RlclVwZGF0ZUlkKHVwZGF0ZSkpKSk7XG4gIH1cblxuICBnZXRSZWFkU3RhdGVTaWduYXR1cmUoc2lnbmF0dXJlTWFwOiBNYXA8c3RyaW5nLCBTaWduYXR1cmVzPiwgcmVhZFN0YXRlOiBSZWFkU3RhdGUpOiBTaWduYXR1cmVzIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gc2lnbmF0dXJlTWFwLmdldChcbiAgICAgIHRoaXMuYmxvYlRvSGV4KHRoaXMubWFrZVNpZ25hdHVyZURhdGEodGhpcy5IdHRwUmVhZFN0YXRlUmVwcmVzZW50YXRpb25JbmRlcGVuZGVudEhhc2gocmVhZFN0YXRlKSkpXG4gICAgKTtcbiAgfVxuXG4gIGdldE1ldGFEYXRhKG1lbW86IG51bWJlciB8IEJpZ0ludCk6IHsgbWV0YURhdGE6IEljcE1ldGFkYXRhOyBpbmdyZXNzRW5kVGltZTogbnVtYmVyIHwgQmlnSW50IH0ge1xuICAgIGNvbnN0IGN1cnJlbnRUaW1lID0gRGF0ZS5ub3coKSAqIDEwMDAwMDA7XG4gICAgY29uc3QgaW5ncmVzc1N0YXJ0VGltZSA9IGN1cnJlbnRUaW1lO1xuICAgIGNvbnN0IGluZ3Jlc3NFbmRUaW1lID0gaW5ncmVzc1N0YXJ0VGltZSArIDUgKiA2MCAqIDEwMDAwMDAwMDA7IC8vIDUgbWlucyBpbiBuYW5vc2Vjb25kc1xuICAgIGNvbnN0IG1ldGFEYXRhOiBJY3BNZXRhZGF0YSA9IHtcbiAgICAgIGNyZWF0ZWRfYXRfdGltZTogY3VycmVudFRpbWUsXG4gICAgICBtZW1vOiBtZW1vLFxuICAgICAgaW5ncmVzc19zdGFydDogaW5ncmVzc1N0YXJ0VGltZSxcbiAgICAgIGluZ3Jlc3NfZW5kOiBpbmdyZXNzRW5kVGltZSxcbiAgICB9O1xuICAgIHJldHVybiB7IG1ldGFEYXRhLCBpbmdyZXNzRW5kVGltZSB9O1xuICB9XG5cbiAgY29udmVydFNlbmRlckJsb2JUb1ByaW5jaXBhbChzZW5kZXJCbG9iOiBVaW50OEFycmF5KTogVWludDhBcnJheSB7XG4gICAgY29uc3QgTUFYX0xFTkdUSF9JTl9CWVRFUyA9IDI5O1xuICAgIGlmIChzZW5kZXJCbG9iLmxlbmd0aCA+IE1BWF9MRU5HVEhfSU5fQllURVMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQnl0ZXMgdG9vIGxvbmcgZm9yIGEgdmFsaWQgUHJpbmNpcGFsJyk7XG4gICAgfVxuICAgIGNvbnN0IHByaW5jaXBhbEJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkoTUFYX0xFTkdUSF9JTl9CWVRFUyk7XG4gICAgcHJpbmNpcGFsQnl0ZXMuc2V0KHNlbmRlckJsb2Iuc2xpY2UoMCwgc2VuZGVyQmxvYi5sZW5ndGgpKTtcbiAgICByZXR1cm4gcHJpbmNpcGFsQnl0ZXM7XG4gIH1cblxuICBhc3luYyBmcm9tQXJncyhhcmc6IFVpbnQ4QXJyYXkpOiBQcm9taXNlPFNlbmRBcmdzPiB7XG4gICAgY29uc3Qgcm9vdCA9IHByb3RvYnVmLnBhcnNlKHByb3RvRGVmaW5pdGlvbikucm9vdDtcbiAgICBjb25zdCBTZW5kUmVxdWVzdE1lc3NhZ2UgPSByb290Lmxvb2t1cFR5cGUoJ1NlbmRSZXF1ZXN0Jyk7XG4gICAgY29uc3QgYXJncyA9IFNlbmRSZXF1ZXN0TWVzc2FnZS5kZWNvZGUoYXJnKSBhcyB1bmtub3duIGFzIFNlbmRBcmdzO1xuICAgIGNvbnN0IHRyYW5zZm9ybWVkQXJnczogU2VuZEFyZ3MgPSB7XG4gICAgICBtZW1vOiB7IG1lbW86IEJpZ0ludChhcmdzLm1lbW8ubWVtby50b1N0cmluZygpKSB9LFxuICAgICAgcGF5bWVudDogeyByZWNlaXZlckdldHM6IHsgZThzOiBhcmdzLnBheW1lbnQucmVjZWl2ZXJHZXRzLmU4cyB9IH0sXG4gICAgICBtYXhGZWU6IHsgZThzOiBhcmdzLm1heEZlZS5lOHMgfSxcbiAgICAgIHRvOiB7IGhhc2g6IEJ1ZmZlci5mcm9tKGFyZ3MudG8uaGFzaCkgfSxcbiAgICAgIGNyZWF0ZWRBdFRpbWU6IHsgdGltZXN0YW1wTmFub3M6IEJpZ051bWJlcihhcmdzLmNyZWF0ZWRBdFRpbWUudGltZXN0YW1wTmFub3MudG9TdHJpbmcoKSkudG9OdW1iZXIoKSB9LFxuICAgIH07XG4gICAgcmV0dXJuIHRyYW5zZm9ybWVkQXJncztcbiAgfVxuXG4gIGFzeW5jIHRvQXJnKGFyZ3M6IFNlbmRBcmdzKTogUHJvbWlzZTxVaW50OEFycmF5PiB7XG4gICAgY29uc3Qgcm9vdCA9IHByb3RvYnVmLnBhcnNlKHByb3RvRGVmaW5pdGlvbikucm9vdDtcbiAgICBjb25zdCBTZW5kUmVxdWVzdE1lc3NhZ2UgPSByb290Lmxvb2t1cFR5cGUoJ1NlbmRSZXF1ZXN0Jyk7XG4gICAgY29uc3QgZXJyTXNnID0gU2VuZFJlcXVlc3RNZXNzYWdlLnZlcmlmeShhcmdzKTtcbiAgICBpZiAoZXJyTXNnKSB0aHJvdyBuZXcgRXJyb3IoZXJyTXNnKTtcbiAgICBjb25zdCBtZXNzYWdlID0gU2VuZFJlcXVlc3RNZXNzYWdlLmNyZWF0ZShhcmdzKTtcbiAgICByZXR1cm4gU2VuZFJlcXVlc3RNZXNzYWdlLmVuY29kZShtZXNzYWdlKS5maW5pc2goKTtcbiAgfVxuXG4gIGdldEFjY291bnRJZFByZWZpeCgpOiBCdWZmZXI8QXJyYXlCdWZmZXI+IHtcbiAgICByZXR1cm4gQnVmZmVyLmZyb20oWzB4MGEsIC4uLkJ1ZmZlci5mcm9tKCdhY2NvdW50LWlkJyldKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpc1ZhbGlkQmxvY2tJZChoYXNoOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAvLyBJQ1AgYmxvY2sgaGFzaGVzIGFyZSA2NC1jaGFyYWN0ZXIgaGV4YWRlY2ltYWwgc3RyaW5nc1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWRIYXNoKGhhc2gpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgd2hldGhlciBvciBub3QgdGhlIHN0cmluZyBpcyBhIHZhbGlkIElDUCBoYXNoXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBoYXNoIC0gc3RyaW5nIHRvIHZhbGlkYXRlXG4gICAqIEByZXR1cm5zIHtib29sZWFufVxuICAgKi9cbiAgaXNWYWxpZEhhc2goaGFzaDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHR5cGVvZiBoYXNoID09PSAnc3RyaW5nJyAmJiAvXlswLTlhLWZBLUZdezY0fSQvLnRlc3QoaGFzaCk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgaXNWYWxpZFRyYW5zYWN0aW9uSWQodHhJZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZEhhc2godHhJZCk7XG4gIH1cbn1cblxuY29uc3QgdXRpbHMgPSBuZXcgVXRpbHMoKTtcbmV4cG9ydCBkZWZhdWx0IHV0aWxzO1xuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bitgo/sdk-coin-icp",
3
- "version": "1.6.0",
3
+ "version": "1.7.0",
4
4
  "description": "BitGo SDK coin library for Internet Computer",
5
5
  "main": "./dist/src/index.js",
6
6
  "types": "./dist/src/index.d.ts",
@@ -40,9 +40,9 @@
40
40
  ]
41
41
  },
42
42
  "dependencies": {
43
- "@bitgo/sdk-core": "^31.0.0",
43
+ "@bitgo/sdk-core": "^31.1.0",
44
44
  "@bitgo/secp256k1": "^1.3.3",
45
- "@bitgo/statics": "^51.2.0",
45
+ "@bitgo/statics": "^51.3.0",
46
46
  "@dfinity/agent": "^2.2.0",
47
47
  "@dfinity/candid": "^2.2.0",
48
48
  "@dfinity/principal": "^2.2.0",
@@ -54,8 +54,8 @@
54
54
  "protobufjs": "^7.2.5"
55
55
  },
56
56
  "devDependencies": {
57
- "@bitgo/sdk-api": "^1.60.0",
58
- "@bitgo/sdk-test": "^8.0.74"
57
+ "@bitgo/sdk-api": "^1.61.0",
58
+ "@bitgo/sdk-test": "^8.0.75"
59
59
  },
60
- "gitHead": "52a2157ce9ebd8bb0294609693a5724d6c24b8a9"
60
+ "gitHead": "1d3492d71714fd2b29297b0b5476126b485b927b"
61
61
  }