breeze-client 2.2.0-cjs → 2.2.1-cjs
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/bundles/breeze-client.umd.js.map +1 -1
- package/bundles/breeze-client.umd.min.js.map +1 -1
- package/esm2015/src/data-service.js +1 -1
- package/esm2015/src/entity-key.js +1 -1
- package/esm2015/src/entity-manager.js +1 -1
- package/esm2015/src/local-query-comparison-options.js +1 -1
- package/esm2015/src/mapping-context.js +1 -1
- package/esm2015/src/naming-convention.js +1 -1
- package/esm2015/src/query-options.js +1 -1
- package/esm2015/src/save-options.js +1 -1
- package/esm2015/src/validate.js +1 -1
- package/esm2015/src/validation-options.js +1 -1
- package/esm5/src/data-service.js +1 -1
- package/esm5/src/entity-key.js +1 -1
- package/esm5/src/entity-manager.js +1 -1
- package/esm5/src/local-query-comparison-options.js +1 -1
- package/esm5/src/mapping-context.js +1 -1
- package/esm5/src/naming-convention.js +1 -1
- package/esm5/src/query-options.js +1 -1
- package/esm5/src/save-options.js +1 -1
- package/esm5/src/validate.js +1 -1
- package/esm5/src/validation-options.js +1 -1
- package/fesm2015/breeze-client.js.map +1 -1
- package/fesm5/breeze-client.js.map +1 -1
- package/package.json +1 -1
|
@@ -200,4 +200,4 @@ function extractKeyMappingsDefault(data) {
|
|
|
200
200
|
function extractDeletedKeysDefault(data) {
|
|
201
201
|
return data.deletedKeys || data.DeletedKeys || [];
|
|
202
202
|
}
|
|
203
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYnJlZXplLWNsaWVudC8iLCJzb3VyY2VzIjpbInNyYy9kYXRhLXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQWlCOUI7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUNILE1BQU0sT0FBTyxXQUFXO0lBb0J0Qjs7Ozs7Ozs7Ozs7Ozs7O09BZUc7SUFDSCxZQUFZLE1BQTBCO1FBQ3BDLGdCQUFnQixDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBR0Q7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLE1BQXlCO1FBQzdCLElBQUksQ0FBQyxNQUFNO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDekIsSUFBSSxNQUFNLEdBQUcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsT0FBTyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBMkI7UUFDeEMsaUJBQWlCO1FBQ2pCLG9DQUFvQztRQUNuQyxZQUFvQixDQUFDLElBQUksQ0FBQztZQUN6QixpQkFBaUIsRUFBRSxJQUFJO1lBQ3ZCLFFBQVEsRUFBRSxLQUFLO1NBQ2hCLENBQUMsQ0FBQztRQUNILElBQUksRUFBRSxHQUFHLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQ3hELENBQUMsYUFBYSxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxtQkFBbUIsRUFBRSxvQkFBb0IsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFOUcsSUFBSSxDQUFDLEVBQUUsQ0FB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QyxXQUFXLElBQUksRUFBRSxDQUFDO0FBQ3BELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnRpdHlUeXBlLCBOYXZpZ2F0aW9uUHJvcGVydHkgfSBmcm9tICcuL2VudGl0eS1tZXRhZGF0YSc7XHJcbmltcG9ydCB7IERhdGFTZXJ2aWNlQWRhcHRlciwgVXJpQnVpbGRlckFkYXB0ZXIgfSBmcm9tICcuL2ludGVyZmFjZS1yZWdpc3RyeSc7XHJcbmltcG9ydCB7IEtleU1hcHBpbmcgfSBmcm9tICcuL2VudGl0eS1tYW5hZ2VyJztcclxuaW1wb3J0IHsgTWFwcGluZ0NvbnRleHQgfSBmcm9tICcuL21hcHBpbmctY29udGV4dCc7XHJcbmltcG9ydCB7IGFzc2VydENvbmZpZyB9IGZyb20gJy4vYXNzZXJ0LXBhcmFtJztcclxuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSAnLi9jb25maWcnO1xyXG5pbXBvcnQgeyBjb3JlIH0gZnJvbSAnLi9jb3JlJztcclxuXHJcbi8qKiBDb25maWd1cmF0aW9uIGluZm8gdG8gYmUgcGFzc2VkIHRvIHRoZSBbW0RhdGFTZXJ2aWNlXV0gY29uc3RydWN0b3IgKi9cclxuZXhwb3J0IGludGVyZmFjZSBEYXRhU2VydmljZUNvbmZpZyB7XHJcbiAgLyoqIFRoZSBzZXJ2aWNlTmFtZSBmb3IgdGhpcyBEYXRhU2VydmljZS4gICoqL1xyXG4gIHNlcnZpY2VOYW1lPzogc3RyaW5nO1xyXG4gIC8qKiBUaGUgYWRhcHRlciBuYW1lIGZvciB0aGUgW1tJRGF0YVNlcnZpY2VBZGFwdGVyXV0gdG8gYmUgdXNlZCB3aXRoIHRoaXMgc2VydmljZS4gICoqL1xyXG4gIGFkYXB0ZXJOYW1lPzogc3RyaW5nO1xyXG4gIC8qKiBUaGUgYWRhcHRlciBuYW1lIGZvciB0aGUgW1tJVXJpQnVpbGRlckFkYXB0ZXJdXSB0byBiZSB1c2VkIHdpdGggdGhpcyBzZXJ2aWNlLiAgKiovXHJcbiAgdXJpQnVpbGRlck5hbWU/OiBzdHJpbmc7XHJcbiAgLyoqIFdoZXRoZXIgdGhlIHNlcnZlciBjYW4gcHJvdmlkZSBtZXRhZGF0YSBmb3IgdGhpcyBzZXJ2aWNlLiAgKiovXHJcbiAgaGFzU2VydmVyTWV0YWRhdGE/OiBib29sZWFuO1xyXG4gIC8qKiBUaGUgW1tKc29uUmVzdWx0c0FkYXB0ZXJdXSB1c2VkIHRvIHByb2Nlc3MgdGhlIHJlc3VsdHMgb2YgYW55IHF1ZXJ5IGFnYWluc3QgdGhpcyBEYXRhU2VydmljZS4gICoqL1xyXG4gIGpzb25SZXN1bHRzQWRhcHRlcj86IEpzb25SZXN1bHRzQWRhcHRlcjtcclxuICAvKiogV2hldGhlciB0byB1c2UgSlNPTlAgd2hlbiBwZXJmb3JtaW5nIGEgJ0dFVCcgcmVxdWVzdCBhZ2FpbnN0IHRoaXMgc2VydmljZS4gICoqL1xyXG4gIHVzZUpzb25wPzogYm9vbGVhbjtcclxufVxyXG4vKipcclxuQSBEYXRhU2VydmljZSBpbnN0YW5jZSBpcyB1c2VkIHRvIGVuY2Fwc3VsYXRlIHRoZSBkZXRhaWxzIG9mIGEgc2luZ2xlICdzZXJ2aWNlJzsgdGhpcyBpbmNsdWRlcyBhIHNlcnZpY2VOYW1lLCBhIGRhdGFTZXJ2aWNlIGFkYXB0ZXJJbnN0YW5jZSxcclxuYW5kIHdoZXRoZXIgdGhlIHNlcnZpY2UgaGFzIHNlcnZlciBzaWRlIG1ldGFkYXRhLlxyXG5cclxuWW91IGNhbiBjb25zdHJ1Y3QgYW4gRW50aXR5TWFuYWdlciB3aXRoIGVpdGhlciBhIHNlcnZpY2VOYW1lIG9yIGEgRGF0YVNlcnZpY2UgaW5zdGFuY2UsIGlmIHlvdSB1c2UgYSBzZXJ2aWNlTmFtZSB0aGVuIGEgRGF0YVNlcnZpY2VcclxuaXMgY29uc3RydWN0ZWQgZm9yIHlvdS4gIChJdCBjYW4gYWxzbyBiZSBzZXQgdmlhIHRoZSBFbnRpdHlNYW5hZ2VyLnNldFByb3BlcnRpZXMgbWV0aG9kKS5cclxuXHJcblRoZSBzYW1lIGFwcGxpZXMgdG8gdGhlIE1ldGFkYXRhU3RvcmUuZmV0Y2hNZXRhZGF0YSBtZXRob2QsIGkuZS4gaXQgdGFrZXMgZWl0aGVyIGEgc2VydmljZU5hbWUgb3IgYSBEYXRhU2VydmljZSBpbnN0YW5jZS5cclxuXHJcbkVhY2ggbWV0YWRhdGFTdG9yZSBjb250YWlucyBhIGxpc3Qgb2YgRGF0YVNlcnZpY2VzLCBlYWNoIGFjY2Vzc2libGUgdmlhIGl0cyDigJhzZXJ2aWNlTmFtZeKAmS5cclxuKCBzZWUgTWV0YWRhdGFTdG9yZS5nZXREYXRhU2VydmljZSBhbmQgTWV0YWRhdGFTdG9yZS5hZGREYXRhU2VydmljZSkuICBUaGUg4oCYYWRkRGF0YVNlcnZpY2XigJkgbWV0aG9kIGlzIGNhbGxlZCBpbnRlcm5hbGx5XHJcbmFueXRpbWUgYSBNZXRhZGF0YVN0b3JlLmZldGNoTWV0YWRhdGEgY2FsbCBvY2N1cnMgd2l0aCBhIG5ldyBkYXRhU2VydmljZSAoIG9yIHNlcnZpY2UgbmFtZSkuXHJcblxyXG4qKi9cclxuZXhwb3J0IGNsYXNzIERhdGFTZXJ2aWNlIHtcclxuICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cclxuICBfJHR5cGVOYW1lOiBzdHJpbmc7IC8vIGFjdHVhbGx5IHB1dCBvbiBwcm90b3R5cGUuXHJcbiAgLyoqIFRoZSBzZXJ2aWNlTmFtZSBmb3IgdGhpcyBEYXRhU2VydmljZS4gX19SZWFkIE9ubHlfXyAqKi9cclxuICBzZXJ2aWNlTmFtZTogc3RyaW5nO1xyXG4gIC8qKiBUaGUgYWRhcHRlciBuYW1lIGZvciB0aGUgW1tJRGF0YVNlcnZpY2VBZGFwdGVyXV0gdG8gYmUgdXNlZCB3aXRoIHRoaXMgc2VydmljZS4gX19SZWFkIE9ubHlfXyAgKiovXHJcbiAgYWRhcHRlck5hbWU6IHN0cmluZztcclxuICAvKiogIFRoZSBbW0lEYXRhU2VydmljZUFkYXB0ZXJdXSBpbXBsZW1lbnRhdGlvbiBpbnN0YW5jZSBhc3NvY2lhdGVkIHdpdGggdGhpcyBFbnRpdHlNYW5hZ2VyLiBfX1JlYWQgT25seV9fICAqKi9cclxuICBhZGFwdGVySW5zdGFuY2U/OiBEYXRhU2VydmljZUFkYXB0ZXI7XHJcbiAgLyoqIFRoZSBhZGFwdGVyIG5hbWUgZm9yIHRoZSBbW0lVcmlCdWlsZGVyQWRhcHRlcl1dIHRvIGJlIHVzZWQgd2l0aCB0aGlzIHNlcnZpY2UuIF9fUmVhZCBPbmx5X18gICoqL1xyXG4gIHVyaUJ1aWxkZXJOYW1lOiBzdHJpbmc7XHJcbiAgLyoqICBUaGUgW1tJVXJpQnVpbGRlckFkYXB0ZXJdXSBpbXBsZW1lbnRhdGlvbiBpbnN0YW5jZSBhc3NvY2lhdGVkIHdpdGggdGhpcyBFbnRpdHlNYW5hZ2VyLiBfX1JlYWQgT25seV9fICAqKi9cclxuICB1cmlCdWlsZGVyPzogVXJpQnVpbGRlckFkYXB0ZXI7XHJcbiAgLyoqIFdoZXRoZXIgdGhlIHNlcnZlciBjYW4gcHJvdmlkZSBtZXRhZGF0YSBmb3IgdGhpcyBzZXJ2aWNlLiBfX1JlYWQgT25seV9fICAgKiovXHJcbiAgaGFzU2VydmVyTWV0YWRhdGE6IGJvb2xlYW47XHJcbiAgLyoqIFRoZSBbW0pzb25SZXN1bHRzQWRhcHRlcl1dIHVzZWQgdG8gcHJvY2VzcyB0aGUgcmVzdWx0cyBvZiBhbnkgcXVlcnkgYWdhaW5zdCB0aGlzIERhdGFTZXJ2aWNlLiBfX1JlYWQgT25seV9fICoqL1xyXG4gIGpzb25SZXN1bHRzQWRhcHRlcjogSnNvblJlc3VsdHNBZGFwdGVyO1xyXG4gIC8qKiBXaGV0aGVyIHRvIHVzZSBKU09OUCB3aGVuIHBlcmZvcm1pbmcgYSAnR0VUJyByZXF1ZXN0IGFnYWluc3QgdGhpcyBzZXJ2aWNlLiBfX1JlYWQgT25seV9fICAqKi9cclxuICB1c2VKc29ucDogYm9vbGVhbjtcclxuXHJcbiAgLyoqICAgRGF0YVNlcnZpY2UgY29uc3RydWN0b3JcclxuICA+ICAgICB2YXIgZGF0YVNlcnZpY2UgPSBuZXcgRGF0YVNlcnZpY2Uoe1xyXG4gID4gICAgICAgICBzZXJ2aWNlTmFtZTogYWx0U2VydmljZU5hbWUsXHJcbiAgPiAgICAgICAgIGhhc1NlcnZlck1ldGFkYXRhOiBmYWxzZVxyXG4gID4gICAgIH0pO1xyXG5cclxuICA+ICAgICB2YXIgbWV0YWRhdGFTdG9yZSA9IG5ldyBNZXRhZGF0YVN0b3JlKHtcclxuICA+ICAgICAgICAgbmFtaW5nQ29udmVudGlvbjogTmFtaW5nQ29udmVudGlvbi5jYW1lbENhc2VcclxuICA+ICAgICB9KTtcclxuXHJcbiAgPiAgICAgcmV0dXJuIG5ldyBFbnRpdHlNYW5hZ2VyKHtcclxuICA+ICAgICAgICAgZGF0YVNlcnZpY2U6IGRhdGFTZXJ2aWNlLFxyXG4gID4gICAgICAgICBtZXRhZGF0YVN0b3JlOiBtZXRhZGF0YVN0b3JlXHJcbiAgPiAgICAgfSk7XHJcbiAgQHBhcmFtIGNvbmZpZyAtIEEgY29uZmlndXJhdGlvbiBvYmplY3QuXHJcbiAgKiovXHJcbiAgY29uc3RydWN0b3IoY29uZmlnPzogRGF0YVNlcnZpY2VDb25maWcpIHtcclxuICAgIHVwZGF0ZVdpdGhDb25maWcodGhpcywgY29uZmlnKTtcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICBSZXR1cm5zIGEgY29weSBvZiB0aGlzIERhdGFTZXJ2aWNlIHdpdGggdGhlIHNwZWNpZmllZCBwcm9wZXJ0aWVzIGFwcGxpZWQuXHJcbiAgQHBhcmFtIGNvbmZpZyAtIFRoZSBjb25maWd1cmF0aW9uIG9iamVjdCB0byBhcHBseSB0byBjcmVhdGUgYSBuZXcgRGF0YVNlcnZpY2UuXHJcbiAgKiovXHJcbiAgdXNpbmcoY29uZmlnOiBEYXRhU2VydmljZUNvbmZpZykge1xyXG4gICAgaWYgKCFjb25maWcpIHJldHVybiB0aGlzO1xyXG4gICAgbGV0IHJlc3VsdCA9IG5ldyBEYXRhU2VydmljZSh0aGlzKTtcclxuICAgIHJldHVybiB1cGRhdGVXaXRoQ29uZmlnKHJlc3VsdCwgY29uZmlnKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyByZXNvbHZlKGRhdGFTZXJ2aWNlczogRGF0YVNlcnZpY2VbXSkge1xyXG4gICAgLy8gZmluYWwgZGVmYXVsdHNcclxuICAgIC8vIERlbGliZXJhdGUgdXNlIG9mICdhcyBhbnknIGJlbG93LlxyXG4gICAgKGRhdGFTZXJ2aWNlcyBhcyBhbnkpLnB1c2goe1xyXG4gICAgICBoYXNTZXJ2ZXJNZXRhZGF0YTogdHJ1ZSxcclxuICAgICAgdXNlSnNvbnA6IGZhbHNlXHJcbiAgICB9KTtcclxuICAgIGxldCBkcyA9IG5ldyBEYXRhU2VydmljZShjb3JlLnJlc29sdmVQcm9wZXJ0aWVzKGRhdGFTZXJ2aWNlcyxcclxuICAgICAgICBbXCJzZXJ2aWNlTmFtZVwiLCBcImFkYXB0ZXJOYW1lXCIsIFwidXJpQnVpbGRlck5hbWVcIiwgXCJoYXNTZXJ2ZXJNZXRhZGF0YVwiLCBcImpzb25SZXN1bHRzQWRhcHRlclwiLCBcInVzZUpzb25wXCJdKSk7XHJcblxyXG4gICAgaWYgKCFkcy5zZXJ2aWNlTmFtZSkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJVbmFibGUgdG8gcmVzb2x2ZSBhICdzZXJ2aWNlTmFtZScgZm9yIHRoaXMgZGF0YVNlcnZpY2VcIik7XHJcbiAgICB9XHJcbiAgICBkcy5hZGFwdGVySW5zdGFuY2UgPSBkcy5hZGFwdGVySW5zdGFuY2UgfHwgY29uZmlnLmdldEFkYXB0ZXJJbnN0YW5jZTxEYXRhU2VydmljZUFkYXB0ZXI+KFwiZGF0YVNlcnZpY2VcIiwgZHMuYWRhcHRlck5hbWUpO1xyXG4gICAgZHMuanNvblJlc3VsdHNBZGFwdGVyID0gZHMuanNvblJlc3VsdHNBZGFwdGVyIHx8IGRzLmFkYXB0ZXJJbnN0YW5jZSEuanNvblJlc3VsdHNBZGFwdGVyO1xyXG4gICAgZHMudXJpQnVpbGRlciA9IGRzLnVyaUJ1aWxkZXIgfHwgY29uZmlnLmdldEFkYXB0ZXJJbnN0YW5jZTxVcmlCdWlsZGVyQWRhcHRlcj4oXCJ1cmlCdWlsZGVyXCIsIGRzLnVyaUJ1aWxkZXJOYW1lKTtcclxuICAgIHJldHVybiBkcztcclxuICB9XHJcblxyXG4gIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xyXG4gIHN0YXRpYyBfbm9ybWFsaXplU2VydmljZU5hbWUoc2VydmljZU5hbWU6IHN0cmluZykge1xyXG4gICAgc2VydmljZU5hbWUgPSBzZXJ2aWNlTmFtZS50cmltKCk7XHJcbiAgICBpZiAoc2VydmljZU5hbWUuc3Vic3RyKC0xKSAhPT0gXCIvXCIpIHtcclxuICAgICAgcmV0dXJuIHNlcnZpY2VOYW1lICsgJy8nO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHNlcnZpY2VOYW1lO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqICAqL1xyXG4gIHRvSlNPTigpIHtcclxuICAgIC8vIGRvbid0IHVzZSBkZWZhdWx0IHZhbHVlIGhlcmUgLSBiZWNhdXNlIHdlIHdhbnQgdG8gYmUgYWJsZSB0byBkaXN0aW5ndWlzaCB1bmRlZmluZWQgcHJvcHMgZm9yIGluaGVyaXRlbmNlIHB1cnBvc2VzLlxyXG4gICAgcmV0dXJuIGNvcmUudG9Kc29uKHRoaXMsIHtcclxuICAgICAgc2VydmljZU5hbWU6IG51bGwsXHJcbiAgICAgIGFkYXB0ZXJOYW1lOiBudWxsLFxyXG4gICAgICB1cmlCdWlsZGVyTmFtZTogbnVsbCxcclxuICAgICAgaGFzU2VydmVyTWV0YWRhdGE6IG51bGwsXHJcbiAgICAgIGpzb25SZXN1bHRzQWRhcHRlcjogZnVuY3Rpb24gKHY6IGFueSkge1xyXG4gICAgICAgIHJldHVybiB2ICYmIHYubmFtZTtcclxuICAgICAgfSxcclxuICAgICAgdXNlSnNvbnA6IG51bGxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGZyb21KU09OKGpzb246IGFueSkge1xyXG4gICAganNvbi5qc29uUmVzdWx0c0FkYXB0ZXIgPSBjb25maWcuX2ZldGNoT2JqZWN0KEpzb25SZXN1bHRzQWRhcHRlciwganNvbi5qc29uUmVzdWx0c0FkYXB0ZXIpO1xyXG4gICAgcmV0dXJuIG5ldyBEYXRhU2VydmljZShqc29uKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICBSZXR1cm5zIGEgdXJsIGZvciB0aGlzIGRhdGFTZXJ2aWNlIHdpdGggdGhlIHNwZWNpZmllZCBzdWZmaXguIFRoaXMgbWV0aG9kIGhhbmRsZXMgZGF0YVNlcnZpY2UgbmFtZXMgZWl0aGVyXHJcbiAgIHdpdGggb3Igd2l0aG91dCB0cmFpbGluZyAnLydzLiAgSWYgdGhlIHN1ZmZpeCBzdGFydHMgd2l0aCBcImh0dHBcIiB0aGVuIGl0IHdpbGwgYmUgcmV0dXJuZWQgYXMtaXMuXHJcbiAgIEBtZXRob2QgcXVhbGlmeVVybFxyXG4gICBAcGFyYW0gc3VmZml4IHtTdHJpbmd9IFRoZSByZXN1bHRpbmcgdXJsLlxyXG4gICBAcmV0dXJuIHthIFVybCBzdHJpbmd9XHJcbiAgICoqL1xyXG4gIHF1YWxpZnlVcmwoc3VmZml4OiBzdHJpbmcpIHtcclxuICAgIGlmIChzdWZmaXggJiYgc3VmZml4LnN0YXJ0c1dpdGgoXCJodHRwXCIpKSB7XHJcbiAgICAgIHJldHVybiBzdWZmaXg7XHJcbiAgICB9XHJcbiAgICBsZXQgdXJsID0gdGhpcy5zZXJ2aWNlTmFtZTtcclxuICAgIC8vIHJlbW92ZSBhbnkgdHJhaWxpbmcgXCIvXCJcclxuICAgIGlmIChjb3JlLnN0cmluZ0VuZHNXaXRoKHVybCwgXCIvXCIpKSB7XHJcbiAgICAgIHVybCA9IHVybC5zdWJzdHIoMCwgdXJsLmxlbmd0aCAtIDEpO1xyXG4gICAgfVxyXG4gICAgLy8gZW5zdXJlIHRoYXQgaXQgZW5kcyB3aXRoIFwiL1wiICsgc3VmZml4XHJcbiAgICBzdWZmaXggPSBcIi9cIiArIHN1ZmZpeDtcclxuICAgIGlmICghY29yZS5zdHJpbmdFbmRzV2l0aCh1cmwsIHN1ZmZpeCkpIHtcclxuICAgICAgdXJsID0gdXJsICsgc3VmZml4O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHVybDtcclxuICB9XHJcblxyXG59XHJcbkRhdGFTZXJ2aWNlLnByb3RvdHlwZS5fJHR5cGVOYW1lID0gXCJEYXRhU2VydmljZVwiO1xyXG5cclxuZnVuY3Rpb24gdXBkYXRlV2l0aENvbmZpZyhvYmo6IERhdGFTZXJ2aWNlLCBkc0NvbmZpZz86IERhdGFTZXJ2aWNlQ29uZmlnKSB7XHJcbiAgaWYgKGRzQ29uZmlnKSB7XHJcbiAgICBhc3NlcnRDb25maWcoZHNDb25maWcpXHJcbiAgICAgICAgLndoZXJlUGFyYW0oXCJzZXJ2aWNlTmFtZVwiKS5pc09wdGlvbmFsKClcclxuICAgICAgICAud2hlcmVQYXJhbShcImFkYXB0ZXJOYW1lXCIpLmlzU3RyaW5nKCkuaXNPcHRpb25hbCgpXHJcbiAgICAgICAgLndoZXJlUGFyYW0oXCJ1cmlCdWlsZGVyTmFtZVwiKS5pc1N0cmluZygpLmlzT3B0aW9uYWwoKVxyXG4gICAgICAgIC53aGVyZVBhcmFtKFwiaGFzU2VydmVyTWV0YWRhdGFcIikuaXNCb29sZWFuKCkuaXNPcHRpb25hbCgpXHJcbiAgICAgICAgLndoZXJlUGFyYW0oXCJqc29uUmVzdWx0c0FkYXB0ZXJcIikuaXNJbnN0YW5jZU9mKEpzb25SZXN1bHRzQWRhcHRlcikuaXNPcHRpb25hbCgpXHJcbiAgICAgICAgLndoZXJlUGFyYW0oXCJ1c2VKc29ucFwiKS5pc0Jvb2xlYW4oKS5pc09wdGlvbmFsKClcclxuICAgICAgICAuYXBwbHlBbGwob2JqKTtcclxuICAgIG9iai5zZXJ2aWNlTmFtZSA9IG9iai5zZXJ2aWNlTmFtZSAmJiBEYXRhU2VydmljZS5fbm9ybWFsaXplU2VydmljZU5hbWUob2JqLnNlcnZpY2VOYW1lKTtcclxuICAgIG9iai5hZGFwdGVySW5zdGFuY2UgPSBvYmouYWRhcHRlck5hbWUgPyAgY29uZmlnLmdldEFkYXB0ZXJJbnN0YW5jZTxEYXRhU2VydmljZUFkYXB0ZXI+KFwiZGF0YVNlcnZpY2VcIiwgb2JqLmFkYXB0ZXJOYW1lKSA6IHVuZGVmaW5lZDtcclxuICAgIG9iai51cmlCdWlsZGVyID0gb2JqLnVyaUJ1aWxkZXJOYW1lID8gY29uZmlnLmdldEFkYXB0ZXJJbnN0YW5jZTxVcmlCdWlsZGVyQWRhcHRlcj4oXCJ1cmlCdWlsZGVyXCIsIG9iai51cmlCdWlsZGVyTmFtZSkgOiB1bmRlZmluZWQ7XHJcbiAgfVxyXG4gIHJldHVybiBvYmo7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTm9kZU1ldGEge1xyXG4gIGVudGl0eVR5cGU/OiBFbnRpdHlUeXBlO1xyXG4gIG5vZGVJZD86IHN0cmluZztcclxuICBub2RlUmVmSWQ/OiBzdHJpbmc7XHJcbiAgaWdub3JlPzogYm9vbGVhbjtcclxuICBwYXNzVGhydT86IGJvb2xlYW47XHJcbiAgZXh0cmFNZXRhZGF0YT86IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBOb2RlQ29udGV4dCB7XHJcbiAgbm9kZVR5cGU6IHN0cmluZztcclxuICBwcm9wZXJ0eU5hbWU/OiBzdHJpbmc7XHJcbiAgbmF2aWdhdGlvblByb3BlcnR5PzogTmF2aWdhdGlvblByb3BlcnR5O1xyXG59XHJcblxyXG4vKiogQ29uZmlndXJhdGlvbiBpbmZvIHRvIGJlIHBhc3NlZCB0byB0aGUgW1tKc29uUmVzdWx0c0FkYXB0ZXJdXSBjb25zdHJ1Y3RvciAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIEpzb25SZXN1bHRzQWRhcHRlckNvbmZpZyB7XHJcbiAgLyoqIFRoZSBuYW1lIG9mIHRoaXMgYWRhcHRlci4gIFRoaXMgbmFtZSBpcyB1c2VkIHRvIHVuaXF1ZWx5IGlkZW50aWZ5IGFuZCBsb2NhdGUgdGhpcyBpbnN0YW5jZSB3aGVuIGFuICdleHBvcnRlZCcgSnNvblJlc3VsdHNBZGFwdGVyIGlzIGxhdGVyIGltcG9ydGVkLiAqL1xyXG4gIG5hbWU6IHN0cmluZztcclxuICAvKiogQSBGdW5jdGlvbiB0aGF0IGlzIGNhbGxlZCBvbmNlIHBlciBxdWVyeSBvcGVyYXRpb24gdG8gZXh0cmFjdCB0aGUgJ3BheWxvYWQnIGZyb20gYW55IGpzb24gcmVjZWl2ZWQgb3ZlciB0aGUgd2lyZS4gXHJcbiAgVGhpcyBtZXRob2QgaGFzIGEgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiB3aGljaCB0byBzaW1wbHkgcmV0dXJuIHRoZSBcInJlc3VsdHNcIiBwcm9wZXJ0eSBmcm9tIGFueSBqc29uIHJldHVybmVkIGFzIGEgcmVzdWx0IG9mIGV4ZWN1dGluZyB0aGUgcXVlcnkuIFxyXG4gICovXHJcbiAgZXh0cmFjdFJlc3VsdHM/OiBGdW5jdGlvbjtcclxuICAvKiogQSBmdW5jdGlvbiB0aGF0IGlzIGNhbGxlZCBvbmNlIHBlciBzYXZlIG9wZXJhdGlvbiB0byBleHRyYWN0IHRoZSBlbnRpdGllcyBmcm9tIGFueSBqc29uIHJlY2VpdmVkIG92ZXIgdGhlIHdpcmUuICBNdXN0IHJldHVybiBhbiBhcnJheS5cclxuICBUaGlzIG1ldGhvZCBoYXMgYSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIHdoaWNoIHNpbXBseSByZXR1cm5zIHRoZSBcImVudGl0aWVzXCIgcHJvcGVydHkgZnJvbSBhbnkganNvbiByZXR1cm5lZCBhcyBhIHJlc3VsdCBvZiBleGVjdXRpbmcgdGhlIHNhdmUuICovXHJcbiAgZXh0cmFjdFNhdmVSZXN1bHRzPzogRnVuY3Rpb247XHJcbiAgLyoqIEEgZnVuY3Rpb24gdGhhdCBpcyBjYWxsZWQgb25jZSBwZXIgc2F2ZSBvcGVyYXRpb24gdG8gZXh0cmFjdCB0aGUga2V5IG1hcHBpbmdzIGZyb20gYW55IGpzb24gcmVjZWl2ZWQgb3ZlciB0aGUgd2lyZS4gIE11c3QgcmV0dXJuIGFuIGFycmF5LlxyXG4gIFRoaXMgbWV0aG9kIGhhcyBhIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gd2hpY2ggc2ltcGx5IHJldHVybnMgdGhlIFwia2V5TWFwcGluZ3NcIiBwcm9wZXJ0eSBmcm9tIGFueSBqc29uIHJldHVybmVkIGFzIGEgcmVzdWx0IG9mIGV4ZWN1dGluZyB0aGUgc2F2ZS4gKi9cclxuICBleHRyYWN0S2V5TWFwcGluZ3M/OiAoZGF0YToge30pID0+IEtleU1hcHBpbmdbXTtcclxuICAvKiogQSBmdW5jdGlvbiB0aGF0IGlzIGNhbGxlZCBvbmNlIHBlciBzYXZlIG9wZXJhdGlvbiB0byBleHRyYWN0IGFueSBkZWxldGVkIGtleXMgZnJvbSBhbnkganNvbiByZWNlaXZlZCBvdmVyIHRoZSB3aXJlLiAgTXVzdCByZXR1cm4gYW4gYXJyYXkuXHJcbiAgVGhpcyBtZXRob2QgaGFzIGEgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiB3aGljaCBzaW1wbHkgcmV0dXJucyBhbiBlbXB0eSBhcnJheS4gKi9cclxuICBleHRyYWN0RGVsZXRlZEtleXM/OiAoZGF0YToge30pID0+IGFueVtdOyAvLyBUT0RPOiByZWZpbmVcclxuICAvKiogQSB2aXNpdG9yIG1ldGhvZCB0aGF0IHdpbGwgYmUgY2FsbGVkIG9uIGVhY2ggbm9kZSBvZiB0aGUgcmV0dXJuZWQgcGF5bG9hZC4gKi9cclxuICB2aXNpdE5vZGU/OiAodjogYW55LCBtYz86IE1hcHBpbmdDb250ZXh0LCBub2RlQ29udGV4dD86IE5vZGVDb250ZXh0KSA9PiBOb2RlTWV0YTtcclxuXHJcbn1cclxuXHJcbi8qKlxyXG5BIEpzb25SZXN1bHRzQWRhcHRlciBpbnN0YW5jZSBpcyB1c2VkIHRvIHByb3ZpZGUgY3VzdG9tIGV4dHJhY3Rpb24gYW5kIHBhcnNpbmcgbG9naWMgb24gdGhlIGpzb24gcmVzdWx0cyByZXR1cm5lZCBieSBhbnkgd2ViIHNlcnZpY2UuXHJcblRoaXMgZmFjaWxpdHkgbWFrZXMgaXQgcG9zc2libGUgZm9yIGJyZWV6ZSB0byB0YWxrIHRvIHZpcnR1YWxseSBhbnkgd2ViIHNlcnZpY2UgYW5kIHJldHVybiBvYmplY3RzIHRoYXQgd2lsbCBiZSBmaXJzdCBjbGFzcyAnYnJlZXplJyBjaXRpemVucy5cclxuKiovXHJcbmV4cG9ydCBjbGFzcyBKc29uUmVzdWx0c0FkYXB0ZXIge1xyXG4gIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xyXG4gIF8kdHlwZU5hbWU6IHN0cmluZzsgLy8gYWN0dWFsbHkgcHV0IG9uIHByb3RvdHlwZS5cclxuICAvKiogVGhlIG5hbWUgb2YgdGhpcyBhZGFwdGVyLiAgVGhpcyBuYW1lIGlzIHVzZWQgdG8gdW5pcXVlbHkgaWRlbnRpZnkgYW5kIGxvY2F0ZSB0aGlzIGluc3RhbmNlIHdoZW4gYW4gJ2V4cG9ydGVkJyBKc29uUmVzdWx0c0FkYXB0ZXIgaXMgbGF0ZXIgaW1wb3J0ZWQuICovXHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIC8qKiBBIEZ1bmN0aW9uIHRoYXQgaXMgY2FsbGVkIG9uY2UgcGVyIHF1ZXJ5IG9wZXJhdGlvbiB0byBleHRyYWN0IHRoZSAncGF5bG9hZCcgZnJvbSBhbnkganNvbiByZWNlaXZlZCBvdmVyIHRoZSB3aXJlLiBcclxuICBUaGlzIG1ldGhvZCBoYXMgYSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIHdoaWNoIHNpbXBseSByZXR1cm5zIHRoZSBcInJlc3VsdHNcIiBwcm9wZXJ0eSBmcm9tIGFueSBqc29uIHJldHVybmVkIGFzIGEgcmVzdWx0IG9mIGV4ZWN1dGluZyB0aGUgcXVlcnkuICovXHJcbiAgZXh0cmFjdFJlc3VsdHM6IEZ1bmN0aW9uOyAvLyBUT0RPIC0gcmVmaW5lXHJcbiAgLyoqIEEgZnVuY3Rpb24gdGhhdCBpcyBjYWxsZWQgb25jZSBwZXIgc2F2ZSBvcGVyYXRpb24gdG8gZXh0cmFjdCB0aGUgZW50aXRpZXMgZnJvbSBhbnkganNvbiByZWNlaXZlZCBvdmVyIHRoZSB3aXJlLiAgTXVzdCByZXR1cm4gYW4gYXJyYXkuXHJcbiAgVGhpcyBtZXRob2QgaGFzIGEgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiB3aGljaCBzaW1wbHkgcmV0dXJucyB0aGUgXCJlbnRpdGllc1wiIHByb3BlcnR5IGZyb20gYW55IGpzb24gcmV0dXJuZWQgYXMgYSByZXN1bHQgb2YgZXhlY3V0aW5nIHRoZSBzYXZlLiAqL1xyXG4gIGV4dHJhY3RTYXZlUmVzdWx0czogRnVuY3Rpb247XHJcbiAgICAvKiogQSBmdW5jdGlvbiB0aGF0IGlzIGNhbGxlZCBvbmNlIHBlciBzYXZlIG9wZXJhdGlvbiB0byBleHRyYWN0IHRoZSBrZXkgbWFwcGluZ3MgZnJvbSBhbnkganNvbiByZWNlaXZlZCBvdmVyIHRoZSB3aXJlLiAgTXVzdCByZXR1cm4gYW4gYXJyYXkuXHJcbiAgVGhpcyBtZXRob2QgaGFzIGEgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiB3aGljaCBzaW1wbHkgcmV0dXJucyB0aGUgXCJrZXlNYXBwaW5nc1wiIHByb3BlcnR5IGZyb20gYW55IGpzb24gcmV0dXJuZWQgYXMgYSByZXN1bHQgb2YgZXhlY3V0aW5nIHRoZSBzYXZlLiAqL1xyXG4gIGV4dHJhY3RLZXlNYXBwaW5nczogIChkYXRhOiB7fSkgPT4gS2V5TWFwcGluZ1tdO1xyXG4gIC8qKiBBIGZ1bmN0aW9uIHRoYXQgaXMgY2FsbGVkIG9uY2UgcGVyIHNhdmUgb3BlcmF0aW9uIHRvIGV4dHJhY3QgYW55IGRlbGV0ZWQga2V5cyBmcm9tIGFueSBqc29uIHJlY2VpdmVkIG92ZXIgdGhlIHdpcmUuICBNdXN0IHJldHVybiBhbiBhcnJheS5cclxuICBUaGlzIG1ldGhvZCBoYXMgYSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIHdoaWNoIGlzIHRvIHNpbXBseSByZXR1cm5zIHRoZSBcImRlbGV0ZWRLZXlzXCIgcHJvcGVydHkgZnJvbSBhbnkganNvbiByZXR1cm5lZCBhcyBhIHJlc3VsdCBvZiBleGVjdXRpbmcgdGhlIHNhdmUuICovXHJcbiAgZXh0cmFjdERlbGV0ZWRLZXlzPzogKGRhdGE6IHt9KSA9PiBhbnlbXTsgLy8gVE9ETzogcmVmaW5lXHJcbiAgLyoqIEEgdmlzaXRvciBtZXRob2QgdGhhdCB3aWxsIGJlIGNhbGxlZCBvbiBlYWNoIG5vZGUgb2YgdGhlIHJldHVybmVkIHBheWxvYWQuICovXHJcbiAgdmlzaXROb2RlOiBGdW5jdGlvbjtcclxuXHJcbiAgLyoqXHJcbiAgSnNvblJlc3VsdHNBZGFwdGVyIGNvbnN0cnVjdG9yXHJcblxyXG4gIEBleGFtcGxlXHJcbiAgICAgIC8vXHJcbiAgICAgIHZhciBqc29uUmVzdWx0c0FkYXB0ZXIgPSBuZXcgSnNvblJlc3VsdHNBZGFwdGVyKHtcclxuICAgICAgICAgIG5hbWU6IFwidGVzdDFlXCIsXHJcbiAgICAgICAgICBleHRyYWN0UmVzdWx0czogZnVuY3Rpb24oanNvbikge1xyXG4gICAgICAgICAgICAgIHJldHVybiBqc29uLnJlc3VsdHM7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgdmlzaXROb2RlOiBmdW5jdGlvbihub2RlLCBtYXBwaW5nQ29udGV4dCwgbm9kZUNvbnRleHQpIHtcclxuICAgICAgICAgICAgICB2YXIgZW50aXR5VHlwZSA9IG5vcm1hbGl6ZVR5cGVOYW1lKG5vZGUuJHR5cGUpO1xyXG4gICAgICAgICAgICAgIHZhciBwcm9wZXJ0eU5hbWUgPSBub2RlQ29udGV4dC5wcm9wZXJ0eU5hbWU7XHJcbiAgICAgICAgICAgICAgdmFyIGlnbm9yZSA9IHByb3BlcnR5TmFtZSAmJiBwcm9wZXJ0eU5hbWUuc3Vic3RyKDAsIDEpID09PSBcIiRcIjtcclxuXHJcbiAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgICAgZW50aXR5VHlwZTogZW50aXR5VHlwZSxcclxuICAgICAgICAgICAgICAgICAgbm9kZUlkOiBub2RlLiRpZCxcclxuICAgICAgICAgICAgICAgICAgbm9kZVJlZklkOiBub2RlLiRyZWYsXHJcbiAgICAgICAgICAgICAgICAgIGlnbm9yZTogaWdub3JlLFxyXG4gICAgICAgICAgICAgICAgICBwYXNzVGhydTogZmFsc2UgLy8gZGVmYXVsdFxyXG4gICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgdmFyIGRhdGFTZXJ2aWNlID0gbmV3IERhdGFTZXJ2aWNlKCB7XHJcbiAgICAgICAgICAgICAgc2VydmljZU5hbWU6IFwiYnJlZXplL2Zvb1wiLFxyXG4gICAgICAgICAgICAgIGpzb25SZXN1bHRzQWRhcHRlcjoganNvblJlc3VsdHNBZGFwdGVyXHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgdmFyIGVudGl0eU1hbmFnZXIgPSBuZXcgRW50aXR5TWFuYWdlcigge1xyXG4gICAgICAgICAgZGF0YVNlcnZpY2U6IGRhdGFTZXJ2aWNlXHJcbiAgICAgIH0pO1xyXG5cclxuICBAcGFyYW0gY29uZmlnIC0gQSBjb25maWd1cmF0aW9uIG9iamVjdC5cclxuXHJcbiAgKiovXHJcbiAgY29uc3RydWN0b3IoanNDb25maWc6IEpzb25SZXN1bHRzQWRhcHRlckNvbmZpZykge1xyXG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggIT09IDEpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVGhlIEpzb25SZXN1bHRzQWRhcHRlciBjdG9yIHNob3VsZCBiZSBjYWxsZWQgd2l0aCBhIHNpbmdsZSBhcmd1bWVudCB0aGF0IGlzIGEgY29uZmlndXJhdGlvbiBvYmplY3QuXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzc2VydENvbmZpZyhqc0NvbmZpZylcclxuICAgICAgICAud2hlcmVQYXJhbShcIm5hbWVcIikuaXNOb25FbXB0eVN0cmluZygpXHJcbiAgICAgICAgLndoZXJlUGFyYW0oXCJleHRyYWN0UmVzdWx0c1wiKS5pc0Z1bmN0aW9uKCkuaXNPcHRpb25hbCgpLndpdGhEZWZhdWx0KGV4dHJhY3RSZXN1bHRzRGVmYXVsdClcclxuICAgICAgICAud2hlcmVQYXJhbShcImV4dHJhY3RTYXZlUmVzdWx0c1wiKS5pc0Z1bmN0aW9uKCkuaXNPcHRpb25hbCgpLndpdGhEZWZhdWx0KGV4dHJhY3RTYXZlUmVzdWx0c0RlZmF1bHQpXHJcbiAgICAgICAgLndoZXJlUGFyYW0oXCJleHRyYWN0S2V5TWFwcGluZ3NcIikuaXNGdW5jdGlvbigpLmlzT3B0aW9uYWwoKS53aXRoRGVmYXVsdChleHRyYWN0S2V5TWFwcGluZ3NEZWZhdWx0KVxyXG4gICAgICAgIC53aGVyZVBhcmFtKFwiZXh0cmFjdERlbGV0ZWRLZXlzXCIpLmlzRnVuY3Rpb24oKS5pc09wdGlvbmFsKCkud2l0aERlZmF1bHQoZXh0cmFjdERlbGV0ZWRLZXlzRGVmYXVsdClcclxuICAgICAgICAud2hlcmVQYXJhbShcInZpc2l0Tm9kZVwiKS5pc0Z1bmN0aW9uKClcclxuICAgICAgICAuYXBwbHlBbGwodGhpcyk7XHJcbiAgICBjb25maWcuX3N0b3JlT2JqZWN0KHRoaXMsIFwiSnNvblJlc3VsdHNBZGFwdGVyXCIsIHRoaXMubmFtZSk7XHJcbiAgfVxyXG5cclxufVxyXG5Kc29uUmVzdWx0c0FkYXB0ZXIucHJvdG90eXBlLl8kdHlwZU5hbWUgPSBcIkpzb25SZXN1bHRzQWRhcHRlclwiO1xyXG5cclxuZnVuY3Rpb24gZXh0cmFjdFJlc3VsdHNEZWZhdWx0KGRhdGE6IGFueSkge1xyXG4gIHJldHVybiBkYXRhLnJlc3VsdHM7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGV4dHJhY3RTYXZlUmVzdWx0c0RlZmF1bHQoZGF0YTogYW55KSB7XHJcbiAgcmV0dXJuIGRhdGEuZW50aXRpZXMgfHwgZGF0YS5FbnRpdGllcyB8fCBbXTtcclxufVxyXG5cclxuZnVuY3Rpb24gZXh0cmFjdEtleU1hcHBpbmdzRGVmYXVsdChkYXRhOiBhbnkpIHtcclxuICByZXR1cm4gZGF0YS5rZXlNYXBwaW5ncyB8fCBkYXRhLktleU1hcHBpbmdzIHx8IFtdO1xyXG59XHJcblxyXG5mdW5jdGlvbiBleHRyYWN0RGVsZXRlZEtleXNEZWZhdWx0KGRhdGE6IGFueSkge1xyXG4gIHJldHVybiBkYXRhLmRlbGV0ZWRLZXlzIHx8IGRhdGEuRGVsZXRlZEtleXMgfHwgW107XHJcbn1cclxuXHJcbiJdfQ==
|
|
203
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYnJlZXplLWNsaWVudC8iLCJzb3VyY2VzIjpbInNyYy9kYXRhLXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQWlCOUI7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUNILE1BQU0sT0FBTyxXQUFXO0lBb0J0Qjs7Ozs7Ozs7Ozs7Ozs7O09BZUc7SUFDSCxZQUFZLE1BQTBCO1FBQ3BDLGdCQUFnQixDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBR0Q7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLE1BQXlCO1FBQzdCLElBQUksQ0FBQyxNQUFNO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDekIsSUFBSSxNQUFNLEdBQUcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsT0FBTyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBMkI7UUFDeEMsaUJBQWlCO1FBQ2pCLG9DQUFvQztRQUNuQyxZQUFvQixDQUFDLElBQUksQ0FBQztZQUN6QixpQkFBaUIsRUFBRSxJQUFJO1lBQ3ZCLFFBQVEsRUFBRSxLQUFLO1NBQ2hCLENBQUMsQ0FBQztRQUNILElBQUksRUFBRSxHQUFHLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQ3hELENBQUMsYUFBYSxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxtQkFBbUIsRUFBRSxvQkFBb0IsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFOUcsSUFBSSxDQUFDLEVBQUUsQ0FB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QyxXQUFXLElBQUksRUFBRSxDQUFDO0FBQ3BELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnRpdHlUeXBlLCBOYXZpZ2F0aW9uUHJvcGVydHkgfSBmcm9tICcuL2VudGl0eS1tZXRhZGF0YSc7XHJcbmltcG9ydCB7IERhdGFTZXJ2aWNlQWRhcHRlciwgVXJpQnVpbGRlckFkYXB0ZXIgfSBmcm9tICcuL2ludGVyZmFjZS1yZWdpc3RyeSc7XHJcbmltcG9ydCB7IEtleU1hcHBpbmcgfSBmcm9tICcuL2VudGl0eS1tYW5hZ2VyJztcclxuaW1wb3J0IHsgTWFwcGluZ0NvbnRleHQgfSBmcm9tICcuL21hcHBpbmctY29udGV4dCc7XHJcbmltcG9ydCB7IGFzc2VydENvbmZpZyB9IGZyb20gJy4vYXNzZXJ0LXBhcmFtJztcclxuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSAnLi9jb25maWcnO1xyXG5pbXBvcnQgeyBjb3JlIH0gZnJvbSAnLi9jb3JlJztcclxuXHJcbi8qKiBDb25maWd1cmF0aW9uIGluZm8gdG8gYmUgcGFzc2VkIHRvIHRoZSBbW0RhdGFTZXJ2aWNlXV0gY29uc3RydWN0b3IgKi9cclxuZXhwb3J0IGludGVyZmFjZSBEYXRhU2VydmljZUNvbmZpZyB7XHJcbiAgLyoqIFRoZSBzZXJ2aWNlTmFtZSBmb3IgdGhpcyBEYXRhU2VydmljZS4gICoqL1xyXG4gIHNlcnZpY2VOYW1lPzogc3RyaW5nO1xyXG4gIC8qKiBUaGUgYWRhcHRlciBuYW1lIGZvciB0aGUgW1tJRGF0YVNlcnZpY2VBZGFwdGVyXV0gdG8gYmUgdXNlZCB3aXRoIHRoaXMgc2VydmljZS4gICoqL1xyXG4gIGFkYXB0ZXJOYW1lPzogc3RyaW5nO1xyXG4gIC8qKiBUaGUgYWRhcHRlciBuYW1lIGZvciB0aGUgW1tJVXJpQnVpbGRlckFkYXB0ZXJdXSB0byBiZSB1c2VkIHdpdGggdGhpcyBzZXJ2aWNlLiAgKiovXHJcbiAgdXJpQnVpbGRlck5hbWU/OiBzdHJpbmc7XHJcbiAgLyoqIFdoZXRoZXIgdGhlIHNlcnZlciBjYW4gcHJvdmlkZSBtZXRhZGF0YSBmb3IgdGhpcyBzZXJ2aWNlLiAgKiovXHJcbiAgaGFzU2VydmVyTWV0YWRhdGE/OiBib29sZWFuO1xyXG4gIC8qKiBUaGUgW1tKc29uUmVzdWx0c0FkYXB0ZXJdXSB1c2VkIHRvIHByb2Nlc3MgdGhlIHJlc3VsdHMgb2YgYW55IHF1ZXJ5IGFnYWluc3QgdGhpcyBEYXRhU2VydmljZS4gICoqL1xyXG4gIGpzb25SZXN1bHRzQWRhcHRlcj86IEpzb25SZXN1bHRzQWRhcHRlcjtcclxuICAvKiogV2hldGhlciB0byB1c2UgSlNPTlAgd2hlbiBwZXJmb3JtaW5nIGEgJ0dFVCcgcmVxdWVzdCBhZ2FpbnN0IHRoaXMgc2VydmljZS4gICoqL1xyXG4gIHVzZUpzb25wPzogYm9vbGVhbjtcclxufVxyXG4vKipcclxuQSBEYXRhU2VydmljZSBpbnN0YW5jZSBpcyB1c2VkIHRvIGVuY2Fwc3VsYXRlIHRoZSBkZXRhaWxzIG9mIGEgc2luZ2xlICdzZXJ2aWNlJzsgdGhpcyBpbmNsdWRlcyBhIHNlcnZpY2VOYW1lLCBhIGRhdGFTZXJ2aWNlIGFkYXB0ZXJJbnN0YW5jZSxcclxuYW5kIHdoZXRoZXIgdGhlIHNlcnZpY2UgaGFzIHNlcnZlciBzaWRlIG1ldGFkYXRhLlxyXG5cclxuWW91IGNhbiBjb25zdHJ1Y3QgYW4gRW50aXR5TWFuYWdlciB3aXRoIGVpdGhlciBhIHNlcnZpY2VOYW1lIG9yIGEgRGF0YVNlcnZpY2UgaW5zdGFuY2UsIGlmIHlvdSB1c2UgYSBzZXJ2aWNlTmFtZSB0aGVuIGEgRGF0YVNlcnZpY2VcclxuaXMgY29uc3RydWN0ZWQgZm9yIHlvdS4gIChJdCBjYW4gYWxzbyBiZSBzZXQgdmlhIHRoZSBFbnRpdHlNYW5hZ2VyLnNldFByb3BlcnRpZXMgbWV0aG9kKS5cclxuXHJcblRoZSBzYW1lIGFwcGxpZXMgdG8gdGhlIE1ldGFkYXRhU3RvcmUuZmV0Y2hNZXRhZGF0YSBtZXRob2QsIGkuZS4gaXQgdGFrZXMgZWl0aGVyIGEgc2VydmljZU5hbWUgb3IgYSBEYXRhU2VydmljZSBpbnN0YW5jZS5cclxuXHJcbkVhY2ggbWV0YWRhdGFTdG9yZSBjb250YWlucyBhIGxpc3Qgb2YgRGF0YVNlcnZpY2VzLCBlYWNoIGFjY2Vzc2libGUgdmlhIGl0cyDigJhzZXJ2aWNlTmFtZeKAmS5cclxuKCBzZWUgTWV0YWRhdGFTdG9yZS5nZXREYXRhU2VydmljZSBhbmQgTWV0YWRhdGFTdG9yZS5hZGREYXRhU2VydmljZSkuICBUaGUg4oCYYWRkRGF0YVNlcnZpY2XigJkgbWV0aG9kIGlzIGNhbGxlZCBpbnRlcm5hbGx5XHJcbmFueXRpbWUgYSBNZXRhZGF0YVN0b3JlLmZldGNoTWV0YWRhdGEgY2FsbCBvY2N1cnMgd2l0aCBhIG5ldyBkYXRhU2VydmljZSAoIG9yIHNlcnZpY2UgbmFtZSkuXHJcblxyXG4qKi9cclxuZXhwb3J0IGNsYXNzIERhdGFTZXJ2aWNlIHtcclxuICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cclxuICBkZWNsYXJlIF8kdHlwZU5hbWU6IHN0cmluZzsgLy8gYWN0dWFsbHkgcHV0IG9uIHByb3RvdHlwZS5cclxuICAvKiogVGhlIHNlcnZpY2VOYW1lIGZvciB0aGlzIERhdGFTZXJ2aWNlLiBfX1JlYWQgT25seV9fICoqL1xyXG4gIGRlY2xhcmUgc2VydmljZU5hbWU6IHN0cmluZztcclxuICAvKiogVGhlIGFkYXB0ZXIgbmFtZSBmb3IgdGhlIFtbSURhdGFTZXJ2aWNlQWRhcHRlcl1dIHRvIGJlIHVzZWQgd2l0aCB0aGlzIHNlcnZpY2UuIF9fUmVhZCBPbmx5X18gICoqL1xyXG4gIGRlY2xhcmUgYWRhcHRlck5hbWU6IHN0cmluZztcclxuICAvKiogIFRoZSBbW0lEYXRhU2VydmljZUFkYXB0ZXJdXSBpbXBsZW1lbnRhdGlvbiBpbnN0YW5jZSBhc3NvY2lhdGVkIHdpdGggdGhpcyBFbnRpdHlNYW5hZ2VyLiBfX1JlYWQgT25seV9fICAqKi9cclxuICBkZWNsYXJlIGFkYXB0ZXJJbnN0YW5jZT86IERhdGFTZXJ2aWNlQWRhcHRlcjtcclxuICAvKiogVGhlIGFkYXB0ZXIgbmFtZSBmb3IgdGhlIFtbSVVyaUJ1aWxkZXJBZGFwdGVyXV0gdG8gYmUgdXNlZCB3aXRoIHRoaXMgc2VydmljZS4gX19SZWFkIE9ubHlfXyAgKiovXHJcbiAgZGVjbGFyZSB1cmlCdWlsZGVyTmFtZTogc3RyaW5nO1xyXG4gIC8qKiAgVGhlIFtbSVVyaUJ1aWxkZXJBZGFwdGVyXV0gaW1wbGVtZW50YXRpb24gaW5zdGFuY2UgYXNzb2NpYXRlZCB3aXRoIHRoaXMgRW50aXR5TWFuYWdlci4gX19SZWFkIE9ubHlfXyAgKiovXHJcbiAgZGVjbGFyZSB1cmlCdWlsZGVyPzogVXJpQnVpbGRlckFkYXB0ZXI7XHJcbiAgLyoqIFdoZXRoZXIgdGhlIHNlcnZlciBjYW4gcHJvdmlkZSBtZXRhZGF0YSBmb3IgdGhpcyBzZXJ2aWNlLiBfX1JlYWQgT25seV9fICAgKiovXHJcbiAgZGVjbGFyZSBoYXNTZXJ2ZXJNZXRhZGF0YTogYm9vbGVhbjtcclxuICAvKiogVGhlIFtbSnNvblJlc3VsdHNBZGFwdGVyXV0gdXNlZCB0byBwcm9jZXNzIHRoZSByZXN1bHRzIG9mIGFueSBxdWVyeSBhZ2FpbnN0IHRoaXMgRGF0YVNlcnZpY2UuIF9fUmVhZCBPbmx5X18gKiovXHJcbiAgZGVjbGFyZSBqc29uUmVzdWx0c0FkYXB0ZXI6IEpzb25SZXN1bHRzQWRhcHRlcjtcclxuICAvKiogV2hldGhlciB0byB1c2UgSlNPTlAgd2hlbiBwZXJmb3JtaW5nIGEgJ0dFVCcgcmVxdWVzdCBhZ2FpbnN0IHRoaXMgc2VydmljZS4gX19SZWFkIE9ubHlfXyAgKiovXHJcbiAgZGVjbGFyZSB1c2VKc29ucDogYm9vbGVhbjtcclxuXHJcbiAgLyoqICAgRGF0YVNlcnZpY2UgY29uc3RydWN0b3JcclxuICA+ICAgICB2YXIgZGF0YVNlcnZpY2UgPSBuZXcgRGF0YVNlcnZpY2Uoe1xyXG4gID4gICAgICAgICBzZXJ2aWNlTmFtZTogYWx0U2VydmljZU5hbWUsXHJcbiAgPiAgICAgICAgIGhhc1NlcnZlck1ldGFkYXRhOiBmYWxzZVxyXG4gID4gICAgIH0pO1xyXG5cclxuICA+ICAgICB2YXIgbWV0YWRhdGFTdG9yZSA9IG5ldyBNZXRhZGF0YVN0b3JlKHtcclxuICA+ICAgICAgICAgbmFtaW5nQ29udmVudGlvbjogTmFtaW5nQ29udmVudGlvbi5jYW1lbENhc2VcclxuICA+ICAgICB9KTtcclxuXHJcbiAgPiAgICAgcmV0dXJuIG5ldyBFbnRpdHlNYW5hZ2VyKHtcclxuICA+ICAgICAgICAgZGF0YVNlcnZpY2U6IGRhdGFTZXJ2aWNlLFxyXG4gID4gICAgICAgICBtZXRhZGF0YVN0b3JlOiBtZXRhZGF0YVN0b3JlXHJcbiAgPiAgICAgfSk7XHJcbiAgQHBhcmFtIGNvbmZpZyAtIEEgY29uZmlndXJhdGlvbiBvYmplY3QuXHJcbiAgKiovXHJcbiAgY29uc3RydWN0b3IoY29uZmlnPzogRGF0YVNlcnZpY2VDb25maWcpIHtcclxuICAgIHVwZGF0ZVdpdGhDb25maWcodGhpcywgY29uZmlnKTtcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICBSZXR1cm5zIGEgY29weSBvZiB0aGlzIERhdGFTZXJ2aWNlIHdpdGggdGhlIHNwZWNpZmllZCBwcm9wZXJ0aWVzIGFwcGxpZWQuXHJcbiAgQHBhcmFtIGNvbmZpZyAtIFRoZSBjb25maWd1cmF0aW9uIG9iamVjdCB0byBhcHBseSB0byBjcmVhdGUgYSBuZXcgRGF0YVNlcnZpY2UuXHJcbiAgKiovXHJcbiAgdXNpbmcoY29uZmlnOiBEYXRhU2VydmljZUNvbmZpZykge1xyXG4gICAgaWYgKCFjb25maWcpIHJldHVybiB0aGlzO1xyXG4gICAgbGV0IHJlc3VsdCA9IG5ldyBEYXRhU2VydmljZSh0aGlzKTtcclxuICAgIHJldHVybiB1cGRhdGVXaXRoQ29uZmlnKHJlc3VsdCwgY29uZmlnKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyByZXNvbHZlKGRhdGFTZXJ2aWNlczogRGF0YVNlcnZpY2VbXSkge1xyXG4gICAgLy8gZmluYWwgZGVmYXVsdHNcclxuICAgIC8vIERlbGliZXJhdGUgdXNlIG9mICdhcyBhbnknIGJlbG93LlxyXG4gICAgKGRhdGFTZXJ2aWNlcyBhcyBhbnkpLnB1c2goe1xyXG4gICAgICBoYXNTZXJ2ZXJNZXRhZGF0YTogdHJ1ZSxcclxuICAgICAgdXNlSnNvbnA6IGZhbHNlXHJcbiAgICB9KTtcclxuICAgIGxldCBkcyA9IG5ldyBEYXRhU2VydmljZShjb3JlLnJlc29sdmVQcm9wZXJ0aWVzKGRhdGFTZXJ2aWNlcyxcclxuICAgICAgICBbXCJzZXJ2aWNlTmFtZVwiLCBcImFkYXB0ZXJOYW1lXCIsIFwidXJpQnVpbGRlck5hbWVcIiwgXCJoYXNTZXJ2ZXJNZXRhZGF0YVwiLCBcImpzb25SZXN1bHRzQWRhcHRlclwiLCBcInVzZUpzb25wXCJdKSk7XHJcblxyXG4gICAgaWYgKCFkcy5zZXJ2aWNlTmFtZSkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJVbmFibGUgdG8gcmVzb2x2ZSBhICdzZXJ2aWNlTmFtZScgZm9yIHRoaXMgZGF0YVNlcnZpY2VcIik7XHJcbiAgICB9XHJcbiAgICBkcy5hZGFwdGVySW5zdGFuY2UgPSBkcy5hZGFwdGVySW5zdGFuY2UgfHwgY29uZmlnLmdldEFkYXB0ZXJJbnN0YW5jZTxEYXRhU2VydmljZUFkYXB0ZXI+KFwiZGF0YVNlcnZpY2VcIiwgZHMuYWRhcHRlck5hbWUpO1xyXG4gICAgZHMuanNvblJlc3VsdHNBZGFwdGVyID0gZHMuanNvblJlc3VsdHNBZGFwdGVyIHx8IGRzLmFkYXB0ZXJJbnN0YW5jZSEuanNvblJlc3VsdHNBZGFwdGVyO1xyXG4gICAgZHMudXJpQnVpbGRlciA9IGRzLnVyaUJ1aWxkZXIgfHwgY29uZmlnLmdldEFkYXB0ZXJJbnN0YW5jZTxVcmlCdWlsZGVyQWRhcHRlcj4oXCJ1cmlCdWlsZGVyXCIsIGRzLnVyaUJ1aWxkZXJOYW1lKTtcclxuICAgIHJldHVybiBkcztcclxuICB9XHJcblxyXG4gIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xyXG4gIHN0YXRpYyBfbm9ybWFsaXplU2VydmljZU5hbWUoc2VydmljZU5hbWU6IHN0cmluZykge1xyXG4gICAgc2VydmljZU5hbWUgPSBzZXJ2aWNlTmFtZS50cmltKCk7XHJcbiAgICBpZiAoc2VydmljZU5hbWUuc3Vic3RyKC0xKSAhPT0gXCIvXCIpIHtcclxuICAgICAgcmV0dXJuIHNlcnZpY2VOYW1lICsgJy8nO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHNlcnZpY2VOYW1lO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqICAqL1xyXG4gIHRvSlNPTigpIHtcclxuICAgIC8vIGRvbid0IHVzZSBkZWZhdWx0IHZhbHVlIGhlcmUgLSBiZWNhdXNlIHdlIHdhbnQgdG8gYmUgYWJsZSB0byBkaXN0aW5ndWlzaCB1bmRlZmluZWQgcHJvcHMgZm9yIGluaGVyaXRlbmNlIHB1cnBvc2VzLlxyXG4gICAgcmV0dXJuIGNvcmUudG9Kc29uKHRoaXMsIHtcclxuICAgICAgc2VydmljZU5hbWU6IG51bGwsXHJcbiAgICAgIGFkYXB0ZXJOYW1lOiBudWxsLFxyXG4gICAgICB1cmlCdWlsZGVyTmFtZTogbnVsbCxcclxuICAgICAgaGFzU2VydmVyTWV0YWRhdGE6IG51bGwsXHJcbiAgICAgIGpzb25SZXN1bHRzQWRhcHRlcjogZnVuY3Rpb24gKHY6IGFueSkge1xyXG4gICAgICAgIHJldHVybiB2ICYmIHYubmFtZTtcclxuICAgICAgfSxcclxuICAgICAgdXNlSnNvbnA6IG51bGxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGZyb21KU09OKGpzb246IGFueSkge1xyXG4gICAganNvbi5qc29uUmVzdWx0c0FkYXB0ZXIgPSBjb25maWcuX2ZldGNoT2JqZWN0KEpzb25SZXN1bHRzQWRhcHRlciwganNvbi5qc29uUmVzdWx0c0FkYXB0ZXIpO1xyXG4gICAgcmV0dXJuIG5ldyBEYXRhU2VydmljZShqc29uKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICBSZXR1cm5zIGEgdXJsIGZvciB0aGlzIGRhdGFTZXJ2aWNlIHdpdGggdGhlIHNwZWNpZmllZCBzdWZmaXguIFRoaXMgbWV0aG9kIGhhbmRsZXMgZGF0YVNlcnZpY2UgbmFtZXMgZWl0aGVyXHJcbiAgIHdpdGggb3Igd2l0aG91dCB0cmFpbGluZyAnLydzLiAgSWYgdGhlIHN1ZmZpeCBzdGFydHMgd2l0aCBcImh0dHBcIiB0aGVuIGl0IHdpbGwgYmUgcmV0dXJuZWQgYXMtaXMuXHJcbiAgIEBtZXRob2QgcXVhbGlmeVVybFxyXG4gICBAcGFyYW0gc3VmZml4IHtTdHJpbmd9IFRoZSByZXN1bHRpbmcgdXJsLlxyXG4gICBAcmV0dXJuIHthIFVybCBzdHJpbmd9XHJcbiAgICoqL1xyXG4gIHF1YWxpZnlVcmwoc3VmZml4OiBzdHJpbmcpIHtcclxuICAgIGlmIChzdWZmaXggJiYgc3VmZml4LnN0YXJ0c1dpdGgoXCJodHRwXCIpKSB7XHJcbiAgICAgIHJldHVybiBzdWZmaXg7XHJcbiAgICB9XHJcbiAgICBsZXQgdXJsID0gdGhpcy5zZXJ2aWNlTmFtZTtcclxuICAgIC8vIHJlbW92ZSBhbnkgdHJhaWxpbmcgXCIvXCJcclxuICAgIGlmIChjb3JlLnN0cmluZ0VuZHNXaXRoKHVybCwgXCIvXCIpKSB7XHJcbiAgICAgIHVybCA9IHVybC5zdWJzdHIoMCwgdXJsLmxlbmd0aCAtIDEpO1xyXG4gICAgfVxyXG4gICAgLy8gZW5zdXJlIHRoYXQgaXQgZW5kcyB3aXRoIFwiL1wiICsgc3VmZml4XHJcbiAgICBzdWZmaXggPSBcIi9cIiArIHN1ZmZpeDtcclxuICAgIGlmICghY29yZS5zdHJpbmdFbmRzV2l0aCh1cmwsIHN1ZmZpeCkpIHtcclxuICAgICAgdXJsID0gdXJsICsgc3VmZml4O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHVybDtcclxuICB9XHJcblxyXG59XHJcbkRhdGFTZXJ2aWNlLnByb3RvdHlwZS5fJHR5cGVOYW1lID0gXCJEYXRhU2VydmljZVwiO1xyXG5cclxuZnVuY3Rpb24gdXBkYXRlV2l0aENvbmZpZyhvYmo6IERhdGFTZXJ2aWNlLCBkc0NvbmZpZz86IERhdGFTZXJ2aWNlQ29uZmlnKSB7XHJcbiAgaWYgKGRzQ29uZmlnKSB7XHJcbiAgICBhc3NlcnRDb25maWcoZHNDb25maWcpXHJcbiAgICAgICAgLndoZXJlUGFyYW0oXCJzZXJ2aWNlTmFtZVwiKS5pc09wdGlvbmFsKClcclxuICAgICAgICAud2hlcmVQYXJhbShcImFkYXB0ZXJOYW1lXCIpLmlzU3RyaW5nKCkuaXNPcHRpb25hbCgpXHJcbiAgICAgICAgLndoZXJlUGFyYW0oXCJ1cmlCdWlsZGVyTmFtZVwiKS5pc1N0cmluZygpLmlzT3B0aW9uYWwoKVxyXG4gICAgICAgIC53aGVyZVBhcmFtKFwiaGFzU2VydmVyTWV0YWRhdGFcIikuaXNCb29sZWFuKCkuaXNPcHRpb25hbCgpXHJcbiAgICAgICAgLndoZXJlUGFyYW0oXCJqc29uUmVzdWx0c0FkYXB0ZXJcIikuaXNJbnN0YW5jZU9mKEpzb25SZXN1bHRzQWRhcHRlcikuaXNPcHRpb25hbCgpXHJcbiAgICAgICAgLndoZXJlUGFyYW0oXCJ1c2VKc29ucFwiKS5pc0Jvb2xlYW4oKS5pc09wdGlvbmFsKClcclxuICAgICAgICAuYXBwbHlBbGwob2JqKTtcclxuICAgIG9iai5zZXJ2aWNlTmFtZSA9IG9iai5zZXJ2aWNlTmFtZSAmJiBEYXRhU2VydmljZS5fbm9ybWFsaXplU2VydmljZU5hbWUob2JqLnNlcnZpY2VOYW1lKTtcclxuICAgIG9iai5hZGFwdGVySW5zdGFuY2UgPSBvYmouYWRhcHRlck5hbWUgPyAgY29uZmlnLmdldEFkYXB0ZXJJbnN0YW5jZTxEYXRhU2VydmljZUFkYXB0ZXI+KFwiZGF0YVNlcnZpY2VcIiwgb2JqLmFkYXB0ZXJOYW1lKSA6IHVuZGVmaW5lZDtcclxuICAgIG9iai51cmlCdWlsZGVyID0gb2JqLnVyaUJ1aWxkZXJOYW1lID8gY29uZmlnLmdldEFkYXB0ZXJJbnN0YW5jZTxVcmlCdWlsZGVyQWRhcHRlcj4oXCJ1cmlCdWlsZGVyXCIsIG9iai51cmlCdWlsZGVyTmFtZSkgOiB1bmRlZmluZWQ7XHJcbiAgfVxyXG4gIHJldHVybiBvYmo7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTm9kZU1ldGEge1xyXG4gIGVudGl0eVR5cGU/OiBFbnRpdHlUeXBlO1xyXG4gIG5vZGVJZD86IHN0cmluZztcclxuICBub2RlUmVmSWQ/OiBzdHJpbmc7XHJcbiAgaWdub3JlPzogYm9vbGVhbjtcclxuICBwYXNzVGhydT86IGJvb2xlYW47XHJcbiAgZXh0cmFNZXRhZGF0YT86IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBOb2RlQ29udGV4dCB7XHJcbiAgbm9kZVR5cGU6IHN0cmluZztcclxuICBwcm9wZXJ0eU5hbWU/OiBzdHJpbmc7XHJcbiAgbmF2aWdhdGlvblByb3BlcnR5PzogTmF2aWdhdGlvblByb3BlcnR5O1xyXG59XHJcblxyXG4vKiogQ29uZmlndXJhdGlvbiBpbmZvIHRvIGJlIHBhc3NlZCB0byB0aGUgW1tKc29uUmVzdWx0c0FkYXB0ZXJdXSBjb25zdHJ1Y3RvciAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIEpzb25SZXN1bHRzQWRhcHRlckNvbmZpZyB7XHJcbiAgLyoqIFRoZSBuYW1lIG9mIHRoaXMgYWRhcHRlci4gIFRoaXMgbmFtZSBpcyB1c2VkIHRvIHVuaXF1ZWx5IGlkZW50aWZ5IGFuZCBsb2NhdGUgdGhpcyBpbnN0YW5jZSB3aGVuIGFuICdleHBvcnRlZCcgSnNvblJlc3VsdHNBZGFwdGVyIGlzIGxhdGVyIGltcG9ydGVkLiAqL1xyXG4gIG5hbWU6IHN0cmluZztcclxuICAvKiogQSBGdW5jdGlvbiB0aGF0IGlzIGNhbGxlZCBvbmNlIHBlciBxdWVyeSBvcGVyYXRpb24gdG8gZXh0cmFjdCB0aGUgJ3BheWxvYWQnIGZyb20gYW55IGpzb24gcmVjZWl2ZWQgb3ZlciB0aGUgd2lyZS4gXHJcbiAgVGhpcyBtZXRob2QgaGFzIGEgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiB3aGljaCB0byBzaW1wbHkgcmV0dXJuIHRoZSBcInJlc3VsdHNcIiBwcm9wZXJ0eSBmcm9tIGFueSBqc29uIHJldHVybmVkIGFzIGEgcmVzdWx0IG9mIGV4ZWN1dGluZyB0aGUgcXVlcnkuIFxyXG4gICovXHJcbiAgZXh0cmFjdFJlc3VsdHM/OiBGdW5jdGlvbjtcclxuICAvKiogQSBmdW5jdGlvbiB0aGF0IGlzIGNhbGxlZCBvbmNlIHBlciBzYXZlIG9wZXJhdGlvbiB0byBleHRyYWN0IHRoZSBlbnRpdGllcyBmcm9tIGFueSBqc29uIHJlY2VpdmVkIG92ZXIgdGhlIHdpcmUuICBNdXN0IHJldHVybiBhbiBhcnJheS5cclxuICBUaGlzIG1ldGhvZCBoYXMgYSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIHdoaWNoIHNpbXBseSByZXR1cm5zIHRoZSBcImVudGl0aWVzXCIgcHJvcGVydHkgZnJvbSBhbnkganNvbiByZXR1cm5lZCBhcyBhIHJlc3VsdCBvZiBleGVjdXRpbmcgdGhlIHNhdmUuICovXHJcbiAgZXh0cmFjdFNhdmVSZXN1bHRzPzogRnVuY3Rpb247XHJcbiAgLyoqIEEgZnVuY3Rpb24gdGhhdCBpcyBjYWxsZWQgb25jZSBwZXIgc2F2ZSBvcGVyYXRpb24gdG8gZXh0cmFjdCB0aGUga2V5IG1hcHBpbmdzIGZyb20gYW55IGpzb24gcmVjZWl2ZWQgb3ZlciB0aGUgd2lyZS4gIE11c3QgcmV0dXJuIGFuIGFycmF5LlxyXG4gIFRoaXMgbWV0aG9kIGhhcyBhIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gd2hpY2ggc2ltcGx5IHJldHVybnMgdGhlIFwia2V5TWFwcGluZ3NcIiBwcm9wZXJ0eSBmcm9tIGFueSBqc29uIHJldHVybmVkIGFzIGEgcmVzdWx0IG9mIGV4ZWN1dGluZyB0aGUgc2F2ZS4gKi9cclxuICBleHRyYWN0S2V5TWFwcGluZ3M/OiAoZGF0YToge30pID0+IEtleU1hcHBpbmdbXTtcclxuICAvKiogQSBmdW5jdGlvbiB0aGF0IGlzIGNhbGxlZCBvbmNlIHBlciBzYXZlIG9wZXJhdGlvbiB0byBleHRyYWN0IGFueSBkZWxldGVkIGtleXMgZnJvbSBhbnkganNvbiByZWNlaXZlZCBvdmVyIHRoZSB3aXJlLiAgTXVzdCByZXR1cm4gYW4gYXJyYXkuXHJcbiAgVGhpcyBtZXRob2QgaGFzIGEgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiB3aGljaCBzaW1wbHkgcmV0dXJucyBhbiBlbXB0eSBhcnJheS4gKi9cclxuICBleHRyYWN0RGVsZXRlZEtleXM/OiAoZGF0YToge30pID0+IGFueVtdOyAvLyBUT0RPOiByZWZpbmVcclxuICAvKiogQSB2aXNpdG9yIG1ldGhvZCB0aGF0IHdpbGwgYmUgY2FsbGVkIG9uIGVhY2ggbm9kZSBvZiB0aGUgcmV0dXJuZWQgcGF5bG9hZC4gKi9cclxuICB2aXNpdE5vZGU/OiAodjogYW55LCBtYz86IE1hcHBpbmdDb250ZXh0LCBub2RlQ29udGV4dD86IE5vZGVDb250ZXh0KSA9PiBOb2RlTWV0YTtcclxuXHJcbn1cclxuXHJcbi8qKlxyXG5BIEpzb25SZXN1bHRzQWRhcHRlciBpbnN0YW5jZSBpcyB1c2VkIHRvIHByb3ZpZGUgY3VzdG9tIGV4dHJhY3Rpb24gYW5kIHBhcnNpbmcgbG9naWMgb24gdGhlIGpzb24gcmVzdWx0cyByZXR1cm5lZCBieSBhbnkgd2ViIHNlcnZpY2UuXHJcblRoaXMgZmFjaWxpdHkgbWFrZXMgaXQgcG9zc2libGUgZm9yIGJyZWV6ZSB0byB0YWxrIHRvIHZpcnR1YWxseSBhbnkgd2ViIHNlcnZpY2UgYW5kIHJldHVybiBvYmplY3RzIHRoYXQgd2lsbCBiZSBmaXJzdCBjbGFzcyAnYnJlZXplJyBjaXRpemVucy5cclxuKiovXHJcbmV4cG9ydCBjbGFzcyBKc29uUmVzdWx0c0FkYXB0ZXIge1xyXG4gIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xyXG4gIF8kdHlwZU5hbWU6IHN0cmluZzsgLy8gYWN0dWFsbHkgcHV0IG9uIHByb3RvdHlwZS5cclxuICAvKiogVGhlIG5hbWUgb2YgdGhpcyBhZGFwdGVyLiAgVGhpcyBuYW1lIGlzIHVzZWQgdG8gdW5pcXVlbHkgaWRlbnRpZnkgYW5kIGxvY2F0ZSB0aGlzIGluc3RhbmNlIHdoZW4gYW4gJ2V4cG9ydGVkJyBKc29uUmVzdWx0c0FkYXB0ZXIgaXMgbGF0ZXIgaW1wb3J0ZWQuICovXHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIC8qKiBBIEZ1bmN0aW9uIHRoYXQgaXMgY2FsbGVkIG9uY2UgcGVyIHF1ZXJ5IG9wZXJhdGlvbiB0byBleHRyYWN0IHRoZSAncGF5bG9hZCcgZnJvbSBhbnkganNvbiByZWNlaXZlZCBvdmVyIHRoZSB3aXJlLiBcclxuICBUaGlzIG1ldGhvZCBoYXMgYSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIHdoaWNoIHNpbXBseSByZXR1cm5zIHRoZSBcInJlc3VsdHNcIiBwcm9wZXJ0eSBmcm9tIGFueSBqc29uIHJldHVybmVkIGFzIGEgcmVzdWx0IG9mIGV4ZWN1dGluZyB0aGUgcXVlcnkuICovXHJcbiAgZXh0cmFjdFJlc3VsdHM6IEZ1bmN0aW9uOyAvLyBUT0RPIC0gcmVmaW5lXHJcbiAgLyoqIEEgZnVuY3Rpb24gdGhhdCBpcyBjYWxsZWQgb25jZSBwZXIgc2F2ZSBvcGVyYXRpb24gdG8gZXh0cmFjdCB0aGUgZW50aXRpZXMgZnJvbSBhbnkganNvbiByZWNlaXZlZCBvdmVyIHRoZSB3aXJlLiAgTXVzdCByZXR1cm4gYW4gYXJyYXkuXHJcbiAgVGhpcyBtZXRob2QgaGFzIGEgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiB3aGljaCBzaW1wbHkgcmV0dXJucyB0aGUgXCJlbnRpdGllc1wiIHByb3BlcnR5IGZyb20gYW55IGpzb24gcmV0dXJuZWQgYXMgYSByZXN1bHQgb2YgZXhlY3V0aW5nIHRoZSBzYXZlLiAqL1xyXG4gIGV4dHJhY3RTYXZlUmVzdWx0czogRnVuY3Rpb247XHJcbiAgICAvKiogQSBmdW5jdGlvbiB0aGF0IGlzIGNhbGxlZCBvbmNlIHBlciBzYXZlIG9wZXJhdGlvbiB0byBleHRyYWN0IHRoZSBrZXkgbWFwcGluZ3MgZnJvbSBhbnkganNvbiByZWNlaXZlZCBvdmVyIHRoZSB3aXJlLiAgTXVzdCByZXR1cm4gYW4gYXJyYXkuXHJcbiAgVGhpcyBtZXRob2QgaGFzIGEgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiB3aGljaCBzaW1wbHkgcmV0dXJucyB0aGUgXCJrZXlNYXBwaW5nc1wiIHByb3BlcnR5IGZyb20gYW55IGpzb24gcmV0dXJuZWQgYXMgYSByZXN1bHQgb2YgZXhlY3V0aW5nIHRoZSBzYXZlLiAqL1xyXG4gIGV4dHJhY3RLZXlNYXBwaW5nczogIChkYXRhOiB7fSkgPT4gS2V5TWFwcGluZ1tdO1xyXG4gIC8qKiBBIGZ1bmN0aW9uIHRoYXQgaXMgY2FsbGVkIG9uY2UgcGVyIHNhdmUgb3BlcmF0aW9uIHRvIGV4dHJhY3QgYW55IGRlbGV0ZWQga2V5cyBmcm9tIGFueSBqc29uIHJlY2VpdmVkIG92ZXIgdGhlIHdpcmUuICBNdXN0IHJldHVybiBhbiBhcnJheS5cclxuICBUaGlzIG1ldGhvZCBoYXMgYSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIHdoaWNoIGlzIHRvIHNpbXBseSByZXR1cm5zIHRoZSBcImRlbGV0ZWRLZXlzXCIgcHJvcGVydHkgZnJvbSBhbnkganNvbiByZXR1cm5lZCBhcyBhIHJlc3VsdCBvZiBleGVjdXRpbmcgdGhlIHNhdmUuICovXHJcbiAgZXh0cmFjdERlbGV0ZWRLZXlzPzogKGRhdGE6IHt9KSA9PiBhbnlbXTsgLy8gVE9ETzogcmVmaW5lXHJcbiAgLyoqIEEgdmlzaXRvciBtZXRob2QgdGhhdCB3aWxsIGJlIGNhbGxlZCBvbiBlYWNoIG5vZGUgb2YgdGhlIHJldHVybmVkIHBheWxvYWQuICovXHJcbiAgdmlzaXROb2RlOiBGdW5jdGlvbjtcclxuXHJcbiAgLyoqXHJcbiAgSnNvblJlc3VsdHNBZGFwdGVyIGNvbnN0cnVjdG9yXHJcblxyXG4gIEBleGFtcGxlXHJcbiAgICAgIC8vXHJcbiAgICAgIHZhciBqc29uUmVzdWx0c0FkYXB0ZXIgPSBuZXcgSnNvblJlc3VsdHNBZGFwdGVyKHtcclxuICAgICAgICAgIG5hbWU6IFwidGVzdDFlXCIsXHJcbiAgICAgICAgICBleHRyYWN0UmVzdWx0czogZnVuY3Rpb24oanNvbikge1xyXG4gICAgICAgICAgICAgIHJldHVybiBqc29uLnJlc3VsdHM7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgdmlzaXROb2RlOiBmdW5jdGlvbihub2RlLCBtYXBwaW5nQ29udGV4dCwgbm9kZUNvbnRleHQpIHtcclxuICAgICAgICAgICAgICB2YXIgZW50aXR5VHlwZSA9IG5vcm1hbGl6ZVR5cGVOYW1lKG5vZGUuJHR5cGUpO1xyXG4gICAgICAgICAgICAgIHZhciBwcm9wZXJ0eU5hbWUgPSBub2RlQ29udGV4dC5wcm9wZXJ0eU5hbWU7XHJcbiAgICAgICAgICAgICAgdmFyIGlnbm9yZSA9IHByb3BlcnR5TmFtZSAmJiBwcm9wZXJ0eU5hbWUuc3Vic3RyKDAsIDEpID09PSBcIiRcIjtcclxuXHJcbiAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgICAgZW50aXR5VHlwZTogZW50aXR5VHlwZSxcclxuICAgICAgICAgICAgICAgICAgbm9kZUlkOiBub2RlLiRpZCxcclxuICAgICAgICAgICAgICAgICAgbm9kZVJlZklkOiBub2RlLiRyZWYsXHJcbiAgICAgICAgICAgICAgICAgIGlnbm9yZTogaWdub3JlLFxyXG4gICAgICAgICAgICAgICAgICBwYXNzVGhydTogZmFsc2UgLy8gZGVmYXVsdFxyXG4gICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgdmFyIGRhdGFTZXJ2aWNlID0gbmV3IERhdGFTZXJ2aWNlKCB7XHJcbiAgICAgICAgICAgICAgc2VydmljZU5hbWU6IFwiYnJlZXplL2Zvb1wiLFxyXG4gICAgICAgICAgICAgIGpzb25SZXN1bHRzQWRhcHRlcjoganNvblJlc3VsdHNBZGFwdGVyXHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgdmFyIGVudGl0eU1hbmFnZXIgPSBuZXcgRW50aXR5TWFuYWdlcigge1xyXG4gICAgICAgICAgZGF0YVNlcnZpY2U6IGRhdGFTZXJ2aWNlXHJcbiAgICAgIH0pO1xyXG5cclxuICBAcGFyYW0gY29uZmlnIC0gQSBjb25maWd1cmF0aW9uIG9iamVjdC5cclxuXHJcbiAgKiovXHJcbiAgY29uc3RydWN0b3IoanNDb25maWc6IEpzb25SZXN1bHRzQWRhcHRlckNvbmZpZykge1xyXG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggIT09IDEpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVGhlIEpzb25SZXN1bHRzQWRhcHRlciBjdG9yIHNob3VsZCBiZSBjYWxsZWQgd2l0aCBhIHNpbmdsZSBhcmd1bWVudCB0aGF0IGlzIGEgY29uZmlndXJhdGlvbiBvYmplY3QuXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzc2VydENvbmZpZyhqc0NvbmZpZylcclxuICAgICAgICAud2hlcmVQYXJhbShcIm5hbWVcIikuaXNOb25FbXB0eVN0cmluZygpXHJcbiAgICAgICAgLndoZXJlUGFyYW0oXCJleHRyYWN0UmVzdWx0c1wiKS5pc0Z1bmN0aW9uKCkuaXNPcHRpb25hbCgpLndpdGhEZWZhdWx0KGV4dHJhY3RSZXN1bHRzRGVmYXVsdClcclxuICAgICAgICAud2hlcmVQYXJhbShcImV4dHJhY3RTYXZlUmVzdWx0c1wiKS5pc0Z1bmN0aW9uKCkuaXNPcHRpb25hbCgpLndpdGhEZWZhdWx0KGV4dHJhY3RTYXZlUmVzdWx0c0RlZmF1bHQpXHJcbiAgICAgICAgLndoZXJlUGFyYW0oXCJleHRyYWN0S2V5TWFwcGluZ3NcIikuaXNGdW5jdGlvbigpLmlzT3B0aW9uYWwoKS53aXRoRGVmYXVsdChleHRyYWN0S2V5TWFwcGluZ3NEZWZhdWx0KVxyXG4gICAgICAgIC53aGVyZVBhcmFtKFwiZXh0cmFjdERlbGV0ZWRLZXlzXCIpLmlzRnVuY3Rpb24oKS5pc09wdGlvbmFsKCkud2l0aERlZmF1bHQoZXh0cmFjdERlbGV0ZWRLZXlzRGVmYXVsdClcclxuICAgICAgICAud2hlcmVQYXJhbShcInZpc2l0Tm9kZVwiKS5pc0Z1bmN0aW9uKClcclxuICAgICAgICAuYXBwbHlBbGwodGhpcyk7XHJcbiAgICBjb25maWcuX3N0b3JlT2JqZWN0KHRoaXMsIFwiSnNvblJlc3VsdHNBZGFwdGVyXCIsIHRoaXMubmFtZSk7XHJcbiAgfVxyXG5cclxufVxyXG5Kc29uUmVzdWx0c0FkYXB0ZXIucHJvdG90eXBlLl8kdHlwZU5hbWUgPSBcIkpzb25SZXN1bHRzQWRhcHRlclwiO1xyXG5cclxuZnVuY3Rpb24gZXh0cmFjdFJlc3VsdHNEZWZhdWx0KGRhdGE6IGFueSkge1xyXG4gIHJldHVybiBkYXRhLnJlc3VsdHM7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGV4dHJhY3RTYXZlUmVzdWx0c0RlZmF1bHQoZGF0YTogYW55KSB7XHJcbiAgcmV0dXJuIGRhdGEuZW50aXRpZXMgfHwgZGF0YS5FbnRpdGllcyB8fCBbXTtcclxufVxyXG5cclxuZnVuY3Rpb24gZXh0cmFjdEtleU1hcHBpbmdzRGVmYXVsdChkYXRhOiBhbnkpIHtcclxuICByZXR1cm4gZGF0YS5rZXlNYXBwaW5ncyB8fCBkYXRhLktleU1hcHBpbmdzIHx8IFtdO1xyXG59XHJcblxyXG5mdW5jdGlvbiBleHRyYWN0RGVsZXRlZEtleXNEZWZhdWx0KGRhdGE6IGFueSkge1xyXG4gIHJldHVybiBkYXRhLmRlbGV0ZWRLZXlzIHx8IGRhdGEuRGVsZXRlZEtleXMgfHwgW107XHJcbn1cclxuXHJcbiJdfQ==
|
|
@@ -113,4 +113,4 @@ export class EntityKey {
|
|
|
113
113
|
/** @hidden @internal */
|
|
114
114
|
EntityKey.ENTITY_KEY_DELIMITER = ":::";
|
|
115
115
|
EntityKey.prototype._$typeName = "EntityKey";
|
|
116
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWtleS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2JyZWV6ZS1jbGllbnQvIiwic291cmNlcyI6WyJzcmMvZW50aXR5LWtleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzlCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsVUFBVSxFQUFpQixNQUFNLG1CQUFtQixDQUFDO0FBQzlELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFdkM7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxTQUFTO0lBZXBCOzs7Ozs7Ozs7Ozs7Ozs7OztNQWlCRTtJQUNGLFlBQVksVUFBc0IsRUFBRSxTQUFjO1FBQ2hELFdBQVcsQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3ZFLElBQUksUUFBUSxHQUFHLFVBQVUsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQy9DLElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRTtnQkFDM0MsT0FBTyxFQUFFLENBQUMsVUFBVSxLQUFLLEtBQUssQ0FBQztZQUNqQyxDQUFDLENBQUMsQ0FBQztTQUNKO1FBRUQsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDN0IsU0FBUyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDekI7UUFFRCxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixVQUFVLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDO1lBQzlDLHdDQUF3QztZQUN4QyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLElBQUksRUFBRTtnQkFDakMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNyRztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUM7UUFDeEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxTQUFTLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRTFELENBQUM7SUFHRCxNQUFNO1FBQ0osT0FBTztZQUNMLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUk7WUFDaEMsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1NBQ3BCLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFTLEVBQUUsYUFBNEI7UUFDckQsSUFBSSxFQUFFLEdBQUcsYUFBYSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFlLENBQUM7UUFDL0UsT0FBTyxJQUFJLFNBQVMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7O09BWUc7SUFDSCxNQUFNLENBQUMsU0FBb0I7UUFDekIsSUFBSSxDQUFDLENBQUMsU0FBUyxZQUFZLFNBQVMsQ0FBQztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ3BELE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxLQUFLLFNBQVMsQ0FBQyxVQUFVLENBQUM7WUFDL0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQ7O01BRUU7SUFDRixRQUFRLENBQUMsYUFBMEI7UUFDakMsT0FBTyxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFFLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7T0FXRztJQUNILE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBYSxFQUFFLEVBQWE7UUFDeEMsSUFBSSxDQUFDLENBQUMsRUFBRSxZQUFZLFNBQVMsQ0FBQztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQzdDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRUQsd0JBQXdCO0lBQ3hCLHdEQUF3RDtJQUN4RCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxhQUFhO0lBQ2Isb0RBQW9EO0lBQ3BELE1BQU0sQ0FBQyxlQUFlLENBQUMsU0FBZ0I7UUFDckMsT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ3hELENBQUM7O0FBMUhELHdCQUF3QjtBQUNqQiw4QkFBb0IsR0FBRyxLQUFLLENBQUM7QUE0SHRDLFNBQVMsQ0FBQyxTQUFTLENBQUMsVUFBVSxHQUFHLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvcmUgfSBmcm9tICcuL2NvcmUnO1xyXG5pbXBvcnQgeyBhc3NlcnRQYXJhbSB9IGZyb20gJy4vYXNzZXJ0LXBhcmFtJztcclxuaW1wb3J0IHsgRW50aXR5VHlwZSwgTWV0YWRhdGFTdG9yZSB9IGZyb20gJy4vZW50aXR5LW1ldGFkYXRhJztcclxuaW1wb3J0IHsgRGF0YVR5cGUgfSBmcm9tICcuL2RhdGEtdHlwZSc7XHJcblxyXG4vKipcclxuQW4gRW50aXR5S2V5IGlzIGFuIG9iamVjdCB0aGF0IHJlcHJlc2VudHMgdGhlIHVuaXF1ZSBpZGVudGl0eSBvZiBhbiBlbnRpdHkuICBFbnRpdHlLZXkncyBhcmUgaW1tdXRhYmxlLlxyXG5cclxuXHJcbioqL1xyXG5leHBvcnQgY2xhc3MgRW50aXR5S2V5IHtcclxuICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cclxuICBfJHR5cGVOYW1lOiBzdHJpbmc7IC8vIGFjdHVhbGx5IHBsYWNlZCBvbiBwcm90b3R5cGVcclxuICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cclxuICBzdGF0aWMgRU5USVRZX0tFWV9ERUxJTUlURVIgPSBcIjo6OlwiO1xyXG4gIC8qKiAgVGhlICdFbnRpdHlUeXBlJyB0aGF0IHRoaXMgaXMgYSBrZXkgZm9yLiBfX1JlYWQgT25seV9fICovXHJcbiAgZW50aXR5VHlwZTogRW50aXR5VHlwZTtcclxuICAvKiogIEFuIGFycmF5IG9mIHRoZSB2YWx1ZXMgZm9yIHRoaXMga2V5LiBUaGlzIHdpbGwgdXN1YWxseSBvbmx5IGhhdmUgYSBzaW5nbGUgZWxlbWVudCwgXHJcbiAgdW5sZXNzIHRoZSBlbnRpdHkgdHlwZSBoYXMgYSBtdWx0aXBhcnQga2V5LiBfX1JlYWQgT25seV9fICovXHJcbiAgdmFsdWVzOiBhbnlbXTtcclxuICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cclxuICBfa2V5SW5Hcm91cDogc3RyaW5nO1xyXG4gIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xyXG4gIF9zdWJ0eXBlczogRW50aXR5VHlwZVtdO1xyXG5cclxuICAvKipcclxuICBDb25zdHJ1Y3RzIGEgbmV3IEVudGl0eUtleS4gIEVhY2ggZW50aXR5IHdpdGhpbiBhbiBFbnRpdHlNYW5hZ2VyIHdpbGwgaGF2ZSBhIHVuaXF1ZSBFbnRpdHlLZXkuXHJcbiAgPiAgICAgLy8gYXNzdW1lIGVtMSBpcyBhbiBFbnRpdHlNYW5hZ2VyIGNvbnRhaW5pbmcgYSBudW1iZXIgb2YgZXhpc3RpbmcgZW50aXRpZXMuXHJcbiAgPiAgICAgdmFyIGVtcFR5cGUgPSBlbTEubWV0YWRhdGFTdG9yZS5nZXRFbnRpdHlUeXBlKFwiRW1wbG95ZWVcIik7XHJcbiAgPiAgICAgdmFyIGVudGl0eUtleSA9IG5ldyBFbnRpdHlLZXkoZW1wVHlwZSwgMSk7XHJcblxyXG4gIEVudGl0eUtleSdzIG1heSBhbHNvIGJlIGZvdW5kIGJ5IGNhbGxpbmcgRW50aXR5QXNwZWN0LmdldEtleSgpXHJcbiAgPiAgICAgLy8gYXNzdW1lIGVtcGxveWVlMSBpcyBhbiBleGlzdGluZyBFbXBsb3llZSBlbnRpdHlcclxuICA+ICAgICB2YXIgZW1wS2V5ID0gZW1wbG95ZWUxLmVudGl0eUFzcGVjdC5nZXRLZXkoKTtcclxuXHJcbiAgTXVsdGlwYXJ0IGtleXMgYXJlIGNyZWF0ZWQgYnkgcGFzc2luZyBhbiBhcnJheSBhcyB0aGUgJ2tleVZhbHVlcycgcGFyYW1ldGVyXHJcbiAgPiAgICAgdmFyIGVtcFRlcnJUeXBlID0gZW0xLm1ldGFkYXRhU3RvcmUuZ2V0RW50aXR5VHlwZShcIkVtcGxveWVlVGVycml0b3J5XCIpO1xyXG4gID4gICAgIHZhciBlbXBUZXJyS2V5ID0gbmV3IEVudGl0eUtleShlbXBUZXJyVHlwZSwgWyAxLCA3N10pO1xyXG4gID4gICAgIC8vIFRoZSBvcmRlciBvZiB0aGUgcHJvcGVydGllcyBpbiB0aGUgJ2tleVZhbHVlcycgYXJyYXkgbXVzdCBiZSB0aGUgc2FtZSBhcyB0aGF0XHJcbiAgPiAgICAgLy8gcmV0dXJuZWQgYnkgZW1wVGVyclR5cGUua2V5UHJvcGVydGllc1xyXG4gIEBwYXJhbSBlbnRpdHlUeXBlIC0gVGhlIFtbRW50aXR5VHlwZV1dIG9mIHRoZSBlbnRpdHkuXHJcbiAgQHBhcmFtIGtleVZhbHVlcyAtIEEgc2luZ2xlIHZhbHVlIG9yIGFuIGFycmF5IG9mIHZhbHVlcy4gXHJcbiAgKi9cclxuICBjb25zdHJ1Y3RvcihlbnRpdHlUeXBlOiBFbnRpdHlUeXBlLCBrZXlWYWx1ZXM6IGFueSkge1xyXG4gICAgYXNzZXJ0UGFyYW0oZW50aXR5VHlwZSwgXCJlbnRpdHlUeXBlXCIpLmlzSW5zdGFuY2VPZihFbnRpdHlUeXBlKS5jaGVjaygpO1xyXG4gICAgbGV0IHN1YnR5cGVzID0gZW50aXR5VHlwZS5nZXRTZWxmQW5kU3VidHlwZXMoKTtcclxuICAgIGlmIChzdWJ0eXBlcy5sZW5ndGggPiAxKSB7XHJcbiAgICAgIHRoaXMuX3N1YnR5cGVzID0gc3VidHlwZXMuZmlsdGVyKGZ1bmN0aW9uIChzdCkge1xyXG4gICAgICAgIHJldHVybiBzdC5pc0Fic3RyYWN0ID09PSBmYWxzZTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGtleVZhbHVlcykpIHtcclxuICAgICAga2V5VmFsdWVzID0gW2tleVZhbHVlc107XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5lbnRpdHlUeXBlID0gZW50aXR5VHlwZTtcclxuICAgIGVudGl0eVR5cGUua2V5UHJvcGVydGllcy5mb3JFYWNoKGZ1bmN0aW9uIChrcCwgaSkge1xyXG4gICAgICAvLyBpbnN1cmUgdGhhdCBndWlkIGtleXMgYXJlIGNvbXBhcmFibGUuXHJcbiAgICAgIGlmIChrcC5kYXRhVHlwZSA9PT0gRGF0YVR5cGUuR3VpZCkge1xyXG4gICAgICAgIGtleVZhbHVlc1tpXSA9IGtleVZhbHVlc1tpXSAmJiBrZXlWYWx1ZXNbaV0udG9Mb3dlckNhc2UgPyBrZXlWYWx1ZXNbaV0udG9Mb3dlckNhc2UoKSA6IGtleVZhbHVlc1tpXTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy52YWx1ZXMgPSBrZXlWYWx1ZXM7XHJcbiAgICB0aGlzLl9rZXlJbkdyb3VwID0gRW50aXR5S2V5LmNyZWF0ZUtleVN0cmluZyhrZXlWYWx1ZXMpO1xyXG5cclxuICB9XHJcblxyXG5cclxuICB0b0pTT04oKSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBlbnRpdHlUeXBlOiB0aGlzLmVudGl0eVR5cGUubmFtZSxcclxuICAgICAgdmFsdWVzOiB0aGlzLnZhbHVlc1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uOiBhbnksIG1ldGFkYXRhU3RvcmU6IE1ldGFkYXRhU3RvcmUpIHtcclxuICAgIGxldCBldCA9IG1ldGFkYXRhU3RvcmUuX2dldFN0cnVjdHVyYWxUeXBlKGpzb24uZW50aXR5VHlwZSwgdHJ1ZSkgYXMgRW50aXR5VHlwZTtcclxuICAgIHJldHVybiBuZXcgRW50aXR5S2V5KGV0LCBqc29uLnZhbHVlcyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICBVc2VkIHRvIGNvbXBhcmUgRW50aXR5S2V5cyBhcmUgZGV0ZXJtaW5lIGlmIHRoZXkgcmVmZXIgdG8gdGhlIHNhbWUgRW50aXR5LlxyXG4gIFRoZXJlIGlzIGFsc28gYW4gc3RhdGljIHZlcnNpb24gb2YgJ2VxdWFscycgd2l0aCB0aGUgc2FtZSBmdW5jdGlvbmFsaXR5LlxyXG4gIFxyXG4gID4gICAgICAvLyBhc3N1bWUgZW0xIGlzIGFuIEVudGl0eU1hbmFnZXIgY29udGFpbmluZyBhIG51bWJlciBvZiBleGlzdGluZyBlbnRpdGllcy5cclxuICA+ICAgICAgdmFyIGVtcFR5cGUgPSBlbTEubWV0YWRhdGFTdG9yZS5nZXRFbnRpdHlUeXBlKFwiRW1wbG95ZWVcIik7XHJcbiAgPiAgICAgIHZhciBlbXBLZXkxID0gbmV3IEVudGl0eUtleShlbXBUeXBlLCAxKTtcclxuICA+ICAgICAgLy8gYXNzdW1lIGVtcGxveWVlMSBpcyBhbiBleGlzdGluZyBFbXBsb3llZSBlbnRpdHlcclxuICA+ICAgICAgdmFyIGVtcEtleTIgPSBlbXBsb3llZTEuZW50aXR5QXNwZWN0LmdldEtleSgpO1xyXG4gID4gICAgICBpZiAoZW1wS2V5MS5lcXVhbHMoZW1wS2V5MikpIHtcclxuICA+ICAgICAgICAgIC8vIGRvIHNvbWV0aGluZyAgLi4uXHJcbiAgPiAgICAgIH1cclxuICAqKi9cclxuICBlcXVhbHMoZW50aXR5S2V5OiBFbnRpdHlLZXkpOiBib29sZWFuIHtcclxuICAgIGlmICghKGVudGl0eUtleSBpbnN0YW5jZW9mIEVudGl0eUtleSkpIHJldHVybiBmYWxzZTtcclxuICAgIHJldHVybiAodGhpcy5lbnRpdHlUeXBlID09PSBlbnRpdHlLZXkuZW50aXR5VHlwZSkgJiZcclxuICAgICAgY29yZS5hcnJheUVxdWFscyh0aGlzLnZhbHVlcywgZW50aXR5S2V5LnZhbHVlcyk7XHJcbiAgfVxyXG5cclxuICAvKlxyXG4gIFJldHVybnMgYSBodW1hbiByZWFkYWJsZSByZXByZXNlbnRhdGlvbiBvZiB0aGlzIEVudGl0eUtleS5cclxuICAqL1xyXG4gIHRvU3RyaW5nKGFsdEVudGl0eVR5cGU/OiBFbnRpdHlUeXBlKSB7XHJcbiAgICByZXR1cm4gKGFsdEVudGl0eVR5cGUgfHwgdGhpcy5lbnRpdHlUeXBlKS5uYW1lICsgJy0nICsgdGhpcy5fa2V5SW5Hcm91cDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gIFVzZWQgdG8gY29tcGFyZSBFbnRpdHlLZXlzIGFyZSBkZXRlcm1pbmUgaWYgdGhleSByZWZlciB0byB0aGUgc2FtZSBFbnRpdHkuXHJcbiAgVGhlcmUgaXMgYWxzbyBhbiBpbnN0YW5jZSB2ZXJzaW9uIG9mICdlcXVhbHMnIHdpdGggdGhlIHNhbWUgZnVuY3Rpb25hbGl0eS5cclxuICA+ICAgICAgLy8gYXNzdW1lIGVtMSBpcyBhbiBFbnRpdHlNYW5hZ2VyIGNvbnRhaW5pbmcgYSBudW1iZXIgb2YgZXhpc3RpbmcgZW50aXRpZXMuXHJcbiAgPiAgICAgIHZhciBlbXBUeXBlID0gZW0xLm1ldGFkYXRhU3RvcmUuZ2V0RW50aXR5VHlwZShcIkVtcGxveWVlXCIpO1xyXG4gID4gICAgICB2YXIgZW1wS2V5MSA9IG5ldyBFbnRpdHlLZXkoZW1wVHlwZSwgMSk7XHJcbiAgPiAgICAgIC8vIGFzc3VtZSBlbXBsb3llZTEgaXMgYW4gZXhpc3RpbmcgRW1wbG95ZWUgZW50aXR5XHJcbiAgPiAgICAgIHZhciBlbXBLZXkyID0gZW1wbG95ZWUxLmVudGl0eUFzcGVjdC5nZXRLZXkoKTtcclxuICA+ICAgICAgaWYgKEVudGl0eUtleS5lcXVhbHMoZW1wS2V5MSwgZW1wS2V5MikpIHtcclxuICA+ICAgICAgICAgIC8vIGRvIHNvbWV0aGluZyAgLi4uXHJcbiAgPiAgICAgIH1cclxuICAqKi9cclxuICBzdGF0aWMgZXF1YWxzKGsxOiBFbnRpdHlLZXksIGsyOiBFbnRpdHlLZXkpIHtcclxuICAgIGlmICghKGsxIGluc3RhbmNlb2YgRW50aXR5S2V5KSkgcmV0dXJuIGZhbHNlO1xyXG4gICAgcmV0dXJuIGsxLmVxdWFscyhrMik7XHJcbiAgfVxyXG5cclxuICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cclxuICAvLyBUT0RPOiB3ZSBtYXkgd2FudCB0byBjb21wYXJlIHRvIGRlZmF1bHQgdmFsdWVzIGxhdGVyLlxyXG4gIF9pc0VtcHR5KCkge1xyXG4gICAgcmV0dXJuIHRoaXMudmFsdWVzLmpvaW4oXCJcIikubGVuZ3RoID09PSAwO1xyXG4gIH1cclxuXHJcbiAgLyoqIGhpZGRlbiAqL1xyXG4gIC8vIFRPRE86IHRoaW5rIGFib3V0IGdpdmluZyBfIHByZWZpeCBvciBkb2N1bWVudGluZy5cclxuICBzdGF0aWMgY3JlYXRlS2V5U3RyaW5nKGtleVZhbHVlczogYW55W10pIHtcclxuICAgIHJldHVybiBrZXlWYWx1ZXMuam9pbihFbnRpdHlLZXkuRU5USVRZX0tFWV9ERUxJTUlURVIpO1xyXG4gIH1cclxuXHJcbn1cclxuRW50aXR5S2V5LnByb3RvdHlwZS5fJHR5cGVOYW1lID0gXCJFbnRpdHlLZXlcIjtcclxuXHJcblxyXG4iXX0=
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWtleS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2JyZWV6ZS1jbGllbnQvIiwic291cmNlcyI6WyJzcmMvZW50aXR5LWtleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzlCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsVUFBVSxFQUFpQixNQUFNLG1CQUFtQixDQUFDO0FBQzlELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFdkM7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxTQUFTO0lBZXBCOzs7Ozs7Ozs7Ozs7Ozs7OztNQWlCRTtJQUNGLFlBQVksVUFBc0IsRUFBRSxTQUFjO1FBQ2hELFdBQVcsQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3ZFLElBQUksUUFBUSxHQUFHLFVBQVUsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQy9DLElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRTtnQkFDM0MsT0FBTyxFQUFFLENBQUMsVUFBVSxLQUFLLEtBQUssQ0FBQztZQUNqQyxDQUFDLENBQUMsQ0FBQztTQUNKO1FBRUQsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDN0IsU0FBUyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDekI7UUFFRCxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixVQUFVLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDO1lBQzlDLHdDQUF3QztZQUN4QyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLElBQUksRUFBRTtnQkFDakMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNyRztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUM7UUFDeEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxTQUFTLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRTFELENBQUM7SUFHRCxNQUFNO1FBQ0osT0FBTztZQUNMLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUk7WUFDaEMsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1NBQ3BCLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFTLEVBQUUsYUFBNEI7UUFDckQsSUFBSSxFQUFFLEdBQUcsYUFBYSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFlLENBQUM7UUFDL0UsT0FBTyxJQUFJLFNBQVMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7O09BWUc7SUFDSCxNQUFNLENBQUMsU0FBb0I7UUFDekIsSUFBSSxDQUFDLENBQUMsU0FBUyxZQUFZLFNBQVMsQ0FBQztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ3BELE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxLQUFLLFNBQVMsQ0FBQyxVQUFVLENBQUM7WUFDL0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQ7O01BRUU7SUFDRixRQUFRLENBQUMsYUFBMEI7UUFDakMsT0FBTyxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFFLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7T0FXRztJQUNILE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBYSxFQUFFLEVBQWE7UUFDeEMsSUFBSSxDQUFDLENBQUMsRUFBRSxZQUFZLFNBQVMsQ0FBQztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQzdDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRUQsd0JBQXdCO0lBQ3hCLHdEQUF3RDtJQUN4RCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxhQUFhO0lBQ2Isb0RBQW9EO0lBQ3BELE1BQU0sQ0FBQyxlQUFlLENBQUMsU0FBZ0I7UUFDckMsT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ3hELENBQUM7O0FBMUhELHdCQUF3QjtBQUNqQiw4QkFBb0IsR0FBRyxLQUFLLENBQUM7QUE0SHRDLFNBQVMsQ0FBQyxTQUFTLENBQUMsVUFBVSxHQUFHLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvcmUgfSBmcm9tICcuL2NvcmUnO1xyXG5pbXBvcnQgeyBhc3NlcnRQYXJhbSB9IGZyb20gJy4vYXNzZXJ0LXBhcmFtJztcclxuaW1wb3J0IHsgRW50aXR5VHlwZSwgTWV0YWRhdGFTdG9yZSB9IGZyb20gJy4vZW50aXR5LW1ldGFkYXRhJztcclxuaW1wb3J0IHsgRGF0YVR5cGUgfSBmcm9tICcuL2RhdGEtdHlwZSc7XHJcblxyXG4vKipcclxuQW4gRW50aXR5S2V5IGlzIGFuIG9iamVjdCB0aGF0IHJlcHJlc2VudHMgdGhlIHVuaXF1ZSBpZGVudGl0eSBvZiBhbiBlbnRpdHkuICBFbnRpdHlLZXkncyBhcmUgaW1tdXRhYmxlLlxyXG5cclxuXHJcbioqL1xyXG5leHBvcnQgY2xhc3MgRW50aXR5S2V5IHtcclxuICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cclxuICBkZWNsYXJlIF8kdHlwZU5hbWU6IHN0cmluZzsgLy8gYWN0dWFsbHkgcGxhY2VkIG9uIHByb3RvdHlwZVxyXG4gIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xyXG4gIHN0YXRpYyBFTlRJVFlfS0VZX0RFTElNSVRFUiA9IFwiOjo6XCI7XHJcbiAgLyoqICBUaGUgJ0VudGl0eVR5cGUnIHRoYXQgdGhpcyBpcyBhIGtleSBmb3IuIF9fUmVhZCBPbmx5X18gKi9cclxuICBlbnRpdHlUeXBlOiBFbnRpdHlUeXBlO1xyXG4gIC8qKiAgQW4gYXJyYXkgb2YgdGhlIHZhbHVlcyBmb3IgdGhpcyBrZXkuIFRoaXMgd2lsbCB1c3VhbGx5IG9ubHkgaGF2ZSBhIHNpbmdsZSBlbGVtZW50LCBcclxuICB1bmxlc3MgdGhlIGVudGl0eSB0eXBlIGhhcyBhIG11bHRpcGFydCBrZXkuIF9fUmVhZCBPbmx5X18gKi9cclxuICB2YWx1ZXM6IGFueVtdO1xyXG4gIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xyXG4gIF9rZXlJbkdyb3VwOiBzdHJpbmc7XHJcbiAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXHJcbiAgX3N1YnR5cGVzOiBFbnRpdHlUeXBlW107XHJcblxyXG4gIC8qKlxyXG4gIENvbnN0cnVjdHMgYSBuZXcgRW50aXR5S2V5LiAgRWFjaCBlbnRpdHkgd2l0aGluIGFuIEVudGl0eU1hbmFnZXIgd2lsbCBoYXZlIGEgdW5pcXVlIEVudGl0eUtleS5cclxuICA+ICAgICAvLyBhc3N1bWUgZW0xIGlzIGFuIEVudGl0eU1hbmFnZXIgY29udGFpbmluZyBhIG51bWJlciBvZiBleGlzdGluZyBlbnRpdGllcy5cclxuICA+ICAgICB2YXIgZW1wVHlwZSA9IGVtMS5tZXRhZGF0YVN0b3JlLmdldEVudGl0eVR5cGUoXCJFbXBsb3llZVwiKTtcclxuICA+ICAgICB2YXIgZW50aXR5S2V5ID0gbmV3IEVudGl0eUtleShlbXBUeXBlLCAxKTtcclxuXHJcbiAgRW50aXR5S2V5J3MgbWF5IGFsc28gYmUgZm91bmQgYnkgY2FsbGluZyBFbnRpdHlBc3BlY3QuZ2V0S2V5KClcclxuICA+ICAgICAvLyBhc3N1bWUgZW1wbG95ZWUxIGlzIGFuIGV4aXN0aW5nIEVtcGxveWVlIGVudGl0eVxyXG4gID4gICAgIHZhciBlbXBLZXkgPSBlbXBsb3llZTEuZW50aXR5QXNwZWN0LmdldEtleSgpO1xyXG5cclxuICBNdWx0aXBhcnQga2V5cyBhcmUgY3JlYXRlZCBieSBwYXNzaW5nIGFuIGFycmF5IGFzIHRoZSAna2V5VmFsdWVzJyBwYXJhbWV0ZXJcclxuICA+ICAgICB2YXIgZW1wVGVyclR5cGUgPSBlbTEubWV0YWRhdGFTdG9yZS5nZXRFbnRpdHlUeXBlKFwiRW1wbG95ZWVUZXJyaXRvcnlcIik7XHJcbiAgPiAgICAgdmFyIGVtcFRlcnJLZXkgPSBuZXcgRW50aXR5S2V5KGVtcFRlcnJUeXBlLCBbIDEsIDc3XSk7XHJcbiAgPiAgICAgLy8gVGhlIG9yZGVyIG9mIHRoZSBwcm9wZXJ0aWVzIGluIHRoZSAna2V5VmFsdWVzJyBhcnJheSBtdXN0IGJlIHRoZSBzYW1lIGFzIHRoYXRcclxuICA+ICAgICAvLyByZXR1cm5lZCBieSBlbXBUZXJyVHlwZS5rZXlQcm9wZXJ0aWVzXHJcbiAgQHBhcmFtIGVudGl0eVR5cGUgLSBUaGUgW1tFbnRpdHlUeXBlXV0gb2YgdGhlIGVudGl0eS5cclxuICBAcGFyYW0ga2V5VmFsdWVzIC0gQSBzaW5nbGUgdmFsdWUgb3IgYW4gYXJyYXkgb2YgdmFsdWVzLiBcclxuICAqL1xyXG4gIGNvbnN0cnVjdG9yKGVudGl0eVR5cGU6IEVudGl0eVR5cGUsIGtleVZhbHVlczogYW55KSB7XHJcbiAgICBhc3NlcnRQYXJhbShlbnRpdHlUeXBlLCBcImVudGl0eVR5cGVcIikuaXNJbnN0YW5jZU9mKEVudGl0eVR5cGUpLmNoZWNrKCk7XHJcbiAgICBsZXQgc3VidHlwZXMgPSBlbnRpdHlUeXBlLmdldFNlbGZBbmRTdWJ0eXBlcygpO1xyXG4gICAgaWYgKHN1YnR5cGVzLmxlbmd0aCA+IDEpIHtcclxuICAgICAgdGhpcy5fc3VidHlwZXMgPSBzdWJ0eXBlcy5maWx0ZXIoZnVuY3Rpb24gKHN0KSB7XHJcbiAgICAgICAgcmV0dXJuIHN0LmlzQWJzdHJhY3QgPT09IGZhbHNlO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoa2V5VmFsdWVzKSkge1xyXG4gICAgICBrZXlWYWx1ZXMgPSBba2V5VmFsdWVzXTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmVudGl0eVR5cGUgPSBlbnRpdHlUeXBlO1xyXG4gICAgZW50aXR5VHlwZS5rZXlQcm9wZXJ0aWVzLmZvckVhY2goZnVuY3Rpb24gKGtwLCBpKSB7XHJcbiAgICAgIC8vIGluc3VyZSB0aGF0IGd1aWQga2V5cyBhcmUgY29tcGFyYWJsZS5cclxuICAgICAgaWYgKGtwLmRhdGFUeXBlID09PSBEYXRhVHlwZS5HdWlkKSB7XHJcbiAgICAgICAga2V5VmFsdWVzW2ldID0ga2V5VmFsdWVzW2ldICYmIGtleVZhbHVlc1tpXS50b0xvd2VyQ2FzZSA/IGtleVZhbHVlc1tpXS50b0xvd2VyQ2FzZSgpIDoga2V5VmFsdWVzW2ldO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLnZhbHVlcyA9IGtleVZhbHVlcztcclxuICAgIHRoaXMuX2tleUluR3JvdXAgPSBFbnRpdHlLZXkuY3JlYXRlS2V5U3RyaW5nKGtleVZhbHVlcyk7XHJcblxyXG4gIH1cclxuXHJcblxyXG4gIHRvSlNPTigpIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGVudGl0eVR5cGU6IHRoaXMuZW50aXR5VHlwZS5uYW1lLFxyXG4gICAgICB2YWx1ZXM6IHRoaXMudmFsdWVzXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGZyb21KU09OKGpzb246IGFueSwgbWV0YWRhdGFTdG9yZTogTWV0YWRhdGFTdG9yZSkge1xyXG4gICAgbGV0IGV0ID0gbWV0YWRhdGFTdG9yZS5fZ2V0U3RydWN0dXJhbFR5cGUoanNvbi5lbnRpdHlUeXBlLCB0cnVlKSBhcyBFbnRpdHlUeXBlO1xyXG4gICAgcmV0dXJuIG5ldyBFbnRpdHlLZXkoZXQsIGpzb24udmFsdWVzKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gIFVzZWQgdG8gY29tcGFyZSBFbnRpdHlLZXlzIGFyZSBkZXRlcm1pbmUgaWYgdGhleSByZWZlciB0byB0aGUgc2FtZSBFbnRpdHkuXHJcbiAgVGhlcmUgaXMgYWxzbyBhbiBzdGF0aWMgdmVyc2lvbiBvZiAnZXF1YWxzJyB3aXRoIHRoZSBzYW1lIGZ1bmN0aW9uYWxpdHkuXHJcbiAgXHJcbiAgPiAgICAgIC8vIGFzc3VtZSBlbTEgaXMgYW4gRW50aXR5TWFuYWdlciBjb250YWluaW5nIGEgbnVtYmVyIG9mIGV4aXN0aW5nIGVudGl0aWVzLlxyXG4gID4gICAgICB2YXIgZW1wVHlwZSA9IGVtMS5tZXRhZGF0YVN0b3JlLmdldEVudGl0eVR5cGUoXCJFbXBsb3llZVwiKTtcclxuICA+ICAgICAgdmFyIGVtcEtleTEgPSBuZXcgRW50aXR5S2V5KGVtcFR5cGUsIDEpO1xyXG4gID4gICAgICAvLyBhc3N1bWUgZW1wbG95ZWUxIGlzIGFuIGV4aXN0aW5nIEVtcGxveWVlIGVudGl0eVxyXG4gID4gICAgICB2YXIgZW1wS2V5MiA9IGVtcGxveWVlMS5lbnRpdHlBc3BlY3QuZ2V0S2V5KCk7XHJcbiAgPiAgICAgIGlmIChlbXBLZXkxLmVxdWFscyhlbXBLZXkyKSkge1xyXG4gID4gICAgICAgICAgLy8gZG8gc29tZXRoaW5nICAuLi5cclxuICA+ICAgICAgfVxyXG4gICoqL1xyXG4gIGVxdWFscyhlbnRpdHlLZXk6IEVudGl0eUtleSk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCEoZW50aXR5S2V5IGluc3RhbmNlb2YgRW50aXR5S2V5KSkgcmV0dXJuIGZhbHNlO1xyXG4gICAgcmV0dXJuICh0aGlzLmVudGl0eVR5cGUgPT09IGVudGl0eUtleS5lbnRpdHlUeXBlKSAmJlxyXG4gICAgICBjb3JlLmFycmF5RXF1YWxzKHRoaXMudmFsdWVzLCBlbnRpdHlLZXkudmFsdWVzKTtcclxuICB9XHJcblxyXG4gIC8qXHJcbiAgUmV0dXJucyBhIGh1bWFuIHJlYWRhYmxlIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgRW50aXR5S2V5LlxyXG4gICovXHJcbiAgdG9TdHJpbmcoYWx0RW50aXR5VHlwZT86IEVudGl0eVR5cGUpIHtcclxuICAgIHJldHVybiAoYWx0RW50aXR5VHlwZSB8fCB0aGlzLmVudGl0eVR5cGUpLm5hbWUgKyAnLScgKyB0aGlzLl9rZXlJbkdyb3VwO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgVXNlZCB0byBjb21wYXJlIEVudGl0eUtleXMgYXJlIGRldGVybWluZSBpZiB0aGV5IHJlZmVyIHRvIHRoZSBzYW1lIEVudGl0eS5cclxuICBUaGVyZSBpcyBhbHNvIGFuIGluc3RhbmNlIHZlcnNpb24gb2YgJ2VxdWFscycgd2l0aCB0aGUgc2FtZSBmdW5jdGlvbmFsaXR5LlxyXG4gID4gICAgICAvLyBhc3N1bWUgZW0xIGlzIGFuIEVudGl0eU1hbmFnZXIgY29udGFpbmluZyBhIG51bWJlciBvZiBleGlzdGluZyBlbnRpdGllcy5cclxuICA+ICAgICAgdmFyIGVtcFR5cGUgPSBlbTEubWV0YWRhdGFTdG9yZS5nZXRFbnRpdHlUeXBlKFwiRW1wbG95ZWVcIik7XHJcbiAgPiAgICAgIHZhciBlbXBLZXkxID0gbmV3IEVudGl0eUtleShlbXBUeXBlLCAxKTtcclxuICA+ICAgICAgLy8gYXNzdW1lIGVtcGxveWVlMSBpcyBhbiBleGlzdGluZyBFbXBsb3llZSBlbnRpdHlcclxuICA+ICAgICAgdmFyIGVtcEtleTIgPSBlbXBsb3llZTEuZW50aXR5QXNwZWN0LmdldEtleSgpO1xyXG4gID4gICAgICBpZiAoRW50aXR5S2V5LmVxdWFscyhlbXBLZXkxLCBlbXBLZXkyKSkge1xyXG4gID4gICAgICAgICAgLy8gZG8gc29tZXRoaW5nICAuLi5cclxuICA+ICAgICAgfVxyXG4gICoqL1xyXG4gIHN0YXRpYyBlcXVhbHMoazE6IEVudGl0eUtleSwgazI6IEVudGl0eUtleSkge1xyXG4gICAgaWYgKCEoazEgaW5zdGFuY2VvZiBFbnRpdHlLZXkpKSByZXR1cm4gZmFsc2U7XHJcbiAgICByZXR1cm4gazEuZXF1YWxzKGsyKTtcclxuICB9XHJcblxyXG4gIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xyXG4gIC8vIFRPRE86IHdlIG1heSB3YW50IHRvIGNvbXBhcmUgdG8gZGVmYXVsdCB2YWx1ZXMgbGF0ZXIuXHJcbiAgX2lzRW1wdHkoKSB7XHJcbiAgICByZXR1cm4gdGhpcy52YWx1ZXMuam9pbihcIlwiKS5sZW5ndGggPT09IDA7XHJcbiAgfVxyXG5cclxuICAvKiogaGlkZGVuICovXHJcbiAgLy8gVE9ETzogdGhpbmsgYWJvdXQgZ2l2aW5nIF8gcHJlZml4IG9yIGRvY3VtZW50aW5nLlxyXG4gIHN0YXRpYyBjcmVhdGVLZXlTdHJpbmcoa2V5VmFsdWVzOiBhbnlbXSkge1xyXG4gICAgcmV0dXJuIGtleVZhbHVlcy5qb2luKEVudGl0eUtleS5FTlRJVFlfS0VZX0RFTElNSVRFUik7XHJcbiAgfVxyXG5cclxufVxyXG5FbnRpdHlLZXkucHJvdG90eXBlLl8kdHlwZU5hbWUgPSBcIkVudGl0eUtleVwiO1xyXG5cclxuXHJcbiJdfQ==
|