@bitgo/sdk-coin-cspr 2.0.49 → 2.0.50

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.
@@ -309,4 +309,4 @@ class TransactionBuilder extends sdk_core_1.BaseTransactionBuilder {
309
309
  }
310
310
  }
311
311
  exports.TransactionBuilder = TransactionBuilder;
312
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc2FjdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsZ0VBQXFDO0FBRXJDLGlEQUFxRTtBQUNyRSxvREFBdUI7QUFDdkIsOENBU3lCO0FBQ3pCLCtDQUE0QztBQUM1Qyx1Q0FBb0M7QUFRcEMsbUNBQXVFO0FBQ3ZFLDJDQUEwRTtBQUU3RCxRQUFBLFNBQVMsR0FBRyxDQUFDLENBQUM7QUFDZCxRQUFBLFNBQVMsR0FBRyxDQUFDLENBQUM7QUFDM0IsTUFBc0Isa0JBQW1CLFNBQVEsaUNBQXNCO0lBVXJFLFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSx5QkFBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQywrQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLCtCQUFtQixDQUFDLE9BQU8sQ0FBQztJQUMzRyxDQUFDO0lBRUQsc0JBQXNCO0lBQ3RCLGtCQUFrQjtJQUNSLEtBQUssQ0FBQyxtQkFBbUI7UUFDakMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzVDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUVsQyxNQUFNLE9BQU8sR0FBRywwQkFBVSxDQUFDLGVBQWUsQ0FBQyxnQkFBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFFM0Us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QU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDekQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDaEM7U0FDRjtRQUNELEtBQUssTUFBTSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3JELGtEQUFrRDtZQUNsRCxJQUFJLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDekQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO2FBQ25EO1NBQ0Y7SUFDSCxDQUFDO0NBRUY7QUFoV0QsZ0RBZ1dDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCB7IERlcGxveVV0aWwsIENMUHVibGljS2V5IGFzIFB1YmxpY0tleSB9IGZyb20gJ2Nhc3Blci1qcy1zZGsnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7XG4gIEJhc2VBZGRyZXNzLFxuICBCYXNlS2V5LFxuICBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyLFxuICBCdWlsZFRyYW5zYWN0aW9uRXJyb3IsXG4gIEludmFsaWRUcmFuc2FjdGlvbkVycm9yLFxuICBQYXJzZVRyYW5zYWN0aW9uRXJyb3IsXG4gIFNpZ25pbmdFcnJvcixcbiAgVHJhbnNhY3Rpb25UeXBlLFxufSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IEtleVBhaXIgfSBmcm9tICcuL2tleVBhaXInO1xuaW1wb3J0IHtcbiAgRmVlLFxuICBDYXNwZXJNb2R1bGVCeXRlc1RyYW5zYWN0aW9uLFxuICBDYXNwZXJUcmFuc2ZlclRyYW5zYWN0aW9uLFxuICBDYXNwZXJEZWxlZ2F0ZVRyYW5zYWN0aW9uLFxuICBTaWduYXR1cmVEYXRhLFxufSBmcm9tICcuL2lmYWNlcyc7XG5pbXBvcnQgeyBpc1ZhbGlkQWRkcmVzcywgcmVtb3ZlQWxnb1ByZWZpeEZyb21IZXhWYWx1ZSB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgREVGQVVMVF9DSEFJTl9OQU1FUywgVFJBTlNBQ1RJT05fRVhQSVJBVElPTiB9IGZyb20gJy4vY29uc3RhbnRzJztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfTSA9IDM7XG5leHBvcnQgY29uc3QgREVGQVVMVF9OID0gMjtcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUcmFuc2FjdGlvbkJ1aWxkZXIgZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgcHJvdGVjdGVkIF9zb3VyY2U6IEJhc2VBZGRyZXNzO1xuICBwcm90ZWN0ZWQgX2ZlZTogRmVlO1xuICBwcml2YXRlIF90cmFuc2FjdGlvbjogVHJhbnNhY3Rpb247XG4gIHByb3RlY3RlZCBfc2Vzc2lvbjogQ2FzcGVyVHJhbnNmZXJUcmFuc2FjdGlvbiB8IENhc3Blck1vZHVsZUJ5dGVzVHJhbnNhY3Rpb24gfCBDYXNwZXJEZWxlZ2F0ZVRyYW5zYWN0aW9uO1xuICBwcm90ZWN0ZWQgX2V4cGlyYXRpb246IG51bWJlcjtcbiAgcHJvdGVjdGVkIF9tdWx0aVNpZ25lcktleVBhaXJzOiBLZXlQYWlyW107XG4gIHByb3RlY3RlZCBfc2lnbmF0dXJlczogU2lnbmF0dXJlRGF0YVtdO1xuICBwcm90ZWN0ZWQgX2NoYWluTmFtZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uID0gbmV3IFRyYW5zYWN0aW9uKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLl9tdWx0aVNpZ25lcktleVBhaXJzID0gW107XG4gICAgdGhpcy5fc2lnbmF0dXJlcyA9IFtdO1xuICAgIHRoaXMuX2NoYWluTmFtZSA9IHRoaXMuY29pbk5hbWUoKSA9PT0gJ2NzcHInID8gREVGQVVMVF9DSEFJTl9OQU1FUy5tYWlubmV0IDogREVGQVVMVF9DSEFJTl9OQU1FUy50ZXN0bmV0O1xuICB9XG5cbiAgLy8gcmVnaW9uIEJhc2UgQnVpbGRlclxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGJ1aWxkSW1wbGVtZW50YXRpb24oKTogUHJvbWlzZTxUcmFuc2FjdGlvbj4ge1xuICAgIGNvbnN0IGRlcGxveVBhcmFtcyA9IHRoaXMuZ2V0RGVwbG95UGFyYW1zKCk7XG4gICAgY29uc3Qgc2Vzc2lvbiA9IHRoaXMuZ2V0U2Vzc2lvbigpO1xuXG4gICAgY29uc3QgcGF5bWVudCA9IERlcGxveVV0aWwuc3RhbmRhcmRQYXltZW50KF8ucGFyc2VJbnQodGhpcy5fZmVlLmdhc0xpbWl0KSk7XG5cbiAgICBsZXQgY1RyYW5zYWN0aW9uID0gdGhpcy50cmFuc2FjdGlvbi5jYXNwZXJUeCB8fCBEZXBsb3lVdGlsLm1ha2VEZXBsb3koZGVwbG95UGFyYW1zLCBzZXNzaW9uLCBwYXltZW50KTtcblxuICAgIC8vIENhbm5vdCBhZGQgYXJndW1lbnRzIHRvIGFuIGFscmVhZHkgc2lnbmVkIGRlcGxveS5cbiAgICBpZiAoY1RyYW5zYWN0aW9uLmFwcHJvdmFscy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuX3Nlc3Npb24uZXh0cmFBcmd1bWVudHMuZm9yRWFjaCgoZXh0cmFBcmd1bWVudCwgZXh0cmFBcmd1bWVudE5hbWUpID0+IHtcbiAgICAgICAgaWYgKCFjVHJhbnNhY3Rpb24uc2Vzc2lvbi5nZXRBcmdCeU5hbWUoZXh0cmFBcmd1bWVudE5hbWUpKSB7XG4gICAgICAgICAgY1RyYW5zYWN0aW9uID0gRGVwbG95VXRpbC5hZGRBcmdUb0RlcGxveShjVHJhbnNhY3Rpb24sIGV4dHJhQXJndW1lbnROYW1lLCBleHRyYUFyZ3VtZW50KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy50cmFuc2FjdGlvbi5jYXNwZXJUeCA9IGNUcmFuc2FjdGlvbjtcblxuICAgIHRoaXMucHJvY2Vzc1NpZ25pbmcoKTtcblxuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBmcm9tSW1wbGVtZW50YXRpb24ocmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IFRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCB0eCA9IG5ldyBUcmFuc2FjdGlvbih0aGlzLl9jb2luQ29uZmlnKTtcbiAgICBjb25zdCBqc29uVHJhbnNhY3Rpb24gPSBKU09OLnBhcnNlKHJhd1RyYW5zYWN0aW9uKTtcbiAgICB0eC5jYXNwZXJUeCA9IERlcGxveVV0aWwuZGVwbG95RnJvbUpzb24oanNvblRyYW5zYWN0aW9uKS51bndyYXAoKTtcbiAgICB0aGlzLmluaXRCdWlsZGVyKHR4KTtcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvbjtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgc2lnbkltcGxlbWVudGF0aW9uKGtleTogQmFzZUtleSk6IFRyYW5zYWN0aW9uIHtcbiAgICB0aGlzLmNoZWNrRHVwbGljYXRlZEtleXMoa2V5KTtcbiAgICBjb25zdCBzaWduZXIgPSBuZXcgS2V5UGFpcih7IHBydjoga2V5LmtleSB9KTtcblxuICAgIC8vIFNpZ25pbmcgdGhlIHRyYW5zYWN0aW9uIGlzIGFuIG9wZXJhdGlvbiB0aGF0IHJlbGllcyBvbiBhbGwgdGhlIGRhdGEgYmVpbmcgc2V0LFxuICAgIC8vIHNvIHdlIHNldCB0aGUgc291cmNlIGhlcmUgYW5kIGxlYXZlIHRoZSBhY3R1YWwgc2lnbmluZyBmb3IgdGhlIGJ1aWxkIHN0ZXBcbiAgICB0aGlzLl9tdWx0aVNpZ25lcktleVBhaXJzLnB1c2goc2lnbmVyKTtcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplIHRoZSB0cmFuc2FjdGlvbiBidWlsZGVyIGZpZWxkcyB1c2luZyB0aGUgZGVjb2RlZCB0cmFuc2FjdGlvbiBkYXRhXG4gICAqXG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb259IHR4IHRoZSB0cmFuc2FjdGlvbiBkYXRhXG4gICAqL1xuICBpbml0QnVpbGRlcih0eDogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICB0aGlzLnRyYW5zYWN0aW9uID0gdHg7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5sb2FkUHJldmlvdXNTaWduYXR1cmVzKCk7XG4gICAgY29uc3QgdHhEYXRhID0gdHgudG9Kc29uKCk7XG4gICAgdGhpcy5mZWUodHhEYXRhLmZlZSk7XG4gICAgdGhpcy5zb3VyY2UoeyBhZGRyZXNzOiB0eERhdGEuZnJvbSB9KTtcbiAgICB0aGlzLmV4cGlyYXRpb24odHhEYXRhLmV4cGlyYXRpb24gfHwgVFJBTlNBQ1RJT05fRVhQSVJBVElPTik7XG4gIH1cblxuICAvLyBlbmRyZWdpb25cblxuICAvLyByZWdpb24gQ29tbW9uIGJ1aWxkZXIgbWV0aG9kc1xuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHRyYW5zYWN0aW9uIGZlZXNcbiAgICpcbiAgICogQHBhcmFtIHtCYXNlRmVlfSBmZWUgVGhlIG1heGltdW0gZ2FzIHRvIHBheVxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25CdWlsZGVyfSBUaGlzIHRyYW5zYWN0aW9uIGJ1aWxkZXJcbiAgICovXG4gIGZlZShmZWU6IEZlZSk6IHRoaXMge1xuICAgIHRoaXMudmFsaWRhdGVWYWx1ZShuZXcgQmlnTnVtYmVyKGZlZS5nYXNMaW1pdCkpO1xuICAgIHRoaXMuX2ZlZSA9IGZlZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHRyYW5zYWN0aW9uIHNvdXJjZVxuICAgKlxuICAgKiBAcGFyYW0ge0Jhc2VBZGRyZXNzfSBhZGRyZXNzIFRoZSBzb3VyY2UgYWNjb3VudFxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25CdWlsZGVyfSBUaGlzIHRyYW5zYWN0aW9uIGJ1aWxkZXJcbiAgICovXG4gIHNvdXJjZShhZGRyZXNzOiBCYXNlQWRkcmVzcyk6IHRoaXMge1xuICAgIHRoaXMudmFsaWRhdGVBZGRyZXNzKGFkZHJlc3MpO1xuICAgIHRoaXMuX3NvdXJjZSA9IGFkZHJlc3M7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSB0cmFuc2FjdGlvbiBleHBpcmF0aW9uVGltZVxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZXhwaXJhdGlvblRpbWUgVGhlIHRyYW5zYWN0aW9uIGV4cGlyYXRpb25UaW1lXG4gICAqIEByZXR1cm5zIHtUcmFuc2FjdGlvbkJ1aWxkZXJ9IFRoaXMgdHJhbnNhY3Rpb24gYnVpbGRlclxuICAgKi9cbiAgZXhwaXJhdGlvbihleHBpcmF0aW9uVGltZTogbnVtYmVyKTogdGhpcyB7XG4gICAgY29uc3QgdHJhbnNhY3Rpb25FeHBpcmF0aW9uID0gbmV3IEJpZ051bWJlcihleHBpcmF0aW9uVGltZSk7XG4gICAgaWYgKHRyYW5zYWN0aW9uRXhwaXJhdGlvbi5pc05hTigpIHx8IHRyYW5zYWN0aW9uRXhwaXJhdGlvbi5pc0dyZWF0ZXJUaGFuKFRSQU5TQUNUSU9OX0VYUElSQVRJT04pKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIHRyYW5zYWN0aW9uIGV4cGlyYXRpb24nKTtcbiAgICB9XG4gICAgdGhpcy52YWxpZGF0ZVZhbHVlKHRyYW5zYWN0aW9uRXhwaXJhdGlvbik7XG4gICAgdGhpcy5fZXhwaXJhdGlvbiA9IHRyYW5zYWN0aW9uRXhwaXJhdGlvbi50b051bWJlcigpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBhbiBleHRlcm5hbCB0cmFuc2FjdGlvbiBzaWduYXR1cmVcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHNpZ25hdHVyZSBIZXggZW5jb2RlZCBzaWduYXR1cmUgc3RyaW5nXG4gICAqIEBwYXJhbSB7S2V5UGFpcn0ga2V5UGFpciBUaGUgcHVibGljIGtleSBrZXlwYWlyIHRoYXQgd2FzIHVzZWQgdG8gY3JlYXRlIHRoZSBzaWduYXR1cmVcbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gVGhpcyB0cmFuc2FjdGlvbiBidWlsZGVyXG4gICAqL1xuICBzaWduYXR1cmUoc2lnbmF0dXJlOiBzdHJpbmcsIGtleVBhaXI6IEtleVBhaXIpOiB0aGlzIHtcbiAgICAvLyBpZiB3ZSBhbHJlYWR5IGhhdmUgYSBzaWduYXR1cmUgZm9yIHRoaXMga2V5IHBhaXIsIGp1c3QgdXBkYXRlIGl0XG4gICAgZm9yIChjb25zdCBvbGRTaWduYXR1cmUgb2YgdGhpcy5fc2lnbmF0dXJlcykge1xuICAgICAgaWYgKG9sZFNpZ25hdHVyZS5rZXlQYWlyLmdldEtleXMoKS5wdWIgPT09IGtleVBhaXIuZ2V0S2V5cygpLnB1Yikge1xuICAgICAgICBvbGRTaWduYXR1cmUuc2lnbmF0dXJlID0gc2lnbmF0dXJlO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBvdGhlcndpc2UgYWRkIHRoZSBuZXcgc2lnbmF0dXJlXG4gICAgdGhpcy5fc2lnbmF0dXJlcy5wdXNoKHsgc2lnbmF0dXJlLCBrZXlQYWlyIH0pO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgbm9kZUNoYWluTmFtZShjaGFpbk5hbWU6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMuX2NoYWluTmFtZSA9IGNoYWluTmFtZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8vIGVuZHJlZ2lvblxuXG4gIC8vIHJlZ2lvbiBWYWxpZGF0b3JzXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZUFkZHJlc3MoYWRkcmVzczogQmFzZUFkZHJlc3MpOiB2b2lkIHtcbiAgICBpZiAoIWlzVmFsaWRBZGRyZXNzKGFkZHJlc3MuYWRkcmVzcykpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgYWRkcmVzcyAnICsgYWRkcmVzcy5hZGRyZXNzKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVLZXkoa2V5OiBCYXNlS2V5KTogdm9pZCB7XG4gICAgaWYgKCFuZXcgS2V5UGFpcih7IHBydjoga2V5LmtleSB9KSkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCBrZXknKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVSYXdUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKCFyYXdUcmFuc2FjdGlvbikge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdSYXcgdHJhbnNhY3Rpb24gaXMgZW1wdHknKTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIERlcGxveVV0aWwuZGVwbG95RnJvbUpzb24oSlNPTi5wYXJzZShyYXdUcmFuc2FjdGlvbikpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRocm93IG5ldyBQYXJzZVRyYW5zYWN0aW9uRXJyb3IoJ1RoZXJlIHdhcyBhbiBlcnJvciBwYXJzaW5nIHRoZSBKU09OIHN0cmluZycpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZVRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uPzogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICB0aGlzLnZhbGlkYXRlTWFuZGF0b3J5RmllbGRzKCk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVWYWx1ZSh2YWx1ZTogQmlnTnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKHZhbHVlLmlzTGVzc1RoYW4oMCkpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ1ZhbHVlIGNhbm5vdCBiZSBsZXNzIHRoYW4gemVybycpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgdGhhdCB0aGUgbWFuZGF0b3J5IGZpZWxkcyBhcmUgZGVmaW5lZFxuICAgKi9cbiAgdmFsaWRhdGVNYW5kYXRvcnlGaWVsZHMoKTogdm9pZCB7XG4gICAgdGhpcy52YWxpZGF0ZUZlZSgpO1xuICAgIHRoaXMudmFsaWRhdGVTb3VyY2UoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgdGhhdCB0aGUgZmVlIGZpZWxkIGlzIGRlZmluZWRcbiAgICovXG4gIHByaXZhdGUgdmFsaWRhdGVGZWUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2ZlZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIHRyYW5zYWN0aW9uOiBtaXNzaW5nIGZlZScpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuX2ZlZS5nYXNMaW1pdCkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCB0cmFuc2FjdGlvbjogbWlzc2luZyBnYXMgbGltaXQnKTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMudmFsaWRhdGVWYWx1ZShuZXcgQmlnTnVtYmVyKHRoaXMuX2ZlZS5nYXNMaW1pdCkpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgZ2FzIGxpbWl0Jyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlcyB0aGF0IHRoZSBzb3VyY2UgZmllbGQgaXMgZGVmaW5lZFxuICAgKi9cbiAgcHJpdmF0ZSB2YWxpZGF0ZVNvdXJjZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fc291cmNlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgdHJhbnNhY3Rpb246IG1pc3Npbmcgc291cmNlJyk7XG4gICAgfVxuICAgIHRoaXMudmFsaWRhdGVBZGRyZXNzKHRoaXMuX3NvdXJjZSk7XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGVzIHRoYXQgdGhlIGdpdmVuIGtleSBpcyBub3QgYWxyZWFkeSBpbiB0aGlzLl9tdWx0aVNpZ25lcktleVBhaXJzXG4gICAqXG4gICAqIEBwYXJhbSB7QmFzZUtleX0ga2V5IC0gVGhlIGtleSB0byBjaGVja1xuICAgKi9cbiAgcHJpdmF0ZSBjaGVja0R1cGxpY2F0ZWRLZXlzKGtleTogQmFzZUtleSkge1xuICAgIHRoaXMuX211bHRpU2lnbmVyS2V5UGFpcnMuZm9yRWFjaCgoX3NvdXJjZUtleVBhaXIpID0+IHtcbiAgICAgIGlmIChfc291cmNlS2V5UGFpci5nZXRLZXlzKCkucHJ2ID09PSBrZXkua2V5KSB7XG4gICAgICAgIHRocm93IG5ldyBTaWduaW5nRXJyb3IoJ1JlcGVhdGVkIHNpZ246ICcgKyBrZXkua2V5KTtcbiAgICAgIH1cbiAgICAgIC8vIFRyeSB0byBnZXQgZXh0ZW5kZWQga2V5cyBpbiBvcmRlciB0byB2YWxpZGF0ZSB0aGVtXG4gICAgICBsZXQgeHBydjtcbiAgICAgIHRyeSB7XG4gICAgICAgIHhwcnYgPSBfc291cmNlS2V5UGFpci5nZXRFeHRlbmRlZEtleXMoKS54cHJ2O1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmICh4cHJ2ICYmIHhwcnYgPT09IGtleS5rZXkpIHtcbiAgICAgICAgdGhyb3cgbmV3IFNpZ25pbmdFcnJvcignUmVwZWF0ZWQgc2lnbjogJyArIGtleS5rZXkpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLy8gZW5kcmVnaW9uXG5cbiAgLy8gcmVnaW9uIEdldHRlcnMgYW5kIFNldHRlcnNcbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBnZXQgdHJhbnNhY3Rpb24oKTogVHJhbnNhY3Rpb24ge1xuICAgIHJldHVybiB0aGlzLl90cmFuc2FjdGlvbjtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgc2V0IHRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikge1xuICAgIHRoaXMuX3RyYW5zYWN0aW9uID0gdHJhbnNhY3Rpb247XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBjaGFpbiBuYW1lIGZvciB0aGUgY29pbiBlbnZpcm9ubWVudFxuICAgKi9cbiAgcHVibGljIGdldCBjaGFpbk5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fY2hhaW5OYW1lO1xuICB9XG4gIC8vIGVuZHJlZ2lvblxuXG4gIC8vIHJlZ2lvbiBhdXhpbGlhcnlNZXRob2RzXG4gIC8qKlxuICAgKiBHZW5lcmF0ZSBhIERlcGxveVBhcmFtcyBpbnN0YW5jZSB3aXRoIHRoZSB0cmFuc2FjdGlvbiBkYXRhXG4gICAqXG4gICAqIEByZXR1cm5zIHtEZXBsb3lVdGlsLkRlcGxveVBhcmFtc31cbiAgICovXG4gIHByaXZhdGUgZ2V0RGVwbG95UGFyYW1zKCk6IERlcGxveVV0aWwuRGVwbG95UGFyYW1zIHtcbiAgICBjb25zdCBnYXNQcmljZSA9IHRoaXMuX2ZlZS5nYXNQcmljZSA/IF8ucGFyc2VJbnQodGhpcy5fZmVlLmdhc1ByaWNlKSA6IHVuZGVmaW5lZDtcbiAgICByZXR1cm4gbmV3IERlcGxveVV0aWwuRGVwbG95UGFyYW1zKFxuICAgICAgUHVibGljS2V5LmZyb21IZXgodGhpcy5fc291cmNlLmFkZHJlc3MpLFxuICAgICAgdGhpcy5fY2hhaW5OYW1lLFxuICAgICAgZ2FzUHJpY2UsXG4gICAgICB0aGlzLl9leHBpcmF0aW9uIHx8IFRSQU5TQUNUSU9OX0VYUElSQVRJT05cbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlIHRoZSBzZXNzaW9uIGZvciB0aGUgRGVwbG95IGFjY29yZGluZyB0byB0aGUgdHJhbnNhY3Rpb25UeXBlLlxuICAgKlxuICAgKiBAcmV0dXJucyB7RGVwbG95VXRpbC5FeGVjdXRhYmxlRGVwbG95SXRlbX1cbiAgICovXG4gIHByaXZhdGUgZ2V0U2Vzc2lvbigpOiBEZXBsb3lVdGlsLkV4ZWN1dGFibGVEZXBsb3lJdGVtIHtcbiAgICBsZXQgc2Vzc2lvbjtcbiAgICBzd2l0Y2ggKHRoaXMudHJhbnNhY3Rpb24udHlwZSkge1xuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU2VuZDpcbiAgICAgICAgY29uc3QgdHJhbnNmZXJTZXNzaW9uID0gdGhpcy5fc2Vzc2lvbiBhcyBDYXNwZXJUcmFuc2ZlclRyYW5zYWN0aW9uO1xuICAgICAgICBzZXNzaW9uID0gRGVwbG95VXRpbC5FeGVjdXRhYmxlRGVwbG95SXRlbS5uZXdUcmFuc2ZlcldpdGhPcHRpb25hbFRyYW5zZmVySWQoXG4gICAgICAgICAgdHJhbnNmZXJTZXNzaW9uLmFtb3VudCxcbiAgICAgICAgICB0cmFuc2ZlclNlc3Npb24udGFyZ2V0LFxuICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICB0cmFuc2ZlclNlc3Npb24uaWRcbiAgICAgICAgKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5XYWxsZXRJbml0aWFsaXphdGlvbjpcbiAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdMb2NrOlxuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ1VubG9jazpcbiAgICAgICAgY29uc3QgbW9kdWxlQnl0ZXNTZXNzaW9uID0gdGhpcy5fc2Vzc2lvbiBhcyBDYXNwZXJNb2R1bGVCeXRlc1RyYW5zYWN0aW9uO1xuICAgICAgICBzZXNzaW9uID0gRGVwbG95VXRpbC5FeGVjdXRhYmxlRGVwbG95SXRlbS5uZXdNb2R1bGVCeXRlcyhcbiAgICAgICAgICBtb2R1bGVCeXRlc1Nlc3Npb24ubW9kdWxlQnl0ZXMsXG4gICAgICAgICAgbW9kdWxlQnl0ZXNTZXNzaW9uLmFyZ3NcbiAgICAgICAgKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdUcmFuc2FjdGlvbiBUeXBlIGVycm9yJyk7XG4gICAgfVxuICAgIHJldHVybiBzZXNzaW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyB3aGV0aGVyIHRoZSB0cmFuc2FjdGlvbiBoYXMgdGhlIG93bmVyIHNpZ25hdHVyZVxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gcHViIC0gcHVibGljIGtleSBvZiB0aGUgc2lnbmVyXG4gICAqIEByZXR1cm5zIHtib29sZWFufSB0cnVlIGlmIHRoZSBwdWIga2V5IGFscmVhZHkgc2lnbmVkIHRoIHRyYW5zYWN0aW9uXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIGlzVHJhbnNhY3Rpb25TaWduZWRCeVB1YihwdWI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICBfLmZpbmRJbmRleCh0aGlzLnRyYW5zYWN0aW9uLmNhc3BlclR4LmFwcHJvdmFscywgKGFwcHJvdmFsKSA9PiB7XG4gICAgICAgIGNvbnN0IGFwcHJvdmFsU2lnbmVyID0gcmVtb3ZlQWxnb1ByZWZpeEZyb21IZXhWYWx1ZShhcHByb3ZhbC5zaWduZXIpO1xuICAgICAgICByZXR1cm4gYXBwcm92YWxTaWduZXIgPT09IHB1YjtcbiAgICAgIH0pICE9PSAtMVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIHNpZ25hdHVyZXMgdG8gdGhlIHRyYW5zYWN0aW9uXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIHByb2Nlc3NTaWduaW5nKCk6IHZvaWQge1xuICAgIGZvciAoY29uc3Qga2V5UGFpciBvZiB0aGlzLl9tdWx0aVNpZ25lcktleVBhaXJzKSB7XG4gICAgICAvLyBBZGQgc2lnbmF0dXJlIGlmIGl0J3Mgbm90IGFscmVhZHkgaW4gdGhlIGRlcGxveVxuICAgICAgaWYgKCF0aGlzLmlzVHJhbnNhY3Rpb25TaWduZWRCeVB1YihrZXlQYWlyLmdldEtleXMoKS5wdWIpKSB7XG4gICAgICAgIHRoaXMudHJhbnNhY3Rpb24uc2lnbihrZXlQYWlyKTtcbiAgICAgIH1cbiAgICB9XG4gICAgZm9yIChjb25zdCB7IHNpZ25hdHVyZSwga2V5UGFpciB9IG9mIHRoaXMuX3NpZ25hdHVyZXMpIHtcbiAgICAgIC8vIEFkZCBzaWduYXR1cmUgaWYgaXQncyBub3QgYWxyZWFkeSBpbiB0aGUgZGVwbG95XG4gICAgICBpZiAoIXRoaXMuaXNUcmFuc2FjdGlvblNpZ25lZEJ5UHViKGtleVBhaXIuZ2V0S2V5cygpLnB1YikpIHtcbiAgICAgICAgdGhpcy50cmFuc2FjdGlvbi5hZGRTaWduYXR1cmUoc2lnbmF0dXJlLCBrZXlQYWlyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLy8gZW5kcmVnaW9uXG59XG4iXX0=
312
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc2FjdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsZ0VBQXFDO0FBRXJDLGlEQUFxRTtBQUNyRSxvREFBdUI7QUFDdkIsOENBU3lCO0FBQ3pCLCtDQUE0QztBQUM1Qyx1Q0FBb0M7QUFRcEMsbUNBQXVFO0FBQ3ZFLDJDQUEwRTtBQUU3RCxRQUFBLFNBQVMsR0FBRyxDQUFDLENBQUM7QUFDZCxRQUFBLFNBQVMsR0FBRyxDQUFDLENBQUM7QUFDM0IsTUFBc0Isa0JBQW1CLFNBQVEsaUNBQXNCO0lBVXJFLFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSx5QkFBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQywrQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLCtCQUFtQixDQUFDLE9BQU8sQ0FBQztJQUMzRyxDQUFDO0lBRUQsc0JBQXNCO0lBQ3RCLGtCQUFrQjtJQUNSLEtBQUssQ0FBQyxtQkFBbUI7UUFDakMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzVDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUVsQyxNQUFNLE9BQU8sR0FBRywwQkFBVSxDQUFDLGVBQWUsQ0FBQyxnQkFBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFFM0Us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QUFDO1lBQ3JFLE9BQU8sY0FBYyxLQUFLLEdBQUcsQ0FBQztRQUNoQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FDVixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxjQUFjO1FBQ3BCLEtBQUssTUFBTSxPQUFPLElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDaEQsa0RBQWtEO1lBQ2xELElBQUksQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQzFELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2pDLENBQUM7UUFDSCxDQUFDO1FBQ0QsS0FBSyxNQUFNLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN0RCxrREFBa0Q7WUFDbEQsSUFBSSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDMUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3BELENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztDQUVGO0FBaFdELGdEQWdXQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQgeyBEZXBsb3lVdGlsLCBDTFB1YmxpY0tleSBhcyBQdWJsaWNLZXkgfSBmcm9tICdjYXNwZXItanMtc2RrJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQge1xuICBCYXNlQWRkcmVzcyxcbiAgQmFzZUtleSxcbiAgQmFzZVRyYW5zYWN0aW9uQnVpbGRlcixcbiAgQnVpbGRUcmFuc2FjdGlvbkVycm9yLFxuICBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcixcbiAgUGFyc2VUcmFuc2FjdGlvbkVycm9yLFxuICBTaWduaW5nRXJyb3IsXG4gIFRyYW5zYWN0aW9uVHlwZSxcbn0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBLZXlQYWlyIH0gZnJvbSAnLi9rZXlQYWlyJztcbmltcG9ydCB7XG4gIEZlZSxcbiAgQ2FzcGVyTW9kdWxlQnl0ZXNUcmFuc2FjdGlvbixcbiAgQ2FzcGVyVHJhbnNmZXJUcmFuc2FjdGlvbixcbiAgQ2FzcGVyRGVsZWdhdGVUcmFuc2FjdGlvbixcbiAgU2lnbmF0dXJlRGF0YSxcbn0gZnJvbSAnLi9pZmFjZXMnO1xuaW1wb3J0IHsgaXNWYWxpZEFkZHJlc3MsIHJlbW92ZUFsZ29QcmVmaXhGcm9tSGV4VmFsdWUgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IERFRkFVTFRfQ0hBSU5fTkFNRVMsIFRSQU5TQUNUSU9OX0VYUElSQVRJT04gfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX00gPSAzO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfTiA9IDI7XG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVHJhbnNhY3Rpb25CdWlsZGVyIGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uQnVpbGRlciB7XG4gIHByb3RlY3RlZCBfc291cmNlOiBCYXNlQWRkcmVzcztcbiAgcHJvdGVjdGVkIF9mZWU6IEZlZTtcbiAgcHJpdmF0ZSBfdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uO1xuICBwcm90ZWN0ZWQgX3Nlc3Npb246IENhc3BlclRyYW5zZmVyVHJhbnNhY3Rpb24gfCBDYXNwZXJNb2R1bGVCeXRlc1RyYW5zYWN0aW9uIHwgQ2FzcGVyRGVsZWdhdGVUcmFuc2FjdGlvbjtcbiAgcHJvdGVjdGVkIF9leHBpcmF0aW9uOiBudW1iZXI7XG4gIHByb3RlY3RlZCBfbXVsdGlTaWduZXJLZXlQYWlyczogS2V5UGFpcltdO1xuICBwcm90ZWN0ZWQgX3NpZ25hdHVyZXM6IFNpZ25hdHVyZURhdGFbXTtcbiAgcHJvdGVjdGVkIF9jaGFpbk5hbWU6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gICAgdGhpcy50cmFuc2FjdGlvbiA9IG5ldyBUcmFuc2FjdGlvbihfY29pbkNvbmZpZyk7XG4gICAgdGhpcy5fbXVsdGlTaWduZXJLZXlQYWlycyA9IFtdO1xuICAgIHRoaXMuX3NpZ25hdHVyZXMgPSBbXTtcbiAgICB0aGlzLl9jaGFpbk5hbWUgPSB0aGlzLmNvaW5OYW1lKCkgPT09ICdjc3ByJyA/IERFRkFVTFRfQ0hBSU5fTkFNRVMubWFpbm5ldCA6IERFRkFVTFRfQ0hBSU5fTkFNRVMudGVzdG5ldDtcbiAgfVxuXG4gIC8vIHJlZ2lvbiBCYXNlIEJ1aWxkZXJcbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBhc3luYyBidWlsZEltcGxlbWVudGF0aW9uKCk6IFByb21pc2U8VHJhbnNhY3Rpb24+IHtcbiAgICBjb25zdCBkZXBsb3lQYXJhbXMgPSB0aGlzLmdldERlcGxveVBhcmFtcygpO1xuICAgIGNvbnN0IHNlc3Npb24gPSB0aGlzLmdldFNlc3Npb24oKTtcblxuICAgIGNvbnN0IHBheW1lbnQgPSBEZXBsb3lVdGlsLnN0YW5kYXJkUGF5bWVudChfLnBhcnNlSW50KHRoaXMuX2ZlZS5nYXNMaW1pdCkpO1xuXG4gICAgbGV0IGNUcmFuc2FjdGlvbiA9IHRoaXMudHJhbnNhY3Rpb24uY2FzcGVyVHggfHwgRGVwbG95VXRpbC5tYWtlRGVwbG95KGRlcGxveVBhcmFtcywgc2Vzc2lvbiwgcGF5bWVudCk7XG5cbiAgICAvLyBDYW5ub3QgYWRkIGFyZ3VtZW50cyB0byBhbiBhbHJlYWR5IHNpZ25lZCBkZXBsb3kuXG4gICAgaWYgKGNUcmFuc2FjdGlvbi5hcHByb3ZhbHMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLl9zZXNzaW9uLmV4dHJhQXJndW1lbnRzLmZvckVhY2goKGV4dHJhQXJndW1lbnQsIGV4dHJhQXJndW1lbnROYW1lKSA9PiB7XG4gICAgICAgIGlmICghY1RyYW5zYWN0aW9uLnNlc3Npb24uZ2V0QXJnQnlOYW1lKGV4dHJhQXJndW1lbnROYW1lKSkge1xuICAgICAgICAgIGNUcmFuc2FjdGlvbiA9IERlcGxveVV0aWwuYWRkQXJnVG9EZXBsb3koY1RyYW5zYWN0aW9uLCBleHRyYUFyZ3VtZW50TmFtZSwgZXh0cmFBcmd1bWVudCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMudHJhbnNhY3Rpb24uY2FzcGVyVHggPSBjVHJhbnNhY3Rpb247XG5cbiAgICB0aGlzLnByb2Nlc3NTaWduaW5nKCk7XG5cbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvbjtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgZnJvbUltcGxlbWVudGF0aW9uKHJhd1RyYW5zYWN0aW9uOiBzdHJpbmcpOiBUcmFuc2FjdGlvbiB7XG4gICAgY29uc3QgdHggPSBuZXcgVHJhbnNhY3Rpb24odGhpcy5fY29pbkNvbmZpZyk7XG4gICAgY29uc3QganNvblRyYW5zYWN0aW9uID0gSlNPTi5wYXJzZShyYXdUcmFuc2FjdGlvbik7XG4gICAgdHguY2FzcGVyVHggPSBEZXBsb3lVdGlsLmRlcGxveUZyb21Kc29uKGpzb25UcmFuc2FjdGlvbikudW53cmFwKCk7XG4gICAgdGhpcy5pbml0QnVpbGRlcih0eCk7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb247XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIHNpZ25JbXBsZW1lbnRhdGlvbihrZXk6IEJhc2VLZXkpOiBUcmFuc2FjdGlvbiB7XG4gICAgdGhpcy5jaGVja0R1cGxpY2F0ZWRLZXlzKGtleSk7XG4gICAgY29uc3Qgc2lnbmVyID0gbmV3IEtleVBhaXIoeyBwcnY6IGtleS5rZXkgfSk7XG5cbiAgICAvLyBTaWduaW5nIHRoZSB0cmFuc2FjdGlvbiBpcyBhbiBvcGVyYXRpb24gdGhhdCByZWxpZXMgb24gYWxsIHRoZSBkYXRhIGJlaW5nIHNldCxcbiAgICAvLyBzbyB3ZSBzZXQgdGhlIHNvdXJjZSBoZXJlIGFuZCBsZWF2ZSB0aGUgYWN0dWFsIHNpZ25pbmcgZm9yIHRoZSBidWlsZCBzdGVwXG4gICAgdGhpcy5fbXVsdGlTaWduZXJLZXlQYWlycy5wdXNoKHNpZ25lcik7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb247XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSB0aGUgdHJhbnNhY3Rpb24gYnVpbGRlciBmaWVsZHMgdXNpbmcgdGhlIGRlY29kZWQgdHJhbnNhY3Rpb24gZGF0YVxuICAgKlxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9ufSB0eCB0aGUgdHJhbnNhY3Rpb24gZGF0YVxuICAgKi9cbiAgaW5pdEJ1aWxkZXIodHg6IFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgdGhpcy50cmFuc2FjdGlvbiA9IHR4O1xuICAgIHRoaXMudHJhbnNhY3Rpb24ubG9hZFByZXZpb3VzU2lnbmF0dXJlcygpO1xuICAgIGNvbnN0IHR4RGF0YSA9IHR4LnRvSnNvbigpO1xuICAgIHRoaXMuZmVlKHR4RGF0YS5mZWUpO1xuICAgIHRoaXMuc291cmNlKHsgYWRkcmVzczogdHhEYXRhLmZyb20gfSk7XG4gICAgdGhpcy5leHBpcmF0aW9uKHR4RGF0YS5leHBpcmF0aW9uIHx8IFRSQU5TQUNUSU9OX0VYUElSQVRJT04pO1xuICB9XG5cbiAgLy8gZW5kcmVnaW9uXG5cbiAgLy8gcmVnaW9uIENvbW1vbiBidWlsZGVyIG1ldGhvZHNcblxuICAvKipcbiAgICogU2V0IHRoZSB0cmFuc2FjdGlvbiBmZWVzXG4gICAqXG4gICAqIEBwYXJhbSB7QmFzZUZlZX0gZmVlIFRoZSBtYXhpbXVtIGdhcyB0byBwYXlcbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gVGhpcyB0cmFuc2FjdGlvbiBidWlsZGVyXG4gICAqL1xuICBmZWUoZmVlOiBGZWUpOiB0aGlzIHtcbiAgICB0aGlzLnZhbGlkYXRlVmFsdWUobmV3IEJpZ051bWJlcihmZWUuZ2FzTGltaXQpKTtcbiAgICB0aGlzLl9mZWUgPSBmZWU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSB0cmFuc2FjdGlvbiBzb3VyY2VcbiAgICpcbiAgICogQHBhcmFtIHtCYXNlQWRkcmVzc30gYWRkcmVzcyBUaGUgc291cmNlIGFjY291bnRcbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gVGhpcyB0cmFuc2FjdGlvbiBidWlsZGVyXG4gICAqL1xuICBzb3VyY2UoYWRkcmVzczogQmFzZUFkZHJlc3MpOiB0aGlzIHtcbiAgICB0aGlzLnZhbGlkYXRlQWRkcmVzcyhhZGRyZXNzKTtcbiAgICB0aGlzLl9zb3VyY2UgPSBhZGRyZXNzO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgdHJhbnNhY3Rpb24gZXhwaXJhdGlvblRpbWVcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGV4cGlyYXRpb25UaW1lIFRoZSB0cmFuc2FjdGlvbiBleHBpcmF0aW9uVGltZVxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25CdWlsZGVyfSBUaGlzIHRyYW5zYWN0aW9uIGJ1aWxkZXJcbiAgICovXG4gIGV4cGlyYXRpb24oZXhwaXJhdGlvblRpbWU6IG51bWJlcik6IHRoaXMge1xuICAgIGNvbnN0IHRyYW5zYWN0aW9uRXhwaXJhdGlvbiA9IG5ldyBCaWdOdW1iZXIoZXhwaXJhdGlvblRpbWUpO1xuICAgIGlmICh0cmFuc2FjdGlvbkV4cGlyYXRpb24uaXNOYU4oKSB8fCB0cmFuc2FjdGlvbkV4cGlyYXRpb24uaXNHcmVhdGVyVGhhbihUUkFOU0FDVElPTl9FWFBJUkFUSU9OKSkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCB0cmFuc2FjdGlvbiBleHBpcmF0aW9uJyk7XG4gICAgfVxuICAgIHRoaXMudmFsaWRhdGVWYWx1ZSh0cmFuc2FjdGlvbkV4cGlyYXRpb24pO1xuICAgIHRoaXMuX2V4cGlyYXRpb24gPSB0cmFuc2FjdGlvbkV4cGlyYXRpb24udG9OdW1iZXIoKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgYW4gZXh0ZXJuYWwgdHJhbnNhY3Rpb24gc2lnbmF0dXJlXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzaWduYXR1cmUgSGV4IGVuY29kZWQgc2lnbmF0dXJlIHN0cmluZ1xuICAgKiBAcGFyYW0ge0tleVBhaXJ9IGtleVBhaXIgVGhlIHB1YmxpYyBrZXkga2V5cGFpciB0aGF0IHdhcyB1c2VkIHRvIGNyZWF0ZSB0aGUgc2lnbmF0dXJlXG4gICAqIEByZXR1cm5zIHtUcmFuc2FjdGlvbkJ1aWxkZXJ9IFRoaXMgdHJhbnNhY3Rpb24gYnVpbGRlclxuICAgKi9cbiAgc2lnbmF0dXJlKHNpZ25hdHVyZTogc3RyaW5nLCBrZXlQYWlyOiBLZXlQYWlyKTogdGhpcyB7XG4gICAgLy8gaWYgd2UgYWxyZWFkeSBoYXZlIGEgc2lnbmF0dXJlIGZvciB0aGlzIGtleSBwYWlyLCBqdXN0IHVwZGF0ZSBpdFxuICAgIGZvciAoY29uc3Qgb2xkU2lnbmF0dXJlIG9mIHRoaXMuX3NpZ25hdHVyZXMpIHtcbiAgICAgIGlmIChvbGRTaWduYXR1cmUua2V5UGFpci5nZXRLZXlzKCkucHViID09PSBrZXlQYWlyLmdldEtleXMoKS5wdWIpIHtcbiAgICAgICAgb2xkU2lnbmF0dXJlLnNpZ25hdHVyZSA9IHNpZ25hdHVyZTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gb3RoZXJ3aXNlIGFkZCB0aGUgbmV3IHNpZ25hdHVyZVxuICAgIHRoaXMuX3NpZ25hdHVyZXMucHVzaCh7IHNpZ25hdHVyZSwga2V5UGFpciB9KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIG5vZGVDaGFpbk5hbWUoY2hhaW5OYW1lOiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLl9jaGFpbk5hbWUgPSBjaGFpbk5hbWU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvLyBlbmRyZWdpb25cblxuICAvLyByZWdpb24gVmFsaWRhdG9yc1xuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVBZGRyZXNzKGFkZHJlc3M6IEJhc2VBZGRyZXNzKTogdm9pZCB7XG4gICAgaWYgKCFpc1ZhbGlkQWRkcmVzcyhhZGRyZXNzLmFkZHJlc3MpKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIGFkZHJlc3MgJyArIGFkZHJlc3MuYWRkcmVzcyk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlS2V5KGtleTogQmFzZUtleSk6IHZvaWQge1xuICAgIGlmICghbmV3IEtleVBhaXIoeyBwcnY6IGtleS5rZXkgfSkpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQga2V5Jyk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghcmF3VHJhbnNhY3Rpb24pIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignUmF3IHRyYW5zYWN0aW9uIGlzIGVtcHR5Jyk7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBEZXBsb3lVdGlsLmRlcGxveUZyb21Kc29uKEpTT04ucGFyc2UocmF3VHJhbnNhY3Rpb24pKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBuZXcgUGFyc2VUcmFuc2FjdGlvbkVycm9yKCdUaGVyZSB3YXMgYW4gZXJyb3IgcGFyc2luZyB0aGUgSlNPTiBzdHJpbmcnKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVUcmFuc2FjdGlvbih0cmFuc2FjdGlvbj86IFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgdGhpcy52YWxpZGF0ZU1hbmRhdG9yeUZpZWxkcygpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlVmFsdWUodmFsdWU6IEJpZ051bWJlcik6IHZvaWQge1xuICAgIGlmICh2YWx1ZS5pc0xlc3NUaGFuKDApKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdWYWx1ZSBjYW5ub3QgYmUgbGVzcyB0aGFuIHplcm8nKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGVzIHRoYXQgdGhlIG1hbmRhdG9yeSBmaWVsZHMgYXJlIGRlZmluZWRcbiAgICovXG4gIHZhbGlkYXRlTWFuZGF0b3J5RmllbGRzKCk6IHZvaWQge1xuICAgIHRoaXMudmFsaWRhdGVGZWUoKTtcbiAgICB0aGlzLnZhbGlkYXRlU291cmNlKCk7XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGVzIHRoYXQgdGhlIGZlZSBmaWVsZCBpcyBkZWZpbmVkXG4gICAqL1xuICBwcml2YXRlIHZhbGlkYXRlRmVlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9mZWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCB0cmFuc2FjdGlvbjogbWlzc2luZyBmZWUnKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLl9mZWUuZ2FzTGltaXQpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgdHJhbnNhY3Rpb246IG1pc3NpbmcgZ2FzIGxpbWl0Jyk7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICB0aGlzLnZhbGlkYXRlVmFsdWUobmV3IEJpZ051bWJlcih0aGlzLl9mZWUuZ2FzTGltaXQpKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIGdhcyBsaW1pdCcpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgdGhhdCB0aGUgc291cmNlIGZpZWxkIGlzIGRlZmluZWRcbiAgICovXG4gIHByaXZhdGUgdmFsaWRhdGVTb3VyY2UoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3NvdXJjZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIHRyYW5zYWN0aW9uOiBtaXNzaW5nIHNvdXJjZScpO1xuICAgIH1cbiAgICB0aGlzLnZhbGlkYXRlQWRkcmVzcyh0aGlzLl9zb3VyY2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlcyB0aGF0IHRoZSBnaXZlbiBrZXkgaXMgbm90IGFscmVhZHkgaW4gdGhpcy5fbXVsdGlTaWduZXJLZXlQYWlyc1xuICAgKlxuICAgKiBAcGFyYW0ge0Jhc2VLZXl9IGtleSAtIFRoZSBrZXkgdG8gY2hlY2tcbiAgICovXG4gIHByaXZhdGUgY2hlY2tEdXBsaWNhdGVkS2V5cyhrZXk6IEJhc2VLZXkpIHtcbiAgICB0aGlzLl9tdWx0aVNpZ25lcktleVBhaXJzLmZvckVhY2goKF9zb3VyY2VLZXlQYWlyKSA9PiB7XG4gICAgICBpZiAoX3NvdXJjZUtleVBhaXIuZ2V0S2V5cygpLnBydiA9PT0ga2V5LmtleSkge1xuICAgICAgICB0aHJvdyBuZXcgU2lnbmluZ0Vycm9yKCdSZXBlYXRlZCBzaWduOiAnICsga2V5LmtleSk7XG4gICAgICB9XG4gICAgICAvLyBUcnkgdG8gZ2V0IGV4dGVuZGVkIGtleXMgaW4gb3JkZXIgdG8gdmFsaWRhdGUgdGhlbVxuICAgICAgbGV0IHhwcnY7XG4gICAgICB0cnkge1xuICAgICAgICB4cHJ2ID0gX3NvdXJjZUtleVBhaXIuZ2V0RXh0ZW5kZWRLZXlzKCkueHBydjtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAoeHBydiAmJiB4cHJ2ID09PSBrZXkua2V5KSB7XG4gICAgICAgIHRocm93IG5ldyBTaWduaW5nRXJyb3IoJ1JlcGVhdGVkIHNpZ246ICcgKyBrZXkua2V5KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8vIGVuZHJlZ2lvblxuXG4gIC8vIHJlZ2lvbiBHZXR0ZXJzIGFuZCBTZXR0ZXJzXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uKCk6IFRyYW5zYWN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5fdHJhbnNhY3Rpb247XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIHNldCB0cmFuc2FjdGlvbih0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pIHtcbiAgICB0aGlzLl90cmFuc2FjdGlvbiA9IHRyYW5zYWN0aW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgY2hhaW4gbmFtZSBmb3IgdGhlIGNvaW4gZW52aXJvbm1lbnRcbiAgICovXG4gIHB1YmxpYyBnZXQgY2hhaW5OYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2NoYWluTmFtZTtcbiAgfVxuICAvLyBlbmRyZWdpb25cblxuICAvLyByZWdpb24gYXV4aWxpYXJ5TWV0aG9kc1xuICAvKipcbiAgICogR2VuZXJhdGUgYSBEZXBsb3lQYXJhbXMgaW5zdGFuY2Ugd2l0aCB0aGUgdHJhbnNhY3Rpb24gZGF0YVxuICAgKlxuICAgKiBAcmV0dXJucyB7RGVwbG95VXRpbC5EZXBsb3lQYXJhbXN9XG4gICAqL1xuICBwcml2YXRlIGdldERlcGxveVBhcmFtcygpOiBEZXBsb3lVdGlsLkRlcGxveVBhcmFtcyB7XG4gICAgY29uc3QgZ2FzUHJpY2UgPSB0aGlzLl9mZWUuZ2FzUHJpY2UgPyBfLnBhcnNlSW50KHRoaXMuX2ZlZS5nYXNQcmljZSkgOiB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIG5ldyBEZXBsb3lVdGlsLkRlcGxveVBhcmFtcyhcbiAgICAgIFB1YmxpY0tleS5mcm9tSGV4KHRoaXMuX3NvdXJjZS5hZGRyZXNzKSxcbiAgICAgIHRoaXMuX2NoYWluTmFtZSxcbiAgICAgIGdhc1ByaWNlLFxuICAgICAgdGhpcy5fZXhwaXJhdGlvbiB8fCBUUkFOU0FDVElPTl9FWFBJUkFUSU9OXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZSB0aGUgc2Vzc2lvbiBmb3IgdGhlIERlcGxveSBhY2NvcmRpbmcgdG8gdGhlIHRyYW5zYWN0aW9uVHlwZS5cbiAgICpcbiAgICogQHJldHVybnMge0RlcGxveVV0aWwuRXhlY3V0YWJsZURlcGxveUl0ZW19XG4gICAqL1xuICBwcml2YXRlIGdldFNlc3Npb24oKTogRGVwbG95VXRpbC5FeGVjdXRhYmxlRGVwbG95SXRlbSB7XG4gICAgbGV0IHNlc3Npb247XG4gICAgc3dpdGNoICh0aGlzLnRyYW5zYWN0aW9uLnR5cGUpIHtcbiAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlNlbmQ6XG4gICAgICAgIGNvbnN0IHRyYW5zZmVyU2Vzc2lvbiA9IHRoaXMuX3Nlc3Npb24gYXMgQ2FzcGVyVHJhbnNmZXJUcmFuc2FjdGlvbjtcbiAgICAgICAgc2Vzc2lvbiA9IERlcGxveVV0aWwuRXhlY3V0YWJsZURlcGxveUl0ZW0ubmV3VHJhbnNmZXJXaXRoT3B0aW9uYWxUcmFuc2ZlcklkKFxuICAgICAgICAgIHRyYW5zZmVyU2Vzc2lvbi5hbW91bnQsXG4gICAgICAgICAgdHJhbnNmZXJTZXNzaW9uLnRhcmdldCxcbiAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgdHJhbnNmZXJTZXNzaW9uLmlkXG4gICAgICAgICk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuV2FsbGV0SW5pdGlhbGl6YXRpb246XG4gICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nTG9jazpcbiAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdVbmxvY2s6XG4gICAgICAgIGNvbnN0IG1vZHVsZUJ5dGVzU2Vzc2lvbiA9IHRoaXMuX3Nlc3Npb24gYXMgQ2FzcGVyTW9kdWxlQnl0ZXNUcmFuc2FjdGlvbjtcbiAgICAgICAgc2Vzc2lvbiA9IERlcGxveVV0aWwuRXhlY3V0YWJsZURlcGxveUl0ZW0ubmV3TW9kdWxlQnl0ZXMoXG4gICAgICAgICAgbW9kdWxlQnl0ZXNTZXNzaW9uLm1vZHVsZUJ5dGVzLFxuICAgICAgICAgIG1vZHVsZUJ5dGVzU2Vzc2lvbi5hcmdzXG4gICAgICAgICk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignVHJhbnNhY3Rpb24gVHlwZSBlcnJvcicpO1xuICAgIH1cbiAgICByZXR1cm4gc2Vzc2lvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3Mgd2hldGhlciB0aGUgdHJhbnNhY3Rpb24gaGFzIHRoZSBvd25lciBzaWduYXR1cmVcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHB1YiAtIHB1YmxpYyBrZXkgb2YgdGhlIHNpZ25lclxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gdHJ1ZSBpZiB0aGUgcHViIGtleSBhbHJlYWR5IHNpZ25lZCB0aCB0cmFuc2FjdGlvblxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBpc1RyYW5zYWN0aW9uU2lnbmVkQnlQdWIocHViOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgXy5maW5kSW5kZXgodGhpcy50cmFuc2FjdGlvbi5jYXNwZXJUeC5hcHByb3ZhbHMsIChhcHByb3ZhbCkgPT4ge1xuICAgICAgICBjb25zdCBhcHByb3ZhbFNpZ25lciA9IHJlbW92ZUFsZ29QcmVmaXhGcm9tSGV4VmFsdWUoYXBwcm92YWwuc2lnbmVyKTtcbiAgICAgICAgcmV0dXJuIGFwcHJvdmFsU2lnbmVyID09PSBwdWI7XG4gICAgICB9KSAhPT0gLTFcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBzaWduYXR1cmVzIHRvIHRoZSB0cmFuc2FjdGlvblxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBwcm9jZXNzU2lnbmluZygpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGtleVBhaXIgb2YgdGhpcy5fbXVsdGlTaWduZXJLZXlQYWlycykge1xuICAgICAgLy8gQWRkIHNpZ25hdHVyZSBpZiBpdCdzIG5vdCBhbHJlYWR5IGluIHRoZSBkZXBsb3lcbiAgICAgIGlmICghdGhpcy5pc1RyYW5zYWN0aW9uU2lnbmVkQnlQdWIoa2V5UGFpci5nZXRLZXlzKCkucHViKSkge1xuICAgICAgICB0aGlzLnRyYW5zYWN0aW9uLnNpZ24oa2V5UGFpcik7XG4gICAgICB9XG4gICAgfVxuICAgIGZvciAoY29uc3QgeyBzaWduYXR1cmUsIGtleVBhaXIgfSBvZiB0aGlzLl9zaWduYXR1cmVzKSB7XG4gICAgICAvLyBBZGQgc2lnbmF0dXJlIGlmIGl0J3Mgbm90IGFscmVhZHkgaW4gdGhlIGRlcGxveVxuICAgICAgaWYgKCF0aGlzLmlzVHJhbnNhY3Rpb25TaWduZWRCeVB1YihrZXlQYWlyLmdldEtleXMoKS5wdWIpKSB7XG4gICAgICAgIHRoaXMudHJhbnNhY3Rpb24uYWRkU2lnbmF0dXJlKHNpZ25hdHVyZSwga2V5UGFpcik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vIGVuZHJlZ2lvblxufVxuIl19
@@ -95,4 +95,4 @@ class TransactionBuilderFactory extends sdk_core_1.BaseTransactionBuilderFactory
95
95
  }
96
96
  }
97
97
  exports.TransactionBuilderFactory = TransactionBuilderFactory;
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxpREFBMkM7QUFDM0MsOENBS3lCO0FBQ3pCLCtFQUE0RTtBQUM1RSx1REFBb0Q7QUFFcEQsK0NBQTRDO0FBQzVDLG1DQUF3QztBQUN4Qyx1REFBb0Q7QUFDcEQsMkRBQXdEO0FBRXhELE1BQWEseUJBQTBCLFNBQVEsd0NBQTZCO0lBQzFFLFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsOEJBQThCLENBQUMsRUFBZ0I7UUFDN0MsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUkseURBQTJCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDdkYsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsb0JBQW9CLENBQUMsRUFBZ0I7UUFDbkMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUkscUNBQWlCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsa0JBQWtCLENBQUMsRUFBZ0I7UUFDakMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUksaUNBQWUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGtCQUFrQixDQUFDLEVBQWdCO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxJQUFJLGlDQUFlLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixJQUFJLENBQUMsR0FBVztRQUNkLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqQyxNQUFNLEVBQUUsR0FBRyxJQUFJLHlCQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzdDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkMsSUFBSTtZQUNGLEVBQUUsQ0FBQyxRQUFRLEdBQUcsMEJBQVUsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDOUQ7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyx1QkFBdUIsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUNoRTtRQUVELE1BQU0sZ0JBQWdCLEdBQUcsSUFBQSxxQkFBYSxFQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUQsUUFBUSxnQkFBZ0IsRUFBRTtZQUN4QixLQUFLLDBCQUFlLENBQUMsSUFBSTtnQkFDdkIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDckMsS0FBSywwQkFBZSxDQUFDLG9CQUFvQjtnQkFDdkMsT0FBTyxJQUFJLENBQUMsOEJBQThCLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDakQsS0FBSywwQkFBZSxDQUFDLFdBQVc7Z0JBQzlCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3JDLEtBQUssMEJBQWUsQ0FBQyxhQUFhO2dCQUNoQyxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN2QztnQkFDRSxNQUFNLElBQUksa0NBQXVCLENBQUMsc0JBQXNCLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQzNFO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNLLGlCQUFpQixDQUErQixFQUEyQixFQUFFLE9BQVU7UUFDN0YsSUFBSSxFQUFFLEVBQUU7WUFDTixPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ3pCO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxzQkFBc0IsQ0FBQyxjQUFzQjtRQUNuRCxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ25CLE1BQU0sSUFBSSxnQ0FBcUIsQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO1NBQ3ZFO1FBQ0QsSUFBSTtZQUNGLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7U0FDNUI7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLE1BQU0sSUFBSSxnQ0FBcUIsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1NBQ25FO0lBQ0gsQ0FBQztDQUNGO0FBMUZELDhEQTBGQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQgeyBEZXBsb3lVdGlsIH0gZnJvbSAnY2FzcGVyLWpzLXNkayc7XG5pbXBvcnQge1xuICBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgVHJhbnNhY3Rpb25UeXBlLFxuICBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcixcbiAgUGFyc2VUcmFuc2FjdGlvbkVycm9yLFxufSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHsgV2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyIH0gZnJvbSAnLi93YWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgVHJhbnNmZXJCdWlsZGVyIH0gZnJvbSAnLi90cmFuc2ZlckJ1aWxkZXInO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IGdldERlcGxveVR5cGUgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IERlbGVnYXRlQnVpbGRlciB9IGZyb20gJy4vZGVsZWdhdGVCdWlsZGVyJztcbmltcG9ydCB7IFVuZGVsZWdhdGVCdWlsZGVyIH0gZnJvbSAnLi91bmRlbGVnYXRlQnVpbGRlcic7XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uQnVpbGRlckZhY3Rvcnkge1xuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZ2V0V2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyKHR4PzogVHJhbnNhY3Rpb24pOiBXYWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIge1xuICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgV2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplIGFuIHVuZGVsZWdhdGUgYnVpbGRlclxuICAgKlxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9uIHwgdW5kZWZpbmVkfSB0eCAtIHRoZSB0cmFuc2FjdGlvbiB1c2VkIHRvIGluaXRpYWxpemUgdGhlIGJ1aWxkZXJcbiAgICogQHJldHVybnMge1VuZGVsZWdhdGVCdWlsZGVyfSB0aGUgYnVpbGRlciBpbml0aWFsaXplZFxuICAgKi9cbiAgZ2V0VW5kZWxlZ2F0ZUJ1aWxkZXIodHg/OiBUcmFuc2FjdGlvbik6IFVuZGVsZWdhdGVCdWlsZGVyIHtcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IFVuZGVsZWdhdGVCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplIGFuIGRlbGVnYXRlIGJ1aWxkZXJcbiAgICpcbiAgICogQHBhcmFtIHtUcmFuc2FjdGlvbiB8IHVuZGVmaW5lZH0gdHggLSB0aGUgdHJhbnNhY3Rpb24gdXNlZCB0byBpbml0aWFsaXplIHRoZSBidWlsZGVyXG4gICAqIEByZXR1cm5zIHtEZWxlZ2F0ZUJ1aWxkZXJ9IHRoZSBidWlsZGVyIGluaXRpYWxpemVkXG4gICAqL1xuICBnZXREZWxlZ2F0ZUJ1aWxkZXIodHg/OiBUcmFuc2FjdGlvbik6IERlbGVnYXRlQnVpbGRlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBEZWxlZ2F0ZUJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIGdldFRyYW5zZmVyQnVpbGRlcih0eD86IFRyYW5zYWN0aW9uKTogVHJhbnNmZXJCdWlsZGVyIHtcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IFRyYW5zZmVyQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgZnJvbShyYXc6IHN0cmluZyk6IFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gICAgdGhpcy52YWxpZGF0ZVJhd1RyYW5zYWN0aW9uKHJhdyk7XG4gICAgY29uc3QgdHggPSBuZXcgVHJhbnNhY3Rpb24odGhpcy5fY29pbkNvbmZpZyk7XG4gICAgY29uc3QgZGVwbG95SnNvbiA9IEpTT04ucGFyc2UocmF3KTtcbiAgICB0cnkge1xuICAgICAgdHguY2FzcGVyVHggPSBEZXBsb3lVdGlsLmRlcGxveUZyb21Kc29uKGRlcGxveUpzb24pLnVud3JhcCgpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCB0cmFuc2FjdGlvbjogJyArIGUpO1xuICAgIH1cblxuICAgIGNvbnN0IGNhc3BlckRlcGxveVR5cGUgPSBnZXREZXBsb3lUeXBlKHR4LmNhc3BlclR4LnNlc3Npb24pO1xuICAgIHN3aXRjaCAoY2FzcGVyRGVwbG95VHlwZSkge1xuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU2VuZDpcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VHJhbnNmZXJCdWlsZGVyKHR4KTtcbiAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLldhbGxldEluaXRpYWxpemF0aW9uOlxuICAgICAgICByZXR1cm4gdGhpcy5nZXRXYWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIodHgpO1xuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ0xvY2s6XG4gICAgICAgIHJldHVybiB0aGlzLmdldERlbGVnYXRlQnVpbGRlcih0eCk7XG4gICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nVW5sb2NrOlxuICAgICAgICByZXR1cm4gdGhpcy5nZXRVbmRlbGVnYXRlQnVpbGRlcih0eCk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgdHJhbnNhY3Rpb24gJyArIHR4LmNhc3BlclR4KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSB0aGUgYnVpbGRlciB3aXRoIHRoZSBnaXZlbiB0cmFuc2FjdGlvblxuICAgKlxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9uIHwgdW5kZWZpbmVkfSB0eCAtIHRoZSB0cmFuc2FjdGlvbiB1c2VkIHRvIGluaXRpYWxpemUgdGhlIGJ1aWxkZXJcbiAgICogQHBhcmFtIHtUcmFuc2FjdGlvbkJ1aWxkZXJ9IGJ1aWxkZXIgLSB0aGUgYnVpbGRlciB0byBiZSBpbml0aWFsaXplZFxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25CdWlsZGVyfSB0aGUgYnVpbGRlciBpbml0aWFsaXplZFxuICAgKi9cbiAgcHJpdmF0ZSBpbml0aWFsaXplQnVpbGRlcjxUIGV4dGVuZHMgVHJhbnNhY3Rpb25CdWlsZGVyPih0eDogVHJhbnNhY3Rpb24gfCB1bmRlZmluZWQsIGJ1aWxkZXI6IFQpOiBUIHtcbiAgICBpZiAodHgpIHtcbiAgICAgIGJ1aWxkZXIuaW5pdEJ1aWxkZXIodHgpO1xuICAgIH1cbiAgICByZXR1cm4gYnVpbGRlcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayB0aGUgcmF3IHRyYW5zYWN0aW9uIGhhcyBhIHZhbGlkIGZvcm1hdCBpbiB0aGUgYmxvY2tjaGFpbiBjb250ZXh0LCB0aHJvdyBvdGhlcndpc2UuXG4gICAqXG4gICAqIEBwYXJhbSB7YW55fSByYXdUcmFuc2FjdGlvbiAtIFRyYW5zYWN0aW9uIGluIGFueSBmb3JtYXRcbiAgICovXG4gIHByaXZhdGUgdmFsaWRhdGVSYXdUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKSB7XG4gICAgaWYgKCFyYXdUcmFuc2FjdGlvbikge1xuICAgICAgdGhyb3cgbmV3IFBhcnNlVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCByYXcgdHJhbnNhY3Rpb246IFVuZGVmaW5lZCcpO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgSlNPTi5wYXJzZShyYXdUcmFuc2FjdGlvbik7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgbmV3IFBhcnNlVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCByYXcgdHJhbnNhY3Rpb24gZm9ybWF0Jyk7XG4gICAgfVxuICB9XG59XG4iXX0=
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxpREFBMkM7QUFDM0MsOENBS3lCO0FBQ3pCLCtFQUE0RTtBQUM1RSx1REFBb0Q7QUFFcEQsK0NBQTRDO0FBQzVDLG1DQUF3QztBQUN4Qyx1REFBb0Q7QUFDcEQsMkRBQXdEO0FBRXhELE1BQWEseUJBQTBCLFNBQVEsd0NBQTZCO0lBQzFFLFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsOEJBQThCLENBQUMsRUFBZ0I7UUFDN0MsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUkseURBQTJCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDdkYsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsb0JBQW9CLENBQUMsRUFBZ0I7UUFDbkMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUkscUNBQWlCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsa0JBQWtCLENBQUMsRUFBZ0I7UUFDakMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUksaUNBQWUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGtCQUFrQixDQUFDLEVBQWdCO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxJQUFJLGlDQUFlLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixJQUFJLENBQUMsR0FBVztRQUNkLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqQyxNQUFNLEVBQUUsR0FBRyxJQUFJLHlCQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzdDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDO1lBQ0gsRUFBRSxDQUFDLFFBQVEsR0FBRywwQkFBVSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMvRCxDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyx1QkFBdUIsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNqRSxDQUFDO1FBRUQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFBLHFCQUFhLEVBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1RCxRQUFRLGdCQUFnQixFQUFFLENBQUM7WUFDekIsS0FBSywwQkFBZSxDQUFDLElBQUk7Z0JBQ3ZCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3JDLEtBQUssMEJBQWUsQ0FBQyxvQkFBb0I7Z0JBQ3ZDLE9BQU8sSUFBSSxDQUFDLDhCQUE4QixDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2pELEtBQUssMEJBQWUsQ0FBQyxXQUFXO2dCQUM5QixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNyQyxLQUFLLDBCQUFlLENBQUMsYUFBYTtnQkFDaEMsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDdkM7Z0JBQ0UsTUFBTSxJQUFJLGtDQUF1QixDQUFDLHNCQUFzQixHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1RSxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNLLGlCQUFpQixDQUErQixFQUEyQixFQUFFLE9BQVU7UUFDN0YsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNQLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDMUIsQ0FBQztRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssc0JBQXNCLENBQUMsY0FBc0I7UUFDbkQsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxnQ0FBcUIsQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO1FBQ3hFLENBQUM7UUFDRCxJQUFJLENBQUM7WUFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzdCLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsTUFBTSxJQUFJLGdDQUFxQixDQUFDLGdDQUFnQyxDQUFDLENBQUM7UUFDcEUsQ0FBQztJQUNILENBQUM7Q0FDRjtBQTFGRCw4REEwRkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHsgRGVwbG95VXRpbCB9IGZyb20gJ2Nhc3Blci1qcy1zZGsnO1xuaW1wb3J0IHtcbiAgQmFzZVRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIFRyYW5zYWN0aW9uVHlwZSxcbiAgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IsXG4gIFBhcnNlVHJhbnNhY3Rpb25FcnJvcixcbn0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IFdhbGxldEluaXRpYWxpemF0aW9uQnVpbGRlciB9IGZyb20gJy4vd2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyJztcbmltcG9ydCB7IFRyYW5zZmVyQnVpbGRlciB9IGZyb20gJy4vdHJhbnNmZXJCdWlsZGVyJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBnZXREZXBsb3lUeXBlIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBEZWxlZ2F0ZUJ1aWxkZXIgfSBmcm9tICcuL2RlbGVnYXRlQnVpbGRlcic7XG5pbXBvcnQgeyBVbmRlbGVnYXRlQnVpbGRlciB9IGZyb20gJy4vdW5kZWxlZ2F0ZUJ1aWxkZXInO1xuXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSBleHRlbmRzIEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IHtcbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGdldFdhbGxldEluaXRpYWxpemF0aW9uQnVpbGRlcih0eD86IFRyYW5zYWN0aW9uKTogV2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyIHtcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IFdhbGxldEluaXRpYWxpemF0aW9uQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSBhbiB1bmRlbGVnYXRlIGJ1aWxkZXJcbiAgICpcbiAgICogQHBhcmFtIHtUcmFuc2FjdGlvbiB8IHVuZGVmaW5lZH0gdHggLSB0aGUgdHJhbnNhY3Rpb24gdXNlZCB0byBpbml0aWFsaXplIHRoZSBidWlsZGVyXG4gICAqIEByZXR1cm5zIHtVbmRlbGVnYXRlQnVpbGRlcn0gdGhlIGJ1aWxkZXIgaW5pdGlhbGl6ZWRcbiAgICovXG4gIGdldFVuZGVsZWdhdGVCdWlsZGVyKHR4PzogVHJhbnNhY3Rpb24pOiBVbmRlbGVnYXRlQnVpbGRlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBVbmRlbGVnYXRlQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSBhbiBkZWxlZ2F0ZSBidWlsZGVyXG4gICAqXG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb24gfCB1bmRlZmluZWR9IHR4IC0gdGhlIHRyYW5zYWN0aW9uIHVzZWQgdG8gaW5pdGlhbGl6ZSB0aGUgYnVpbGRlclxuICAgKiBAcmV0dXJucyB7RGVsZWdhdGVCdWlsZGVyfSB0aGUgYnVpbGRlciBpbml0aWFsaXplZFxuICAgKi9cbiAgZ2V0RGVsZWdhdGVCdWlsZGVyKHR4PzogVHJhbnNhY3Rpb24pOiBEZWxlZ2F0ZUJ1aWxkZXIge1xuICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgRGVsZWdhdGVCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBnZXRUcmFuc2ZlckJ1aWxkZXIodHg/OiBUcmFuc2FjdGlvbik6IFRyYW5zZmVyQnVpbGRlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBUcmFuc2ZlckJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIGZyb20ocmF3OiBzdHJpbmcpOiBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICAgIHRoaXMudmFsaWRhdGVSYXdUcmFuc2FjdGlvbihyYXcpO1xuICAgIGNvbnN0IHR4ID0gbmV3IFRyYW5zYWN0aW9uKHRoaXMuX2NvaW5Db25maWcpO1xuICAgIGNvbnN0IGRlcGxveUpzb24gPSBKU09OLnBhcnNlKHJhdyk7XG4gICAgdHJ5IHtcbiAgICAgIHR4LmNhc3BlclR4ID0gRGVwbG95VXRpbC5kZXBsb3lGcm9tSnNvbihkZXBsb3lKc29uKS51bndyYXAoKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgdHJhbnNhY3Rpb246ICcgKyBlKTtcbiAgICB9XG5cbiAgICBjb25zdCBjYXNwZXJEZXBsb3lUeXBlID0gZ2V0RGVwbG95VHlwZSh0eC5jYXNwZXJUeC5zZXNzaW9uKTtcbiAgICBzd2l0Y2ggKGNhc3BlckRlcGxveVR5cGUpIHtcbiAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlNlbmQ6XG4gICAgICAgIHJldHVybiB0aGlzLmdldFRyYW5zZmVyQnVpbGRlcih0eCk7XG4gICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5XYWxsZXRJbml0aWFsaXphdGlvbjpcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0V2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyKHR4KTtcbiAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdMb2NrOlxuICAgICAgICByZXR1cm4gdGhpcy5nZXREZWxlZ2F0ZUJ1aWxkZXIodHgpO1xuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ1VubG9jazpcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VW5kZWxlZ2F0ZUJ1aWxkZXIodHgpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIHRyYW5zYWN0aW9uICcgKyB0eC5jYXNwZXJUeCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemUgdGhlIGJ1aWxkZXIgd2l0aCB0aGUgZ2l2ZW4gdHJhbnNhY3Rpb25cbiAgICpcbiAgICogQHBhcmFtIHtUcmFuc2FjdGlvbiB8IHVuZGVmaW5lZH0gdHggLSB0aGUgdHJhbnNhY3Rpb24gdXNlZCB0byBpbml0aWFsaXplIHRoZSBidWlsZGVyXG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb25CdWlsZGVyfSBidWlsZGVyIC0gdGhlIGJ1aWxkZXIgdG8gYmUgaW5pdGlhbGl6ZWRcbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gdGhlIGJ1aWxkZXIgaW5pdGlhbGl6ZWRcbiAgICovXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUJ1aWxkZXI8VCBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlcj4odHg6IFRyYW5zYWN0aW9uIHwgdW5kZWZpbmVkLCBidWlsZGVyOiBUKTogVCB7XG4gICAgaWYgKHR4KSB7XG4gICAgICBidWlsZGVyLmluaXRCdWlsZGVyKHR4KTtcbiAgICB9XG4gICAgcmV0dXJuIGJ1aWxkZXI7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgdGhlIHJhdyB0cmFuc2FjdGlvbiBoYXMgYSB2YWxpZCBmb3JtYXQgaW4gdGhlIGJsb2NrY2hhaW4gY29udGV4dCwgdGhyb3cgb3RoZXJ3aXNlLlxuICAgKlxuICAgKiBAcGFyYW0ge2FueX0gcmF3VHJhbnNhY3Rpb24gLSBUcmFuc2FjdGlvbiBpbiBhbnkgZm9ybWF0XG4gICAqL1xuICBwcml2YXRlIHZhbGlkYXRlUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb246IHN0cmluZykge1xuICAgIGlmICghcmF3VHJhbnNhY3Rpb24pIHtcbiAgICAgIHRocm93IG5ldyBQYXJzZVRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgcmF3IHRyYW5zYWN0aW9uOiBVbmRlZmluZWQnKTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIEpTT04ucGFyc2UocmF3VHJhbnNhY3Rpb24pO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRocm93IG5ldyBQYXJzZVRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgcmF3IHRyYW5zYWN0aW9uIGZvcm1hdCcpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -103,4 +103,4 @@ class TransferBuilder extends transactionBuilder_1.TransactionBuilder {
103
103
  }
104
104
  }
105
105
  exports.TransferBuilder = TransferBuilder;
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc2ZlckJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsaURBQWtGO0FBQ2xGLDhDQU15QjtBQUN6Qiw2REFBcUU7QUFFckUsMkNBQW9FO0FBQ3BFLG1DQU9pQjtBQUVqQixNQUFhLGVBQWdCLFNBQVEsdUNBQWtCO0lBS3JELFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxrQkFBa0I7SUFDUixLQUFLLENBQUMsbUJBQW1CO1FBQ2pDLE1BQU0sY0FBYyxHQUFHLElBQUksR0FBRyxFQUFtQixDQUFDO1FBQ2xELElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNuQixjQUFjLENBQUMsR0FBRyxDQUFDLDRCQUFnQixFQUFFLDhCQUFjLENBQUMsTUFBTSxDQUFDLDBCQUFlLENBQUMsMEJBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbkcsY0FBYyxDQUFDLEdBQUcsQ0FBQywrQkFBbUIsRUFBRSw4QkFBYyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztTQUNqRjtRQUNELElBQUksQ0FBQyxRQUFRLEdBQUc7WUFDZCxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDcEIsTUFBTSxFQUFFLDJCQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDMUMsRUFBRSxFQUFFLElBQUksQ0FBQyxXQUFxQjtZQUM5QixjQUFjLEVBQUUsY0FBYztTQUMvQixDQUFDO1FBQ0YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQywwQkFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFELE9BQU8sTUFBTSxLQUFLLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRUQsa0JBQWtCO0lB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cnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHsgQ0xWYWx1ZSwgQ0xQdWJsaWNLZXkgYXMgUHVibGljS2V5LCBDTFZhbHVlQnVpbGRlciB9IGZyb20gJ2Nhc3Blci1qcy1zZGsnO1xuaW1wb3J0IHtcbiAgQmFzZUtleSxcbiAgQnVpbGRUcmFuc2FjdGlvbkVycm9yLFxuICBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcixcbiAgU2lnbmluZ0Vycm9yLFxuICBUcmFuc2FjdGlvblR5cGUsXG59IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIsIERFRkFVTFRfTSB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBUUkFOU0FDVElPTl9UWVBFLCBUUkFOU0ZFUl9UT19BRERSRVNTIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHtcbiAgaXNWYWxpZFRyYW5zZmVyQW1vdW50LFxuICBpc1ZhbGlkVHJhbnNmZXJJZCxcbiAgZ2V0VHJhbnNmZXJEZXN0aW5hdGlvbkFkZHJlc3MsXG4gIGdldFRyYW5zZmVyQW1vdW50LFxuICBnZXRUcmFuc2ZlcklkLFxuICBpc1ZhbGlkQWRkcmVzcyxcbn0gZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2ZlckJ1aWxkZXIgZXh0ZW5kcyBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBwcml2YXRlIF90b0FkZHJlc3M6IHN0cmluZztcbiAgcHJpdmF0ZSBfYW1vdW50OiBzdHJpbmc7XG4gIHByaXZhdGUgX3RyYW5zZmVySWQ6IG51bWJlciB8IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGJ1aWxkSW1wbGVtZW50YXRpb24oKTogUHJvbWlzZTxUcmFuc2FjdGlvbj4ge1xuICAgIGNvbnN0IGV4dHJhQXJndW1lbnRzID0gbmV3IE1hcDxzdHJpbmcsIENMVmFsdWU+KCk7XG4gICAgaWYgKHRoaXMuX3RvQWRkcmVzcykge1xuICAgICAgZXh0cmFBcmd1bWVudHMuc2V0KFRSQU5TQUNUSU9OX1RZUEUsIENMVmFsdWVCdWlsZGVyLnN0cmluZyhUcmFuc2FjdGlvblR5cGVbVHJhbnNhY3Rpb25UeXBlLlNlbmRdKSk7XG4gICAgICBleHRyYUFyZ3VtZW50cy5zZXQoVFJBTlNGRVJfVE9fQUREUkVTUywgQ0xWYWx1ZUJ1aWxkZXIuc3RyaW5nKHRoaXMuX3RvQWRkcmVzcykpO1xuICAgIH1cbiAgICB0aGlzLl9zZXNzaW9uID0ge1xuICAgICAgYW1vdW50OiB0aGlzLl9hbW91bnQsXG4gICAgICB0YXJnZXQ6IFB1YmxpY0tleS5mcm9tSGV4KHRoaXMuX3RvQWRkcmVzcyksXG4gICAgICBpZDogdGhpcy5fdHJhbnNmZXJJZCBhcyBzdHJpbmcsXG4gICAgICBleHRyYUFyZ3VtZW50czogZXh0cmFBcmd1bWVudHMsXG4gICAgfTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLnNldFRyYW5zYWN0aW9uVHlwZShUcmFuc2FjdGlvblR5cGUuU2VuZCk7XG4gICAgcmV0dXJuIGF3YWl0IHN1cGVyLmJ1aWxkSW1wbGVtZW50YXRpb24oKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpbml0QnVpbGRlcih0eDogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICBzdXBlci5pbml0QnVpbGRlcih0eCk7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5zZXRUcmFuc2FjdGlvblR5cGUoVHJhbnNhY3Rpb25UeXBlLlNlbmQpO1xuICAgIHRoaXMudG8oZ2V0VHJhbnNmZXJEZXN0aW5hdGlvbkFkZHJlc3ModHguY2FzcGVyVHguc2Vzc2lvbikpO1xuICAgIHRoaXMuYW1vdW50KGdldFRyYW5zZmVyQW1vdW50KHR4LmNhc3BlclR4LnNlc3Npb24pKTtcbiAgICBjb25zdCB0cmFuc2ZlcklkID0gZ2V0VHJhbnNmZXJJZCh0eC5jYXNwZXJUeC5zZXNzaW9uKTtcbiAgICBpZiAodHJhbnNmZXJJZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLnRyYW5zZmVySWQodHJhbnNmZXJJZCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBzaWduSW1wbGVtZW50YXRpb24oa2V5OiBCYXNlS2V5KTogVHJhbnNhY3Rpb24ge1xuICAgIGlmICh0aGlzLl9tdWx0aVNpZ25lcktleVBhaXJzLmxlbmd0aCA+PSBERUZBVUxUX00pIHtcbiAgICAgIHRocm93IG5ldyBTaWduaW5nRXJyb3IoJ0EgbWF4aW11bSBvZiAnICsgREVGQVVMVF9NICsgJyBjYW4gc2lnbiB0aGUgdHJhbnNhY3Rpb24uJyk7XG4gICAgfVxuICAgIHJldHVybiBzdXBlci5zaWduSW1wbGVtZW50YXRpb24oa2V5KTtcbiAgfVxuXG4gIC8vIHJlZ2lvbiBUcmFuc2ZlciBmaWVsZHNcbiAgLyoqXG4gICAqIFNldCB0aGUgZGVzdGluYXRpb24gYWRkcmVzcyB3aGVyZSB0aGUgZnVuZHMgd2lsbCBiZSBzZW50LFxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYWRkcmVzcyB0aGUgYWRkcmVzcyB0byB0cmFuc2ZlciBmdW5kcyB0b1xuICAgKiBAcmV0dXJucyB7VHJhbnNmZXJCdWlsZGVyfSB0aGUgYnVpbGRlciB3aXRoIHRoZSBuZXcgcGFyYW1ldGVyIHNldFxuICAgKi9cbiAgdG8oYWRkcmVzczogc3RyaW5nKTogdGhpcyB7XG4gICAgaWYgKCFpc1ZhbGlkQWRkcmVzcyhhZGRyZXNzKSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yKCdJbnZhbGlkIGFkZHJlc3MnKTtcbiAgICB9XG4gICAgdGhpcy5fdG9BZGRyZXNzID0gYWRkcmVzcztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGFtb3VudCB0byBiZSB0cmFuc2ZlcnJlZFxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYW1vdW50IGFtb3VudCB0byB0cmFuc2ZlciBpbiBtb3RlcyAoMSBDc3ByIGVxdWFscyAxLDAwMCwwMDAsMDAwIG1vdGVzKVxuICAgKiBAcmV0dXJucyB7VHJhbnNmZXJCdWlsZGVyfSB0aGUgYnVpbGRlciB3aXRoIHRoZSBuZXcgcGFyYW1ldGVyIHNldFxuICAgKi9cbiAgYW1vdW50KGFtb3VudDogc3RyaW5nKTogdGhpcyB7XG4gICAgaWYgKCFpc1ZhbGlkVHJhbnNmZXJBbW91bnQoYW1vdW50KSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yKCdJbnZhbGlkIGFtb3VudCcpO1xuICAgIH1cbiAgICB0aGlzLl9hbW91bnQgPSBhbW91bnQ7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRyYW5zZmVyIGlkIHRoYXQgYWN0cyBhcyBhIHRyYW5zYWN0aW9uIGlkZW50aWZpZXIgKHNpbWlsYXIgdG8gbWVtbyBpZCBmb3IgU3RlbGxhcilcbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IGlkIHRyYW5zZmVyIGlkXG4gICAqIEByZXR1cm5zIHtUcmFuc2ZlckJ1aWxkZXJ9IHRoZSBidWlsZGVyIHdpdGggdGhlIG5ldyBwYXJhbWV0ZXIgc2V0XG4gICAqL1xuICB0cmFuc2ZlcklkKGlkOiBudW1iZXIgfCBzdHJpbmcpOiB0aGlzIHtcbiAgICBpZiAoIWlzVmFsaWRUcmFuc2ZlcklkKGlkKSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yKCdJbnZhbGlkIHRyYW5zZmVyIGlkJyk7XG4gICAgfVxuICAgIHRoaXMuX3RyYW5zZmVySWQgPSBpZC50b1N0cmluZygpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLy8gZW5kcmVnaW9uXG5cbiAgLy8gcmVnaW9uIFZhbGlkYXRvcnNcbiAgdmFsaWRhdGVNYW5kYXRvcnlGaWVsZHMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl90b0FkZHJlc3MpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgdHJhbnNhY3Rpb246IG1pc3NpbmcgdG8nKTtcbiAgICB9XG4gICAgaWYgKCFpc1ZhbGlkQWRkcmVzcyh0aGlzLl90b0FkZHJlc3MpKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IoJ0ludmFsaWQgdG8gYWRkcmVzcycpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuX2Ftb3VudCkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCB0cmFuc2FjdGlvbjogbWlzc2luZyBhbW91bnQnKTtcbiAgICB9XG4gICAgaWYgKCFpc1ZhbGlkVHJhbnNmZXJBbW91bnQodGhpcy5fYW1vdW50KSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yKCdJbnZhbGlkIGFtb3VudCcpO1xuICAgIH1cbiAgICBzdXBlci52YWxpZGF0ZU1hbmRhdG9yeUZpZWxkcygpO1xuICB9XG4gIC8vIGVuZHJlZ2lvblxufVxuIl19
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc2ZlckJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsaURBQWtGO0FBQ2xGLDhDQU15QjtBQUN6Qiw2REFBcUU7QUFFckUsMkNBQW9FO0FBQ3BFLG1DQU9pQjtBQUVqQixNQUFhLGVBQWdCLFNBQVEsdUNBQWtCO0lBS3JELFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxrQkFBa0I7SUFDUixLQUFLLENBQUMsbUJBQW1CO1FBQ2pDLE1BQU0sY0FBYyxHQUFHLElBQUksR0FBRyxFQUFtQixDQUFDO1FBQ2xELElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BCLGNBQWMsQ0FBQyxHQUFHLENBQUMsNEJBQWdCLEVBQUUsOEJBQWMsQ0FBQyxNQUFNLENBQUMsMEJBQWUsQ0FBQywwQkFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNuRyxjQUFjLENBQUMsR0FBRyxDQUFDLCtCQUFtQixFQUFFLDhCQUFjLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ2xGLENBQUM7UUFDRCxJQUFJLENBQUMsUUFBUSxHQUFHO1lBQ2QsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3BCLE1BQU0sRUFBRSwyQkFBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQzFDLEVBQUUsRUFBRSxJQUFJLENBQUMsV0FBcUI7WUFDOUIsY0FBYyxFQUFFLGNBQWM7U0FDL0IsQ0FBQztRQUNGLElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsMEJBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxRCxPQUFPLE1BQU0sS0FBSyxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVE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QUFDO1FBQ3pELENBQUM7UUFDRCxLQUFLLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0NBRUY7QUE1R0QsMENBNEdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCB7IENMVmFsdWUsIENMUHVibGljS2V5IGFzIFB1YmxpY0tleSwgQ0xWYWx1ZUJ1aWxkZXIgfSBmcm9tICdjYXNwZXItanMtc2RrJztcbmltcG9ydCB7XG4gIEJhc2VLZXksXG4gIEJ1aWxkVHJhbnNhY3Rpb25FcnJvcixcbiAgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IsXG4gIFNpZ25pbmdFcnJvcixcbiAgVHJhbnNhY3Rpb25UeXBlLFxufSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyLCBERUZBVUxUX00gfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgVFJBTlNBQ1RJT05fVFlQRSwgVFJBTlNGRVJfVE9fQUREUkVTUyB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7XG4gIGlzVmFsaWRUcmFuc2ZlckFtb3VudCxcbiAgaXNWYWxpZFRyYW5zZmVySWQsXG4gIGdldFRyYW5zZmVyRGVzdGluYXRpb25BZGRyZXNzLFxuICBnZXRUcmFuc2ZlckFtb3VudCxcbiAgZ2V0VHJhbnNmZXJJZCxcbiAgaXNWYWxpZEFkZHJlc3MsXG59IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgY2xhc3MgVHJhbnNmZXJCdWlsZGVyIGV4dGVuZHMgVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgcHJpdmF0ZSBfdG9BZGRyZXNzOiBzdHJpbmc7XG4gIHByaXZhdGUgX2Ftb3VudDogc3RyaW5nO1xuICBwcml2YXRlIF90cmFuc2ZlcklkOiBudW1iZXIgfCBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBhc3luYyBidWlsZEltcGxlbWVudGF0aW9uKCk6IFByb21pc2U8VHJhbnNhY3Rpb24+IHtcbiAgICBjb25zdCBleHRyYUFyZ3VtZW50cyA9IG5ldyBNYXA8c3RyaW5nLCBDTFZhbHVlPigpO1xuICAgIGlmICh0aGlzLl90b0FkZHJlc3MpIHtcbiAgICAgIGV4dHJhQXJndW1lbnRzLnNldChUUkFOU0FDVElPTl9UWVBFLCBDTFZhbHVlQnVpbGRlci5zdHJpbmcoVHJhbnNhY3Rpb25UeXBlW1RyYW5zYWN0aW9uVHlwZS5TZW5kXSkpO1xuICAgICAgZXh0cmFBcmd1bWVudHMuc2V0KFRSQU5TRkVSX1RPX0FERFJFU1MsIENMVmFsdWVCdWlsZGVyLnN0cmluZyh0aGlzLl90b0FkZHJlc3MpKTtcbiAgICB9XG4gICAgdGhpcy5fc2Vzc2lvbiA9IHtcbiAgICAgIGFtb3VudDogdGhpcy5fYW1vdW50LFxuICAgICAgdGFyZ2V0OiBQdWJsaWNLZXkuZnJvbUhleCh0aGlzLl90b0FkZHJlc3MpLFxuICAgICAgaWQ6IHRoaXMuX3RyYW5zZmVySWQgYXMgc3RyaW5nLFxuICAgICAgZXh0cmFBcmd1bWVudHM6IGV4dHJhQXJndW1lbnRzLFxuICAgIH07XG4gICAgdGhpcy50cmFuc2FjdGlvbi5zZXRUcmFuc2FjdGlvblR5cGUoVHJhbnNhY3Rpb25UeXBlLlNlbmQpO1xuICAgIHJldHVybiBhd2FpdCBzdXBlci5idWlsZEltcGxlbWVudGF0aW9uKCk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgaW5pdEJ1aWxkZXIodHg6IFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgc3VwZXIuaW5pdEJ1aWxkZXIodHgpO1xuICAgIHRoaXMudHJhbnNhY3Rpb24uc2V0VHJhbnNhY3Rpb25UeXBlKFRyYW5zYWN0aW9uVHlwZS5TZW5kKTtcbiAgICB0aGlzLnRvKGdldFRyYW5zZmVyRGVzdGluYXRpb25BZGRyZXNzKHR4LmNhc3BlclR4LnNlc3Npb24pKTtcbiAgICB0aGlzLmFtb3VudChnZXRUcmFuc2ZlckFtb3VudCh0eC5jYXNwZXJUeC5zZXNzaW9uKSk7XG4gICAgY29uc3QgdHJhbnNmZXJJZCA9IGdldFRyYW5zZmVySWQodHguY2FzcGVyVHguc2Vzc2lvbik7XG4gICAgaWYgKHRyYW5zZmVySWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy50cmFuc2ZlcklkKHRyYW5zZmVySWQpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgc2lnbkltcGxlbWVudGF0aW9uKGtleTogQmFzZUtleSk6IFRyYW5zYWN0aW9uIHtcbiAgICBpZiAodGhpcy5fbXVsdGlTaWduZXJLZXlQYWlycy5sZW5ndGggPj0gREVGQVVMVF9NKSB7XG4gICAgICB0aHJvdyBuZXcgU2lnbmluZ0Vycm9yKCdBIG1heGltdW0gb2YgJyArIERFRkFVTFRfTSArICcgY2FuIHNpZ24gdGhlIHRyYW5zYWN0aW9uLicpO1xuICAgIH1cbiAgICByZXR1cm4gc3VwZXIuc2lnbkltcGxlbWVudGF0aW9uKGtleSk7XG4gIH1cblxuICAvLyByZWdpb24gVHJhbnNmZXIgZmllbGRzXG4gIC8qKlxuICAgKiBTZXQgdGhlIGRlc3RpbmF0aW9uIGFkZHJlc3Mgd2hlcmUgdGhlIGZ1bmRzIHdpbGwgYmUgc2VudCxcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFkZHJlc3MgdGhlIGFkZHJlc3MgdG8gdHJhbnNmZXIgZnVuZHMgdG9cbiAgICogQHJldHVybnMge1RyYW5zZmVyQnVpbGRlcn0gdGhlIGJ1aWxkZXIgd2l0aCB0aGUgbmV3IHBhcmFtZXRlciBzZXRcbiAgICovXG4gIHRvKGFkZHJlc3M6IHN0cmluZyk6IHRoaXMge1xuICAgIGlmICghaXNWYWxpZEFkZHJlc3MoYWRkcmVzcykpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcignSW52YWxpZCBhZGRyZXNzJyk7XG4gICAgfVxuICAgIHRoaXMuX3RvQWRkcmVzcyA9IGFkZHJlc3M7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBhbW91bnQgdG8gYmUgdHJhbnNmZXJyZWRcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFtb3VudCBhbW91bnQgdG8gdHJhbnNmZXIgaW4gbW90ZXMgKDEgQ3NwciBlcXVhbHMgMSwwMDAsMDAwLDAwMCBtb3RlcylcbiAgICogQHJldHVybnMge1RyYW5zZmVyQnVpbGRlcn0gdGhlIGJ1aWxkZXIgd2l0aCB0aGUgbmV3IHBhcmFtZXRlciBzZXRcbiAgICovXG4gIGFtb3VudChhbW91bnQ6IHN0cmluZyk6IHRoaXMge1xuICAgIGlmICghaXNWYWxpZFRyYW5zZmVyQW1vdW50KGFtb3VudCkpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcignSW52YWxpZCBhbW91bnQnKTtcbiAgICB9XG4gICAgdGhpcy5fYW1vdW50ID0gYW1vdW50O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0cmFuc2ZlciBpZCB0aGF0IGFjdHMgYXMgYSB0cmFuc2FjdGlvbiBpZGVudGlmaWVyIChzaW1pbGFyIHRvIG1lbW8gaWQgZm9yIFN0ZWxsYXIpXG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBpZCB0cmFuc2ZlciBpZFxuICAgKiBAcmV0dXJucyB7VHJhbnNmZXJCdWlsZGVyfSB0aGUgYnVpbGRlciB3aXRoIHRoZSBuZXcgcGFyYW1ldGVyIHNldFxuICAgKi9cbiAgdHJhbnNmZXJJZChpZDogbnVtYmVyIHwgc3RyaW5nKTogdGhpcyB7XG4gICAgaWYgKCFpc1ZhbGlkVHJhbnNmZXJJZChpZCkpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcignSW52YWxpZCB0cmFuc2ZlciBpZCcpO1xuICAgIH1cbiAgICB0aGlzLl90cmFuc2ZlcklkID0gaWQudG9TdHJpbmcoKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8vIGVuZHJlZ2lvblxuXG4gIC8vIHJlZ2lvbiBWYWxpZGF0b3JzXG4gIHZhbGlkYXRlTWFuZGF0b3J5RmllbGRzKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fdG9BZGRyZXNzKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIHRyYW5zYWN0aW9uOiBtaXNzaW5nIHRvJyk7XG4gICAgfVxuICAgIGlmICghaXNWYWxpZEFkZHJlc3ModGhpcy5fdG9BZGRyZXNzKSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yKCdJbnZhbGlkIHRvIGFkZHJlc3MnKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLl9hbW91bnQpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgdHJhbnNhY3Rpb246IG1pc3NpbmcgYW1vdW50Jyk7XG4gICAgfVxuICAgIGlmICghaXNWYWxpZFRyYW5zZmVyQW1vdW50KHRoaXMuX2Ftb3VudCkpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcignSW52YWxpZCBhbW91bnQnKTtcbiAgICB9XG4gICAgc3VwZXIudmFsaWRhdGVNYW5kYXRvcnlGaWVsZHMoKTtcbiAgfVxuICAvLyBlbmRyZWdpb25cbn1cbiJdfQ==
@@ -108,4 +108,4 @@ class UndelegateBuilder extends transactionBuilder_1.TransactionBuilder {
108
108
  }
109
109
  }
110
110
  exports.UndelegateBuilder = UndelegateBuilder;
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5kZWxlZ2F0ZUJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3VuZGVsZWdhdGVCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLGlEQUErRjtBQUMvRiw4Q0FPeUI7QUFDekIsNkRBQXFFO0FBRXJFLDJDQU9xQjtBQUNyQixtQ0FNaUI7QUFHakIsTUFBYSxpQkFBa0IsU0FBUSx1Q0FBa0I7SUFNdkQ7Ozs7T0FJRztJQUNILFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxPQUFPLEdBQUcsc0NBQTBCLENBQUM7UUFDMUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsNkJBQXFCLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQsa0JBQWtCO0lBQ1IsS0FBSyxDQUFDLG1CQUFtQjtRQUNqQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksc0NBQTBCLENBQUM7UUFDaEUsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7UUFDOUMsTUFBTSxjQUFjLEdBQUcsSUFBSSxHQUFHLEVBQW1CLENBQUM7UUFFbEQsY0FBYyxDQUFDLEdBQUcsQ0FBQyw0QkFBZ0IsRUFBRSw4QkFBYyxDQUFDLE1BQU0sQ0FBQywwQkFBZSxDQUFDLDBCQUFlLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVHLGNBQWMsQ0FBQyxHQUFHLENBQUMsd0JBQVksRUFBRSw4QkFBYyxDQUFDLE1BQU0sQ0FBQyxnQ0FBcUIsQ0FBQyxnQ0FBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0csY0FBYyxDQUFDLEdBQUcsQ0FBQyxpQ0FBcUIsRUFBRSw4QkFBYyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENB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QUFZO0lBRVosb0JBQW9CO0lBRXBCOzs7O09BSUc7SUFDSCx1QkFBdUI7UUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDakIsTUFBTSxJQUFJLGdDQUFxQixDQUFDLHFDQUFxQyxDQUFDLENBQUM7U0FDeEU7UUFDRCxJQUFJLENBQUMsSUFBQSw2QkFBcUIsRUFBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDeEMsTUFBTSxJQUFJLHFDQUEwQixDQUFDLGdCQUFnQixDQUFDLENBQUM7U0FDeEQ7UUFDRCxLQUFLLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0NBRUY7QUF0SEQsOENBc0hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCB7IENMVmFsdWUsIENMUHVibGljS2V5IGFzIFB1YmxpY0tleSwgUnVudGltZUFyZ3MsIENMVmFsdWVCdWlsZGVyIH0gZnJvbSAnY2FzcGVyLWpzLXNkayc7XG5pbXBvcnQge1xuICBCYXNlS2V5LFxuICBCdWlsZFRyYW5zYWN0aW9uRXJyb3IsXG4gIFRyYW5zYWN0aW9uVHlwZSxcbiAgU3Rha2luZ09wZXJhdGlvblR5cGVzLFxuICBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcixcbiAgU2lnbmluZ0Vycm9yLFxufSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyLCBERUZBVUxUX00gfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHtcbiAgVFJBTlNBQ1RJT05fVFlQRSxcbiAgREVMRUdBVEVfVkFMSURBVE9SLFxuICBERUxFR0FURV9GUk9NX0FERFJFU1MsXG4gIFNUQUtJTkdfVFlQRSxcbiAgVU5ERUxFR0FURV9DT05UUkFDVF9BQ1RJT04sXG4gIERFTEVHQVRFX1ZBTElEQVRPUl9BQ0NPVU5ULFxufSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICBpc1ZhbGlkRGVsZWdhdGVBbW91bnQsXG4gIGlzVmFsaWRBZGRyZXNzLFxuICBnZXRUcmFuc2ZlckFtb3VudCxcbiAgZ2V0VmFsaWRhdG9yQWRkcmVzcyxcbiAgY2FzcGVyQ29udHJhY3RIZXhDb2RlLFxufSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IERlbGVnYXRlVW5kZWxlZ2F0ZUNvbnRyYWN0QXJncyB9IGZyb20gJy4vaWZhY2VzJztcblxuZXhwb3J0IGNsYXNzIFVuZGVsZWdhdGVCdWlsZGVyIGV4dGVuZHMgVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgcHJpdmF0ZSBfdmFsaWRhdG9yOiBzdHJpbmc7XG4gIHByaXZhdGUgX2FjdGlvbjogc3RyaW5nO1xuICBwcml2YXRlIF9hbW91bnQ6IHN0cmluZztcbiAgcHJpdmF0ZSBfY29udHJhY3Q6IFVpbnQ4QXJyYXk7XG5cbiAgLyoqXG4gICAqIFB1YmxpYyBjb25zdHJ1Y3Rvci5cbiAgICpcbiAgICogQHBhcmFtIHtDb2luQ29uZmlnfSBfY29pbkNvbmZpZyBDb2luIGNvbmZpZ3VyYXRpb24gb2JqZWN0XG4gICAqL1xuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gICAgdGhpcy5fYWN0aW9uID0gVU5ERUxFR0FURV9DT05UUkFDVF9BQ1RJT047XG4gICAgdGhpcy5fY29udHJhY3QgPSBVaW50OEFycmF5LmZyb20oQnVmZmVyLmZyb20oY2FzcGVyQ29udHJhY3RIZXhDb2RlLCAnaGV4JykpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBhc3luYyBidWlsZEltcGxlbWVudGF0aW9uKCk6IFByb21pc2U8VHJhbnNhY3Rpb24+IHtcbiAgICB0aGlzLl92YWxpZGF0b3IgPSB0aGlzLl92YWxpZGF0b3IgfHwgREVMRUdBVEVfVkFMSURBVE9SX0FDQ09VTlQ7XG4gICAgY29uc3QgYXJncyA9IHRoaXMuYnVpbGRVbmRlbGVnYXRlUGFyYW1ldGVycygpO1xuICAgIGNvbnN0IGV4dHJhQXJndW1lbnRzID0gbmV3IE1hcDxzdHJpbmcsIENMVmFsdWU+KCk7XG5cbiAgICBleHRyYUFyZ3VtZW50cy5zZXQoVFJBTlNBQ1RJT05fVFlQRSwgQ0xWYWx1ZUJ1aWxkZXIuc3RyaW5nKFRyYW5zYWN0aW9uVHlwZVtUcmFuc2FjdGlvblR5cGUuU3Rha2luZ1VubG9ja10pKTtcbiAgICBleHRyYUFyZ3VtZW50cy5zZXQoU1RBS0lOR19UWVBFLCBDTFZhbHVlQnVpbGRlci5zdHJpbmcoU3Rha2luZ09wZXJhdGlvblR5cGVzW1N0YWtpbmdPcGVyYXRpb25UeXBlcy5VTkxPQ0tdKSk7XG4gICAgZXh0cmFBcmd1bWVudHMuc2V0KERFTEVHQVRFX0ZST01fQUREUkVTUywgQ0xWYWx1ZUJ1aWxkZXIuc3RyaW5nKHRoaXMuX3NvdXJjZS5hZGRyZXNzKSk7XG4gICAgZXh0cmFBcmd1bWVudHMuc2V0KERFTEVHQVRFX1ZBTElEQVRPUiwgQ0xWYWx1ZUJ1aWxkZXIuc3RyaW5nKHRoaXMuX3ZhbGlkYXRvcikpO1xuXG4gICAgdGhpcy5fc2Vzc2lvbiA9IHtcbiAgICAgIG1vZHVsZUJ5dGVzOiB0aGlzLl9jb250cmFjdCxcbiAgICAgIGFyZ3M6IFJ1bnRpbWVBcmdzLmZyb21NYXAoYXJncyksXG4gICAgICBleHRyYUFyZ3VtZW50czogZXh0cmFBcmd1bWVudHMsXG4gICAgfTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLnNldFRyYW5zYWN0aW9uVHlwZShUcmFuc2FjdGlvblR5cGUuU3Rha2luZ1VubG9jayk7XG4gICAgcmV0dXJuIGF3YWl0IHN1cGVyLmJ1aWxkSW1wbGVtZW50YXRpb24oKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpbml0QnVpbGRlcih0eDogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICBzdXBlci5pbml0QnVpbGRlcih0eCk7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5zZXRUcmFuc2FjdGlvblR5cGUoVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdVbmxvY2spO1xuICAgIHRoaXMudmFsaWRhdG9yKGdldFZhbGlkYXRvckFkZHJlc3ModHguY2FzcGVyVHguc2Vzc2lvbikpO1xuICAgIHRoaXMuYW1vdW50KGdldFRyYW5zZmVyQW1vdW50KHR4LmNhc3BlclR4LnNlc3Npb24pKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgc2lnbkltcGxlbWVudGF0aW9uKGtleTogQmFzZUtleSk6IFRyYW5zYWN0aW9uIHtcbiAgICBpZiAodGhpcy5fbXVsdGlTaWduZXJLZXlQYWlycy5sZW5ndGggPj0gREVGQVVMVF9NKSB7XG4gICAgICB0aHJvdyBuZXcgU2lnbmluZ0Vycm9yKCdBIG1heGltdW0gb2YgJyArIERFRkFVTFRfTSArICcgY2FuIHNpZ24gdGhlIHRyYW5zYWN0aW9uLicpO1xuICAgIH1cbiAgICByZXR1cm4gc3VwZXIuc2lnbkltcGxlbWVudGF0aW9uKGtleSk7XG4gIH1cblxuICAvKipcbiAgICogQnVpbGQgYXJncyBuZWVkZWQgdG8gY3JlYXRlIGEgc2Vzc2lvbiwgdGhlbiB3ZSBjYW4gc2VuZCB0aGlzIHNlc3Npb24gd2l0aCB0aGUgY29udHJhY3RcbiAgICpcbiAgICogQHJldHVybnMge0RlbGVnYXRlVW5kZWxlZ2F0ZUNvbnRyYWN0QXJnc30gY29udHJhY3RzIGFyZ3MgdG8gY3JlYXRlIGEgc2Vzc2lvblxuICAgKi9cbiAgcHJpdmF0ZSBidWlsZFVuZGVsZWdhdGVQYXJhbWV0ZXJzKCk6IERlbGVnYXRlVW5kZWxlZ2F0ZUNvbnRyYWN0QXJncyB7XG4gICAgY29uc3QgZGVsZWdhdG9yID0gUHVibGljS2V5LmZyb21IZXgodGhpcy5fc291cmNlLmFkZHJlc3MpO1xuICAgIGNvbnN0IHZhbGlkYXRvciA9IFB1YmxpY0tleS5mcm9tSGV4KHRoaXMuX3ZhbGlkYXRvcik7XG5cbiAgICByZXR1cm4ge1xuICAgICAgYWN0aW9uOiBDTFZhbHVlQnVpbGRlci5zdHJpbmcodGhpcy5fYWN0aW9uKSxcbiAgICAgIGRlbGVnYXRvcjogQ0xWYWx1ZUJ1aWxkZXIucHVibGljS2V5KGRlbGVnYXRvci52YWx1ZSgpLCBkZWxlZ2F0b3IudGFnKSxcbiAgICAgIHZhbGlkYXRvcjogQ0xWYWx1ZUJ1aWxkZXIucHVibGljS2V5KHZhbGlkYXRvci52YWx1ZSgpLCB2YWxpZGF0b3IudGFnKSxcbiAgICAgIGFtb3VudDogQ0xWYWx1ZUJ1aWxkZXIudTUxMih0aGlzLl9hbW91bnQpLFxuICAgIH07XG4gIH1cblxuICAvLyByZWdpb24gVHJhbnNmZXIgZmllbGRzXG4gIC8qKlxuICAgKiBTZXQgdGhlIGRlc3RpbmF0aW9uIGFkZHJlc3Mgd2hlcmUgdGhlIGZ1bmRzIHdpbGwgYmUgc2VudCxcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFkZHJlc3MgdGhlIDY4IGJpdHMgYWRkcmVzcyB0byB0cmFuc2ZlciBmdW5kcyB0b1xuICAgKiBAcmV0dXJucyB7VW5kZWxlZ2F0ZUJ1aWxkZXJ9IHRoZSBidWlsZGVyIHdpdGggdGhlIG5ldyBwYXJhbWV0ZXIgc2V0XG4gICAqL1xuICB2YWxpZGF0b3IoYWRkcmVzczogc3RyaW5nKTogdGhpcyB7XG4gICAgaWYgKCFpc1ZhbGlkQWRkcmVzcyhhZGRyZXNzKSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yKCdJbnZhbGlkIGFkZHJlc3MnKTtcbiAgICB9XG4gICAgdGhpcy5fdmFsaWRhdG9yID0gYWRkcmVzcztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGFtb3VudCB0byBiZSB0cmFuc2ZlcnJlZFxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYW1vdW50IGFtb3VudCB0byB0cmFuc2ZlclxuICAgKiBAcmV0dXJucyB7VW5kZWxlZ2F0ZUJ1aWxkZXJ9IHRoZSBidWlsZGVyIHdpdGggdGhlIG5ldyBwYXJhbWV0ZXIgc2V0XG4gICAqL1xuICBhbW91bnQoYW1vdW50OiBzdHJpbmcpOiB0aGlzIHtcbiAgICBpZiAoIWlzVmFsaWREZWxlZ2F0ZUFtb3VudChhbW91bnQpKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IoJ0ludmFsaWQgYW1vdW50Jyk7XG4gICAgfVxuICAgIHRoaXMuX2Ftb3VudCA9IGFtb3VudDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8vIGVuZHJlZ2lvblxuXG4gIC8vIHJlZ2lvbiBWYWxpZGF0b3JzXG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlIG1hbmRhdG9yeSBmaWVsZHMgaW4gdGhlIGNsYXNzXG4gICAqXG4gICAqIEB0aHJvd3Mge0Vycm9yfSBJbiBjYXNlIG9mIG1pc3Npbmcgb3IgaW52YWxpZCBmaWVsZHNcbiAgICovXG4gIHZhbGlkYXRlTWFuZGF0b3J5RmllbGRzKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fYW1vdW50KSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIHRyYW5zYWN0aW9uOiBtaXNzaW5nIGFtb3VudCcpO1xuICAgIH1cbiAgICBpZiAoIWlzVmFsaWREZWxlZ2F0ZUFtb3VudCh0aGlzLl9hbW91bnQpKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IoJ0ludmFsaWQgYW1vdW50Jyk7XG4gICAgfVxuICAgIHN1cGVyLnZhbGlkYXRlTWFuZGF0b3J5RmllbGRzKCk7XG4gIH1cbiAgLy8gZW5kcmVnaW9uXG59XG4iXX0=
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5kZWxlZ2F0ZUJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3VuZGVsZWdhdGVCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLGlEQUErRjtBQUMvRiw4Q0FPeUI7QUFDekIsNkRBQXFFO0FBRXJFLDJDQU9xQjtBQUNyQixtQ0FNaUI7QUFHakIsTUFBYSxpQkFBa0IsU0FBUSx1Q0FBa0I7SUFNdkQ7Ozs7T0FJRztJQUNILFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxPQUFPLEdBQUcsc0NBQTBCLENBQUM7UUFDMUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsNkJBQXFCLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQsa0JBQWtCO0lBQ1IsS0FBSyxDQUFDLG1CQUFtQjtRQUNqQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksc0NBQTBCLENBQUM7UUFDaEUsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7UUFDOUMsTUFBTSxjQUFjLEdBQUcsSUFBSSxHQUFHLEVBQW1CLENBQUM7UUFFbEQsY0FBYyxDQUFDLEdBQUcsQ0FBQyw0QkFBZ0IsRUFBRSw4QkFBYyxDQUFDLE1BQU0sQ0FBQywwQkFBZSxDQUFDLDBCQUFlLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVHLGNBQWMsQ0FBQyxHQUFHLENBQUMsd0JBQVksRUFBRSw4QkFBYyxDQUFDLE1BQU0sQ0FBQyxnQ0FBcUIsQ0FBQyxnQ0FBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0csY0FBYyxDQUFDLEdBQUcsQ0FBQyxpQ0FBcUIsRUFBRSw4QkFBYyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENB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QUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxZQUFZO0lBRVosb0JBQW9CO0lBRXBCOzs7O09BSUc7SUFDSCx1QkFBdUI7UUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNsQixNQUFNLElBQUksZ0NBQXFCLENBQUMscUNBQXFDLENBQUMsQ0FBQztRQUN6RSxDQUFDO1FBQ0QsSUFBSSxDQUFDLElBQUEsNkJBQXFCLEVBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDekMsTUFBTSxJQUFJLHFDQUEwQixDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDekQsQ0FBQztRQUNELEtBQUssQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO0lBQ2xDLENBQUM7Q0FFRjtBQXRIRCw4Q0FzSEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHsgQ0xWYWx1ZSwgQ0xQdWJsaWNLZXkgYXMgUHVibGljS2V5LCBSdW50aW1lQXJncywgQ0xWYWx1ZUJ1aWxkZXIgfSBmcm9tICdjYXNwZXItanMtc2RrJztcbmltcG9ydCB7XG4gIEJhc2VLZXksXG4gIEJ1aWxkVHJhbnNhY3Rpb25FcnJvcixcbiAgVHJhbnNhY3Rpb25UeXBlLFxuICBTdGFraW5nT3BlcmF0aW9uVHlwZXMsXG4gIEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yLFxuICBTaWduaW5nRXJyb3IsXG59IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIsIERFRkFVTFRfTSB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQge1xuICBUUkFOU0FDVElPTl9UWVBFLFxuICBERUxFR0FURV9WQUxJREFUT1IsXG4gIERFTEVHQVRFX0ZST01fQUREUkVTUyxcbiAgU1RBS0lOR19UWVBFLFxuICBVTkRFTEVHQVRFX0NPTlRSQUNUX0FDVElPTixcbiAgREVMRUdBVEVfVkFMSURBVE9SX0FDQ09VTlQsXG59IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7XG4gIGlzVmFsaWREZWxlZ2F0ZUFtb3VudCxcbiAgaXNWYWxpZEFkZHJlc3MsXG4gIGdldFRyYW5zZmVyQW1vdW50LFxuICBnZXRWYWxpZGF0b3JBZGRyZXNzLFxuICBjYXNwZXJDb250cmFjdEhleENvZGUsXG59IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgRGVsZWdhdGVVbmRlbGVnYXRlQ29udHJhY3RBcmdzIH0gZnJvbSAnLi9pZmFjZXMnO1xuXG5leHBvcnQgY2xhc3MgVW5kZWxlZ2F0ZUJ1aWxkZXIgZXh0ZW5kcyBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBwcml2YXRlIF92YWxpZGF0b3I6IHN0cmluZztcbiAgcHJpdmF0ZSBfYWN0aW9uOiBzdHJpbmc7XG4gIHByaXZhdGUgX2Ftb3VudDogc3RyaW5nO1xuICBwcml2YXRlIF9jb250cmFjdDogVWludDhBcnJheTtcblxuICAvKipcbiAgICogUHVibGljIGNvbnN0cnVjdG9yLlxuICAgKlxuICAgKiBAcGFyYW0ge0NvaW5Db25maWd9IF9jb2luQ29uZmlnIENvaW4gY29uZmlndXJhdGlvbiBvYmplY3RcbiAgICovXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLl9hY3Rpb24gPSBVTkRFTEVHQVRFX0NPTlRSQUNUX0FDVElPTjtcbiAgICB0aGlzLl9jb250cmFjdCA9IFVpbnQ4QXJyYXkuZnJvbShCdWZmZXIuZnJvbShjYXNwZXJDb250cmFjdEhleENvZGUsICdoZXgnKSk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGJ1aWxkSW1wbGVtZW50YXRpb24oKTogUHJvbWlzZTxUcmFuc2FjdGlvbj4ge1xuICAgIHRoaXMuX3ZhbGlkYXRvciA9IHRoaXMuX3ZhbGlkYXRvciB8fCBERUxFR0FURV9WQUxJREFUT1JfQUNDT1VOVDtcbiAgICBjb25zdCBhcmdzID0gdGhpcy5idWlsZFVuZGVsZWdhdGVQYXJhbWV0ZXJzKCk7XG4gICAgY29uc3QgZXh0cmFBcmd1bWVudHMgPSBuZXcgTWFwPHN0cmluZywgQ0xWYWx1ZT4oKTtcblxuICAgIGV4dHJhQXJndW1lbnRzLnNldChUUkFOU0FDVElPTl9UWVBFLCBDTFZhbHVlQnVpbGRlci5zdHJpbmcoVHJhbnNhY3Rpb25UeXBlW1RyYW5zYWN0aW9uVHlwZS5TdGFraW5nVW5sb2NrXSkpO1xuICAgIGV4dHJhQXJndW1lbnRzLnNldChTVEFLSU5HX1RZUEUsIENMVmFsdWVCdWlsZGVyLnN0cmluZyhTdGFraW5nT3BlcmF0aW9uVHlwZXNbU3Rha2luZ09wZXJhdGlvblR5cGVzLlVOTE9DS10pKTtcbiAgICBleHRyYUFyZ3VtZW50cy5zZXQoREVMRUdBVEVfRlJPTV9BRERSRVNTLCBDTFZhbHVlQnVpbGRlci5zdHJpbmcodGhpcy5fc291cmNlLmFkZHJlc3MpKTtcbiAgICBleHRyYUFyZ3VtZW50cy5zZXQoREVMRUdBVEVfVkFMSURBVE9SLCBDTFZhbHVlQnVpbGRlci5zdHJpbmcodGhpcy5fdmFsaWRhdG9yKSk7XG5cbiAgICB0aGlzLl9zZXNzaW9uID0ge1xuICAgICAgbW9kdWxlQnl0ZXM6IHRoaXMuX2NvbnRyYWN0LFxuICAgICAgYXJnczogUnVudGltZUFyZ3MuZnJvbU1hcChhcmdzKSxcbiAgICAgIGV4dHJhQXJndW1lbnRzOiBleHRyYUFyZ3VtZW50cyxcbiAgICB9O1xuICAgIHRoaXMudHJhbnNhY3Rpb24uc2V0VHJhbnNhY3Rpb25UeXBlKFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nVW5sb2NrKTtcbiAgICByZXR1cm4gYXdhaXQgc3VwZXIuYnVpbGRJbXBsZW1lbnRhdGlvbigpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGluaXRCdWlsZGVyKHR4OiBUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHN1cGVyLmluaXRCdWlsZGVyKHR4KTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLnNldFRyYW5zYWN0aW9uVHlwZShUcmFuc2FjdGlvblR5cGUuU3Rha2luZ1VubG9jayk7XG4gICAgdGhpcy52YWxpZGF0b3IoZ2V0VmFsaWRhdG9yQWRkcmVzcyh0eC5jYXNwZXJUeC5zZXNzaW9uKSk7XG4gICAgdGhpcy5hbW91bnQoZ2V0VHJhbnNmZXJBbW91bnQodHguY2FzcGVyVHguc2Vzc2lvbikpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBzaWduSW1wbGVtZW50YXRpb24oa2V5OiBCYXNlS2V5KTogVHJhbnNhY3Rpb24ge1xuICAgIGlmICh0aGlzLl9tdWx0aVNpZ25lcktleVBhaXJzLmxlbmd0aCA+PSBERUZBVUxUX00pIHtcbiAgICAgIHRocm93IG5ldyBTaWduaW5nRXJyb3IoJ0EgbWF4aW11bSBvZiAnICsgREVGQVVMVF9NICsgJyBjYW4gc2lnbiB0aGUgdHJhbnNhY3Rpb24uJyk7XG4gICAgfVxuICAgIHJldHVybiBzdXBlci5zaWduSW1wbGVtZW50YXRpb24oa2V5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZCBhcmdzIG5lZWRlZCB0byBjcmVhdGUgYSBzZXNzaW9uLCB0aGVuIHdlIGNhbiBzZW5kIHRoaXMgc2Vzc2lvbiB3aXRoIHRoZSBjb250cmFjdFxuICAgKlxuICAgKiBAcmV0dXJucyB7RGVsZWdhdGVVbmRlbGVnYXRlQ29udHJhY3RBcmdzfSBjb250cmFjdHMgYXJncyB0byBjcmVhdGUgYSBzZXNzaW9uXG4gICAqL1xuICBwcml2YXRlIGJ1aWxkVW5kZWxlZ2F0ZVBhcmFtZXRlcnMoKTogRGVsZWdhdGVVbmRlbGVnYXRlQ29udHJhY3RBcmdzIHtcbiAgICBjb25zdCBkZWxlZ2F0b3IgPSBQdWJsaWNLZXkuZnJvbUhleCh0aGlzLl9zb3VyY2UuYWRkcmVzcyk7XG4gICAgY29uc3QgdmFsaWRhdG9yID0gUHVibGljS2V5LmZyb21IZXgodGhpcy5fdmFsaWRhdG9yKTtcblxuICAgIHJldHVybiB7XG4gICAgICBhY3Rpb246IENMVmFsdWVCdWlsZGVyLnN0cmluZyh0aGlzLl9hY3Rpb24pLFxuICAgICAgZGVsZWdhdG9yOiBDTFZhbHVlQnVpbGRlci5wdWJsaWNLZXkoZGVsZWdhdG9yLnZhbHVlKCksIGRlbGVnYXRvci50YWcpLFxuICAgICAgdmFsaWRhdG9yOiBDTFZhbHVlQnVpbGRlci5wdWJsaWNLZXkodmFsaWRhdG9yLnZhbHVlKCksIHZhbGlkYXRvci50YWcpLFxuICAgICAgYW1vdW50OiBDTFZhbHVlQnVpbGRlci51NTEyKHRoaXMuX2Ftb3VudCksXG4gICAgfTtcbiAgfVxuXG4gIC8vIHJlZ2lvbiBUcmFuc2ZlciBmaWVsZHNcbiAgLyoqXG4gICAqIFNldCB0aGUgZGVzdGluYXRpb24gYWRkcmVzcyB3aGVyZSB0aGUgZnVuZHMgd2lsbCBiZSBzZW50LFxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYWRkcmVzcyB0aGUgNjggYml0cyBhZGRyZXNzIHRvIHRyYW5zZmVyIGZ1bmRzIHRvXG4gICAqIEByZXR1cm5zIHtVbmRlbGVnYXRlQnVpbGRlcn0gdGhlIGJ1aWxkZXIgd2l0aCB0aGUgbmV3IHBhcmFtZXRlciBzZXRcbiAgICovXG4gIHZhbGlkYXRvcihhZGRyZXNzOiBzdHJpbmcpOiB0aGlzIHtcbiAgICBpZiAoIWlzVmFsaWRBZGRyZXNzKGFkZHJlc3MpKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IoJ0ludmFsaWQgYWRkcmVzcycpO1xuICAgIH1cbiAgICB0aGlzLl92YWxpZGF0b3IgPSBhZGRyZXNzO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgYW1vdW50IHRvIGJlIHRyYW5zZmVycmVkXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhbW91bnQgYW1vdW50IHRvIHRyYW5zZmVyXG4gICAqIEByZXR1cm5zIHtVbmRlbGVnYXRlQnVpbGRlcn0gdGhlIGJ1aWxkZXIgd2l0aCB0aGUgbmV3IHBhcmFtZXRlciBzZXRcbiAgICovXG4gIGFtb3VudChhbW91bnQ6IHN0cmluZyk6IHRoaXMge1xuICAgIGlmICghaXNWYWxpZERlbGVnYXRlQW1vdW50KGFtb3VudCkpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcignSW52YWxpZCBhbW91bnQnKTtcbiAgICB9XG4gICAgdGhpcy5fYW1vdW50ID0gYW1vdW50O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLy8gZW5kcmVnaW9uXG5cbiAgLy8gcmVnaW9uIFZhbGlkYXRvcnNcblxuICAvKipcbiAgICogVmFsaWRhdGUgbWFuZGF0b3J5IGZpZWxkcyBpbiB0aGUgY2xhc3NcbiAgICpcbiAgICogQHRocm93cyB7RXJyb3J9IEluIGNhc2Ugb2YgbWlzc2luZyBvciBpbnZhbGlkIGZpZWxkc1xuICAgKi9cbiAgdmFsaWRhdGVNYW5kYXRvcnlGaWVsZHMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9hbW91bnQpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgdHJhbnNhY3Rpb246IG1pc3NpbmcgYW1vdW50Jyk7XG4gICAgfVxuICAgIGlmICghaXNWYWxpZERlbGVnYXRlQW1vdW50KHRoaXMuX2Ftb3VudCkpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcignSW52YWxpZCBhbW91bnQnKTtcbiAgICB9XG4gICAgc3VwZXIudmFsaWRhdGVNYW5kYXRvcnlGaWVsZHMoKTtcbiAgfVxuICAvLyBlbmRyZWdpb25cbn1cbiJdfQ==