ng-miam 6.2.2 → 6.2.3
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/ng-miam.umd.js +428 -144
- package/bundles/ng-miam.umd.js.map +1 -1
- package/bundles/ng-miam.umd.min.js +2 -2
- package/bundles/ng-miam.umd.min.js.map +1 -1
- package/esm2015/lib/_components/list-input/list-input.component.js +3 -1
- package/esm2015/lib/_services/context.service.js +4 -1
- package/esm2015/lib/_services/ingredients.service.js +2 -11
- package/esm2015/lib/_services/interceptor.service.js +2 -2
- package/esm2015/lib/_types/builded/miam-interface.js +1 -1
- package/esm2015/lib/_web-components/catalog-recipe-card/catalog-recipe-card.component.js +101 -29
- package/esm2015/lib/_web-components/recipe-card/recipe-card.component.js +121 -49
- package/esm2015/lib/_web-components/recipe-details/recipe-details-infos/recipe-details-infos.component.js +131 -59
- package/fesm2015/ng-miam.js +356 -144
- package/fesm2015/ng-miam.js.map +1 -1
- package/lib/_types/builded/miam-interface.d.ts +4 -0
- package/package.json +1 -1
|
@@ -434,6 +434,8 @@ export class ListInputComponent {
|
|
|
434
434
|
this.orderHasChanged = new EventEmitter();
|
|
435
435
|
this.previousQuantities = [];
|
|
436
436
|
this.maxSelectionNumber = 5;
|
|
437
|
+
this.ingredientService.getReviewedNames();
|
|
438
|
+
this.ingredientService.getReviewedUnits();
|
|
437
439
|
}
|
|
438
440
|
delete(index) {
|
|
439
441
|
var _a;
|
|
@@ -773,4 +775,4 @@ ListInputComponent.ɵcmp = i0.ɵɵdefineComponent({ type: ListInputComponent, se
|
|
|
773
775
|
}], orderHasChanged: [{
|
|
774
776
|
type: Output
|
|
775
777
|
}] }); })();
|
|
776
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2J1aWxkcy9taWFtL25nLW1pYW0tc2RrL3Byb2plY3RzL25nLW1pYW0vc3JjLyIsInNvdXJjZXMiOlsibGliL19jb21wb25lbnRzL2xpc3QtaW5wdXQvbGlzdC1pbnB1dC5jb21wb25lbnQudHMiLCJsaWIvX2NvbXBvbmVudHMvbGlzdC1pbnB1dC9saXN0LWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEdBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0csT0FBTyxFQUFlLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7Ozs7SUNIakQsK0JBQXNFO0lBQXRFLGdCQUFzRTtJQUFXLGlCQUFNOzs7SUFDdkYsK0JBQXVFO0lBQXZFLGdCQUF1RTtJQUFNLGlCQUFNOzs7SUFZekUsMEJBQXlFOzs7SUFDekUsK0JBQ0U7SUFBQSxtQ0FBdUc7SUFDdkcsZ0NBQXlEO0lBQUEsWUFBb0Q7SUFBQSxpQkFBTztJQUN0SCxpQkFBTTs7Ozs7SUFGK0MsZUFBc0I7SUFBdEIsNENBQXNCO0lBQ2hCLGVBQW9EO0lBQXBELHNJQUFvRDs7OztJQVpySCw4QkFDRTtJQUFBLGlDQUNFO0lBQUEsaUNBQ0U7SUFBQSwrQkFDQTtJQUFBLG1DQUEySTtJQUMzSSx3Q0FDMEc7SUFEcEMs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VTtrQkFBbEIsS0FBSztZQUNHLElBQUk7a0JBQVosS0FBSztZQUNHLG1CQUFtQjtrQkFBM0IsS0FBSztZQUVJLFFBQVE7a0JBQWpCLE1BQU07WUFDRyxlQUFlO2tCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbix9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AsIG1vdmVJdGVtSW5BcnJheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgRm9ybUFycmF5LCBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSAnLi4vLi4vX3R5cGVzL2ljb24uZW51bSc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSW5ncmVkaWVudHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vX3NlcnZpY2VzJztcbmltcG9ydCB7IEluZ3JlZGllbnQgfSBmcm9tICcuLi8uLi9fbW9kZWxzL2luZ3JlZGllbnQnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZy1taWFtLWxpc3QtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vbGlzdC1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xpc3QtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgTGlzdElucHV0Q29tcG9uZW50IHtcbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnJztcbiAgLy8gVE9ETzogaW5wdXQgc3RyaW5nIGRvZXNuJ3Qgd29yayBhbnltb3JlIHdpdGggaTE4biwgdXNlIHRlbXBsYXRlIGFuZCBjaGVjayBpZiB0aGUgZmllbGQgaXMgc3RpbGwgbmVlZGVkXG4gIEBJbnB1dCgpIGluc3RydWN0aW9uczogc3RyaW5nO1xuICBASW5wdXQoKSBpbmdyZWRpZW50TW9kZSA9IGZhbHNlO1xuICBASW5wdXQoKSBpc1BlcnNvbmFsID0gZmFsc2U7XG4gIEBJbnB1dCgpIGxpc3Q6IEZvcm1BcnJheSA9IG5ldyBGb3JtQXJyYXkoW10pO1xuICBASW5wdXQoKSBpbmdyZWRpZW50c1BpY3R1cmVzOiB7IHZpc2libGU6IGJvb2xlYW4sIGVkaXRhYmxlOiBib29sZWFuIH0gPSB7IHZpc2libGU6IGZhbHNlLCBlZGl0YWJsZTogZmFsc2UgfTtcblxuICBAT3V0cHV0KCkgZGVsZXRlSWQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+O1xuICBAT3V0cHV0KCkgb3JkZXJIYXNDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8dm9pZD47XG5cbiAgaWNvbiA9IEljb247XG4gIGhpZGVFcnJvcnM6IGJvb2xlYW47XG4gIGZpbGxMaXN0SW5wdXQ6IEZvcm1Db250cm9sO1xuICBtb3Vzc2VEb3duT25CdXR0b246IGJvb2xlYW47XG4gIGJpZ0ltYWdlV2FybmluZyA9IGZhbHNlO1xuICBwcml2YXRlIHByZXZpb3VzUXVhbnRpdGllczogc3RyaW5nW107XG4gIHByaXZhdGUgcmVhZG9ubHkgbWF4U2VsZWN0aW9uTnVtYmVyOiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmdyZWRpZW50U2VydmljZTogSW5ncmVkaWVudHNTZXJ2aWNlLCBwcml2YXRlIGZiOiBGb3JtQnVpbGRlciwgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgdGhpcy5maWxsTGlzdElucHV0ID0gbmV3IEZvcm1Db250cm9sKCcnKTtcbiAgICB0aGlzLmRlbGV0ZUlkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIHRoaXMub3JkZXJIYXNDaGFuZ2VkICA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICB0aGlzLnByZXZpb3VzUXVhbnRpdGllcyA9IFtdO1xuICAgIHRoaXMubWF4U2VsZWN0aW9uTnVtYmVyID0gNTtcbiAgfVxuXG4gIGRlbGV0ZShpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubGlzdC5jb250cm9sc1tpbmRleF1bYGNvbnRyb2xzYF0uaWQ/LnZhbHVlKSB7XG4gICAgICB0aGlzLmRlbGV0ZUlkLmVtaXQodGhpcy5saXN0LmNvbnRyb2xzW2luZGV4XVtgY29udHJvbHNgXS5pZC52YWx1ZSk7XG4gICAgfVxuICAgIHRoaXMubGlzdC5yZW1vdmVBdChpbmRleCk7XG4gICAgdGhpcy5saXN0Lm1hcmtBc0RpcnR5KCk7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgc3VibWl0KCk6IHZvaWQge1xuICAgIGNvbnN0IHZhbHVlcyA9IHRoaXMuZmlsbExpc3RJbnB1dC52YWx1ZT8udHJpbUVuZCgpLnNwbGl0KCdcXG4nKTtcblxuICAgIGlmICh2YWx1ZXMgJiYgdmFsdWVzLmxlbmd0aCA+IDApIHtcbiAgICAgIGlmICh0aGlzLmluZ3JlZGllbnRNb2RlKSB7XG4gICAgICAgIHRoaXMuaW5ncmVkaWVudFNlcnZpY2UuZm9ybWF0SW5ncmVkaWVudHModmFsdWVzKS5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgoaW5ncmVkaWVudHM6IEluZ3JlZGllbnRbXSkgPT4ge1xuICAgICAgICAgIGluZ3JlZGllbnRzLmZvckVhY2goaW5nID0+IHtcbiAgICAgICAgICAgIGluZy5hdHRyaWJ1dGVzLnF1YW50aXR5ID0gcGFyc2VGbG9hdChpbmcuYXR0cmlidXRlcy5xdWFudGl0eSkudG9TdHJpbmcoKTtcbiAgICAgICAgICAgIHRoaXMubGlzdC5wdXNoKHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgICAgICAgICBpZDogbmV3IEZvcm1Db250cm9sKGluZy5pZCAhPT0gJy0xJyA/IGluZy5pZCA6IG51bGwpLFxuICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiB0aGlzLmZiLmdyb3VwKHtcbiAgICAgICAgICAgICAgICBxdWFudGl0eTogbmV3IEZvcm1Db250cm9sKGluZy5hdHRyaWJ1dGVzLnF1YW50aXR5LCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgICAgICAgICAgICB1bml0OiBuZXcgRm9ybUNvbnRyb2woaW5nLmF0dHJpYnV0ZXMudW5pdCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICAgICAgICAgICAgbmFtZTogbmV3IEZvcm1Db250cm9sKGluZy5hdHRyaWJ1dGVzLm5hbWUsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgICAgICAgICAgIC8vIGltcG9ydGFuY2U6IG5ldyBGb3JtQ29udHJvbChpbmcuYXR0cmlidXRlcy5pbXBvcnRhbmNlLFxuICAgICAgICAgICAgICAgIC8vICAgdGhpcy5pc1BlcnNvbmFsID8gVmFsaWRhdG9ycy5udWxsVmFsaWRhdG9yIDogVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICAgICAgICAgICAgLy8gTm90IG1hbmRhdG9yeSBmb3IgdGhlIG1vbWVudCwgZGVjb21tZW50IGFib3ZlIGlmIG1hbmRhdG9yeSBsYXRlclxuICAgICAgICAgICAgICAgIGltcG9ydGFuY2U6IG5ldyBGb3JtQ29udHJvbChpbmcuYXR0cmlidXRlcy5pbXBvcnRhbmNlLCBWYWxpZGF0b3JzLm51bGxWYWxpZGF0b3IpLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgdGhpcy5wcmV2aW91c1F1YW50aXRpZXMucHVzaChpbmcuYXR0cmlidXRlcy5xdWFudGl0eSk7XG4gICAgICAgICAgICB0aGlzLmxpc3QubWFya0FzRGlydHkoKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YWx1ZXMuZm9yRWFjaCgoZWxlbWVudDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgaWYgKGVsZW1lbnQudHJpbSgpKSB7XG4gICAgICAgICAgICB0aGlzLmxpc3QucHVzaCh0aGlzLmZiLmdyb3VwKHtcbiAgICAgICAgICAgICAgYXR0cmlidXRlczogdGhpcy5mYi5ncm91cCh7XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG5ldyBGb3JtQ29udHJvbChlbGVtZW50KVxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICB0aGlzLmxpc3QubWFya0FzRGlydHkoKTtcbiAgICB9XG5cbiAgICB0aGlzLmZpbGxMaXN0SW5wdXQucmVzZXQoKTtcbiAgICB0aGlzLm1vdXNzZURvd25PbkJ1dHRvbiA9IGZhbHNlO1xuICB9XG5cbiAgY2hlY2tSb3coaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICghdGhpcy5saXN0LmNvbnRyb2xzW2luZGV4XS5nZXQoJ2F0dHJpYnV0ZXMnKS5nZXQoJ2Rlc2NyaXB0aW9uJykudmFsdWUgfHwgIXRoaXMubGlzdC5jb250cm9sc1tpbmRleF0uZ2V0KCdhdHRyaWJ1dGVzJykuZ2V0KCdkZXNjcmlwdGlvbicpLnZhbHVlLnRyaW0oKSkge1xuICAgICAgdGhpcy5kZWxldGUoaW5kZXgpO1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZVF1YW50aXR5VmFsdWUoZXZlbnQsIGluZGV4KSB7XG4gICAgaWYgKE51bWJlci5pc05hTigrZXZlbnQpKXtcbiAgICAgIHRoaXMubGlzdC5jb250cm9sc1tpbmRleF1bJ2NvbnRyb2xzJ11bJ2F0dHJpYnV0ZXMnXVsnY29udHJvbHMnXVsncXVhbnRpdHknXS52YWx1ZSA9IHRoaXMucHJldmlvdXNRdWFudGl0aWVzW2luZGV4XTtcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTsgLy8gTmVjZXNzYXJ5IHRvIHVwZGF0ZSB0aGUgdmlldyB3aXRoIHRoZSBwcmV2aW91cyB2YWx1ZVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHRoaXMucHJldmlvdXNRdWFudGl0aWVzW2luZGV4XSA9IGV2ZW50OyAvLyBObyB1cGRhdGUgb2YgdGhlIHZpZXcgc28gbm8gY2RyLmRldGVjdENoYW5nZXMoKVxuICAgIH1cbiAgfVxuXG4gIGRyYWcoKSB7XG4gICAgdGhpcy5oaWRlRXJyb3JzID0gdHJ1ZTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBkcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxzdHJpbmdbXT4pOiB2b2lkIHtcbiAgICBtb3ZlSXRlbUluQXJyYXkodGhpcy5saXN0LmNvbnRyb2xzLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xuICAgIC8vIGlmIHlvdSByZW9yZGVyZWQgdGhlIGxpc3QgYmUgc3VyZSB0aGUgcHJldmlvdXMgcXVhbnRpdGllcyBjaGFuZ2VzIGFjY29yZGluZ2x5XG4gICAgaWYgKHRoaXMuaW5ncmVkaWVudE1vZGUpIHtcbiAgICAgIHRoaXMucHJldmlvdXNRdWFudGl0aWVzID0gW107XG4gICAgICB0aGlzLmxpc3QuY29udHJvbHMuZm9yRWFjaChpID0+IHtcbiAgICAgICAgdGhpcy5wcmV2aW91c1F1YW50aXRpZXMucHVzaChpWydjb250cm9scyddWydhdHRyaWJ1dGVzJ11bJ2NvbnRyb2xzJ11bJ3F1YW50aXR5J10udmFsdWUpO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMubGlzdC5tYXJrQXNEaXJ0eSgpO1xuICAgIHRoaXMuaGlkZUVycm9ycyA9IGZhbHNlO1xuICAgIHRoaXMub3JkZXJIYXNDaGFuZ2VkLmVtaXQoKTtcbiAgfVxuXG4gIGlzSW5ncmVkaWVudFJldmlld2VkKGluZ3JlZGllbnROYW1lKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuaW5ncmVkaWVudFNlcnZpY2UuaXNSZXZpZXdlZE5hbWUoaW5ncmVkaWVudE5hbWUudG9Mb3dlckNhc2UoKSk7XG4gIH1cblxuICBpc1F1YW50aXR5UmV2aWV3ZWQodW5pdE5hbWUpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5pbmdyZWRpZW50U2VydmljZS5pc1Jldmlld2VkVW5pdCh1bml0TmFtZS50b0xvd2VyQ2FzZSgpKTtcbiAgfVxuXG4gIHRyYWNrQnlJbmRleChpbmRleDogbnVtYmVyLCBlbDogYW55KTogc3RyaW5nIHtcbiAgICByZXR1cm4gZWw7XG4gIH1cblxuICB1cGxvYWRJbmdyZWRpZW50UGljdHVyZShmaWxlczogRmlsZUxpc3QsIGluZ0Zvcm0pOiB2b2lkIHtcbiAgICBpZiAoIWZpbGVzWzBdIHx8ICFpbmdGb3JtKSB7IHJldHVybjsgfVxuICAgIGlmICghdGhpcy5pbWFnZVNpemVDaGVjayhmaWxlcywgNTEyICogNTEyKSkge1xuICAgICAgdGhpcy5iaWdJbWFnZVdhcm5pbmcgPSB0cnVlO1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZXNbMF0pO1xuICAgICAgcmVhZGVyLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgaW5nRm9ybS5wYXRjaFZhbHVlKHJlYWRlci5yZXN1bHQpO1xuICAgICAgICB0aGlzLmxpc3QubWFya0FzRGlydHkoKTtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogY2hlY2tzIGlmIGltYWdlIHNpemUgPCBtYXhTaXplXG4gICAqIEBwYXJhbSBmaWxlc1xuICAgKiBAcGFyYW0gbWF4U2l6ZVxuICAgKi9cbiAgaW1hZ2VTaXplQ2hlY2soZmlsZXM6IEZpbGVMaXN0LCBtYXhTaXplOiBudW1iZXIpIHtcbiAgICByZXR1cm4gIWZpbGVzWzBdIHx8IGZpbGVzWzBdLnNpemUgPCBtYXhTaXplO1xuICB9XG5cbiAgY2xvc2VCaWdJbWFnZUVycm9yTW9kYWwoKSB7XG4gICAgdGhpcy5iaWdJbWFnZVdhcm5pbmcgPSBmYWxzZTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICAvKipcbiAgICogZmlsdGVyIHVzaW5nIHRoZSBpbnB1dCB0aGUgcG9zc2libGUgaW5ncmVkaWVudCBuYW1lIHRoZSB1c2VyIG1pZ2h0IHdhbnRcbiAgICogQHBhcmFtIGluZGV4XG4gICAqL1xuICBwdWJsaWMgZ2V0RmlsdGVyZWROYW1lRnJvbUluZGV4KGluZGV4OiBudW1iZXIpOiBBcnJheTxzdHJpbmc+e1xuICAgIGNvbnN0IGlucHV0ID0gdGhpcy5saXN0LmNvbnRyb2xzW2luZGV4XS52YWx1ZS5hdHRyaWJ1dGVzLm5hbWUudG9Mb3dlckNhc2UoKTtcbiAgICBjb25zdCBwb3NzaWJsZVNlbGVjdGlvbiA9IHRoaXMuaW5ncmVkaWVudFNlcnZpY2UuZ2V0UmV2aWV3ZWROYW1lcygpO1xuICAgIHJldHVybiB0aGlzLmZpbHRlclBvc3NpYmxlU2VsZWN0aW9uRnJvbUlucHV0KGlucHV0LCBwb3NzaWJsZVNlbGVjdGlvbik7XG4gIH1cblxuICAvKipcbiAgICogZmlsdGVyIHVzaW5nIHRoZSBpbnB1dCB0aGUgcG9zc2libGUgdW5pdCB0aGUgdXNlciBtaWdodCB3YW50XG4gICAqIEBwYXJhbSBpbmRleFxuICAgKi9cbiAgcHVibGljIGdldEZpbHRlcmVkVW5pdHNGcm9tSW5kZXgoaW5kZXg6IG51bWJlcik6IEFycmF5PHN0cmluZz57XG4gICAgY29uc3QgaW5wdXQgPSB0aGlzLmxpc3QuY29udHJvbHNbaW5kZXhdLnZhbHVlLmF0dHJpYnV0ZXMudW5pdC50b0xvd2VyQ2FzZSgpO1xuICAgIGNvbnN0IHBvc3NpYmxlU2VsZWN0aW9uID0gdGhpcy5pbmdyZWRpZW50U2VydmljZS5nZXRSZXZpZXdlZFVuaXRzKCk7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyUG9zc2libGVTZWxlY3Rpb25Gcm9tSW5wdXQoaW5wdXQsIHBvc3NpYmxlU2VsZWN0aW9uKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmljIG1ldGhvZCB0byBmaWx0ZXIgdGhlIG5hbWUgYW5kIHRoZSB1bml0XG4gICAqIEBwYXJhbSBpbnB1dCB1c2VyIGlucHV0XG4gICAqIEBwYXJhbSBwb3NzaWJsZVNlbGVjdGlvbiBwb3NzaWJsZSBzZWxlY3Rpb24gdG8gZGlzcGxheSB0byB0aGUgdXNlclxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBmaWx0ZXJQb3NzaWJsZVNlbGVjdGlvbkZyb21JbnB1dChpbnB1dDogc3RyaW5nLCBwb3NzaWJsZVNlbGVjdGlvbjogQXJyYXk8c3RyaW5nPil7XG4gICAgY29uc3QgZmlsdGVyZWRTZWxlY3Rpb24gPSBbXTtcbiAgICBjb25zdCBpbnB1dExDID0gaW5wdXQudG9Mb3dlckNhc2UoKTtcbiAgICBmb3IgKGNvbnN0IHNlbGVjdGlvbiBvZiBwb3NzaWJsZVNlbGVjdGlvbil7XG4gICAgICBjb25zdCBzZWxlY3Rpb25MQyA9IHNlbGVjdGlvbi50b0xvd2VyQ2FzZSgpO1xuICAgICAgaWYgKHNlbGVjdGlvbkxDLmluY2x1ZGVzKGlucHV0TEMpICYmIHNlbGVjdGlvbkxDICE9PSBpbnB1dExDKSB7IGZpbHRlcmVkU2VsZWN0aW9uLnB1c2goc2VsZWN0aW9uKTsgfVxuICAgICAgaWYgKGZpbHRlcmVkU2VsZWN0aW9uLmxlbmd0aCA+PSB0aGlzLm1heFNlbGVjdGlvbk51bWJlcikgeyBicmVhazsgfVxuICAgIH1cbiAgICByZXR1cm4gZmlsdGVyZWRTZWxlY3Rpb247XG4gIH1cblxuICAvKipcbiAgICogZnVuY3Rpb24gdGhhdCByZXR1cm5zIGFuIEFycmF5IG9mIGltcG9ydGFuY2VzXG4gICAqL1xuICBwdWJsaWMgZ2V0SW1wb3J0YW5jZXMoKTogQXJyYXk8c3RyaW5nPiB7XG4gICAgcmV0dXJuIFsncHJpbWFyeScsICdzZWNvbmRhcnknLCAndGVydGlhcnknXTtcbiAgfVxuXG4gIC8qKlxuICAgKiB1cGRhdGVzIHRoZSBpbXBvcnRhbmNlIG9mIGEgZ2l2ZW4gaW5ncmVkaWVudFxuICAgKiBAcGFyYW0gdmFsdWUgbmV3IHZhbHVlXG4gICAqIEBwYXJhbSBpbmRleCBvZiB0aGUgaW5ncmVkaWVudFxuICAgKi9cbiAgdXBkYXRlSW1wb3J0YW5jZSh2YWx1ZTogc3RyaW5nLCBpbmRleDogbnVtYmVyKSB7XG4gICAgICB0aGlzLmxpc3QuY29udHJvbHNbaW5kZXhdWydjb250cm9scyddWydhdHRyaWJ1dGVzJ11bJ2NvbnRyb2xzJ11bJ2ltcG9ydGFuY2UnXS52YWx1ZSA9IHZhbHVlO1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgdGhpcy5saXN0Lm1hcmtBc0RpcnR5KCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtaWFtLWxpc3QtaW5wdXRcIj5cbiAgPGRpdiBjbGFzcz1cIm1pYW0tbGlzdC1pbnB1dF9fbGlzdFwiIFtmb3JtR3JvdXBdPVwibGlzdFwiPlxuICAgIDxkaXYgY2xhc3M9XCJtaWFtLWxpc3QtaW5wdXRfX2xpc3RfX2xhYmVsXCIgKm5nSWY9XCJpbmdyZWRpZW50TW9kZVwiIGkxOG4+SW5ncsOpZGllbnRzPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tbGlzdC1pbnB1dF9fbGlzdF9fbGFiZWxcIiAqbmdJZj1cIiFpbmdyZWRpZW50TW9kZVwiIGkxOG4+w4l0YXBlczwvZGl2PlxuICAgIDx1bCAqbmdJZj0nbGlzdC5jb250cm9scz8ubGVuZ3RoID4gMCBlbHNlIGhpbnRQbGFjZWhvbGRlcicgY2xhc3M9XCJtaWFtLWxpc3QtaW5wdXRfX2NvbnRhaW5lciBtLWRlZmF1bHQtY2FyZFwiIGNka0Ryb3BMaXN0IChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcCgkZXZlbnQpXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPSchaW5ncmVkaWVudE1vZGUgZWxzZSBpbmdyZWRpZW50Um93Jz5cbiAgICAgICAgPGxpICpuZ0Zvcj1cImxldCByb3cgb2YgbGlzdC5jb250cm9sczsgbGV0IGkgPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeUluZGV4XCIgIGNka0RyYWc+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT1cInJvd1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT1cInJvdz8uZ2V0KCdhdHRyaWJ1dGVzJylcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tbGlzdC1pbnB1dF9fY29udGFpbmVyX19yb3cgIG0tZGVmYXVsdC1jYXJkXCI+XG4gICAgICAgICAgICAgIDxuZy1taWFtLWljb24gcHJpbWFyeUNvbG9yPVwidmFyKC0tbS1jb2xvci1ncmV5MDUpXCIgY2xhc3M9XCJtaWFtLWxpc3QtaW5wdXRfX3Jvd19fZ3JpcFwiICBbaWNvbk5hbWVdPVwiaWNvbi5HcmlwXCIgY2RrRHJhZ0hhbmRsZT48L25nLW1pYW0taWNvbj5cbiAgICAgICAgICAgICAgPHRleHRhcmVhICBjZGtUZXh0YXJlYUF1dG9zaXplPSd0cnVlJyAjYXV0b3NpemU9XCJjZGtUZXh0YXJlYUF1dG9zaXplXCIgKGJsdXIpPSdjaGVja1JvdyhpKSdcbiAgICAgICAgICAgICAgICBjZGtBdXRvc2l6ZU1pblJvd3M9XCIxXCIgY2RrQXV0b3NpemVNYXhSb3dzPVwiNTBcIiBjbGFzcz1cIm0taW5wdXRcIiBmb3JtQ29udHJvbE5hbWU9J2Rlc2NyaXB0aW9uJz48L3RleHRhcmVhPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPG5nLW1pYW0taWNvbiBjbGFzcz1cIm1pYW0tbGlzdC1pbnB1dF9fcm93X190cmFzaFwiIChjbGljayk9XCJkZWxldGUoaSlcIiBwcmltYXJ5Q29sb3I9XCJ2YXIoLS1tLWNvbG9yLWdyZXkwNSlcIiBbaWNvbk5hbWVdPVwiaWNvbi5UcmFzaFwiPjwvbmctbWlhbS1pY29uPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1saXN0LWlucHV0X19yb3dfX3BsYWNlaG9sZGVyXCIgKmNka0RyYWdQbGFjZWhvbGRlcj48L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tbGlzdC1pbnB1dF9fcm93X19wcmV2aWV3IG0tZGVmYXVsdC1jYXJkXCIgKmNka0RyYWdQcmV2aWV3PlxuICAgICAgICAgICAgICAgIDxuZy1taWFtLWljb24gcHJpbWFyeUNvbG9yPVwidmFyKC0tbS1jb2xvci1ncmV5MDUpXCIgW2ljb25OYW1lXT1cImljb24uR3JpcFwiIGNka0RyYWdIYW5kbGU+PC9uZy1taWFtLWljb24+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtaWFtLWxpc3QtaW5wdXRfX3ByZXZpZXdfX3RleHQgbS1ib2R5LXR5cG9cIj57e3Jvdz8uZ2V0KCdhdHRyaWJ1dGVzJyk/LmdldCgnZGVzY3JpcHRpb24nKS52YWx1ZX19PC9zcGFuPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2xpPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctdGVtcGxhdGUgI2luZ3JlZGllbnRSb3c+XG4gICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCByb3cgb2YgbGlzdC5jb250cm9sczsgbGV0IGkgPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeUluZGV4XCIgY2RrRHJhZz5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLWxpc3QtaW5wdXRfX2NvbnRhaW5lcl9fcm93IG0tZGVmYXVsdC1jYXJkXCIgW2Zvcm1Hcm91cE5hbWVdPVwiaVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1saXN0LWlucHV0X19yb3dfX2xlZnRcIj5cbiAgICAgICAgICAgICAgICA8bmctbWlhbS1pY29uIHByaW1hcnlDb2xvcj1cInZhcigtLW0tY29sb3ItZ3JleTA1KVwiIGNsYXNzPVwibWlhbS1saXN0LWlucHV0X19yb3dfX2dyaXBcIlxuICAgICAgICAgICAgICAgIFtpY29uTmFtZV09XCJpY29uLkdyaXBcIiBjZGtEcmFnSGFuZGxlPjwvbmctbWlhbS1pY29uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tbGlzdC1pbnB1dF9fcm93X19yaWdodFwiPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBbYXR0ci5saXN0XT1cIidtaWFtLWxpc3QtaW5wdXQtZHJvcGRvd24taW5ncmVkaWVudHMtaWQnICsgaVwiXG4gICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIihpc0luZ3JlZGllbnRSZXZpZXdlZChyb3dbJ2NvbnRyb2xzJ11bJ2F0dHJpYnV0ZXMnXVsnY29udHJvbHMnXVsnbmFtZSddLnZhbHVlKSB8IGFzeW5jICkgPyAnYWxlcnQtc3VjY2VzcycgOiAnYWxlcnQtZGFuZ2VyJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cInJvd1snY29udHJvbHMnXVsnYXR0cmlidXRlcyddWydjb250cm9scyddWyduYW1lJ10udmFsdWUgfCBjYXBpdGFsaXplRmlyc3RMZXR0ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwicm93Wydjb250cm9scyddWydhdHRyaWJ1dGVzJ11bJ2NvbnRyb2xzJ11bJ25hbWUnXVwiXG4gICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibS1pbnB1dFwiLz5cbiAgICAgICAgICAgICAgICA8ZGF0YWxpc3QgW2F0dHIuaWRdPVwiJ21pYW0tbGlzdC1pbnB1dC1kcm9wZG93bi1pbmdyZWRpZW50cy1pZCcgKyBpXCI+XG4gICAgICAgICAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBpbmcgb2YgZ2V0RmlsdGVyZWROYW1lRnJvbUluZGV4KGkpO1wiIFt2YWx1ZV09XCJpbmcgfCBjYXBpdGFsaXplRmlyc3RMZXR0ZXJcIj48L29wdGlvbj5cbiAgICAgICAgICAgICAgICA8L2RhdGFsaXN0PlxuXG4gICAgICAgICAgICAgICAgPGlucHV0IFtuZ01vZGVsXT1cInJvd1snY29udHJvbHMnXVsnYXR0cmlidXRlcyddWydjb250cm9scyddWydxdWFudGl0eSddLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidXBkYXRlUXVhbnRpdHlWYWx1ZSgkZXZlbnQsIGkpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInJvd1snY29udHJvbHMnXVsnYXR0cmlidXRlcyddWydjb250cm9scyddWydxdWFudGl0eSddXCJcbiAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtLWlucHV0XCIgbWF4U2l6ZT00ICBhdXRvV2lkdGhJbnB1dCAvPlxuXG4gICAgICAgICAgICAgICAgPGlucHV0IFthdHRyLmxpc3RdPVwiJ21pYW0tbGlzdC1pbnB1dC1kcm9wZG93bi11bml0cy1pZCcgKyBpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiKGlzUXVhbnRpdHlSZXZpZXdlZChyb3dbJ2NvbnRyb2xzJ11bJ2F0dHJpYnV0ZXMnXVsnY29udHJvbHMnXVsndW5pdCddLnZhbHVlKSB8IGFzeW5jICkgPyAnYWxlcnQtc3VjY2VzcycgOiAnYWxlcnQtZGFuZ2VyJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJyb3dbJ2NvbnRyb2xzJ11bJ2F0dHJpYnV0ZXMnXVsnY29udHJvbHMnXVsndW5pdCddXCJcbiAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtLWlucHV0XCIgbWF4U2l6ZT04IGF1dG9XaWR0aElucHV0Lz5cbiAgICAgICAgICAgICAgICA8ZGF0YWxpc3QgW2F0dHIuaWRdPVwiJ21pYW0tbGlzdC1pbnB1dC1kcm9wZG93bi11bml0cy1pZCcgKyBpXCI+XG4gICAgICAgICAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCB1bml0IG9mIGdldEZpbHRlcmVkVW5pdHNGcm9tSW5kZXgoaSk7XCIgW3ZhbHVlXT1cInVuaXRcIj48L29wdGlvbj5cbiAgICAgICAgICAgICAgICA8L2RhdGFsaXN0PlxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJnZXRJbXBvcnRhbmNlcygpLmxlbmd0aCA+IDBcIiBjbGFzcz1cIm1pYW0tbGlzdC1pbnB1dF9faW1wb3J0YW5jZVwiPlxuICAgICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgaW1wb3J0YW5jZSBvZiBnZXRJbXBvcnRhbmNlcygpO1wiIGNsYXNzPVwibWlhbS1saXN0LWlucHV0X19pbXBvcnRhbmNlX19yYWRpb1wiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cIidpbXBvcnRhbmNlJyArIGlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lkXT1cIidpbXBvcnRhbmNlLWlkLScgKyBpbXBvcnRhbmNlICsgaVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiaW1wb3J0YW5jZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidXBkYXRlSW1wb3J0YW5jZShpbXBvcnRhbmNlLCBpKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwicm93Wydjb250cm9scyddWydhdHRyaWJ1dGVzJ11bJ2NvbnRyb2xzJ11bJ2ltcG9ydGFuY2UnXVwiLz5cbiAgICAgICAgICAgICAgICAgICAgPCEtLSBUT0RPIGFkZCBpMThuIHRhZyB0byBsYWJlbHMgKGludGVybmF0aW9uYWxpemF0aW9uKSAtLT5cbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsICpuZ0lmPVwiaW1wb3J0YW5jZSA9PT0gJ3ByaW1hcnknXCIgZm9yPVwie3snaW1wb3J0YW5jZS1pZC1wcmltYXJ5JyArIGl9fVwiPlByaW1vcmRpYWw8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8bGFiZWwgKm5nSWY9XCJpbXBvcnRhbmNlID09PSAnc2Vjb25kYXJ5J1wiIGZvcj1cInt7J2ltcG9ydGFuY2UtaWQtc2Vjb25kYXJ5JyArIGl9fVwiPlNlY29uZGFpcmU8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8bGFiZWwgKm5nSWY9XCJpbXBvcnRhbmNlID09PSAndGVydGlhcnknXCIgZm9yPVwie3snaW1wb3J0YW5jZS1pZC10ZXJ0aWFyeScgKyBpfX1cIj5GYWN1bHRhdGlmPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tbGlzdC1pbnB1dF9fcm93X19jb250cm9sc1wiPlxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiaW5nLXBpY3R1cmUte3tpfX1cIiAqbmdJZj1cImluZ3JlZGllbnRzUGljdHVyZXMudmlzaWJsZVwiPlxuICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwicm93LmNvbnRyb2xzLmF0dHJpYnV0ZXMuY29udHJvbHNbJ3BpY3R1cmUtdXJsJ10/LnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgY2xpY2thYmxlOiBpbmdyZWRpZW50c1BpY3R1cmVzLmVkaXRhYmxlIH1cIlxuICAgICAgICAgICAgICAgICAgW3NyY109XCJyb3cuY29udHJvbHMuYXR0cmlidXRlcy5jb250cm9sc1sncGljdHVyZS11cmwnXS52YWx1ZVwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cIm1pYW0tbGlzdC1pbnB1dF9fcm93X19waWN0dXJlXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLW1pYW0taWNvblxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhcm93LmNvbnRyb2xzLmF0dHJpYnV0ZXMuY29udHJvbHNbJ3BpY3R1cmUtdXJsJ10/LnZhbHVlICYmIGluZ3JlZGllbnRzUGljdHVyZXMuZWRpdGFibGVcIlxuICAgICAgICAgICAgICAgICAgW2ljb25OYW1lXT1cImljb24uUGljdHVyZVwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cIm1pYW0tbGlzdC1pbnB1dF9fcm93X190cmFzaFwiXG4gICAgICAgICAgICAgICAgICBwcmltYXJ5Q29sb3I9XCJ2YXIoLS1tLWNvbG9yLWdyZXkwNSlcIlxuICAgICAgICAgICAgICAgID48L25nLW1pYW0taWNvbj5cbiAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgKm5nSWY9XCJpbmdyZWRpZW50c1BpY3R1cmVzLnZpc2libGUgJiYgaW5ncmVkaWVudHNQaWN0dXJlcy5lZGl0YWJsZSAmJiAhYmlnSW1hZ2VXYXJuaW5nXCJcbiAgICAgICAgICAgICAgICBpZD1cImluZy1waWN0dXJlLXt7aX19XCJcbiAgICAgICAgICAgICAgICB0eXBlPVwiZmlsZVwiXG4gICAgICAgICAgICAgICAgYWNjZXB0PVwiaW1hZ2UvanBlZywgaW1hZ2UvcG5nLCBpbWFnZS93ZWJwXCJcbiAgICAgICAgICAgICAgICAoY2hhbmdlKT1cInVwbG9hZEluZ3JlZGllbnRQaWN0dXJlKCRldmVudC50YXJnZXQuZmlsZXMsIHJvdy5jb250cm9scy5hdHRyaWJ1dGVzLmNvbnRyb2xzWydwaWN0dXJlLXVybCddKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPG5nLW1pYW0taWNvbiBjbGFzcz1cIm1pYW0tbGlzdC1pbnB1dF9fcm93X190cmFzaFwiIChjbGljayk9XCJkZWxldGUoaSlcIiBwcmltYXJ5Q29sb3I9XCJ2YXIoLS1tLWNvbG9yLWdyZXkwNSlcIiBbaWNvbk5hbWVdPVwiaWNvbi5UcmFzaFwiPjwvbmctbWlhbS1pY29uPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLWxpc3QtaW5wdXRfX3Jvd19fcGxhY2Vob2xkZXJcIiAqY2RrRHJhZ1BsYWNlaG9sZGVyPjwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLWxpc3QtaW5wdXRfX3Jvd19fcHJldmlldyBtLWRlZmF1bHQtY2FyZFwiICpjZGtEcmFnUHJldmlldz5cbiAgICAgICAgICAgICAgICAgIDxuZy1taWFtLWljb24gcHJpbWFyeUNvbG9yPVwidmFyKC0tbS1jb2xvci1ncmV5LXRleHQtZGFyaylcIlxuICAgICAgICAgICAgICAgICAgICBbaWNvbk5hbWVdPVwiaWNvbi5HcmlwXCIgY2RrRHJhZ0hhbmRsZT48L25nLW1pYW0taWNvbj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibS1ib2R5LXR5cG9cIj57e3Jvdz8uZ2V0KCdhdHRyaWJ1dGVzJyk/LmdldCgnbmFtZScpLnZhbHVlIHwgY2FwaXRhbGl6ZUZpcnN0TGV0dGVyfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm0tYm9keS10eXBvXCI+e3tyb3c/LmdldCgnYXR0cmlidXRlcycpPy5nZXQoJ3F1YW50aXR5JykudmFsdWV9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibS1ib2R5LXR5cG9cIj57e3Jvdz8uZ2V0KCdhdHRyaWJ1dGVzJyk/LmdldCgndW5pdCcpLnZhbHVlfX08L3NwYW4+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8IS0tIGluZm9ybWF0aW9uIG1lc3NhZ2UgLS0+XG4gICAgICAgICAgICA8IS0tIDxzcGFuICpuZ0lmPVwicm93Py5nZXQoJ2F0dHJpYnV0ZXMnKVsnaXNOb3RSZXZpZXdlZEluZ3JlZGllbnROYW1lJ10gJiYgIXJvdy5pbnZhbGlkICYmICFoaWRlRXJyb3JzXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJoaW50IHdhcm5uaW5nXCI+Tm91cyBuZSBjb25uYWlzc29ucyBwYXMgZW5jb3JlIGNldCBpbmdyw6lkaWVudDwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwicm93LmludmFsaWQgJiYgIWhpZGVFcnJvcnNcIiBjbGFzcz1cImhpbnQgZXJyb3JcIj5MZSBub20gZGUgbCdpbmdyw6lkaWVudCBuZSBwZXV0IHBhcyDDqnRyZVxuICAgICAgICAgICAgICB2aWRlPC9zcGFuPiAtLT5cbiAgICAgICAgICA8L2xpPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L3VsPlxuICA8L2Rpdj5cbiAgPG5nLXRlbXBsYXRlICNoaW50UGxhY2Vob2xkZXI+XG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tbGlzdC1pbnB1dF9fcGxhY2Vob2xkZXIgbWlhbS1saXN0LWlucHV0X19jb250YWluZXIgbS1kZWZhdWx0LWNhcmRcIj5cbiAgICAgIDxuZy1taWFtLWljb24gcHJpbWFyeUNvbG9yPVwidmFyKC0tbS1jb2xvci1ncmV5LXRleHQtZGFyaylcIiBbd2lkdGhdPVwiMTUyXCIgW2hlaWdodF09XCIxNTdcIiBbaWNvbk5hbWVdPVwiaWNvbi5FbXB0eVwiPlxuICAgICAgPC9uZy1taWFtLWljb24+XG4gICAgICA8c3BhbiBjbGFzcz1cIm1pYW0tbGlzdC1pbnB1dF9fcGxhY2Vob2xkZXJfX2hpbnQgbS1ib2R5LXR5cG9cIj5cbiAgICAgICAgPHNwYW4gaTE4bj5PdXBzLi4uIGPigJllc3QgdmlkZSwgY29tbWVuY2V6IMOgIGFqb3V0ZXIgZGVzIDwvc3Bhbj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJpbmdyZWRpZW50TW9kZVwiIGkxOG4+aW5ncsOpZGllbnRzICE8L3NwYW4+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwiIWluZ3JlZGllbnRNb2RlXCIgaTE4bj7DqXRhcGVzICE8L3NwYW4+XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG4gIDxkaXYgY2xhc3M9XCJtaWFtLWxpc3QtaW5wdXRfX2FjdGlvbnNcIj5cbiAgICA8dGV4dGFyZWEgKm5nSWY9XCJwbGFjZWhvbGRlciAmJiBwbGFjZWhvbGRlci5sZW5ndGggPiAwXCIgbWF0SW5wdXQgY2xhc3M9XCJtLWlucHV0XCIgY2RrVGV4dGFyZWFBdXRvc2l6ZSAgY2RrQXV0b3NpemVNaW5Sb3dzPVwiNFwiXG4gICAgICBjZGtBdXRvc2l6ZU1heFJvd3M9XCI0XCIgKGtleWRvd24uZW50ZXIpPSdtb3Vzc2VEb3duT25CdXR0b24gPSB0cnVlJ1xuICAgICAgW2Zvcm1Db250cm9sXT1cImZpbGxMaXN0SW5wdXRcIiBhdHRyLnBsYWNlaG9sZGVyPVwie3twbGFjZWhvbGRlcn19XCJcbiAgICA+XG4gICAgPC90ZXh0YXJlYT5cbiAgICA8dGV4dGFyZWEgKm5nSWY9XCIoIXBsYWNlaG9sZGVyIHx8IHBsYWNlaG9sZGVyLmxlbmd0aCA8IDEpICYmIGluZ3JlZGllbnRNb2RlXCIgbWF0SW5wdXQgY2xhc3M9XCJtLWlucHV0XCIgY2RrVGV4dGFyZWFBdXRvc2l6ZVxuICAgICAgY2RrQXV0b3NpemVNaW5Sb3dzPVwiNFwiIGNka0F1dG9zaXplTWF4Um93cz1cIjRcIiAoa2V5ZG93bi5lbnRlcik9J21vdXNzZURvd25PbkJ1dHRvbiA9IHRydWUnIFtmb3JtQ29udHJvbF09XCJmaWxsTGlzdElucHV0XCJcbiAgICAgIHBsYWNlaG9sZGVyPVwiRXhlbXBsZSA6XFxuNTAwZyBkZSBmYXJpbmVcXG4yNTBnIGRlIGJldXJyZVxcbmh1aWxlIGRcXCdvbGl2ZVxcbjQgdHJhbmNoZXMgZGUgamFtYm9uXCJcbiAgICAgIGkxOG4tcGxhY2Vob2xkZXJcbiAgICA+XG4gICAgPC90ZXh0YXJlYT5cbiAgICA8dGV4dGFyZWEgKm5nSWY9XCIoIXBsYWNlaG9sZGVyIHx8IHBsYWNlaG9sZGVyLmxlbmd0aCA8IDEpICYmICFpbmdyZWRpZW50TW9kZVwiIG1hdElucHV0IGNsYXNzPVwibS1pbnB1dFwiIGNka1RleHRhcmVhQXV0b3NpemVcbiAgICAgIGNka0F1dG9zaXplTWluUm93cz1cIjRcIiBjZGtBdXRvc2l6ZU1heFJvd3M9XCI0XCIgKGtleWRvd24uZW50ZXIpPSdtb3Vzc2VEb3duT25CdXR0b24gPSB0cnVlJyBbZm9ybUNvbnRyb2xdPVwiZmlsbExpc3RJbnB1dFwiXG4gICAgICBwbGFjZWhvbGRlcj1cIkV4ZW1wbGUgOlxcbkhhY2hlciBncm9zc2nDqHJlbWVudCBsZSBjw6lsZXJpIGV0IGwnb2lnbm9uLlxcbkNvdXBlciBsZSBjaG91LWZsZXVyIGVuIHBldGl0cyBib3VxdWV0cy5cIlxuICAgICAgaTE4bi1wbGFjZWhvbGRlclxuICAgID5cbiAgICA8L3RleHRhcmVhPlxuICAgIDxidXR0b24gY2xhc3M9XCJtLWJ1dHRvbi1wcmltYXJ5XCIgKG1vdXNlZG93bik9J21vdXNzZURvd25PbkJ1dHRvbiA9IHRydWUnIChtb3VzZXVwKT1cInN1Ym1pdCgpXCI+XG4gICAgICA8c3BhbiBpMThuPkFqb3V0ZXIgPC9zcGFuPlxuICAgICAgPHNwYW4gY2xhc3M9XCJtaWFtLWxpc3QtaW5wdXRfX2luc3RydWN0aW9uc19fZGlyZWN0aW9uXCI+Pj48L3NwYW4+XG4gICAgPC9idXR0b24+XG4gICAgPGRpdiAqbmdJZj1cImluc3RydWN0aW9uc1wiIGNsYXNzPVwibWlhbS1saXN0LWlucHV0X19hY3Rpb25zX19pbnN0cnVjdGlvbnNcIj57eyBpbnN0cnVjdGlvbnMgfX08L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiIWluc3RydWN0aW9ucyAmJiBpbmdyZWRpZW50TW9kZVwiIGNsYXNzPVwibWlhbS1saXN0LWlucHV0X19hY3Rpb25zX19pbnN0cnVjdGlvbnNcIj5cbiAgICAgIDxzcGFuIGkxOG4+Vm91cyBwb3V2ZXogc2Fpc2lyIHVuIGluZ3LDqWRpZW50IG91IGNvcGllciBjb2xsZXIgdW5lIGxpc3RlIGTigJlpbmdyw6lkaWVudHMuPC9zcGFuPlxuICAgICAgPGJyIC8+XG4gICAgICA8c3BhbiBpMThuPlVuZSBsaWduZSBjb3JyZXNwb25kIMOgIHVuIGluZ3LDqWRpZW50Ljwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiIWluc3RydWN0aW9ucyAmJiAhaW5ncmVkaWVudE1vZGVcIiBjbGFzcz1cIm1pYW0tbGlzdC1pbnB1dF9fYWN0aW9uc19faW5zdHJ1Y3Rpb25zXCI+XG4gICAgICA8c3BhbiBpMThuPlZvdXMgcG91dmV6IHNhaXNpciB1bmUgw6l0YXBlIG91IGNvcGllciBjb2xsZXIgdW5lIGxpc3RlIGTigJnDqXRhcGVzLjwvc3Bhbj5cbiAgICAgIDxiciAvPlxuICAgICAgPHNwYW4gaTE4bj5VbmUgbGlnbmUgY29ycmVzcG9uZCDDoCB1bmUgw6l0YXBlLjwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPCEtLSBJTkdSRURJRU5UIFBJQ1RVUkUgRVJST1IgTU9EQUwtLT5cbjxuZy1taWFtLW1vZGFsIFxuICAqbmdJZj1cImJpZ0ltYWdlV2FybmluZ1wiXG4gIFtpc0FuZ3VsYXJDb21wb25lbnRdPVwidHJ1ZVwiIFxuICBbbm9IZWFkZXJNb2RlXT1cImZhbHNlXCJcbiAgW2V4cGFuZGVkXT1cInRydWVcIlxuICBpMThuLXRpdGxlXG4gIHRpdGxlPVwiSW1hZ2UgdHJvcCB2b2x1bWluZXVzZVwiXG4gIGNvbmZpcm1CdXR0b25UZXh0PVwiRmVybWVyXCJcbiAgKGNsb3NlKT1cImNsb3NlQmlnSW1hZ2VFcnJvck1vZGFsKClcIlxuICAoY29uZmlybSk9XCJjbG9zZUJpZ0ltYWdlRXJyb3JNb2RhbCgpXCJcbj5cbiAgPHNwYW4gaTE4biBjbGFzcz1cIm1pYW0tbGlzdC1pbnB1dF9fcGljdHVyZV9fd2FybmluZ1wiPlZvdHJlIGltYWdlIGVzdCB0cm9wIGxvdXJkZSAobGEgdGFpbGxlIGRvaXQgw6p0cmUgaW5mw6lyaWV1cmUgw6AgNTAwIEtvKS4gTWVyY2kgZOKAmWVuIGFqb3V0ZXIgdW5lIHBsdXMgbMOpZ8OocmUuPC9zcGFuPlxuPC9uZy1taWFtLW1vZGFsPiJdfQ==
|
|
778
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2J1aWxkcy9taWFtL25nLW1pYW0tc2RrL3Byb2plY3RzL25nLW1pYW0vc3JjLyIsInNvdXJjZXMiOlsibGliL19jb21wb25lbnRzL2xpc3QtaW5wdXQvbGlzdC1pbnB1dC5jb21wb25lbnQudHMiLCJsaWIvX2NvbXBvbmVudHMvbGlzdC1pbnB1dC9saXN0LWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEdBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0csT0FBTyxFQUFlLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7Ozs7SUNIakQsK0JBQXNFO0lBQXRFLGdCQUFzRTtJQUFXLGlCQUFNOzs7SUFDdkYsK0JBQXVFO0lBQXZFLGdCQUF1RTtJQUFNLGlCQUFNOzs7SUFZekUsMEJBQXlFOzs7SUFDekUsK0JBQ0U7SUFBQSxtQ0FBdUc7SUFDdkcsZ0NBQXlEO0lBQUEsWUFBb0Q7SUFBQSxpQkFBTztJQUN0SCxpQkFBTTs7Ozs7SUFGK0MsZUFBc0I7SUFBdEIsNENBQXNCO0lBQ2hCLGVBQW9EO0lBQXBELHNJQUFvRDs7OztJQVpySCw4QkFDRTtJQUFBLGlDQUNFO0lBQUEsaUNBQ0U7SUFBQSwrQkFDQTtJQUFBLG1DQUEySTtJQUMzSSx3Q0FDMEc7SUFEcEMs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QUFDLElBQUk7YUFDdEM7K0hBRVUsV0FBVztrQkFBbkIsS0FBSztZQUVHLFlBQVk7a0JBQXBCLEtBQUs7WUFDRyxjQUFjO2tCQUF0QixLQUFLO1lBQ0csVUFBVTtrQkFBbEIsS0FBSztZQUNHLElBQUk7a0JBQVosS0FBSztZQUNHLG1CQUFtQjtrQkFBM0IsS0FBSztZQUVJLFFBQVE7a0JBQWpCLE1BQU07WUFDRyxlQUFlO2tCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbix9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AsIG1vdmVJdGVtSW5BcnJheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgRm9ybUFycmF5LCBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSAnLi4vLi4vX3R5cGVzL2ljb24uZW51bSc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSW5ncmVkaWVudHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vX3NlcnZpY2VzJztcbmltcG9ydCB7IEluZ3JlZGllbnQgfSBmcm9tICcuLi8uLi9fbW9kZWxzL2luZ3JlZGllbnQnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZy1taWFtLWxpc3QtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vbGlzdC1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xpc3QtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgTGlzdElucHV0Q29tcG9uZW50IHtcbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnJztcbiAgLy8gVE9ETzogaW5wdXQgc3RyaW5nIGRvZXNuJ3Qgd29yayBhbnltb3JlIHdpdGggaTE4biwgdXNlIHRlbXBsYXRlIGFuZCBjaGVjayBpZiB0aGUgZmllbGQgaXMgc3RpbGwgbmVlZGVkXG4gIEBJbnB1dCgpIGluc3RydWN0aW9uczogc3RyaW5nO1xuICBASW5wdXQoKSBpbmdyZWRpZW50TW9kZSA9IGZhbHNlO1xuICBASW5wdXQoKSBpc1BlcnNvbmFsID0gZmFsc2U7XG4gIEBJbnB1dCgpIGxpc3Q6IEZvcm1BcnJheSA9IG5ldyBGb3JtQXJyYXkoW10pO1xuICBASW5wdXQoKSBpbmdyZWRpZW50c1BpY3R1cmVzOiB7IHZpc2libGU6IGJvb2xlYW4sIGVkaXRhYmxlOiBib29sZWFuIH0gPSB7IHZpc2libGU6IGZhbHNlLCBlZGl0YWJsZTogZmFsc2UgfTtcblxuICBAT3V0cHV0KCkgZGVsZXRlSWQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+O1xuICBAT3V0cHV0KCkgb3JkZXJIYXNDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8dm9pZD47XG5cbiAgaWNvbiA9IEljb247XG4gIGhpZGVFcnJvcnM6IGJvb2xlYW47XG4gIGZpbGxMaXN0SW5wdXQ6IEZvcm1Db250cm9sO1xuICBtb3Vzc2VEb3duT25CdXR0b246IGJvb2xlYW47XG4gIGJpZ0ltYWdlV2FybmluZyA9IGZhbHNlO1xuICBwcml2YXRlIHByZXZpb3VzUXVhbnRpdGllczogc3RyaW5nW107XG4gIHByaXZhdGUgcmVhZG9ubHkgbWF4U2VsZWN0aW9uTnVtYmVyOiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmdyZWRpZW50U2VydmljZTogSW5ncmVkaWVudHNTZXJ2aWNlLCBwcml2YXRlIGZiOiBGb3JtQnVpbGRlciwgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgdGhpcy5maWxsTGlzdElucHV0ID0gbmV3IEZvcm1Db250cm9sKCcnKTtcbiAgICB0aGlzLmRlbGV0ZUlkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIHRoaXMub3JkZXJIYXNDaGFuZ2VkICA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICB0aGlzLnByZXZpb3VzUXVhbnRpdGllcyA9IFtdO1xuICAgIHRoaXMubWF4U2VsZWN0aW9uTnVtYmVyID0gNTtcbiAgICB0aGlzLmluZ3JlZGllbnRTZXJ2aWNlLmdldFJldmlld2VkTmFtZXMoKTtcbiAgICB0aGlzLmluZ3JlZGllbnRTZXJ2aWNlLmdldFJldmlld2VkVW5pdHMoKTtcbiAgfVxuXG4gIGRlbGV0ZShpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubGlzdC5jb250cm9sc1tpbmRleF1bYGNvbnRyb2xzYF0uaWQ/LnZhbHVlKSB7XG4gICAgICB0aGlzLmRlbGV0ZUlkLmVtaXQodGhpcy5saXN0LmNvbnRyb2xzW2luZGV4XVtgY29udHJvbHNgXS5pZC52YWx1ZSk7XG4gICAgfVxuICAgIHRoaXMubGlzdC5yZW1vdmVBdChpbmRleCk7XG4gICAgdGhpcy5saXN0Lm1hcmtBc0RpcnR5KCk7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgc3VibWl0KCk6IHZvaWQge1xuICAgIGNvbnN0IHZhbHVlcyA9IHRoaXMuZmlsbExpc3RJbnB1dC52YWx1ZT8udHJpbUVuZCgpLnNwbGl0KCdcXG4nKTtcblxuICAgIGlmICh2YWx1ZXMgJiYgdmFsdWVzLmxlbmd0aCA+IDApIHtcbiAgICAgIGlmICh0aGlzLmluZ3JlZGllbnRNb2RlKSB7XG4gICAgICAgIHRoaXMuaW5ncmVkaWVudFNlcnZpY2UuZm9ybWF0SW5ncmVkaWVudHModmFsdWVzKS5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgoaW5ncmVkaWVudHM6IEluZ3JlZGllbnRbXSkgPT4ge1xuICAgICAgICAgIGluZ3JlZGllbnRzLmZvckVhY2goaW5nID0+IHtcbiAgICAgICAgICAgIGluZy5hdHRyaWJ1dGVzLnF1YW50aXR5ID0gcGFyc2VGbG9hdChpbmcuYXR0cmlidXRlcy5xdWFudGl0eSkudG9TdHJpbmcoKTtcbiAgICAgICAgICAgIHRoaXMubGlzdC5wdXNoKHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgICAgICAgICBpZDogbmV3IEZvcm1Db250cm9sKGluZy5pZCAhPT0gJy0xJyA/IGluZy5pZCA6IG51bGwpLFxuICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiB0aGlzLmZiLmdyb3VwKHtcbiAgICAgICAgICAgICAgICBxdWFudGl0eTogbmV3IEZvcm1Db250cm9sKGluZy5hdHRyaWJ1dGVzLnF1YW50aXR5LCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgICAgICAgICAgICB1bml0OiBuZXcgRm9ybUNvbnRyb2woaW5nLmF0dHJpYnV0ZXMudW5pdCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICAgICAgICAgICAgbmFtZTogbmV3IEZvcm1Db250cm9sKGluZy5hdHRyaWJ1dGVzLm5hbWUsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgICAgICAgICAgIC8vIGltcG9ydGFuY2U6IG5ldyBGb3JtQ29udHJvbChpbmcuYXR0cmlidXRlcy5pbXBvcnRhbmNlLFxuICAgICAgICAgICAgICAgIC8vICAgdGhpcy5pc1BlcnNvbmFsID8gVmFsaWRhdG9ycy5udWxsVmFsaWRhdG9yIDogVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICAgICAgICAgICAgLy8gTm90IG1hbmRhdG9yeSBmb3IgdGhlIG1vbWVudCwgZGVjb21tZW50IGFib3ZlIGlmIG1hbmRhdG9yeSBsYXRlclxuICAgICAgICAgICAgICAgIGltcG9ydGFuY2U6IG5ldyBGb3JtQ29udHJvbChpbmcuYXR0cmlidXRlcy5pbXBvcnRhbmNlLCBWYWxpZGF0b3JzLm51bGxWYWxpZGF0b3IpLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgdGhpcy5wcmV2aW91c1F1YW50aXRpZXMucHVzaChpbmcuYXR0cmlidXRlcy5xdWFudGl0eSk7XG4gICAgICAgICAgICB0aGlzLmxpc3QubWFya0FzRGlydHkoKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YWx1ZXMuZm9yRWFjaCgoZWxlbWVudDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgaWYgKGVsZW1lbnQudHJpbSgpKSB7XG4gICAgICAgICAgICB0aGlzLmxpc3QucHVzaCh0aGlzLmZiLmdyb3VwKHtcbiAgICAgICAgICAgICAgYXR0cmlidXRlczogdGhpcy5mYi5ncm91cCh7XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG5ldyBGb3JtQ29udHJvbChlbGVtZW50KVxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICB0aGlzLmxpc3QubWFya0FzRGlydHkoKTtcbiAgICB9XG5cbiAgICB0aGlzLmZpbGxMaXN0SW5wdXQucmVzZXQoKTtcbiAgICB0aGlzLm1vdXNzZURvd25PbkJ1dHRvbiA9IGZhbHNlO1xuICB9XG5cbiAgY2hlY2tSb3coaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICghdGhpcy5saXN0LmNvbnRyb2xzW2luZGV4XS5nZXQoJ2F0dHJpYnV0ZXMnKS5nZXQoJ2Rlc2NyaXB0aW9uJykudmFsdWUgfHwgIXRoaXMubGlzdC5jb250cm9sc1tpbmRleF0uZ2V0KCdhdHRyaWJ1dGVzJykuZ2V0KCdkZXNjcmlwdGlvbicpLnZhbHVlLnRyaW0oKSkge1xuICAgICAgdGhpcy5kZWxldGUoaW5kZXgpO1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZVF1YW50aXR5VmFsdWUoZXZlbnQsIGluZGV4KSB7XG4gICAgaWYgKE51bWJlci5pc05hTigrZXZlbnQpKXtcbiAgICAgIHRoaXMubGlzdC5jb250cm9sc1tpbmRleF1bJ2NvbnRyb2xzJ11bJ2F0dHJpYnV0ZXMnXVsnY29udHJvbHMnXVsncXVhbnRpdHknXS52YWx1ZSA9IHRoaXMucHJldmlvdXNRdWFudGl0aWVzW2luZGV4XTtcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTsgLy8gTmVjZXNzYXJ5IHRvIHVwZGF0ZSB0aGUgdmlldyB3aXRoIHRoZSBwcmV2aW91cyB2YWx1ZVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHRoaXMucHJldmlvdXNRdWFudGl0aWVzW2luZGV4XSA9IGV2ZW50OyAvLyBObyB1cGRhdGUgb2YgdGhlIHZpZXcgc28gbm8gY2RyLmRldGVjdENoYW5nZXMoKVxuICAgIH1cbiAgfVxuXG4gIGRyYWcoKSB7XG4gICAgdGhpcy5oaWRlRXJyb3JzID0gdHJ1ZTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBkcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxzdHJpbmdbXT4pOiB2b2lkIHtcbiAgICBtb3ZlSXRlbUluQXJyYXkodGhpcy5saXN0LmNvbnRyb2xzLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xuICAgIC8vIGlmIHlvdSByZW9yZGVyZWQgdGhlIGxpc3QgYmUgc3VyZSB0aGUgcHJldmlvdXMgcXVhbnRpdGllcyBjaGFuZ2VzIGFjY29yZGluZ2x5XG4gICAgaWYgKHRoaXMuaW5ncmVkaWVudE1vZGUpIHtcbiAgICAgIHRoaXMucHJldmlvdXNRdWFudGl0aWVzID0gW107XG4gICAgICB0aGlzLmxpc3QuY29udHJvbHMuZm9yRWFjaChpID0+IHtcbiAgICAgICAgdGhpcy5wcmV2aW91c1F1YW50aXRpZXMucHVzaChpWydjb250cm9scyddWydhdHRyaWJ1dGVzJ11bJ2NvbnRyb2xzJ11bJ3F1YW50aXR5J10udmFsdWUpO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMubGlzdC5tYXJrQXNEaXJ0eSgpO1xuICAgIHRoaXMuaGlkZUVycm9ycyA9IGZhbHNlO1xuICAgIHRoaXMub3JkZXJIYXNDaGFuZ2VkLmVtaXQoKTtcbiAgfVxuXG4gIGlzSW5ncmVkaWVudFJldmlld2VkKGluZ3JlZGllbnROYW1lKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuaW5ncmVkaWVudFNlcnZpY2UuaXNSZXZpZXdlZE5hbWUoaW5ncmVkaWVudE5hbWUudG9Mb3dlckNhc2UoKSk7XG4gIH1cblxuICBpc1F1YW50aXR5UmV2aWV3ZWQodW5pdE5hbWUpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5pbmdyZWRpZW50U2VydmljZS5pc1Jldmlld2VkVW5pdCh1bml0TmFtZS50b0xvd2VyQ2FzZSgpKTtcbiAgfVxuXG4gIHRyYWNrQnlJbmRleChpbmRleDogbnVtYmVyLCBlbDogYW55KTogc3RyaW5nIHtcbiAgICByZXR1cm4gZWw7XG4gIH1cblxuICB1cGxvYWRJbmdyZWRpZW50UGljdHVyZShmaWxlczogRmlsZUxpc3QsIGluZ0Zvcm0pOiB2b2lkIHtcbiAgICBpZiAoIWZpbGVzWzBdIHx8ICFpbmdGb3JtKSB7IHJldHVybjsgfVxuICAgIGlmICghdGhpcy5pbWFnZVNpemVDaGVjayhmaWxlcywgNTEyICogNTEyKSkge1xuICAgICAgdGhpcy5iaWdJbWFnZVdhcm5pbmcgPSB0cnVlO1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZXNbMF0pO1xuICAgICAgcmVhZGVyLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgaW5nRm9ybS5wYXRjaFZhbHVlKHJlYWRlci5yZXN1bHQpO1xuICAgICAgICB0aGlzLmxpc3QubWFya0FzRGlydHkoKTtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogY2hlY2tzIGlmIGltYWdlIHNpemUgPCBtYXhTaXplXG4gICAqIEBwYXJhbSBmaWxlc1xuICAgKiBAcGFyYW0gbWF4U2l6ZVxuICAgKi9cbiAgaW1hZ2VTaXplQ2hlY2soZmlsZXM6IEZpbGVMaXN0LCBtYXhTaXplOiBudW1iZXIpIHtcbiAgICByZXR1cm4gIWZpbGVzWzBdIHx8IGZpbGVzWzBdLnNpemUgPCBtYXhTaXplO1xuICB9XG5cbiAgY2xvc2VCaWdJbWFnZUVycm9yTW9kYWwoKSB7XG4gICAgdGhpcy5iaWdJbWFnZVdhcm5pbmcgPSBmYWxzZTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICAvKipcbiAgICogZmlsdGVyIHVzaW5nIHRoZSBpbnB1dCB0aGUgcG9zc2libGUgaW5ncmVkaWVudCBuYW1lIHRoZSB1c2VyIG1pZ2h0IHdhbnRcbiAgICogQHBhcmFtIGluZGV4XG4gICAqL1xuICBwdWJsaWMgZ2V0RmlsdGVyZWROYW1lRnJvbUluZGV4KGluZGV4OiBudW1iZXIpOiBBcnJheTxzdHJpbmc+e1xuICAgIGNvbnN0IGlucHV0ID0gdGhpcy5saXN0LmNvbnRyb2xzW2luZGV4XS52YWx1ZS5hdHRyaWJ1dGVzLm5hbWUudG9Mb3dlckNhc2UoKTtcbiAgICBjb25zdCBwb3NzaWJsZVNlbGVjdGlvbiA9IHRoaXMuaW5ncmVkaWVudFNlcnZpY2UuZ2V0UmV2aWV3ZWROYW1lcygpO1xuICAgIHJldHVybiB0aGlzLmZpbHRlclBvc3NpYmxlU2VsZWN0aW9uRnJvbUlucHV0KGlucHV0LCBwb3NzaWJsZVNlbGVjdGlvbik7XG4gIH1cblxuICAvKipcbiAgICogZmlsdGVyIHVzaW5nIHRoZSBpbnB1dCB0aGUgcG9zc2libGUgdW5pdCB0aGUgdXNlciBtaWdodCB3YW50XG4gICAqIEBwYXJhbSBpbmRleFxuICAgKi9cbiAgcHVibGljIGdldEZpbHRlcmVkVW5pdHNGcm9tSW5kZXgoaW5kZXg6IG51bWJlcik6IEFycmF5PHN0cmluZz57XG4gICAgY29uc3QgaW5wdXQgPSB0aGlzLmxpc3QuY29udHJvbHNbaW5kZXhdLnZhbHVlLmF0dHJpYnV0ZXMudW5pdC50b0xvd2VyQ2FzZSgpO1xuICAgIGNvbnN0IHBvc3NpYmxlU2VsZWN0aW9uID0gdGhpcy5pbmdyZWRpZW50U2VydmljZS5nZXRSZXZpZXdlZFVuaXRzKCk7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyUG9zc2libGVTZWxlY3Rpb25Gcm9tSW5wdXQoaW5wdXQsIHBvc3NpYmxlU2VsZWN0aW9uKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmljIG1ldGhvZCB0byBmaWx0ZXIgdGhlIG5hbWUgYW5kIHRoZSB1bml0XG4gICAqIEBwYXJhbSBpbnB1dCB1c2VyIGlucHV0XG4gICAqIEBwYXJhbSBwb3NzaWJsZVNlbGVjdGlvbiBwb3NzaWJsZSBzZWxlY3Rpb24gdG8gZGlzcGxheSB0byB0aGUgdXNlclxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBmaWx0ZXJQb3NzaWJsZVNlbGVjdGlvbkZyb21JbnB1dChpbnB1dDogc3RyaW5nLCBwb3NzaWJsZVNlbGVjdGlvbjogQXJyYXk8c3RyaW5nPil7XG4gICAgY29uc3QgZmlsdGVyZWRTZWxlY3Rpb24gPSBbXTtcbiAgICBjb25zdCBpbnB1dExDID0gaW5wdXQudG9Mb3dlckNhc2UoKTtcbiAgICBmb3IgKGNvbnN0IHNlbGVjdGlvbiBvZiBwb3NzaWJsZVNlbGVjdGlvbil7XG4gICAgICBjb25zdCBzZWxlY3Rpb25MQyA9IHNlbGVjdGlvbi50b0xvd2VyQ2FzZSgpO1xuICAgICAgaWYgKHNlbGVjdGlvbkxDLmluY2x1ZGVzKGlucHV0TEMpICYmIHNlbGVjdGlvbkxDICE9PSBpbnB1dExDKSB7IGZpbHRlcmVkU2VsZWN0aW9uLnB1c2goc2VsZWN0aW9uKTsgfVxuICAgICAgaWYgKGZpbHRlcmVkU2VsZWN0aW9uLmxlbmd0aCA+PSB0aGlzLm1heFNlbGVjdGlvbk51bWJlcikgeyBicmVhazsgfVxuICAgIH1cbiAgICByZXR1cm4gZmlsdGVyZWRTZWxlY3Rpb247XG4gIH1cblxuICAvKipcbiAgICogZnVuY3Rpb24gdGhhdCByZXR1cm5zIGFuIEFycmF5IG9mIGltcG9ydGFuY2VzXG4gICAqL1xuICBwdWJsaWMgZ2V0SW1wb3J0YW5jZXMoKTogQXJyYXk8c3RyaW5nPiB7XG4gICAgcmV0dXJuIFsncHJpbWFyeScsICdzZWNvbmRhcnknLCAndGVydGlhcnknXTtcbiAgfVxuXG4gIC8qKlxuICAgKiB1cGRhdGVzIHRoZSBpbXBvcnRhbmNlIG9mIGEgZ2l2ZW4gaW5ncmVkaWVudFxuICAgKiBAcGFyYW0gdmFsdWUgbmV3IHZhbHVlXG4gICAqIEBwYXJhbSBpbmRleCBvZiB0aGUgaW5ncmVkaWVudFxuICAgKi9cbiAgdXBkYXRlSW1wb3J0YW5jZSh2YWx1ZTogc3RyaW5nLCBpbmRleDogbnVtYmVyKSB7XG4gICAgICB0aGlzLmxpc3QuY29udHJvbHNbaW5kZXhdWydjb250cm9scyddWydhdHRyaWJ1dGVzJ11bJ2NvbnRyb2xzJ11bJ2ltcG9ydGFuY2UnXS52YWx1ZSA9IHZhbHVlO1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgdGhpcy5saXN0Lm1hcmtBc0RpcnR5KCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtaWFtLWxpc3QtaW5wdXRcIj5cbiAgPGRpdiBjbGFzcz1cIm1pYW0tbGlzdC1pbnB1dF9fbGlzdFwiIFtmb3JtR3JvdXBdPVwibGlzdFwiPlxuICAgIDxkaXYgY2xhc3M9XCJtaWFtLWxpc3QtaW5wdXRfX2xpc3RfX2xhYmVsXCIgKm5nSWY9XCJpbmdyZWRpZW50TW9kZVwiIGkxOG4+SW5ncsOpZGllbnRzPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tbGlzdC1pbnB1dF9fbGlzdF9fbGFiZWxcIiAqbmdJZj1cIiFpbmdyZWRpZW50TW9kZVwiIGkxOG4+w4l0YXBlczwvZGl2PlxuICAgIDx1bCAqbmdJZj0nbGlzdC5jb250cm9scz8ubGVuZ3RoID4gMCBlbHNlIGhpbnRQbGFjZWhvbGRlcicgY2xhc3M9XCJtaWFtLWxpc3QtaW5wdXRfX2NvbnRhaW5lciBtLWRlZmF1bHQtY2FyZFwiIGNka0Ryb3BMaXN0IChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcCgkZXZlbnQpXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPSchaW5ncmVkaWVudE1vZGUgZWxzZSBpbmdyZWRpZW50Um93Jz5cbiAgICAgICAgPGxpICpuZ0Zvcj1cImxldCByb3cgb2YgbGlzdC5jb250cm9sczsgbGV0IGkgPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeUluZGV4XCIgIGNka0RyYWc+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT1cInJvd1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT1cInJvdz8uZ2V0KCdhdHRyaWJ1dGVzJylcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tbGlzdC1pbnB1dF9fY29udGFpbmVyX19yb3cgIG0tZGVmYXVsdC1jYXJkXCI+XG4gICAgICAgICAgICAgIDxuZy1taWFtLWljb24gcHJpbWFyeUNvbG9yPVwidmFyKC0tbS1jb2xvci1ncmV5MDUpXCIgY2xhc3M9XCJtaWFtLWxpc3QtaW5wdXRfX3Jvd19fZ3JpcFwiICBbaWNvbk5hbWVdPVwiaWNvbi5HcmlwXCIgY2RrRHJhZ0hhbmRsZT48L25nLW1pYW0taWNvbj5cbiAgICAgICAgICAgICAgPHRleHRhcmVhICBjZGtUZXh0YXJlYUF1dG9zaXplPSd0cnVlJyAjYXV0b3NpemU9XCJjZGtUZXh0YXJlYUF1dG9zaXplXCIgKGJsdXIpPSdjaGVja1JvdyhpKSdcbiAgICAgICAgICAgICAgICBjZGtBdXRvc2l6ZU1pblJvd3M9XCIxXCIgY2RrQXV0b3NpemVNYXhSb3dzPVwiNTBcIiBjbGFzcz1cIm0taW5wdXRcIiBmb3JtQ29udHJvbE5hbWU9J2Rlc2NyaXB0aW9uJz48L3RleHRhcmVhPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPG5nLW1pYW0taWNvbiBjbGFzcz1cIm1pYW0tbGlzdC1pbnB1dF9fcm93X190cmFzaFwiIChjbGljayk9XCJkZWxldGUoaSlcIiBwcmltYXJ5Q29sb3I9XCJ2YXIoLS1tLWNvbG9yLWdyZXkwNSlcIiBbaWNvbk5hbWVdPVwiaWNvbi5UcmFzaFwiPjwvbmctbWlhbS1pY29uPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1saXN0LWlucHV0X19yb3dfX3BsYWNlaG9sZGVyXCIgKmNka0RyYWdQbGFjZWhvbGRlcj48L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tbGlzdC1pbnB1dF9fcm93X19wcmV2aWV3IG0tZGVmYXVsdC1jYXJkXCIgKmNka0RyYWdQcmV2aWV3PlxuICAgICAgICAgICAgICAgIDxuZy1taWFtLWljb24gcHJpbWFyeUNvbG9yPVwidmFyKC0tbS1jb2xvci1ncmV5MDUpXCIgW2ljb25OYW1lXT1cImljb24uR3JpcFwiIGNka0RyYWdIYW5kbGU+PC9uZy1taWFtLWljb24+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtaWFtLWxpc3QtaW5wdXRfX3ByZXZpZXdfX3RleHQgbS1ib2R5LXR5cG9cIj57e3Jvdz8uZ2V0KCdhdHRyaWJ1dGVzJyk/LmdldCgnZGVzY3JpcHRpb24nKS52YWx1ZX19PC9zcGFuPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2xpPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctdGVtcGxhdGUgI2luZ3JlZGllbnRSb3c+XG4gICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCByb3cgb2YgbGlzdC5jb250cm9sczsgbGV0IGkgPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeUluZGV4XCIgY2RrRHJhZz5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLWxpc3QtaW5wdXRfX2NvbnRhaW5lcl9fcm93IG0tZGVmYXVsdC1jYXJkXCIgW2Zvcm1Hcm91cE5hbWVdPVwiaVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1saXN0LWlucHV0X19yb3dfX2xlZnRcIj5cbiAgICAgICAgICAgICAgICA8bmctbWlhbS1pY29uIHByaW1hcnlDb2xvcj1cInZhcigtLW0tY29sb3ItZ3JleTA1KVwiIGNsYXNzPVwibWlhbS1saXN0LWlucHV0X19yb3dfX2dyaXBcIlxuICAgICAgICAgICAgICAgIFtpY29uTmFtZV09XCJpY29uLkdyaXBcIiBjZGtEcmFnSGFuZGxlPjwvbmctbWlhbS1pY29uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tbGlzdC1pbnB1dF9fcm93X19yaWdodFwiPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBbYXR0ci5saXN0XT1cIidtaWFtLWxpc3QtaW5wdXQtZHJvcGRvd24taW5ncmVkaWVudHMtaWQnICsgaVwiXG4gICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIihpc0luZ3JlZGllbnRSZXZpZXdlZChyb3dbJ2NvbnRyb2xzJ11bJ2F0dHJpYnV0ZXMnXVsnY29udHJvbHMnXVsnbmFtZSddLnZhbHVlKSB8IGFzeW5jICkgPyAnYWxlcnQtc3VjY2VzcycgOiAnYWxlcnQtZGFuZ2VyJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cInJvd1snY29udHJvbHMnXVsnYXR0cmlidXRlcyddWydjb250cm9scyddWyduYW1lJ10udmFsdWUgfCBjYXBpdGFsaXplRmlyc3RMZXR0ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwicm93Wydjb250cm9scyddWydhdHRyaWJ1dGVzJ11bJ2NvbnRyb2xzJ11bJ25hbWUnXVwiXG4gICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibS1pbnB1dFwiLz5cbiAgICAgICAgICAgICAgICA8ZGF0YWxpc3QgW2F0dHIuaWRdPVwiJ21pYW0tbGlzdC1pbnB1dC1kcm9wZG93bi1pbmdyZWRpZW50cy1pZCcgKyBpXCI+XG4gICAgICAgICAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBpbmcgb2YgZ2V0RmlsdGVyZWROYW1lRnJvbUluZGV4KGkpO1wiIFt2YWx1ZV09XCJpbmcgfCBjYXBpdGFsaXplRmlyc3RMZXR0ZXJcIj48L29wdGlvbj5cbiAgICAgICAgICAgICAgICA8L2RhdGFsaXN0PlxuXG4gICAgICAgICAgICAgICAgPGlucHV0IFtuZ01vZGVsXT1cInJvd1snY29udHJvbHMnXVsnYXR0cmlidXRlcyddWydjb250cm9scyddWydxdWFudGl0eSddLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidXBkYXRlUXVhbnRpdHlWYWx1ZSgkZXZlbnQsIGkpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInJvd1snY29udHJvbHMnXVsnYXR0cmlidXRlcyddWydjb250cm9scyddWydxdWFudGl0eSddXCJcbiAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtLWlucHV0XCIgbWF4U2l6ZT00ICBhdXRvV2lkdGhJbnB1dCAvPlxuXG4gICAgICAgICAgICAgICAgPGlucHV0IFthdHRyLmxpc3RdPVwiJ21pYW0tbGlzdC1pbnB1dC1kcm9wZG93bi11bml0cy1pZCcgKyBpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiKGlzUXVhbnRpdHlSZXZpZXdlZChyb3dbJ2NvbnRyb2xzJ11bJ2F0dHJpYnV0ZXMnXVsnY29udHJvbHMnXVsndW5pdCddLnZhbHVlKSB8IGFzeW5jICkgPyAnYWxlcnQtc3VjY2VzcycgOiAnYWxlcnQtZGFuZ2VyJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJyb3dbJ2NvbnRyb2xzJ11bJ2F0dHJpYnV0ZXMnXVsnY29udHJvbHMnXVsndW5pdCddXCJcbiAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtLWlucHV0XCIgbWF4U2l6ZT04IGF1dG9XaWR0aElucHV0Lz5cbiAgICAgICAgICAgICAgICA8ZGF0YWxpc3QgW2F0dHIuaWRdPVwiJ21pYW0tbGlzdC1pbnB1dC1kcm9wZG93bi11bml0cy1pZCcgKyBpXCI+XG4gICAgICAgICAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCB1bml0IG9mIGdldEZpbHRlcmVkVW5pdHNGcm9tSW5kZXgoaSk7XCIgW3ZhbHVlXT1cInVuaXRcIj48L29wdGlvbj5cbiAgICAgICAgICAgICAgICA8L2RhdGFsaXN0PlxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJnZXRJbXBvcnRhbmNlcygpLmxlbmd0aCA+IDBcIiBjbGFzcz1cIm1pYW0tbGlzdC1pbnB1dF9faW1wb3J0YW5jZVwiPlxuICAgICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgaW1wb3J0YW5jZSBvZiBnZXRJbXBvcnRhbmNlcygpO1wiIGNsYXNzPVwibWlhbS1saXN0LWlucHV0X19pbXBvcnRhbmNlX19yYWRpb1wiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cIidpbXBvcnRhbmNlJyArIGlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lkXT1cIidpbXBvcnRhbmNlLWlkLScgKyBpbXBvcnRhbmNlICsgaVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiaW1wb3J0YW5jZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidXBkYXRlSW1wb3J0YW5jZShpbXBvcnRhbmNlLCBpKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwicm93Wydjb250cm9scyddWydhdHRyaWJ1dGVzJ11bJ2NvbnRyb2xzJ11bJ2ltcG9ydGFuY2UnXVwiLz5cbiAgICAgICAgICAgICAgICAgICAgPCEtLSBUT0RPIGFkZCBpMThuIHRhZyB0byBsYWJlbHMgKGludGVybmF0aW9uYWxpemF0aW9uKSAtLT5cbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsICpuZ0lmPVwiaW1wb3J0YW5jZSA9PT0gJ3ByaW1hcnknXCIgZm9yPVwie3snaW1wb3J0YW5jZS1pZC1wcmltYXJ5JyArIGl9fVwiPlByaW1vcmRpYWw8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8bGFiZWwgKm5nSWY9XCJpbXBvcnRhbmNlID09PSAnc2Vjb25kYXJ5J1wiIGZvcj1cInt7J2ltcG9ydGFuY2UtaWQtc2Vjb25kYXJ5JyArIGl9fVwiPlNlY29uZGFpcmU8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8bGFiZWwgKm5nSWY9XCJpbXBvcnRhbmNlID09PSAndGVydGlhcnknXCIgZm9yPVwie3snaW1wb3J0YW5jZS1pZC10ZXJ0aWFyeScgKyBpfX1cIj5GYWN1bHRhdGlmPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tbGlzdC1pbnB1dF9fcm93X19jb250cm9sc1wiPlxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiaW5nLXBpY3R1cmUte3tpfX1cIiAqbmdJZj1cImluZ3JlZGllbnRzUGljdHVyZXMudmlzaWJsZVwiPlxuICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwicm93LmNvbnRyb2xzLmF0dHJpYnV0ZXMuY29udHJvbHNbJ3BpY3R1cmUtdXJsJ10/LnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgY2xpY2thYmxlOiBpbmdyZWRpZW50c1BpY3R1cmVzLmVkaXRhYmxlIH1cIlxuICAgICAgICAgICAgICAgICAgW3NyY109XCJyb3cuY29udHJvbHMuYXR0cmlidXRlcy5jb250cm9sc1sncGljdHVyZS11cmwnXS52YWx1ZVwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cIm1pYW0tbGlzdC1pbnB1dF9fcm93X19waWN0dXJlXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLW1pYW0taWNvblxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhcm93LmNvbnRyb2xzLmF0dHJpYnV0ZXMuY29udHJvbHNbJ3BpY3R1cmUtdXJsJ10/LnZhbHVlICYmIGluZ3JlZGllbnRzUGljdHVyZXMuZWRpdGFibGVcIlxuICAgICAgICAgICAgICAgICAgW2ljb25OYW1lXT1cImljb24uUGljdHVyZVwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cIm1pYW0tbGlzdC1pbnB1dF9fcm93X190cmFzaFwiXG4gICAgICAgICAgICAgICAgICBwcmltYXJ5Q29sb3I9XCJ2YXIoLS1tLWNvbG9yLWdyZXkwNSlcIlxuICAgICAgICAgICAgICAgID48L25nLW1pYW0taWNvbj5cbiAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgKm5nSWY9XCJpbmdyZWRpZW50c1BpY3R1cmVzLnZpc2libGUgJiYgaW5ncmVkaWVudHNQaWN0dXJlcy5lZGl0YWJsZSAmJiAhYmlnSW1hZ2VXYXJuaW5nXCJcbiAgICAgICAgICAgICAgICBpZD1cImluZy1waWN0dXJlLXt7aX19XCJcbiAgICAgICAgICAgICAgICB0eXBlPVwiZmlsZVwiXG4gICAgICAgICAgICAgICAgYWNjZXB0PVwiaW1hZ2UvanBlZywgaW1hZ2UvcG5nLCBpbWFnZS93ZWJwXCJcbiAgICAgICAgICAgICAgICAoY2hhbmdlKT1cInVwbG9hZEluZ3JlZGllbnRQaWN0dXJlKCRldmVudC50YXJnZXQuZmlsZXMsIHJvdy5jb250cm9scy5hdHRyaWJ1dGVzLmNvbnRyb2xzWydwaWN0dXJlLXVybCddKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPG5nLW1pYW0taWNvbiBjbGFzcz1cIm1pYW0tbGlzdC1pbnB1dF9fcm93X190cmFzaFwiIChjbGljayk9XCJkZWxldGUoaSlcIiBwcmltYXJ5Q29sb3I9XCJ2YXIoLS1tLWNvbG9yLWdyZXkwNSlcIiBbaWNvbk5hbWVdPVwiaWNvbi5UcmFzaFwiPjwvbmctbWlhbS1pY29uPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLWxpc3QtaW5wdXRfX3Jvd19fcGxhY2Vob2xkZXJcIiAqY2RrRHJhZ1BsYWNlaG9sZGVyPjwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLWxpc3QtaW5wdXRfX3Jvd19fcHJldmlldyBtLWRlZmF1bHQtY2FyZFwiICpjZGtEcmFnUHJldmlldz5cbiAgICAgICAgICAgICAgICAgIDxuZy1taWFtLWljb24gcHJpbWFyeUNvbG9yPVwidmFyKC0tbS1jb2xvci1ncmV5LXRleHQtZGFyaylcIlxuICAgICAgICAgICAgICAgICAgICBbaWNvbk5hbWVdPVwiaWNvbi5HcmlwXCIgY2RrRHJhZ0hhbmRsZT48L25nLW1pYW0taWNvbj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibS1ib2R5LXR5cG9cIj57e3Jvdz8uZ2V0KCdhdHRyaWJ1dGVzJyk/LmdldCgnbmFtZScpLnZhbHVlIHwgY2FwaXRhbGl6ZUZpcnN0TGV0dGVyfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm0tYm9keS10eXBvXCI+e3tyb3c/LmdldCgnYXR0cmlidXRlcycpPy5nZXQoJ3F1YW50aXR5JykudmFsdWV9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibS1ib2R5LXR5cG9cIj57e3Jvdz8uZ2V0KCdhdHRyaWJ1dGVzJyk/LmdldCgndW5pdCcpLnZhbHVlfX08L3NwYW4+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8IS0tIGluZm9ybWF0aW9uIG1lc3NhZ2UgLS0+XG4gICAgICAgICAgICA8IS0tIDxzcGFuICpuZ0lmPVwicm93Py5nZXQoJ2F0dHJpYnV0ZXMnKVsnaXNOb3RSZXZpZXdlZEluZ3JlZGllbnROYW1lJ10gJiYgIXJvdy5pbnZhbGlkICYmICFoaWRlRXJyb3JzXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJoaW50IHdhcm5uaW5nXCI+Tm91cyBuZSBjb25uYWlzc29ucyBwYXMgZW5jb3JlIGNldCBpbmdyw6lkaWVudDwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwicm93LmludmFsaWQgJiYgIWhpZGVFcnJvcnNcIiBjbGFzcz1cImhpbnQgZXJyb3JcIj5MZSBub20gZGUgbCdpbmdyw6lkaWVudCBuZSBwZXV0IHBhcyDDqnRyZVxuICAgICAgICAgICAgICB2aWRlPC9zcGFuPiAtLT5cbiAgICAgICAgICA8L2xpPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L3VsPlxuICA8L2Rpdj5cbiAgPG5nLXRlbXBsYXRlICNoaW50UGxhY2Vob2xkZXI+XG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tbGlzdC1pbnB1dF9fcGxhY2Vob2xkZXIgbWlhbS1saXN0LWlucHV0X19jb250YWluZXIgbS1kZWZhdWx0LWNhcmRcIj5cbiAgICAgIDxuZy1taWFtLWljb24gcHJpbWFyeUNvbG9yPVwidmFyKC0tbS1jb2xvci1ncmV5LXRleHQtZGFyaylcIiBbd2lkdGhdPVwiMTUyXCIgW2hlaWdodF09XCIxNTdcIiBbaWNvbk5hbWVdPVwiaWNvbi5FbXB0eVwiPlxuICAgICAgPC9uZy1taWFtLWljb24+XG4gICAgICA8c3BhbiBjbGFzcz1cIm1pYW0tbGlzdC1pbnB1dF9fcGxhY2Vob2xkZXJfX2hpbnQgbS1ib2R5LXR5cG9cIj5cbiAgICAgICAgPHNwYW4gaTE4bj5PdXBzLi4uIGPigJllc3QgdmlkZSwgY29tbWVuY2V6IMOgIGFqb3V0ZXIgZGVzIDwvc3Bhbj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJpbmdyZWRpZW50TW9kZVwiIGkxOG4+aW5ncsOpZGllbnRzICE8L3NwYW4+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwiIWluZ3JlZGllbnRNb2RlXCIgaTE4bj7DqXRhcGVzICE8L3NwYW4+XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG4gIDxkaXYgY2xhc3M9XCJtaWFtLWxpc3QtaW5wdXRfX2FjdGlvbnNcIj5cbiAgICA8dGV4dGFyZWEgKm5nSWY9XCJwbGFjZWhvbGRlciAmJiBwbGFjZWhvbGRlci5sZW5ndGggPiAwXCIgbWF0SW5wdXQgY2xhc3M9XCJtLWlucHV0XCIgY2RrVGV4dGFyZWFBdXRvc2l6ZSAgY2RrQXV0b3NpemVNaW5Sb3dzPVwiNFwiXG4gICAgICBjZGtBdXRvc2l6ZU1heFJvd3M9XCI0XCIgKGtleWRvd24uZW50ZXIpPSdtb3Vzc2VEb3duT25CdXR0b24gPSB0cnVlJ1xuICAgICAgW2Zvcm1Db250cm9sXT1cImZpbGxMaXN0SW5wdXRcIiBhdHRyLnBsYWNlaG9sZGVyPVwie3twbGFjZWhvbGRlcn19XCJcbiAgICA+XG4gICAgPC90ZXh0YXJlYT5cbiAgICA8dGV4dGFyZWEgKm5nSWY9XCIoIXBsYWNlaG9sZGVyIHx8IHBsYWNlaG9sZGVyLmxlbmd0aCA8IDEpICYmIGluZ3JlZGllbnRNb2RlXCIgbWF0SW5wdXQgY2xhc3M9XCJtLWlucHV0XCIgY2RrVGV4dGFyZWFBdXRvc2l6ZVxuICAgICAgY2RrQXV0b3NpemVNaW5Sb3dzPVwiNFwiIGNka0F1dG9zaXplTWF4Um93cz1cIjRcIiAoa2V5ZG93bi5lbnRlcik9J21vdXNzZURvd25PbkJ1dHRvbiA9IHRydWUnIFtmb3JtQ29udHJvbF09XCJmaWxsTGlzdElucHV0XCJcbiAgICAgIHBsYWNlaG9sZGVyPVwiRXhlbXBsZSA6XFxuNTAwZyBkZSBmYXJpbmVcXG4yNTBnIGRlIGJldXJyZVxcbmh1aWxlIGRcXCdvbGl2ZVxcbjQgdHJhbmNoZXMgZGUgamFtYm9uXCJcbiAgICAgIGkxOG4tcGxhY2Vob2xkZXJcbiAgICA+XG4gICAgPC90ZXh0YXJlYT5cbiAgICA8dGV4dGFyZWEgKm5nSWY9XCIoIXBsYWNlaG9sZGVyIHx8IHBsYWNlaG9sZGVyLmxlbmd0aCA8IDEpICYmICFpbmdyZWRpZW50TW9kZVwiIG1hdElucHV0IGNsYXNzPVwibS1pbnB1dFwiIGNka1RleHRhcmVhQXV0b3NpemVcbiAgICAgIGNka0F1dG9zaXplTWluUm93cz1cIjRcIiBjZGtBdXRvc2l6ZU1heFJvd3M9XCI0XCIgKGtleWRvd24uZW50ZXIpPSdtb3Vzc2VEb3duT25CdXR0b24gPSB0cnVlJyBbZm9ybUNvbnRyb2xdPVwiZmlsbExpc3RJbnB1dFwiXG4gICAgICBwbGFjZWhvbGRlcj1cIkV4ZW1wbGUgOlxcbkhhY2hlciBncm9zc2nDqHJlbWVudCBsZSBjw6lsZXJpIGV0IGwnb2lnbm9uLlxcbkNvdXBlciBsZSBjaG91LWZsZXVyIGVuIHBldGl0cyBib3VxdWV0cy5cIlxuICAgICAgaTE4bi1wbGFjZWhvbGRlclxuICAgID5cbiAgICA8L3RleHRhcmVhPlxuICAgIDxidXR0b24gY2xhc3M9XCJtLWJ1dHRvbi1wcmltYXJ5XCIgKG1vdXNlZG93bik9J21vdXNzZURvd25PbkJ1dHRvbiA9IHRydWUnIChtb3VzZXVwKT1cInN1Ym1pdCgpXCI+XG4gICAgICA8c3BhbiBpMThuPkFqb3V0ZXIgPC9zcGFuPlxuICAgICAgPHNwYW4gY2xhc3M9XCJtaWFtLWxpc3QtaW5wdXRfX2luc3RydWN0aW9uc19fZGlyZWN0aW9uXCI+Pj48L3NwYW4+XG4gICAgPC9idXR0b24+XG4gICAgPGRpdiAqbmdJZj1cImluc3RydWN0aW9uc1wiIGNsYXNzPVwibWlhbS1saXN0LWlucHV0X19hY3Rpb25zX19pbnN0cnVjdGlvbnNcIj57eyBpbnN0cnVjdGlvbnMgfX08L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiIWluc3RydWN0aW9ucyAmJiBpbmdyZWRpZW50TW9kZVwiIGNsYXNzPVwibWlhbS1saXN0LWlucHV0X19hY3Rpb25zX19pbnN0cnVjdGlvbnNcIj5cbiAgICAgIDxzcGFuIGkxOG4+Vm91cyBwb3V2ZXogc2Fpc2lyIHVuIGluZ3LDqWRpZW50IG91IGNvcGllciBjb2xsZXIgdW5lIGxpc3RlIGTigJlpbmdyw6lkaWVudHMuPC9zcGFuPlxuICAgICAgPGJyIC8+XG4gICAgICA8c3BhbiBpMThuPlVuZSBsaWduZSBjb3JyZXNwb25kIMOgIHVuIGluZ3LDqWRpZW50Ljwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiIWluc3RydWN0aW9ucyAmJiAhaW5ncmVkaWVudE1vZGVcIiBjbGFzcz1cIm1pYW0tbGlzdC1pbnB1dF9fYWN0aW9uc19faW5zdHJ1Y3Rpb25zXCI+XG4gICAgICA8c3BhbiBpMThuPlZvdXMgcG91dmV6IHNhaXNpciB1bmUgw6l0YXBlIG91IGNvcGllciBjb2xsZXIgdW5lIGxpc3RlIGTigJnDqXRhcGVzLjwvc3Bhbj5cbiAgICAgIDxiciAvPlxuICAgICAgPHNwYW4gaTE4bj5VbmUgbGlnbmUgY29ycmVzcG9uZCDDoCB1bmUgw6l0YXBlLjwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPCEtLSBJTkdSRURJRU5UIFBJQ1RVUkUgRVJST1IgTU9EQUwtLT5cbjxuZy1taWFtLW1vZGFsIFxuICAqbmdJZj1cImJpZ0ltYWdlV2FybmluZ1wiXG4gIFtpc0FuZ3VsYXJDb21wb25lbnRdPVwidHJ1ZVwiIFxuICBbbm9IZWFkZXJNb2RlXT1cImZhbHNlXCJcbiAgW2V4cGFuZGVkXT1cInRydWVcIlxuICBpMThuLXRpdGxlXG4gIHRpdGxlPVwiSW1hZ2UgdHJvcCB2b2x1bWluZXVzZVwiXG4gIGNvbmZpcm1CdXR0b25UZXh0PVwiRmVybWVyXCJcbiAgKGNsb3NlKT1cImNsb3NlQmlnSW1hZ2VFcnJvck1vZGFsKClcIlxuICAoY29uZmlybSk9XCJjbG9zZUJpZ0ltYWdlRXJyb3JNb2RhbCgpXCJcbj5cbiAgPHNwYW4gaTE4biBjbGFzcz1cIm1pYW0tbGlzdC1pbnB1dF9fcGljdHVyZV9fd2FybmluZ1wiPlZvdHJlIGltYWdlIGVzdCB0cm9wIGxvdXJkZSAobGEgdGFpbGxlIGRvaXQgw6p0cmUgaW5mw6lyaWV1cmUgw6AgNTAwIEtvKS4gTWVyY2kgZOKAmWVuIGFqb3V0ZXIgdW5lIHBsdXMgbMOpZ8OocmUuPC9zcGFuPlxuPC9uZy1taWFtLW1vZGFsPiJdfQ==
|
|
@@ -145,6 +145,9 @@ export class ContextService {
|
|
|
145
145
|
setDefaultIngredientPicture: (url) => {
|
|
146
146
|
this.defaultIngredientPicture = url;
|
|
147
147
|
},
|
|
148
|
+
search: (provider, query) => {
|
|
149
|
+
return this.recipesService.all({ remotefilter: { recipe_provider_id: provider, search: query } }).pipe(skipWhile(result => !result), map(response => response['data']));
|
|
150
|
+
},
|
|
148
151
|
// We keep those just in case
|
|
149
152
|
// setRecipesPrimaryButtonActions: (display = true, addToBasket = true) => {
|
|
150
153
|
// this.recipesService.setRecipesPrimaryButtonActions(display, addToBasket);
|
|
@@ -287,4 +290,4 @@ ContextService.ɵprov = i0.ɵɵdefineInjectable({ token: ContextService, factory
|
|
|
287
290
|
providedIn: 'root'
|
|
288
291
|
}]
|
|
289
292
|
}], function () { return [{ type: i1.PointOfSalesService }, { type: i2.GroceriesListsService }, { type: i3.BasketsService }, { type: i4.UserService }, { type: i5.AnalyticsService }, { type: i6.RecipesService }, { type: i7.MediaMatcher }, { type: i8.SuppliersService }, { type: i7.BreakpointObserver }, { type: i9.BasketsSynchronizerService }, { type: i10.RecipeStatusService }, { type: i11.RecipeTypeService }]; }, null); })();
|
|
290
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fc2VydmljZXMvY29udGV4dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTFELE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBZ0MsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHdEQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFFckUsTUFBTSxlQUFlLEdB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QUVPLE9BQU8sQ0FBQyxTQUFpQixFQUFFLGVBQXdCLEVBQUUsVUFBbUI7UUFDOUUsSUFBSSxTQUFTLEVBQUU7WUFDYixJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN2QztRQUNELGdIQUFnSDtRQUNoSCxJQUFJLFVBQVUsRUFBRTtZQUNkLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQywyREFBMkQ7U0FDOUY7UUFDRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFTyxnQkFBZ0I7UUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNuQyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxjQUFjLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUN6QyxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDO0lBQ3BDLENBQUM7OzRFQXJSVSxjQUFjO3NEQUFkLGNBQWMsV0FBZCxjQUFjLG1CQUZiLE1BQU07a0RBRVAsY0FBYztjQUgxQixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHcm9jZXJpZXNMaXN0c1NlcnZpY2UgfSBmcm9tICcuL2dyb2Nlcmllcy1saXN0cy5zZXJ2aWNlJztcbmltcG9ydCB7IFBvaW50T2ZTYWxlc1NlcnZpY2UgfSBmcm9tICcuL3BvaW50LW9mLXNhbGVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQmFza2V0c1NlcnZpY2UgfSBmcm9tICcuL2Jhc2tldHMuc2VydmljZSc7XG5pbXBvcnQgeyBSZWNpcGVTdGF0dXNTZXJ2aWNlIH0gZnJvbSAnLi9yZWNpcGUtc3RhdHVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVjaXBlVHlwZVNlcnZpY2UgfSBmcm9tICcuL3JlY2lwZS10eXBlLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVjaXBlUHJvdmlkZXJTZXJ2aWNlIH0gZnJvbSAnLi9yZWNpcGUtcHJvdmlkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZvcmtKb2luLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBbmFseXRpY3NTZXJ2aWNlLCBDdXN0b21Qcm9wZXJ0aWVzLCBFdmVudFRyYWNlIH0gZnJvbSAnLi9hbmFseXRpY3Muc2VydmljZSc7XG5pbXBvcnQgeyBVc2VyU2VydmljZSB9IGZyb20gJy4vdXNlci5zZXJ2aWNlJztcbmltcG9ydCB7IEljb24gfSBmcm9tICcuLi9fdHlwZXMvaWNvbi5lbnVtJztcbmltcG9ydCB7IFJlY2lwZXNTZXJ2aWNlIH0gZnJvbSAnLi9yZWNpcGVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWVkaWFNYXRjaGVyLCBCcmVha3BvaW50T2JzZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcbmltcG9ydCB7IFN1cHBsaWVyc1NlcnZpY2UgfSBmcm9tICcuL3N1cHBsaWVycy5zZXJ2aWNlJztcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuLi9fbW9kZWxzJztcbmltcG9ydCB7IG1hcCwgc2tpcFdoaWxlLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTWlhbUludGVyZmFjZSB9IGZyb20gJy4uL190eXBlcy9idWlsZGVkL21pYW0taW50ZXJmYWNlJztcbmltcG9ydCB7IENvbXBhcmFibGVQcm9kdWN0IH0gZnJvbSAnLi4vX3R5cGVzL2J1aWxkZWQvY29tcGFyYWJsZS1wcm9kdWN0JztcbmltcG9ydCB7IEJhc2tldHNTeW5jaHJvbml6ZXJTZXJ2aWNlIH0gZnJvbSAnLi9iYXNrZXRzLXN5bmNocm9uaXppbmcnO1xuXG5jb25zdCBTTUFMTF9TQ1JFRU5fQlAgPSAnKG1pbi13aWR0aDogMTAyM3B4KSc7XG5cbmludGVyZmFjZSBJY29uT3ZlcnJpZGUge1xuICBpY29uOiBJY29uO1xuICB1cmw6IHN0cmluZztcbn1cblxuLy8gQ29udGV4dCBzaGFyZWQgYmV0d2VlbiBNaWFtIFNESyAmIGhvc3QgYXBwXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDb250ZXh0U2VydmljZSB7XG4gIHVzZXJJbmZvOiBVc2VyO1xuICBpY29uczogSWNvbk92ZXJyaWRlW107XG4gIHZpZGVvUmVjaXBlc0VuYWJsZWQgPSBmYWxzZTtcbiAgYXJ0aWNsZXNJbkNhdGFsb2dFbmFibGVkID0gZmFsc2U7XG4gIHRhZ3NPblJlY2lwZXNFbmFibGVkID0gZmFsc2U7XG4gIGhvb2tDYWxsYmFjazogKGlzTG9nZ2VkLCBpc1Bvc1ZhbGlkKSA9PiBib29sZWFuO1xuICBkaXNwbGF5SW5ncmVkaWVudFBpY3R1cmVzT25SZWNpcGVDYXJkcyA9IGZhbHNlO1xuICBkZWZhdWx0SW5ncmVkaWVudFBpY3R1cmUgPSAnaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL2Fzc2V0cy5taWFtLnRlY2gvZ2VuZXJpYy9pbWFnZXMvZGVmYXVsdC1pbmdyZWRpZW50LXBpY3R1cmUuc3ZnJztcbiAgZ2xvYmFsU2Nyb2xsYWJsZUVsZW1lbnQ6IEhUTUxFbGVtZW50ID0gZG9jdW1lbnQuYm9keTtcbiAgaXNTbWFsbFNjcmVlbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcbiAgb3JpZ2luID0gJyc7XG4gIGNhdGFsb2dVcmwgPSAnJztcbiAgcmVjaXBlSW5mb1VybCA9ICcnO1xuICBzdGFydHVwRGF0YVdhc0ZldGNoZWQgPSBmYWxzZTtcblxuXG4gIHByaXZhdGUgQ09SU0lzc3VlczogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+O1xuICBwdWJsaWMgZW5hYmxlUGVyc29uYWxSZWNpcGVzJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gIG1pYW06IE1pYW1JbnRlcmZhY2UgPSB7XG4gICAgcGF5bWVudFN0YXJ0ZWQ6ICh0b3RhbFByaWNlKSA9PiB7XG4gICAgICBjb25zb2xlLmxvZygnW01pYW1dIHNlbmQgcGF5bWVudFN0YXJ0ZWQgZXZlbnQnKTtcbiAgICAgIHRoaXMub25CYXNrZXRBbmRQb3NTZW5kRXZlbnQodGhpcy5hbmFseXRpY3NTZXJ2aWNlLkVWRU5UX1BBWU1FTlRfU1RBUlRFRCwgdG90YWxQcmljZSk7XG4gICAgfSxcbiAgICBhbmFseXRpY3M6IHtcbiAgICAgIGluaXQ6IChkb21haW46IHN0cmluZywgb3B0aW1pemVLZXk/OiBzdHJpbmcpID0+IHtcbiAgICAgICAgdGhpcy5hbmFseXRpY3NTZXJ2aWNlLmluaXQoZG9tYWluLCBvcHRpbWl6ZUtleSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBiYXNrZXQ6IHtcbiAgICAgIGJhc2tldElzUmVhZHkkOiB0aGlzLmJhc2tldHNTZXJ2aWNlLmJhc2tldFN0YXRzJC5waXBlKFxuICAgICAgICBza2lwV2hpbGUoc3RhdHMgPT4gIXN0YXRzKSxcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgbWFwKCgpID0+IHRydWUpXG4gICAgICApLFxuICAgICAgaW5pdGlhbGl6ZTogKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5vcmlnaW4pIHtcbiAgICAgICAgICB0aGlzLmJhc2tldHNTZXJ2aWNlLmluaXRCYXNrZXQoKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBzdGFydCBNaWFtOiBvcmlnaW4gaGFzblxcJ3QgYmVlbiBzZXQnKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHVwZGF0ZVByaWNlYm9vazogKHByaWNlYm9va05hbWU6IHN0cmluZykgPT4gdGhpcy5iYXNrZXRzU2VydmljZS51cGRhdGVQcmljZWJvb2socHJpY2Vib29rTmFtZSksXG4gICAgfSxcbiAgICBiYXNrZXRTeW5jOiB7XG4gICAgICBkZWZpbmVQdXNoUHJvZHVjdHNUb0Jhc2tldDogKHB1c2hQcm9kdWN0c1RvQmFza2V0OiAoY29tcGFyYWJsZVByb2R1Y3RzOiBDb21wYXJhYmxlUHJvZHVjdFtdKSA9PiB2b2lkKSA9PiB7XG4gICAgICAgIHRoaXMuYmFza2V0SGFuZGxlci5wdXNoUHJvZHVjdHNUb0Jhc2tldCA9IHB1c2hQcm9kdWN0c1RvQmFza2V0O1xuICAgICAgfSxcbiAgICAgIGRlZmluZVB1c2hCYXNrZXRFbnRyaWVzVG9CYXNrZXQ6IChwdXNoQmFza2V0RW50cmllc1RvQmFza2V0OiAoZW50cmllczogYW55W10pID0+IHZvaWQpID0+IHtcbiAgICAgICAgdGhpcy5iYXNrZXRIYW5kbGVyLnB1c2hCYXNrZXRFbnRyaWVzVG9CYXNrZXQgPSBwdXNoQmFza2V0RW50cmllc1RvQmFza2V0O1xuICAgICAgfSxcbiAgICAgIHJldGFpbGVyQmFza2V0Q2hhbmdlZDogKGNvbXBhcmFibGVQcm9kdWN0czogQ29tcGFyYWJsZVByb2R1Y3RbXSk6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLmJhc2tldEhhbmRsZXIucmV0YWlsZXJCYXNrZXRDaGFuZ2VkKGNvbXBhcmFibGVQcm9kdWN0cyk7XG4gICAgICAgIHRoaXMuc3VwcGxpZXJzU2VydmljZS5sYXN0U3VwcGxpZXJCYXNrZXQgPSBjb21wYXJhYmxlUHJvZHVjdHM7XG4gICAgICB9LFxuICAgICAgaGFuZGxlUGF5bWVudDogKHRvdGFsOiBudW1iZXIpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5iYXNrZXRIYW5kbGVyLmhhbmRsZVBheW1lbnQodG90YWwpO1xuICAgICAgICB0aGlzLnN1cHBsaWVyc1NlcnZpY2UubGFzdFN1cHBsaWVyQmFza2V0ID0gW107XG4gICAgICB9XG4gICAgfSxcbiAgICBmZWF0dXJlczoge1xuICAgICAgZW5hYmxlVmlkZW9SZWNpcGVzOiAoKSA9PiB7XG4gICAgICAgIHRoaXMudmlkZW9SZWNpcGVzRW5hYmxlZCA9IHRydWU7XG4gICAgICAgIC8vIEluamVjdCB5b3V0dWJlIHNjcmlwdFxuICAgICAgICBjb25zdCB0YWcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICAgICAgdGFnLnNyYyA9ICdodHRwczovL3d3dy55b3V0dWJlLmNvbS9pZnJhbWVfYXBpJztcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0YWcpO1xuICAgICAgfSxcbiAgICAgIGVuYWJsZUFydGljbGVzSW5DYXRhbG9nOiAoKSA9PiB7XG4gICAgICAgIHRoaXMuYXJ0aWNsZXNJbkNhdGFsb2dFbmFibGVkID0gdHJ1ZTtcbiAgICAgIH0sXG4gICAgICBlbmFibGVVc2VyUHJlZmVyZW5jZXM6ICgpID0+IHtcbiAgICAgICAgdGhpcy51c2VyU2VydmljZS5wcmVmZXJlbmNlc0FjdGl2YXRlZCQubmV4dCh0cnVlKTtcbiAgICAgIH0sXG4gICAgICBlbmFibGVUYWdzT25SZWNpcGVzOiAoKSA9PiB7XG4gICAgICAgIHRoaXMudGFnc09uUmVjaXBlc0VuYWJsZWQgPSB0cnVlO1xuICAgICAgfSxcbiAgICAgIGVuYWJsZVBlcnNvbmFsUmVjaXBlczogKCkgPT4ge1xuICAgICAgICB0aGlzLmVuYWJsZVBlcnNvbmFsUmVjaXBlcyQubmV4dCh0cnVlKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGhvb2s6IHtcbiAgICAgIHNldEhvb2tDYWxsYmFjazogKGNhbGxiYWNrOiAoaXNMb2dnZWQsIGlzUG9zVmFsaWQpID0+IGJvb2xlYW4pID0+IHtcbiAgICAgICAgdGhpcy5ob29rQ2FsbGJhY2sgPSBjYWxsYmFjaztcbiAgICAgIH1cbiAgICB9LFxuICAgIGxpc3Q6IHtcbiAgICAgIHJlc2V0OiAoKSA9PiB0aGlzLmxpc3RzU2VydmljZS5yZXNldExpc3QoKS5zdWJzY3JpYmUoKSxcbiAgICAgIGFkZFJlY2lwZTogKHJlY2lwZUlkLCBndWVzdHMpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGlzdHNTZXJ2aWNlLmFwcGVuZFJlY2lwZVRvTGlzdChyZWNpcGVJZCwgZ3Vlc3RzLCB7IG9yaWdpblBhdGg6ICdjbGllbnQnLCBwcm9wczogeyByZWNpcGVfaWQ6IHJlY2lwZUlkIH0gfSk7XG4gICAgICB9LFxuICAgICAgaGFzUmVjaXBlOiAocmVjaXBlSWQpID0+IHRoaXMubGlzdHNTZXJ2aWNlLnJlY2lwZUlzSW5MaXN0KHJlY2lwZUlkKSxcbiAgICAgIHJlY2lwZUNvdW50OiAoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmxpc3RzU2VydmljZS5saXN0JC5waXBlKFxuICAgICAgICAgIHNraXBXaGlsZShsID0+ICFsKSxcbiAgICAgICAgICBtYXAobCA9PiBsLmF0dHJpYnV0ZXNbJ3JlY2lwZXMtaWRzJ10ubGVuZ3RoKVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0sXG4gICAgcG9zOiB7XG4gICAgICBsb2FkOiAoZXh0ZXJuYWxJZCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5vcmlnaW4pIHtcbiAgICAgICAgICB0aGlzLnBvc1NlcnZpY2UubG9hZFBvc1dpdGhFeHRJZChleHRlcm5hbElkKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBzdGFydCBNaWFtOiBvcmlnaW4gaGFzblxcJ3QgYmVlbiBzZXQnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgcmVjaXBlczoge1xuICAgICAgaGlkZGVuOiB0aGlzLnJlY2lwZXNTZXJ2aWNlLmhpZGRlbixcbiAgICAgIHNob3VsZERpc3BsYXlJbmdyZWRpZW50UGljdHVyZXNPblJlY2lwZUNhcmRzOiAoc2hvdWxkOiBib29sZWFuKSA9PiB7XG4gICAgICAgIHRoaXMuZGlzcGxheUluZ3JlZGllbnRQaWN0dXJlc09uUmVjaXBlQ2FyZHMgPSBzaG91bGQ7XG4gICAgICB9LFxuICAgICAgc2V0RGVmYXVsdEluZ3JlZGllbnRQaWN0dXJlOiAodXJsOiBzdHJpbmcpID0+IHtcbiAgICAgICAgdGhpcy5kZWZhdWx0SW5ncmVkaWVudFBpY3R1cmUgPSB1cmw7XG4gICAgICB9LFxuICAgICAgLy8gV2Uga2VlcCB0aG9zZSBqdXN0IGluIGNhc2VcbiAgICAgIC8vIHNldFJlY2lwZXNQcmltYXJ5QnV0dG9uQWN0aW9uczogKGRpc3BsYXkgPSB0cnVlLCBhZGRUb0Jhc2tldCA9IHRydWUpID0+IHtcbiAgICAgIC8vICAgdGhpcy5yZWNpcGVzU2VydmljZS5zZXRSZWNpcGVzUHJpbWFyeUJ1dHRvbkFjdGlvbnMoZGlzcGxheSwgYWRkVG9CYXNrZXQpO1xuICAgICAgLy8gfSxcbiAgICAgIC8vIHNldFN1Z2dlc3Rpb25zUHJpbWFyeUJ1dHRvbkFjdGlvbnM6IChkaXNwbGF5ID0gdHJ1ZSwgYWRkVG9CYXNrZXQgPSB0cnVlKSA9PiB7XG4gICAgICAvLyAgIHRoaXMucmVjaXBlc1NlcnZpY2Uuc2V0U3VnZ2VzdGlvbnNQcmltYXJ5QnV0dG9uQWN0aW9ucyhkaXNwbGF5LCBhZGRUb0Jhc2tldCk7XG4gICAgICAvLyB9LFxuICAgICAgc2V0RGlmZmljdWx0eUxldmVsczogKGxldmVsczogeyB2YWx1ZTogbnVtYmVyLCBsYWJlbDogc3RyaW5nIH1bXSkgPT4ge1xuICAgICAgICB0aGlzLnJlY2lwZXNTZXJ2aWNlLmRpZmZpY3VsdHlMZXZlbHMgPSBsZXZlbHM7XG4gICAgICB9LFxuICAgICAgc2hvd0NvbmZpcm1hdGlvblRvYXN0ZXI6ICgpID0+IHtcbiAgICAgICAgdGhpcy5yZWNpcGVzU2VydmljZS5jb25maXJtYXRpb25Ub2FzdGVyID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHJvdXRlcjoge1xuICAgICAgc2V0UmVjaXBlQ2F0YWxvZ1VybDogKHVybCA9ICcnKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuY2F0YWxvZ1VybCA9IHVybDtcbiAgICAgIH0sXG4gICAgICBzZXRSZWNpcGVJbmZvTGluazogKHVybCA9ICcnKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMucmVjaXBlSW5mb1VybCA9IHVybDtcbiAgICAgIH0sXG4gICAgfSxcbiAgICBzdXBwbGllcjoge1xuICAgICAgc2V0T3JpZ2luOiAob3JpZ2luOiBzdHJpbmcpID0+IHtcbiAgICAgICAgaWYgKG9yaWdpbi5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgdGhpcy5vcmlnaW4gPSBvcmlnaW47XG4gICAgICAgICAgaWYgKCF0aGlzLnN0YXJ0dXBEYXRhV2FzRmV0Y2hlZCkge1xuICAgICAgICAgICAgdGhpcy5mZXRjaFN0YXJ0dXBEYXRhKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgbG9hZDogKHN1cHBsaWVySWQ6IG51bWJlciB8IHN0cmluZykgPT4ge1xuICAgICAgICBpZiAodGhpcy5vcmlnaW4pIHtcbiAgICAgICAgICB0aGlzLnN1cHBsaWVyc1NlcnZpY2UubG9hZFN1cHBsaWVyKHN1cHBsaWVySWQudG9TdHJpbmcoKSkuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3Qgc3RhcnQgTWlhbTogb3JpZ2luIGhhc25cXCd0IGJlZW4gc2V0Jyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZXI6IHtcbiAgICAgIGxvYWRXaXRoRXh0ZXJuYWxJZDogKGlkLCBmb3JiaWRQcm9maWxpbmcgPSBmYWxzZSwgaW5pdEJhc2tldCA9IGZhbHNlKSA9PiB7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdfbWlhbS91c2VySWQnLCBpZCk7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdfbWlhbS91c2VyVG9rZW4nKTtcbiAgICAgICAgcmV0dXJuIHRoaXMubG9nVXNlcihpZCwgZm9yYmlkUHJvZmlsaW5nLCBpbml0QmFza2V0KTtcbiAgICAgIH0sXG4gICAgICByZXNldDogKCkgPT4ge1xuICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgnX21pYW0vdXNlclRva2VuJyk7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdfbWlhbS91c2VySWQnKTtcbiAgICAgICAgdGhpcy51c2VyU2VydmljZS50b2dnbGVJc0xvZ2dlZChmYWxzZSk7XG4gICAgICAgIGNvbnNvbGUubG9nKCdbTWlhbV0gd2lsbCByZWZyZXNoIGxpc3QgYWZ0ZXIgcmVzZXQnKTtcbiAgICAgICAgdGhpcy5saXN0c1NlcnZpY2UucmVmcmVzaEN1cnJlbnRMaXN0KCk7XG4gICAgICAgIHRoaXMudXNlclNlcnZpY2UucmVzZXRVc2VySW5mbygpO1xuICAgICAgfSxcbiAgICAgIHNldEZhdm9yaXRlSXRlbXM6IChmYXZvcml0ZVByb2R1Y3RJZHMpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudXNlclNlcnZpY2Uuc2V0RmF2b3JpdGVJdGVtcyhmYXZvcml0ZVByb2R1Y3RJZHMpO1xuICAgICAgfSxcbiAgICB9LFxuICAgIHZpZXc6IHtcbiAgICAgIC8vIFNldCB0aGUgbWFpbiBzY3JvbGxpbmcgSFRNTEVsZW1lbnQgb2YgdGhlIHdlYnNpdGUgc28gd2UgY2FuIGRpc2FibGUgc2Nyb2xsIHdoZW4gYSBtb2RhbC9kcmF3ZXIvcG9wdXAgaXMgb3BlblxuICAgICAgc2V0R2xvYmFsU2Nyb2xsYWJsZUVsZW1lbnQ6IChlbGVtZW50OiBIVE1MRWxlbWVudCkgPT4ge1xuICAgICAgICBpZiAoZWxlbWVudCAmJiB0aGlzLmdsb2JhbFNjcm9sbGFibGVFbGVtZW50ICE9PSBlbGVtZW50KSB7XG4gICAgICAgICAgdGhpcy5nbG9iYWxTY3JvbGxhYmxlRWxlbWVudCA9IGVsZW1lbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuXG4gICAgLyoqXG4gICAgICogT3ZlcnJpZGUgdHdvIHRpbWVzICdsbCBub3QgYmUgY29uc2lkZXJlZFxuICAgICAqIEBwYXJhbSBpY29uIGhhdmUgdG8gYmUgYSBrbm93ZWQgaWNvbiBuYW1lIHNlZSBzZWN0aW9uICdDdXN0b20gaWNvbnMnIGluIHJlYWQgbWVcbiAgICAgKiBAcGFyYW0gdXJsIG9mIHRoZSBuZXcgaWNvblxuICAgICAqL1xuICAgIG92ZXJyaWRlSWNvbjogKGljb24sIHVybCkgPT4geyAvLyBUT0RPOiBNT1ZFIFRPIGNvbnRlbnRcbiAgICAgIGlmICghdGhpcy5pY29ucykgeyB0aGlzLmljb25zID0gW107IH1cbiAgICAgIGNvbnN0IGV4aXN0aW5nSWNvbiA9IHRoaXMuaWNvbnMuZmluZCgoaTogSWNvbk92ZXJyaWRlKSA9PiBpLmljb24udG9TdHJpbmcoKSA9PT0gaWNvbik7XG4gICAgICBpZiAoZXhpc3RpbmdJY29uKSB7XG4gICAgICAgIHRoaXMuaWNvbnMuc3BsaWNlKHRoaXMuaWNvbnMuaW5kZXhPZihleGlzdGluZ0ljb24pLCAxKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuaWNvbnMucHVzaCh7IGljb24sIHVybCB9KTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBwb3NTZXJ2aWNlOiBQb2ludE9mU2FsZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgbGlzdHNTZXJ2aWNlOiBHcm9jZXJpZXNMaXN0c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBiYXNrZXRzU2VydmljZTogQmFza2V0c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhbmFseXRpY3NTZXJ2aWNlOiBBbmFseXRpY3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVjaXBlc1NlcnZpY2U6IFJlY2lwZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgbWVkaWFNYXRjaGVyOiBNZWRpYU1hdGNoZXIsXG4gICAgcHJpdmF0ZSBzdXBwbGllcnNTZXJ2aWNlOiBTdXBwbGllcnNTZXJ2aWNlLFxuICAgIHByaXZhdGUgYnJlYWtwb2ludE9ic2VydmVyOiBCcmVha3BvaW50T2JzZXJ2ZXIsXG4gICAgcHJpdmF0ZSBiYXNrZXRIYW5kbGVyOiBCYXNrZXRzU3luY2hyb25pemVyU2VydmljZSxcbiAgICBwcml2YXRlIHN0YXR1c1NlcnZpY2U6IFJlY2lwZVN0YXR1c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSB0eXBlU2VydmljZTogUmVjaXBlVHlwZVNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5pc1NtYWxsU2NyZWVuJC5uZXh0KCF0aGlzLm1lZGlhTWF0Y2hlci5tYXRjaE1lZGlhKFNNQUxMX1NDUkVFTl9CUCkubWF0Y2hlcyk7XG4gICAgdGhpcy5icmVha3BvaW50T2JzZXJ2ZXIub2JzZXJ2ZShTTUFMTF9TQ1JFRU5fQlApLnN1YnNjcmliZShCUENoYW5nZSA9PiB0aGlzLmlzU21hbGxTY3JlZW4kLm5leHQoIUJQQ2hhbmdlLm1hdGNoZXMpKTtcbiAgICB0aGlzLmljb25zID0gW107XG4gICAgdGhpcy5DT1JTSXNzdWVzID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gICAgT2JqZWN0LmFzc2lnbih3aW5kb3csIHsgbWlhbTogdGhpcy5taWFtIH0pO1xuXG4gIH1cblxuICBzZXRDT1JTSXNzdWVTdGF0ZSh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuQ09SU0lzc3Vlcy5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIGdldENPUlNJc3N1ZXNTdGF0ZSgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5DT1JTSXNzdWVzLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0T3ZlcnJpZGVJY29uVXJsKGljb246IEljb24pOiBzdHJpbmcge1xuICAgIGNvbnN0IGZpbmRpY29uID0gdGhpcy5pY29ucy5maW5kKGVsID0+IGVsLmljb24udG9TdHJpbmcoKSA9PT0gSWNvbltpY29uXSk7XG4gICAgcmV0dXJuIGZpbmRpY29uID8gZmluZGljb24udXJsIDogJyc7XG4gIH1cblxuICBwcml2YXRlIG9uQmFza2V0QW5kUG9zU2VuZEV2ZW50KGV2ZW50VHlwZTogc3RyaW5nLCB0b3RhbFByaWNlOiBudW1iZXIpIHtcbiAgICBmb3JrSm9pbihcbiAgICAgIFtcbiAgICAgICAgdGhpcy5iYXNrZXRzU2VydmljZS5iYXNrZXQkLmFzT2JzZXJ2YWJsZSgpLnBpcGUoc2tpcFdoaWxlKHJlcyA9PiAhcmVzKSwgdGFrZSgxKSksXG4gICAgICAgIHRoaXMucG9zU2VydmljZS5wb3MkLmFzT2JzZXJ2YWJsZSgpLnBpcGUoc2tpcFdoaWxlKHJlcyA9PiAhcmVzKSwgdGFrZSgxKSksXG4gICAgICBdXG4gICAgKS5waXBlKFxuICAgICAgc2tpcFdoaWxlKHJlcyA9PiAhcmVzWzBdIHx8ICFyZXNbMV0pLFxuICAgICAgdGFrZSgxKVxuICAgICkuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICBjb25zdCBiYXNrZXQgPSByZXNbMF07XG4gICAgICBjb25zdCBwb3MgPSByZXNbMV07XG4gICAgICBpZiAoYmFza2V0LnRvdGFsUHJpY2UgPiAwKSB7XG4gICAgICAgIGNvbnN0IHByb3BzOiBDdXN0b21Qcm9wZXJ0aWVzID0ge1xuICAgICAgICAgIHBvc19pZDogcG9zLmlkLFxuICAgICAgICAgIHBvc19uYW1lOiBwb3MuYXR0cmlidXRlcy5uYW1lLFxuICAgICAgICAgIGJhc2tldF9pZDogYmFza2V0LmlkLFxuICAgICAgICAgIG1pYW1fYW1vdW50OiBiYXNrZXQudG90YWxQcmljZSxcbiAgICAgICAgICB0b3RhbF9hbW91bnQ6IHRvdGFsUHJpY2VcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5hbmFseXRpY3NTZXJ2aWNlLnNlbmRFdmVudFdoZW5SZWFkeShldmVudFR5cGUsIG51bGwsIHByb3BzKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgbG9nVXNlcih0b2tlbk9ySWQ6IHN0cmluZywgZm9yYmlkUHJvZmlsaW5nOiBib29sZWFuLCBpbml0QmFza2V0OiBib29sZWFuKSB7XG4gICAgaWYgKHRva2VuT3JJZCkge1xuICAgICAgdGhpcy51c2VyU2VydmljZS50b2dnbGVJc0xvZ2dlZCh0cnVlKTtcbiAgICB9XG4gICAgLy8gaWYgaW5pdEJhc2tldCBpcyBzZXQgdG8gZmFsc2UsIHRoZSBiYXNrZXQgJiBsaXN0IHdpbGwgbm90IGJlIGluaXRpYWxpc2VkIHVudGlsIHRoZSBmaXJzdCB0aW1lIHRoZXkgYXJlIG5lZWRlZFxuICAgIGlmIChpbml0QmFza2V0KSB7XG4gICAgICB0aGlzLmJhc2tldHNTZXJ2aWNlLmluaXRCYXNrZXQoKTsgLy8gVGhlIGJhc2tldCBuZWVkcyB0aGUgR0wgc28gYm90aCB3aWxsIGJlIGluaXRpYWxpemVkIGhlcmVcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMudXNlclNlcnZpY2Uuc2V0VXNlckluZm8oZm9yYmlkUHJvZmlsaW5nKTtcbiAgfVxuXG4gIHByaXZhdGUgZmV0Y2hTdGFydHVwRGF0YSgpIHtcbiAgICB0aGlzLnN0YXR1c1NlcnZpY2UuZmV0Y2hTdGF0dXNlcygpO1xuICAgIHRoaXMudHlwZVNlcnZpY2UuZmV0Y2hUeXBlcygpO1xuICAgIHRoaXMucmVjaXBlc1NlcnZpY2UuZGlzcGxheVJlY2lwZUluVXJsKCk7XG4gICAgdGhpcy5zdGFydHVwRGF0YVdhc0ZldGNoZWQgPSB0cnVlO1xuICB9XG59XG4iXX0=
|
|
293
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fc2VydmljZXMvY29udGV4dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTFELE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBZ0MsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHdEQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFFckUsTUFBTSxlQUFlLEdB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dGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEdyb2Nlcmllc0xpc3RzU2VydmljZSB9IGZyb20gJy4vZ3JvY2VyaWVzLWxpc3RzLnNlcnZpY2UnO1xuaW1wb3J0IHsgUG9pbnRPZlNhbGVzU2VydmljZSB9IGZyb20gJy4vcG9pbnQtb2Ytc2FsZXMuc2VydmljZSc7XG5pbXBvcnQgeyBCYXNrZXRzU2VydmljZSB9IGZyb20gJy4vYmFza2V0cy5zZXJ2aWNlJztcbmltcG9ydCB7IFJlY2lwZVN0YXR1c1NlcnZpY2UgfSBmcm9tICcuL3JlY2lwZS1zdGF0dXMuc2VydmljZSc7XG5pbXBvcnQgeyBSZWNpcGVUeXBlU2VydmljZSB9IGZyb20gJy4vcmVjaXBlLXR5cGUuc2VydmljZSc7XG5pbXBvcnQgeyBSZWNpcGVQcm92aWRlclNlcnZpY2UgfSBmcm9tICcuL3JlY2lwZS1wcm92aWRlci5zZXJ2aWNlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZm9ya0pvaW4sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFuYWx5dGljc1NlcnZpY2UsIEN1c3RvbVByb3BlcnRpZXMsIEV2ZW50VHJhY2UgfSBmcm9tICcuL2FuYWx5dGljcy5zZXJ2aWNlJztcbmltcG9ydCB7IFVzZXJTZXJ2aWNlIH0gZnJvbSAnLi91c2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gJy4uL190eXBlcy9pY29uLmVudW0nO1xuaW1wb3J0IHsgUmVjaXBlc1NlcnZpY2UgfSBmcm9tICcuL3JlY2lwZXMuc2VydmljZSc7XG5pbXBvcnQgeyBNZWRpYU1hdGNoZXIsIEJyZWFrcG9pbnRPYnNlcnZlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xuaW1wb3J0IHsgU3VwcGxpZXJzU2VydmljZSB9IGZyb20gJy4vc3VwcGxpZXJzLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4uL19tb2RlbHMnO1xuaW1wb3J0IHsgbWFwLCBza2lwV2hpbGUsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBNaWFtSW50ZXJmYWNlIH0gZnJvbSAnLi4vX3R5cGVzL2J1aWxkZWQvbWlhbS1pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ29tcGFyYWJsZVByb2R1Y3QgfSBmcm9tICcuLi9fdHlwZXMvYnVpbGRlZC9jb21wYXJhYmxlLXByb2R1Y3QnO1xuaW1wb3J0IHsgQmFza2V0c1N5bmNocm9uaXplclNlcnZpY2UgfSBmcm9tICcuL2Jhc2tldHMtc3luY2hyb25pemluZyc7XG5cbmNvbnN0IFNNQUxMX1NDUkVFTl9CUCA9ICcobWluLXdpZHRoOiAxMDIzcHgpJztcblxuaW50ZXJmYWNlIEljb25PdmVycmlkZSB7XG4gIGljb246IEljb247XG4gIHVybDogc3RyaW5nO1xufVxuXG4vLyBDb250ZXh0IHNoYXJlZCBiZXR3ZWVuIE1pYW0gU0RLICYgaG9zdCBhcHBcbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENvbnRleHRTZXJ2aWNlIHtcbiAgdXNlckluZm86IFVzZXI7XG4gIGljb25zOiBJY29uT3ZlcnJpZGVbXTtcbiAgdmlkZW9SZWNpcGVzRW5hYmxlZCA9IGZhbHNlO1xuICBhcnRpY2xlc0luQ2F0YWxvZ0VuYWJsZWQgPSBmYWxzZTtcbiAgdGFnc09uUmVjaXBlc0VuYWJsZWQgPSBmYWxzZTtcbiAgaG9va0NhbGxiYWNrOiAoaXNMb2dnZWQsIGlzUG9zVmFsaWQpID0+IGJvb2xlYW47XG4gIGRpc3BsYXlJbmdyZWRpZW50UGljdHVyZXNPblJlY2lwZUNhcmRzID0gZmFsc2U7XG4gIGRlZmF1bHRJbmdyZWRpZW50UGljdHVyZSA9ICdodHRwczovL3N0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vYXNzZXRzLm1pYW0udGVjaC9nZW5lcmljL2ltYWdlcy9kZWZhdWx0LWluZ3JlZGllbnQtcGljdHVyZS5zdmcnO1xuICBnbG9iYWxTY3JvbGxhYmxlRWxlbWVudDogSFRNTEVsZW1lbnQgPSBkb2N1bWVudC5ib2R5O1xuICBpc1NtYWxsU2NyZWVuJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICBvcmlnaW4gPSAnJztcbiAgY2F0YWxvZ1VybCA9ICcnO1xuICByZWNpcGVJbmZvVXJsID0gJyc7XG4gIHN0YXJ0dXBEYXRhV2FzRmV0Y2hlZCA9IGZhbHNlO1xuXG5cbiAgcHJpdmF0ZSBDT1JTSXNzdWVzOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj47XG4gIHB1YmxpYyBlbmFibGVQZXJzb25hbFJlY2lwZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgbWlhbTogTWlhbUludGVyZmFjZSA9IHtcbiAgICBwYXltZW50U3RhcnRlZDogKHRvdGFsUHJpY2UpID0+IHtcbiAgICAgIGNvbnNvbGUubG9nKCdbTWlhbV0gc2VuZCBwYXltZW50U3RhcnRlZCBldmVudCcpO1xuICAgICAgdGhpcy5vbkJhc2tldEFuZFBvc1NlbmRFdmVudCh0aGlzLmFuYWx5dGljc1NlcnZpY2UuRVZFTlRfUEFZTUVOVF9TVEFSVEVELCB0b3RhbFByaWNlKTtcbiAgICB9LFxuICAgIGFuYWx5dGljczoge1xuICAgICAgaW5pdDogKGRvbWFpbjogc3RyaW5nLCBvcHRpbWl6ZUtleT86IHN0cmluZykgPT4ge1xuICAgICAgICB0aGlzLmFuYWx5dGljc1NlcnZpY2UuaW5pdChkb21haW4sIG9wdGltaXplS2V5KTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGJhc2tldDoge1xuICAgICAgYmFza2V0SXNSZWFkeSQ6IHRoaXMuYmFza2V0c1NlcnZpY2UuYmFza2V0U3RhdHMkLnBpcGUoXG4gICAgICAgIHNraXBXaGlsZShzdGF0cyA9PiAhc3RhdHMpLFxuICAgICAgICB0YWtlKDEpLFxuICAgICAgICBtYXAoKCkgPT4gdHJ1ZSlcbiAgICAgICksXG4gICAgICBpbml0aWFsaXplOiAoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLm9yaWdpbikge1xuICAgICAgICAgIHRoaXMuYmFza2V0c1NlcnZpY2UuaW5pdEJhc2tldCgpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IHN0YXJ0IE1pYW06IG9yaWdpbiBoYXNuXFwndCBiZWVuIHNldCcpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgdXBkYXRlUHJpY2Vib29rOiAocHJpY2Vib29rTmFtZTogc3RyaW5nKSA9PiB0aGlzLmJhc2tldHNTZXJ2aWNlLnVwZGF0ZVByaWNlYm9vayhwcmljZWJvb2tOYW1lKSxcbiAgICB9LFxuICAgIGJhc2tldFN5bmM6IHtcbiAgICAgIGRlZmluZVB1c2hQcm9kdWN0c1RvQmFza2V0OiAocHVzaFByb2R1Y3RzVG9CYXNrZXQ6IChjb21wYXJhYmxlUHJvZHVjdHM6IENvbXBhcmFibGVQcm9kdWN0W10pID0+IHZvaWQpID0+IHtcbiAgICAgICAgdGhpcy5iYXNrZXRIYW5kbGVyLnB1c2hQcm9kdWN0c1RvQmFza2V0ID0gcHVzaFByb2R1Y3RzVG9CYXNrZXQ7XG4gICAgICB9LFxuICAgICAgZGVmaW5lUHVzaEJhc2tldEVudHJpZXNUb0Jhc2tldDogKHB1c2hCYXNrZXRFbnRyaWVzVG9CYXNrZXQ6IChlbnRyaWVzOiBhbnlbXSkgPT4gdm9pZCkgPT4ge1xuICAgICAgICB0aGlzLmJhc2tldEhhbmRsZXIucHVzaEJhc2tldEVudHJpZXNUb0Jhc2tldCA9IHB1c2hCYXNrZXRFbnRyaWVzVG9CYXNrZXQ7XG4gICAgICB9LFxuICAgICAgcmV0YWlsZXJCYXNrZXRDaGFuZ2VkOiAoY29tcGFyYWJsZVByb2R1Y3RzOiBDb21wYXJhYmxlUHJvZHVjdFtdKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuYmFza2V0SGFuZGxlci5yZXRhaWxlckJhc2tldENoYW5nZWQoY29tcGFyYWJsZVByb2R1Y3RzKTtcbiAgICAgICAgdGhpcy5zdXBwbGllcnNTZXJ2aWNlLmxhc3RTdXBwbGllckJhc2tldCA9IGNvbXBhcmFibGVQcm9kdWN0cztcbiAgICAgIH0sXG4gICAgICBoYW5kbGVQYXltZW50OiAodG90YWw6IG51bWJlcik6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLmJhc2tldEhhbmRsZXIuaGFuZGxlUGF5bWVudCh0b3RhbCk7XG4gICAgICAgIHRoaXMuc3VwcGxpZXJzU2VydmljZS5sYXN0U3VwcGxpZXJCYXNrZXQgPSBbXTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGZlYXR1cmVzOiB7XG4gICAgICBlbmFibGVWaWRlb1JlY2lwZXM6ICgpID0+IHtcbiAgICAgICAgdGhpcy52aWRlb1JlY2lwZXNFbmFibGVkID0gdHJ1ZTtcbiAgICAgICAgLy8gSW5qZWN0IHlvdXR1YmUgc2NyaXB0XG4gICAgICAgIGNvbnN0IHRhZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICAgICAgICB0YWcuc3JjID0gJ2h0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2lmcmFtZV9hcGknO1xuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRhZyk7XG4gICAgICB9LFxuICAgICAgZW5hYmxlQXJ0aWNsZXNJbkNhdGFsb2c6ICgpID0+IHtcbiAgICAgICAgdGhpcy5hcnRpY2xlc0luQ2F0YWxvZ0VuYWJsZWQgPSB0cnVlO1xuICAgICAgfSxcbiAgICAgIGVuYWJsZVVzZXJQcmVmZXJlbmNlczogKCkgPT4ge1xuICAgICAgICB0aGlzLnVzZXJTZXJ2aWNlLnByZWZlcmVuY2VzQWN0aXZhdGVkJC5uZXh0KHRydWUpO1xuICAgICAgfSxcbiAgICAgIGVuYWJsZVRhZ3NPblJlY2lwZXM6ICgpID0+IHtcbiAgICAgICAgdGhpcy50YWdzT25SZWNpcGVzRW5hYmxlZCA9IHRydWU7XG4gICAgICB9LFxuICAgICAgZW5hYmxlUGVyc29uYWxSZWNpcGVzOiAoKSA9PiB7XG4gICAgICAgIHRoaXMuZW5hYmxlUGVyc29uYWxSZWNpcGVzJC5uZXh0KHRydWUpO1xuICAgICAgfVxuICAgIH0sXG4gICAgaG9vazoge1xuICAgICAgc2V0SG9va0NhbGxiYWNrOiAoY2FsbGJhY2s6IChpc0xvZ2dlZCwgaXNQb3NWYWxpZCkgPT4gYm9vbGVhbikgPT4ge1xuICAgICAgICB0aGlzLmhvb2tDYWxsYmFjayA9IGNhbGxiYWNrO1xuICAgICAgfVxuICAgIH0sXG4gICAgbGlzdDoge1xuICAgICAgcmVzZXQ6ICgpID0+IHRoaXMubGlzdHNTZXJ2aWNlLnJlc2V0TGlzdCgpLnN1YnNjcmliZSgpLFxuICAgICAgYWRkUmVjaXBlOiAocmVjaXBlSWQsIGd1ZXN0cykgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5saXN0c1NlcnZpY2UuYXBwZW5kUmVjaXBlVG9MaXN0KHJlY2lwZUlkLCBndWVzdHMsIHsgb3JpZ2luUGF0aDogJ2NsaWVudCcsIHByb3BzOiB7IHJlY2lwZV9pZDogcmVjaXBlSWQgfSB9KTtcbiAgICAgIH0sXG4gICAgICBoYXNSZWNpcGU6IChyZWNpcGVJZCkgPT4gdGhpcy5saXN0c1NlcnZpY2UucmVjaXBlSXNJbkxpc3QocmVjaXBlSWQpLFxuICAgICAgcmVjaXBlQ291bnQ6ICgpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGlzdHNTZXJ2aWNlLmxpc3QkLnBpcGUoXG4gICAgICAgICAgc2tpcFdoaWxlKGwgPT4gIWwpLFxuICAgICAgICAgIG1hcChsID0+IGwuYXR0cmlidXRlc1sncmVjaXBlcy1pZHMnXS5sZW5ndGgpXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSxcbiAgICBwb3M6IHtcbiAgICAgIGxvYWQ6IChleHRlcm5hbElkKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLm9yaWdpbikge1xuICAgICAgICAgIHRoaXMucG9zU2VydmljZS5sb2FkUG9zV2l0aEV4dElkKGV4dGVybmFsSWQpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IHN0YXJ0IE1pYW06IG9yaWdpbiBoYXNuXFwndCBiZWVuIHNldCcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICByZWNpcGVzOiB7XG4gICAgICBoaWRkZW46IHRoaXMucmVjaXBlc1NlcnZpY2UuaGlkZGVuLFxuICAgICAgc2hvdWxkRGlzcGxheUluZ3JlZGllbnRQaWN0dXJlc09uUmVjaXBlQ2FyZHM6IChzaG91bGQ6IGJvb2xlYW4pID0+IHtcbiAgICAgICAgdGhpcy5kaXNwbGF5SW5ncmVkaWVudFBpY3R1cmVzT25SZWNpcGVDYXJkcyA9IHNob3VsZDtcbiAgICAgIH0sXG4gICAgICBzZXREZWZhdWx0SW5ncmVkaWVudFBpY3R1cmU6ICh1cmw6IHN0cmluZykgPT4ge1xuICAgICAgICB0aGlzLmRlZmF1bHRJbmdyZWRpZW50UGljdHVyZSA9IHVybDtcbiAgICAgIH0sXG4gICAgICBzZWFyY2g6IChwcm92aWRlciwgcXVlcnkpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVjaXBlc1NlcnZpY2UuYWxsKFxuICAgICAgICAgIHsgcmVtb3RlZmlsdGVyOiB7IHJlY2lwZV9wcm92aWRlcl9pZDogcHJvdmlkZXIsIHNlYXJjaDogcXVlcnkgfSB9XG4gICAgICAgICkucGlwZShcbiAgICAgICAgICBza2lwV2hpbGUocmVzdWx0ID0+ICFyZXN1bHQpLFxuICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZVsnZGF0YSddKVxuICAgICAgICApO1xuICAgICAgfSxcbiAgICAgIC8vIFdlIGtlZXAgdGhvc2UganVzdCBpbiBjYXNlXG4gICAgICAvLyBzZXRSZWNpcGVzUHJpbWFyeUJ1dHRvbkFjdGlvbnM6IChkaXNwbGF5ID0gdHJ1ZSwgYWRkVG9CYXNrZXQgPSB0cnVlKSA9PiB7XG4gICAgICAvLyAgIHRoaXMucmVjaXBlc1NlcnZpY2Uuc2V0UmVjaXBlc1ByaW1hcnlCdXR0b25BY3Rpb25zKGRpc3BsYXksIGFkZFRvQmFza2V0KTtcbiAgICAgIC8vIH0sXG4gICAgICAvLyBzZXRTdWdnZXN0aW9uc1ByaW1hcnlCdXR0b25BY3Rpb25zOiAoZGlzcGxheSA9IHRydWUsIGFkZFRvQmFza2V0ID0gdHJ1ZSkgPT4ge1xuICAgICAgLy8gICB0aGlzLnJlY2lwZXNTZXJ2aWNlLnNldFN1Z2dlc3Rpb25zUHJpbWFyeUJ1dHRvbkFjdGlvbnMoZGlzcGxheSwgYWRkVG9CYXNrZXQpO1xuICAgICAgLy8gfSxcbiAgICAgIHNldERpZmZpY3VsdHlMZXZlbHM6IChsZXZlbHM6IHsgdmFsdWU6IG51bWJlciwgbGFiZWw6IHN0cmluZyB9W10pID0+IHtcbiAgICAgICAgdGhpcy5yZWNpcGVzU2VydmljZS5kaWZmaWN1bHR5TGV2ZWxzID0gbGV2ZWxzO1xuICAgICAgfSxcbiAgICAgIHNob3dDb25maXJtYXRpb25Ub2FzdGVyOiAoKSA9PiB7XG4gICAgICAgIHRoaXMucmVjaXBlc1NlcnZpY2UuY29uZmlybWF0aW9uVG9hc3RlciA9IHRydWU7XG4gICAgICB9XG4gICAgfSxcbiAgICByb3V0ZXI6IHtcbiAgICAgIHNldFJlY2lwZUNhdGFsb2dVcmw6ICh1cmwgPSAnJyk6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLmNhdGFsb2dVcmwgPSB1cmw7XG4gICAgICB9LFxuICAgICAgc2V0UmVjaXBlSW5mb0xpbms6ICh1cmwgPSAnJyk6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLnJlY2lwZUluZm9VcmwgPSB1cmw7XG4gICAgICB9LFxuICAgIH0sXG4gICAgc3VwcGxpZXI6IHtcbiAgICAgIHNldE9yaWdpbjogKG9yaWdpbjogc3RyaW5nKSA9PiB7XG4gICAgICAgIGlmIChvcmlnaW4ubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHRoaXMub3JpZ2luID0gb3JpZ2luO1xuICAgICAgICAgIGlmICghdGhpcy5zdGFydHVwRGF0YVdhc0ZldGNoZWQpIHtcbiAgICAgICAgICAgIHRoaXMuZmV0Y2hTdGFydHVwRGF0YSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGxvYWQ6IChzdXBwbGllcklkOiBudW1iZXIgfCBzdHJpbmcpID0+IHtcbiAgICAgICAgaWYgKHRoaXMub3JpZ2luKSB7XG4gICAgICAgICAgdGhpcy5zdXBwbGllcnNTZXJ2aWNlLmxvYWRTdXBwbGllcihzdXBwbGllcklkLnRvU3RyaW5nKCkpLnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IHN0YXJ0IE1pYW06IG9yaWdpbiBoYXNuXFwndCBiZWVuIHNldCcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICB1c2VyOiB7XG4gICAgICBsb2FkV2l0aEV4dGVybmFsSWQ6IChpZCwgZm9yYmlkUHJvZmlsaW5nID0gZmFsc2UsIGluaXRCYXNrZXQgPSBmYWxzZSkgPT4ge1xuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnX21pYW0vdXNlcklkJywgaWQpO1xuICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgnX21pYW0vdXNlclRva2VuJyk7XG4gICAgICAgIHJldHVybiB0aGlzLmxvZ1VzZXIoaWQsIGZvcmJpZFByb2ZpbGluZywgaW5pdEJhc2tldCk7XG4gICAgICB9LFxuICAgICAgcmVzZXQ6ICgpID0+IHtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJ19taWFtL3VzZXJUb2tlbicpO1xuICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgnX21pYW0vdXNlcklkJyk7XG4gICAgICAgIHRoaXMudXNlclNlcnZpY2UudG9nZ2xlSXNMb2dnZWQoZmFsc2UpO1xuICAgICAgICBjb25zb2xlLmxvZygnW01pYW1dIHdpbGwgcmVmcmVzaCBsaXN0IGFmdGVyIHJlc2V0Jyk7XG4gICAgICAgIHRoaXMubGlzdHNTZXJ2aWNlLnJlZnJlc2hDdXJyZW50TGlzdCgpO1xuICAgICAgICB0aGlzLnVzZXJTZXJ2aWNlLnJlc2V0VXNlckluZm8oKTtcbiAgICAgIH0sXG4gICAgICBzZXRGYXZvcml0ZUl0ZW1zOiAoZmF2b3JpdGVQcm9kdWN0SWRzKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnVzZXJTZXJ2aWNlLnNldEZhdm9yaXRlSXRlbXMoZmF2b3JpdGVQcm9kdWN0SWRzKTtcbiAgICAgIH0sXG4gICAgfSxcbiAgICB2aWV3OiB7XG4gICAgICAvLyBTZXQgdGhlIG1haW4gc2Nyb2xsaW5nIEhUTUxFbGVtZW50IG9mIHRoZSB3ZWJzaXRlIHNvIHdlIGNhbiBkaXNhYmxlIHNjcm9sbCB3aGVuIGEgbW9kYWwvZHJhd2VyL3BvcHVwIGlzIG9wZW5cbiAgICAgIHNldEdsb2JhbFNjcm9sbGFibGVFbGVtZW50OiAoZWxlbWVudDogSFRNTEVsZW1lbnQpID0+IHtcbiAgICAgICAgaWYgKGVsZW1lbnQgJiYgdGhpcy5nbG9iYWxTY3JvbGxhYmxlRWxlbWVudCAhPT0gZWxlbWVudCkge1xuICAgICAgICAgIHRoaXMuZ2xvYmFsU2Nyb2xsYWJsZUVsZW1lbnQgPSBlbGVtZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcblxuICAgIC8qKlxuICAgICAqIE92ZXJyaWRlIHR3byB0aW1lcyAnbGwgbm90IGJlIGNvbnNpZGVyZWRcbiAgICAgKiBAcGFyYW0gaWNvbiBoYXZlIHRvIGJlIGEga25vd2VkIGljb24gbmFtZSBzZWUgc2VjdGlvbiAnQ3VzdG9tIGljb25zJyBpbiByZWFkIG1lXG4gICAgICogQHBhcmFtIHVybCBvZiB0aGUgbmV3IGljb25cbiAgICAgKi9cbiAgICBvdmVycmlkZUljb246IChpY29uLCB1cmwpID0+IHsgLy8gVE9ETzogTU9WRSBUTyBjb250ZW50XG4gICAgICBpZiAoIXRoaXMuaWNvbnMpIHsgdGhpcy5pY29ucyA9IFtdOyB9XG4gICAgICBjb25zdCBleGlzdGluZ0ljb24gPSB0aGlzLmljb25zLmZpbmQoKGk6IEljb25PdmVycmlkZSkgPT4gaS5pY29uLnRvU3RyaW5nKCkgPT09IGljb24pO1xuICAgICAgaWYgKGV4aXN0aW5nSWNvbikge1xuICAgICAgICB0aGlzLmljb25zLnNwbGljZSh0aGlzLmljb25zLmluZGV4T2YoZXhpc3RpbmdJY29uKSwgMSk7XG4gICAgICB9XG4gICAgICB0aGlzLmljb25zLnB1c2goeyBpY29uLCB1cmwgfSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcG9zU2VydmljZTogUG9pbnRPZlNhbGVzU2VydmljZSxcbiAgICBwcml2YXRlIGxpc3RzU2VydmljZTogR3JvY2VyaWVzTGlzdHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgYmFza2V0c1NlcnZpY2U6IEJhc2tldHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgYW5hbHl0aWNzU2VydmljZTogQW5hbHl0aWNzU2VydmljZSxcbiAgICBwcml2YXRlIHJlY2lwZXNTZXJ2aWNlOiBSZWNpcGVzU2VydmljZSxcbiAgICBwcml2YXRlIG1lZGlhTWF0Y2hlcjogTWVkaWFNYXRjaGVyLFxuICAgIHByaXZhdGUgc3VwcGxpZXJzU2VydmljZTogU3VwcGxpZXJzU2VydmljZSxcbiAgICBwcml2YXRlIGJyZWFrcG9pbnRPYnNlcnZlcjogQnJlYWtwb2ludE9ic2VydmVyLFxuICAgIHByaXZhdGUgYmFza2V0SGFuZGxlcjogQmFza2V0c1N5bmNocm9uaXplclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdGF0dXNTZXJ2aWNlOiBSZWNpcGVTdGF0dXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHlwZVNlcnZpY2U6IFJlY2lwZVR5cGVTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuaXNTbWFsbFNjcmVlbiQubmV4dCghdGhpcy5tZWRpYU1hdGNoZXIubWF0Y2hNZWRpYShTTUFMTF9TQ1JFRU5fQlApLm1hdGNoZXMpO1xuICAgIHRoaXMuYnJlYWtwb2ludE9ic2VydmVyLm9ic2VydmUoU01BTExfU0NSRUVOX0JQKS5zdWJzY3JpYmUoQlBDaGFuZ2UgPT4gdGhpcy5pc1NtYWxsU2NyZWVuJC5uZXh0KCFCUENoYW5nZS5tYXRjaGVzKSk7XG4gICAgdGhpcy5pY29ucyA9IFtdO1xuICAgIHRoaXMuQ09SU0lzc3VlcyA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICAgIE9iamVjdC5hc3NpZ24od2luZG93LCB7IG1pYW06IHRoaXMubWlhbSB9KTtcblxuICB9XG5cbiAgc2V0Q09SU0lzc3VlU3RhdGUodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLkNPUlNJc3N1ZXMubmV4dCh2YWx1ZSk7XG4gIH1cblxuICBnZXRDT1JTSXNzdWVzU3RhdGUoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuQ09SU0lzc3Vlcy5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldE92ZXJyaWRlSWNvblVybChpY29uOiBJY29uKTogc3RyaW5nIHtcbiAgICBjb25zdCBmaW5kaWNvbiA9IHRoaXMuaWNvbnMuZmluZChlbCA9PiBlbC5pY29uLnRvU3RyaW5nKCkgPT09IEljb25baWNvbl0pO1xuICAgIHJldHVybiBmaW5kaWNvbiA/IGZpbmRpY29uLnVybCA6ICcnO1xuICB9XG5cbiAgcHJpdmF0ZSBvbkJhc2tldEFuZFBvc1NlbmRFdmVudChldmVudFR5cGU6IHN0cmluZywgdG90YWxQcmljZTogbnVtYmVyKSB7XG4gICAgZm9ya0pvaW4oXG4gICAgICBbXG4gICAgICAgIHRoaXMuYmFza2V0c1NlcnZpY2UuYmFza2V0JC5hc09ic2VydmFibGUoKS5waXBlKHNraXBXaGlsZShyZXMgPT4gIXJlcyksIHRha2UoMSkpLFxuICAgICAgICB0aGlzLnBvc1NlcnZpY2UucG9zJC5hc09ic2VydmFibGUoKS5waXBlKHNraXBXaGlsZShyZXMgPT4gIXJlcyksIHRha2UoMSkpLFxuICAgICAgXVxuICAgICkucGlwZShcbiAgICAgIHNraXBXaGlsZShyZXMgPT4gIXJlc1swXSB8fCAhcmVzWzFdKSxcbiAgICAgIHRha2UoMSlcbiAgICApLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgY29uc3QgYmFza2V0ID0gcmVzWzBdO1xuICAgICAgY29uc3QgcG9zID0gcmVzWzFdO1xuICAgICAgaWYgKGJhc2tldC50b3RhbFByaWNlID4gMCkge1xuICAgICAgICBjb25zdCBwcm9wczogQ3VzdG9tUHJvcGVydGllcyA9IHtcbiAgICAgICAgICBwb3NfaWQ6IHBvcy5pZCxcbiAgICAgICAgICBwb3NfbmFtZTogcG9zLmF0dHJpYnV0ZXMubmFtZSxcbiAgICAgICAgICBiYXNrZXRfaWQ6IGJhc2tldC5pZCxcbiAgICAgICAgICBtaWFtX2Ftb3VudDogYmFza2V0LnRvdGFsUHJpY2UsXG4gICAgICAgICAgdG90YWxfYW1vdW50OiB0b3RhbFByaWNlXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuYW5hbHl0aWNzU2VydmljZS5zZW5kRXZlbnRXaGVuUmVhZHkoZXZlbnRUeXBlLCBudWxsLCBwcm9wcyk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGxvZ1VzZXIodG9rZW5PcklkOiBzdHJpbmcsIGZvcmJpZFByb2ZpbGluZzogYm9vbGVhbiwgaW5pdEJhc2tldDogYm9vbGVhbikge1xuICAgIGlmICh0b2tlbk9ySWQpIHtcbiAgICAgIHRoaXMudXNlclNlcnZpY2UudG9nZ2xlSXNMb2dnZWQodHJ1ZSk7XG4gICAgfVxuICAgIC8vIGlmIGluaXRCYXNrZXQgaXMgc2V0IHRvIGZhbHNlLCB0aGUgYmFza2V0ICYgbGlzdCB3aWxsIG5vdCBiZSBpbml0aWFsaXNlZCB1bnRpbCB0aGUgZmlyc3QgdGltZSB0aGV5IGFyZSBuZWVkZWRcbiAgICBpZiAoaW5pdEJhc2tldCkge1xuICAgICAgdGhpcy5iYXNrZXRzU2VydmljZS5pbml0QmFza2V0KCk7IC8vIFRoZSBiYXNrZXQgbmVlZHMgdGhlIEdMIHNvIGJvdGggd2lsbCBiZSBpbml0aWFsaXplZCBoZXJlXG4gICAgfVxuICAgIHJldHVybiB0aGlzLnVzZXJTZXJ2aWNlLnNldFVzZXJJbmZvKGZvcmJpZFByb2ZpbGluZyk7XG4gIH1cblxuICBwcml2YXRlIGZldGNoU3RhcnR1cERhdGEoKSB7XG4gICAgdGhpcy5zdGF0dXNTZXJ2aWNlLmZldGNoU3RhdHVzZXMoKTtcbiAgICB0aGlzLnR5cGVTZXJ2aWNlLmZldGNoVHlwZXMoKTtcbiAgICB0aGlzLnJlY2lwZXNTZXJ2aWNlLmRpc3BsYXlSZWNpcGVJblVybCgpO1xuICAgIHRoaXMuc3RhcnR1cERhdGFXYXNGZXRjaGVkID0gdHJ1ZTtcbiAgfVxufVxuIl19
|
|
@@ -2,7 +2,7 @@ import { HttpClient } from '@angular/common/http';
|
|
|
2
2
|
import { Injectable } from '@angular/core';
|
|
3
3
|
import { Service } from 'ngx-jsonapi';
|
|
4
4
|
import { forkJoin, of } from 'rxjs';
|
|
5
|
-
import {
|
|
5
|
+
import { switchMap } from 'rxjs/operators';
|
|
6
6
|
import { environment } from '../environments/environment';
|
|
7
7
|
import { Ingredient } from '../_models/ingredient';
|
|
8
8
|
import { UserService } from './user.service';
|
|
@@ -18,15 +18,6 @@ export class IngredientsService extends Service {
|
|
|
18
18
|
this.resource = Ingredient;
|
|
19
19
|
this.type = 'ingredients';
|
|
20
20
|
this.register();
|
|
21
|
-
// if you are using this service you will need this, prefetch it when user logs
|
|
22
|
-
userService.isLogged$
|
|
23
|
-
.pipe(skipWhile(isLogged => !isLogged), take(1))
|
|
24
|
-
.subscribe(isLogged => {
|
|
25
|
-
if (isLogged) {
|
|
26
|
-
this.fetchReviewedNames();
|
|
27
|
-
this.fetchReviewedUnits();
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
21
|
}
|
|
31
22
|
getReviewedNames() {
|
|
32
23
|
if (!this.reviewedNames) {
|
|
@@ -141,4 +132,4 @@ IngredientsService.ɵprov = i0.ɵɵdefineInjectable({ token: IngredientsService,
|
|
|
141
132
|
providedIn: 'root'
|
|
142
133
|
}]
|
|
143
134
|
}], function () { return [{ type: i1.HttpClient }, { type: i2.UserService }]; }, null); })();
|
|
144
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5ncmVkaWVudHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIvYnVpbGRzL21pYW0vbmctbWlhbS1zZGsvcHJvamVjdHMvbmctbWlhbS9zcmMvIiwic291cmNlcyI6WyJsaWIvX3NlcnZpY2VzL2luZ3JlZGllbnRzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFvQixPQUFPLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDeEQsT0FBTyxFQUFtQixRQUFRLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBTyxNQUFNLGdCQUFnQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBRTdDLE1BQU0sYUFBYSxHQUFHLEdBQUcsV0FBVyxDQUFDLE9BQU8sVUFBVSxDQUFDO0FBS3ZELE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxPQUFtQjtJQUt6RCxZQUNVLElBQWdCLEVBQ2hCLFdBQXdCO1FBRWhDLEtBQUssRUFBRSxDQUFDO1FBSEEsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQWlCM0IsYUFBUSxHQUFHLFVBQVUsQ0FBQztRQUN0QixTQUFJLEdBQUcsYUFBYSxDQUFDO1FBZjFCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNoQiwrRUFBK0U7UUFDL0UsV0FBVyxDQUFDLFNBQVM7YUFDbEIsSUFBSSxDQUNILFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRSxD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RyxHQUFHLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFDdEMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxVQUFVLENBQUMsVUFBVSxLQUdsQyxHQUFHLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLGFBQWEsRUFBRSxHQUFHLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FDdEYsUUFBUSxFQUFFLEdBQUcsQ0FBQyxVQUFVLENBQUMsUUFBUSxHQUNuQyxDQUFDO2dCQUNGLE1BQU0sQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUN6QyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDaEM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8saUJBQWlCLENBQUM7SUFDM0IsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksb0JBQW9CLENBQUMsV0FBeUI7UUFDbkQsT0FBTyxRQUFRLENBQ2IsV0FBVyxDQUFDLEdBQUcsQ0FDYixDQUFDLFVBQXNCLEVBQUUsRUFBRTtZQUN6QixPQUFPLFVBQVUsQ0FBQyxJQUFJLEVBQThDLENBQUM7UUFDdkUsQ0FBQyxDQUNGLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTSxvQkFBb0IsQ0FBQyxhQUF1QjtRQUNqRCxPQUFPLFFBQVEsQ0FDYixhQUFhLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUM3RCxDQUFDO0lBQ0osQ0FBQzs7b0ZBbEtVLGtCQUFrQjswREFBbEIsa0JBQWtCLFdBQWxCLGtCQUFrQixtQkFGakIsTUFBTTtrREFFUCxrQkFBa0I7Y0FIOUIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvY3VtZW50UmVzb3VyY2UsIFNlcnZpY2UgfSBmcm9tICduZ3gtanNvbmFwaSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZvcmtKb2luLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc2tpcFdoaWxlLCBzd2l0Y2hNYXAsIHRha2UsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGVudmlyb25tZW50IH0gZnJvbSAnLi4vZW52aXJvbm1lbnRzL2Vudmlyb25tZW50JztcbmltcG9ydCB7IEluZ3JlZGllbnQgfSBmcm9tICcuLi9fbW9kZWxzL2luZ3JlZGllbnQnO1xuaW1wb3J0IHsgUmVjaXBlIH0gZnJvbSAnLi4vX21vZGVscy9yZWNpcGUnO1xuaW1wb3J0IHsgVXNlclNlcnZpY2UgfSBmcm9tICcuL3VzZXIuc2VydmljZSc7XG5cbmNvbnN0IE1JQU1fQVBJX0hPU1QgPSBgJHtlbnZpcm9ubWVudC5taWFtQVBJfS9hcGkvdjEvYDtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgSW5ncmVkaWVudHNTZXJ2aWNlIGV4dGVuZHMgU2VydmljZTxJbmdyZWRpZW50PiB7XG5cbiAgcHJpdmF0ZSByZXZpZXdlZE5hbWVzOiBBcnJheTxzdHJpbmc+O1xuICBwcml2YXRlIHJldmlld2VkVW5pdHM6IEFycmF5PHN0cmluZz47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlXG4gICAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnJlZ2lzdGVyKCk7XG4gICAgLy8gaWYgeW91IGFyZSB1c2luZyB0aGlzIHNlcnZpY2UgeW91IHdpbGwgbmVlZCB0aGlzLCBwcmVmZXRjaCBpdCB3aGVuIHVzZXIgbG9nc1xuICAgIHVzZXJTZXJ2aWNlLmlzTG9nZ2VkJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHNraXBXaGlsZShpc0xvZ2dlZCA9PiAhaXNMb2dnZWQpLFxuICAgICAgICB0YWtlKDEpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKGlzTG9nZ2VkID0+IHtcbiAgICAgIGlmIChpc0xvZ2dlZCkge1xuICAgICAgICB0aGlzLmZldGNoUmV2aWV3ZWROYW1lcygpO1xuICAgICAgICB0aGlzLmZldGNoUmV2aWV3ZWRVbml0cygpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG4gIHB1YmxpYyByZXNvdXJjZSA9IEluZ3JlZGllbnQ7XG4gIHB1YmxpYyB0eXBlID0gJ2luZ3JlZGllbnRzJztcblxuICBwdWJsaWMgZ2V0UmV2aWV3ZWROYW1lcygpIHtcbiAgICBpZiAoIXRoaXMucmV2aWV3ZWROYW1lcykge3RoaXMuZmV0Y2hSZXZpZXdlZE5hbWVzKCk7IH1cbiAgICByZXR1cm4gdGhpcy5yZXZpZXdlZE5hbWVzO1xuICB9XG5cbiAgcHVibGljIGdldFJldmlld2VkVW5pdHMoKSB7XG4gICAgaWYgKCF0aGlzLnJldmlld2VkVW5pdHMpIHt0aGlzLmZldGNoUmV2aWV3ZWRVbml0cygpOyB9XG4gICAgcmV0dXJuIHRoaXMucmV2aWV3ZWRVbml0cztcbiAgfVxuXG4gIHByaXZhdGUgZmV0Y2hSZXZpZXdlZE5hbWVzKCkge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PHN0cmluZ1tdPihgJHtNSUFNX0FQSV9IT1NUfWluZ3JlZGllbnRzLWRlZmluaXRpb25zL3Jldmlld2VkX25hbWVzYCkuc3Vic2NyaWJlKChyZXZpZXdlZE5hbWVzKSA9PiB7XG4gICAgICB0aGlzLnJldmlld2VkTmFtZXMgPSByZXZpZXdlZE5hbWVzO1xuICAgIH0pXG4gIH1cblxuICBwcml2YXRlIGZldGNoUmV2aWV3ZWRVbml0cygpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxzdHJpbmdbXT4oYCR7TUlBTV9BUElfSE9TVH1xdWFudGl0eS11bml0cy9yZXZpZXdlZF9uYW1lc2ApLnN1YnNjcmliZShyZXZpZXdlZFVuaXRzID0+IHtcbiAgICAgIHRoaXMucmV2aWV3ZWRVbml0cyA9IFsgLi4uIHJldmlld2VkVW5pdHMubWFwKHVuaXRPYmplY3QgPT4gdW5pdE9iamVjdFsnbmFtZSddKV07XG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBpbmdyZWRpZW50IGlzIGFscmVhZHkga25vd24gaW4gYmFja2VuZFxuICAgKiBAcGFyYW0gaW5ncmVkaWVudERlZiBleGVtcGxlIDogJ3N0ZWFrJ1xuICAgKi9cbiAgcHVibGljIGlzUmV2aWV3ZWROYW1lKGluZ3JlZGllbnREZWY6IHN0cmluZyk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIGlmICghdGhpcy5yZXZpZXdlZE5hbWVzKSB7XG4gICAgICAvLyBnZXQgYWxsIGtub3dlZCBpbmdyZWRpZW50IGluIGJhY2tlbmRcbiAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PHN0cmluZ1tdPihgJHtNSUFNX0FQSV9IT1NUfWluZ3JlZGllbnRzLWRlZmluaXRpb25zL3Jldmlld2VkX25hbWVzYCkucGlwZShzd2l0Y2hNYXAocmV2aWV3ZWROYW1lcyA9PiB7XG4gICAgICAgIHRoaXMucmV2aWV3ZWROYW1lcyA9IHJldmlld2VkTmFtZXM7XG4gICAgICAgIC8vIGNoZWNrIGlmIGluZ3JlZGllbnREZWYgaXMgaW4gdGhlIGxpc3RcbiAgICAgICAgcmV0dXJuIG9mKHRoaXMucmV2aWV3ZWROYW1lcy5zb21lKGVsID0+IGVsID09PSBpbmdyZWRpZW50RGVmKSk7XG4gICAgICB9KSk7XG4gICAgfVxuICAgIHJldHVybiBvZih0aGlzLnJldmlld2VkTmFtZXMuc29tZShlbCA9PiBlbCA9PT0gaW5ncmVkaWVudERlZikpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIHVuaXQgaXMgYWxyZWFkeSBrbm93biBpbiBiYWNrZW5kXG4gICAqIEBwYXJhbSB1bml0IGV4ZW1wbGUgOiAnYy4gw6AgYy4nXG4gICAqL1xuICBwdWJsaWMgaXNSZXZpZXdlZFVuaXQodW5pdDogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgaWYgKCF0aGlzLnJldmlld2VkVW5pdHMpIHtcbiAgICAgIC8vIGdldCBhbGwga25vd2VkIHVuaXRzIGluIGJhY2tlbmRcbiAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PHN0cmluZ1tdPihgJHtNSUFNX0FQSV9IT1NUfXF1YW50aXR5LXVuaXRzL3Jldmlld2VkX25hbWVzYCkucGlwZShzd2l0Y2hNYXAocmV2aWV3ZWRVbml0cyA9PiB7XG4gICAgICAgIHRoaXMucmV2aWV3ZWRVbml0cyA9IFsgLi4uIHJldmlld2VkVW5pdHMubWFwKHVuaXRPYmplY3QgPT4gdW5pdE9iamVjdFsnbmFtZSddKV07XG4gICAgICAgIC8vIGNoZWNrIGlmIHVuaXQgaXMgaW4gdGhlIGxpc3RcbiAgICAgICAgLy8gcmVtOiB0aGUgY2FzZSBpcyBub3QgYWx3YXlzIGxvd2VyZWQgZm9yIGFsbCB1bml0c1xuICAgICAgICByZXR1cm4gb2YodGhpcy5yZXZpZXdlZFVuaXRzLnNvbWUoZWwgPT4gZWwudG9Mb3dlckNhc2UoKSA9PT0gdW5pdC50b0xvd2VyQ2FzZSgpKSk7XG4gICAgICB9KSk7XG4gICAgfVxuICAgIHJldHVybiBvZih0aGlzLnJldmlld2VkVW5pdHMuc29tZShlbCA9PiBlbC50b0xvd2VyQ2FzZSgpID09PSB1bml0LnRvTG93ZXJDYXNlKCkpKTtcbiAgfVxuXG4gIHB1YmxpYyBmb3JtYXRJbmdyZWRpZW50cyhsaXN0SW5ncmVkaWVudDogc3RyaW5nW10pOiBPYnNlcnZhYmxlPEluZ3JlZGllbnRbXT4ge1xuICAgIHJldHVybiBmb3JrSm9pbihsaXN0SW5ncmVkaWVudC5tYXAoZWwgPT4gdGhpcy5nZXQoYGZyb21fcz9pbmdyZWRpZW50X3N0cj0ke2VsfWApKSk7XG4gIH1cblxuICAvKipcbiAgICogTWVyZ2UgUmVjaXBlIEluZ3JlZGllbnRzIGxpc3Qgd2l0aCBvdXRwdXQgb2YgcmVjaXBlIGZvcm1zIGluZ3JlZGllbnQgbGlzdFxuICAgKiBpdCdzIGxpbmsgd2l0aCBSZWNpcGVGb3JtQ29tcG9uZW50XG4gICAqIEBwYXJhbSByZWNpcGUgdG8gdXBkYXRlXG4gICAqIEBwYXJhbSBpbmdyZWRpZW50cyBsaXN0IG9mIGluZ3JlZGllbnRzXG4gICAqL1xuICBwdWJsaWMgY3JlYXRlT3JVcGRhdGVJbmdyZWRpZW50cyhyZWNpcGU6IFJlY2lwZSwgaW5ncmVkaWVudHM6IEluZ3JlZGllbnRbXSk6IEluZ3JlZGllbnRbXSB7XG5cbiAgICBjb25zdCBvbGRJbmdyZWRpZW50cyA9IFsuLi5yZWNpcGUucmVsYXRpb25zaGlwc1tgaW5ncmVkaWVudHNgXS5kYXRhXTtcbiAgICBjb25zdCBpbmdyZWRpZW50c1RvU2F2ZSA9IFtdO1xuXG4gICAgaW5ncmVkaWVudHMuZm9yRWFjaChpbmcgPT4ge1xuXG4gICAgICBpZiAoaW5nLmlkKSB7XG4gICAgICAgIGNvbnN0IG9sZEluZGV4ID0gb2xkSW5ncmVkaWVudHMuZmluZEluZGV4KGVsID0+IGVsLmlkID09PSBpbmcuaWQpO1xuICAgICAgICBjb25zdCBvbGRJbmdyZWRpZW50QXR0cmlidXRlID0gb2xkSW5ncmVkaWVudHNbb2xkSW5kZXhdLmF0dHJpYnV0ZXM7XG4gICAgICAgIGNvbnN0IGhhc0NoYW5nZSA9ICBvbGRJbmdyZWRpZW50QXR0cmlidXRlLm5hbWUgIT09IGluZy5hdHRyaWJ1dGVzLm5hbWUgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIG9sZEluZ3JlZGllbnRBdHRyaWJ1dGUudW5pdCAhPT0gaW5nLmF0dHJpYnV0ZXMudW5pdCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgb2xkSW5ncmVkaWVudEF0dHJpYnV0ZS5xdWFudGl0eSAhPT0gaW5nLmF0dHJpYnV0ZXMucXVhbnRpdHkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIG9sZEluZ3JlZGllbnRBdHRyaWJ1dGUuaW1wb3J0YW5jZSAhPT0gaW5nLmF0dHJpYnV0ZXMuaW1wb3J0YW5jZSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgb2xkSW5ncmVkaWVudEF0dHJpYnV0ZVsnZm9yY2VkLWVhbnMnXSAhPT0gaW5nLmF0dHJpYnV0ZXNbJ2ZvcmNlZC1lYW5zJ10gfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIG9sZEluZ3JlZGllbnRBdHRyaWJ1dGUucG9zaXRpb24gIT09IGluZy5hdHRyaWJ1dGVzLnBvc2l0aW9uO1xuICAgICAgICBpZiAoaGFzQ2hhbmdlKXtcbiAgICAgICAgICBvbGRJbmdyZWRpZW50c1tvbGRJbmRleF0uYXR0cmlidXRlcyA9IHtcbiAgICAgICAgICAgIC4uLm9sZEluZ3JlZGllbnRzW29sZEluZGV4XS5hdHRyaWJ1dGVzLFxuICAgICAgICAgICAgbmFtZTogaW5nLmF0dHJpYnV0ZXMubmFtZSxcbiAgICAgICAgICAgIHVuaXQ6IGluZy5hdHRyaWJ1dGVzLnVuaXQsXG4gICAgICAgICAgICBxdWFudGl0eTogaW5nLmF0dHJpYnV0ZXMucXVhbnRpdHksXG4gICAgICAgICAgICBpbXBvcnRhbmNlOiBpbmcuYXR0cmlidXRlcy5pbXBvcnRhbmNlLFxuICAgICAgICAgICAgJ2ZvcmNlZC1lYW5zJzogaW5nLmF0dHJpYnV0ZXNbJ2ZvcmNlZC1lYW5zJ10sXG4gICAgICAgICAgICAncGljdHVyZS11cmwnOiBpbmcuYXR0cmlidXRlc1sncGljdHVyZS11cmwnXSxcbiAgICAgICAgICAgIHBvc2l0aW9uOiBpbmcuYXR0cmlidXRlcy5wb3NpdGlvbixcbiAgICAgICAgICB9O1xuICAgICAgICAgIGluZ3JlZGllbnRzVG9TYXZlLnB1c2gob2xkSW5ncmVkaWVudHNbb2xkSW5kZXhdKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgbmV3SW5nID0gdGhpcy5uZXcoKTtcbiAgICAgICAgZGVsZXRlIG5ld0luZy5pZDtcbiAgICAgICAgbmV3SW5nLmF0dHJpYnV0ZXMgPSB7XG4gICAgICAgICAgLi4ubmV3SW5nLmF0dHJpYnV0ZXMsXG4gICAgICAgICAgIG5hbWU6IGluZy5hdHRyaWJ1dGVzLm5hbWUsXG4gICAgICAgICAgIHVuaXQ6IGluZy5hdHRyaWJ1dGVzLnVuaXQsXG4gICAgICAgICAgIHF1YW50aXR5OiAnJyArIGluZy5hdHRyaWJ1dGVzLnF1YW50aXR5LFxuICAgICAgICAgICBpbXBvcnRhbmNlOiBpbmcuYXR0cmlidXRlcy5pbXBvcnRhbmNlLFxuICAgICAgICAgICAvLyBXZSBjYW5ub3QgZmV0Y2ggdGhlIGluZ2VkaWVudF9kZWZpbml0aW9uIGFuZCB0aHVzIHRoZSBpbWFnZSBvZiB0aGUgaW5ncmVkaWVudCBzbyBpZiBpdCBoYXNuJ3QgYmVlbiBzZXQgbWFudWFsbHksXG4gICAgICAgICAgIC8vIFJlbW92ZSBpdFxuICAgICAgICAgICAuLi5pbmcuYXR0cmlidXRlc1sncGljdHVyZS11cmwnXSA/IHsncGljdHVyZS11cmwnOiBpbmcuYXR0cmlidXRlc1sncGljdHVyZS11cmwnXX0gOiB7fSxcbiAgICAgICAgICAgcG9zaXRpb246IGluZy5hdHRyaWJ1dGVzLnBvc2l0aW9uLFxuICAgICAgICB9O1xuICAgICAgICBuZXdJbmcuYWRkUmVsYXRpb25zaGlwKHJlY2lwZSwgJ3JlY2lwZScpO1xuICAgICAgICBpbmdyZWRpZW50c1RvU2F2ZS5wdXNoKG5ld0luZyk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGluZ3JlZGllbnRzVG9TYXZlO1xuICB9XG5cbiAgLyoqXG4gICAqICBDcmVhdGUgb3IgdXBkYXRlIGEgbGlzdCBPZiBJbmdyZWRpZW50XG4gICAqICBpdCdsbCBjcmVhdGUgaWYgSW5ncmVkaWVudCBpZCBpcyBudWxsIG90aGVyd2lzZSB1cGRhdGUgaXRcbiAgICogIGl0J3MgcGVyZm9ybSBpbiBwYXJhbGxlbCAsIE9ic2VydmFibGUnbGwgY29tcGxldCB3aGVuIGFsbCBpbmdyZWRlbnRzIGhhdmUgYmVlbiB1cHNlcnRlZFxuICAgKiBAcGFyYW0gaW5ncmVkaWVudHMgYXJyYXkgb2YgSW5ncmVkaWVudFxuICAgKi9cbiAgcHVibGljIHVwc2VydEluZ3JlZGllbnRMaXN0KGluZ3JlZGllbnRzOiBJbmdyZWRpZW50W10pOiBPYnNlcnZhYmxlPERvY3VtZW50UmVzb3VyY2U8SW5ncmVkaWVudD5bXT4ge1xuICAgIHJldHVybiBmb3JrSm9pbihcbiAgICAgIGluZ3JlZGllbnRzLm1hcChcbiAgICAgICAgKGluZ3JlZGllbnQ6IEluZ3JlZGllbnQpID0+IHtcbiAgICAgICAgICByZXR1cm4gaW5ncmVkaWVudC5zYXZlKCkgYXMgT2JzZXJ2YWJsZTxEb2N1bWVudFJlc291cmNlPEluZ3JlZGllbnQ+PjtcbiAgICAgICAgfVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZGVsZXRlSW5ncmVkaWVudExpc3QoaW5ncmVkaWVudElkczogc3RyaW5nW10pOiBPYnNlcnZhYmxlPHZvaWRbXT4ge1xuICAgIHJldHVybiBmb3JrSm9pbihcbiAgICAgIGluZ3JlZGllbnRJZHMubWFwKGluZ3JlZGllbnRJZCA9PiB0aGlzLmRlbGV0ZShpbmdyZWRpZW50SWQpKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
135
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5ncmVkaWVudHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIvYnVpbGRzL21pYW0vbmctbWlhbS1zZGsvcHJvamVjdHMvbmctbWlhbS9zcmMvIiwic291cmNlcyI6WyJsaWIvX3NlcnZpY2VzL2luZ3JlZGllbnRzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFvQixPQUFPLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDeEQsT0FBTyxFQUFtQixRQUFRLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pFLE9BQU8sRUFBYSxTQUFTLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRW5ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUU3QyxNQUFNLGFBQWEsR0FBRyxHQUFHLFdBQVcsQ0FBQyxPQUFPLFVBQVUsQ0FBQztBQUt2RCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsT0FBbUI7SUFLekQsWUFDVSxJQUFnQixFQUNoQixXQUF3QjtRQUVoQyxLQUFLLEVBQUUsQ0FBQztRQUhBLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFLM0IsYUFBUSxHQUFHLFVBQVUsQ0FBQztRQUN0QixTQUFJLEdBQUcsYUFBYSxDQUFDO1FBSDFCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBSU0sZ0JBQWdCO1FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7U0FBRTtR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QztnQkFDekMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ2hDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLGlCQUFpQixDQUFDO0lBQzNCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLG9CQUFvQixDQUFDLFdBQXlCO1FBQ25ELE9BQU8sUUFBUSxDQUNiLFdBQVcsQ0FBQyxHQUFHLENBQ2IsQ0FBQyxVQUFzQixFQUFFLEVBQUU7WUFDekIsT0FBTyxVQUFVLENBQUMsSUFBSSxFQUE4QyxDQUFDO1FBQ3ZFLENBQUMsQ0FDRixDQUNGLENBQUM7SUFDSixDQUFDO0lBRU0sb0JBQW9CLENBQUMsYUFBdUI7UUFDakQsT0FBTyxRQUFRLENBQ2IsYUFBYSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FDN0QsQ0FBQztJQUNKLENBQUM7O29GQXRKVSxrQkFBa0I7MERBQWxCLGtCQUFrQixXQUFsQixrQkFBa0IsbUJBRmpCLE1BQU07a0RBRVAsa0JBQWtCO2NBSDlCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb2N1bWVudFJlc291cmNlLCBTZXJ2aWNlIH0gZnJvbSAnbmd4LWpzb25hcGknO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmb3JrSm9pbiwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHNraXBXaGlsZSwgc3dpdGNoTWFwLCB0YWtlLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBlbnZpcm9ubWVudCB9IGZyb20gJy4uL2Vudmlyb25tZW50cy9lbnZpcm9ubWVudCc7XG5pbXBvcnQgeyBJbmdyZWRpZW50IH0gZnJvbSAnLi4vX21vZGVscy9pbmdyZWRpZW50JztcbmltcG9ydCB7IFJlY2lwZSB9IGZyb20gJy4uL19tb2RlbHMvcmVjaXBlJztcbmltcG9ydCB7IFVzZXJTZXJ2aWNlIH0gZnJvbSAnLi91c2VyLnNlcnZpY2UnO1xuXG5jb25zdCBNSUFNX0FQSV9IT1NUID0gYCR7ZW52aXJvbm1lbnQubWlhbUFQSX0vYXBpL3YxL2A7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEluZ3JlZGllbnRzU2VydmljZSBleHRlbmRzIFNlcnZpY2U8SW5ncmVkaWVudD4ge1xuXG4gIHByaXZhdGUgcmV2aWV3ZWROYW1lczogQXJyYXk8c3RyaW5nPjtcbiAgcHJpdmF0ZSByZXZpZXdlZFVuaXRzOiBBcnJheTxzdHJpbmc+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZVxuICAgICkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5yZWdpc3RlcigpO1xuICB9XG4gIHB1YmxpYyByZXNvdXJjZSA9IEluZ3JlZGllbnQ7XG4gIHB1YmxpYyB0eXBlID0gJ2luZ3JlZGllbnRzJztcblxuICBwdWJsaWMgZ2V0UmV2aWV3ZWROYW1lcygpIHtcbiAgICBpZiAoIXRoaXMucmV2aWV3ZWROYW1lcykge3RoaXMuZmV0Y2hSZXZpZXdlZE5hbWVzKCk7IH1cbiAgICByZXR1cm4gdGhpcy5yZXZpZXdlZE5hbWVzO1xuICB9XG5cbiAgcHVibGljIGdldFJldmlld2VkVW5pdHMoKSB7XG4gICAgaWYgKCF0aGlzLnJldmlld2VkVW5pdHMpIHt0aGlzLmZldGNoUmV2aWV3ZWRVbml0cygpOyB9XG4gICAgcmV0dXJuIHRoaXMucmV2aWV3ZWRVbml0cztcbiAgfVxuXG4gIHByaXZhdGUgZmV0Y2hSZXZpZXdlZE5hbWVzKCkge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PHN0cmluZ1tdPihgJHtNSUFNX0FQSV9IT1NUfWluZ3JlZGllbnRzLWRlZmluaXRpb25zL3Jldmlld2VkX25hbWVzYCkuc3Vic2NyaWJlKChyZXZpZXdlZE5hbWVzKSA9PiB7XG4gICAgICB0aGlzLnJldmlld2VkTmFtZXMgPSByZXZpZXdlZE5hbWVzO1xuICAgIH0pXG4gIH1cblxuICBwcml2YXRlIGZldGNoUmV2aWV3ZWRVbml0cygpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxzdHJpbmdbXT4oYCR7TUlBTV9BUElfSE9TVH1xdWFudGl0eS11bml0cy9yZXZpZXdlZF9uYW1lc2ApLnN1YnNjcmliZShyZXZpZXdlZFVuaXRzID0+IHtcbiAgICAgIHRoaXMucmV2aWV3ZWRVbml0cyA9IFsgLi4uIHJldmlld2VkVW5pdHMubWFwKHVuaXRPYmplY3QgPT4gdW5pdE9iamVjdFsnbmFtZSddKV07XG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBpbmdyZWRpZW50IGlzIGFscmVhZHkga25vd24gaW4gYmFja2VuZFxuICAgKiBAcGFyYW0gaW5ncmVkaWVudERlZiBleGVtcGxlIDogJ3N0ZWFrJ1xuICAgKi9cbiAgcHVibGljIGlzUmV2aWV3ZWROYW1lKGluZ3JlZGllbnREZWY6IHN0cmluZyk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIGlmICghdGhpcy5yZXZpZXdlZE5hbWVzKSB7XG4gICAgICAvLyBnZXQgYWxsIGtub3dlZCBpbmdyZWRpZW50IGluIGJhY2tlbmRcbiAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PHN0cmluZ1tdPihgJHtNSUFNX0FQSV9IT1NUfWluZ3JlZGllbnRzLWRlZmluaXRpb25zL3Jldmlld2VkX25hbWVzYCkucGlwZShzd2l0Y2hNYXAocmV2aWV3ZWROYW1lcyA9PiB7XG4gICAgICAgIHRoaXMucmV2aWV3ZWROYW1lcyA9IHJldmlld2VkTmFtZXM7XG4gICAgICAgIC8vIGNoZWNrIGlmIGluZ3JlZGllbnREZWYgaXMgaW4gdGhlIGxpc3RcbiAgICAgICAgcmV0dXJuIG9mKHRoaXMucmV2aWV3ZWROYW1lcy5zb21lKGVsID0+IGVsID09PSBpbmdyZWRpZW50RGVmKSk7XG4gICAgICB9KSk7XG4gICAgfVxuICAgIHJldHVybiBvZih0aGlzLnJldmlld2VkTmFtZXMuc29tZShlbCA9PiBlbCA9PT0gaW5ncmVkaWVudERlZikpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIHVuaXQgaXMgYWxyZWFkeSBrbm93biBpbiBiYWNrZW5kXG4gICAqIEBwYXJhbSB1bml0IGV4ZW1wbGUgOiAnYy4gw6AgYy4nXG4gICAqL1xuICBwdWJsaWMgaXNSZXZpZXdlZFVuaXQodW5pdDogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgaWYgKCF0aGlzLnJldmlld2VkVW5pdHMpIHtcbiAgICAgIC8vIGdldCBhbGwga25vd2VkIHVuaXRzIGluIGJhY2tlbmRcbiAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PHN0cmluZ1tdPihgJHtNSUFNX0FQSV9IT1NUfXF1YW50aXR5LXVuaXRzL3Jldmlld2VkX25hbWVzYCkucGlwZShzd2l0Y2hNYXAocmV2aWV3ZWRVbml0cyA9PiB7XG4gICAgICAgIHRoaXMucmV2aWV3ZWRVbml0cyA9IFsgLi4uIHJldmlld2VkVW5pdHMubWFwKHVuaXRPYmplY3QgPT4gdW5pdE9iamVjdFsnbmFtZSddKV07XG4gICAgICAgIC8vIGNoZWNrIGlmIHVuaXQgaXMgaW4gdGhlIGxpc3RcbiAgICAgICAgLy8gcmVtOiB0aGUgY2FzZSBpcyBub3QgYWx3YXlzIGxvd2VyZWQgZm9yIGFsbCB1bml0c1xuICAgICAgICByZXR1cm4gb2YodGhpcy5yZXZpZXdlZFVuaXRzLnNvbWUoZWwgPT4gZWwudG9Mb3dlckNhc2UoKSA9PT0gdW5pdC50b0xvd2VyQ2FzZSgpKSk7XG4gICAgICB9KSk7XG4gICAgfVxuICAgIHJldHVybiBvZih0aGlzLnJldmlld2VkVW5pdHMuc29tZShlbCA9PiBlbC50b0xvd2VyQ2FzZSgpID09PSB1bml0LnRvTG93ZXJDYXNlKCkpKTtcbiAgfVxuXG4gIHB1YmxpYyBmb3JtYXRJbmdyZWRpZW50cyhsaXN0SW5ncmVkaWVudDogc3RyaW5nW10pOiBPYnNlcnZhYmxlPEluZ3JlZGllbnRbXT4ge1xuICAgIHJldHVybiBmb3JrSm9pbihsaXN0SW5ncmVkaWVudC5tYXAoZWwgPT4gdGhpcy5nZXQoYGZyb21fcz9pbmdyZWRpZW50X3N0cj0ke2VsfWApKSk7XG4gIH1cblxuICAvKipcbiAgICogTWVyZ2UgUmVjaXBlIEluZ3JlZGllbnRzIGxpc3Qgd2l0aCBvdXRwdXQgb2YgcmVjaXBlIGZvcm1zIGluZ3JlZGllbnQgbGlzdFxuICAgKiBpdCdzIGxpbmsgd2l0aCBSZWNpcGVGb3JtQ29tcG9uZW50XG4gICAqIEBwYXJhbSByZWNpcGUgdG8gdXBkYXRlXG4gICAqIEBwYXJhbSBpbmdyZWRpZW50cyBsaXN0IG9mIGluZ3JlZGllbnRzXG4gICAqL1xuICBwdWJsaWMgY3JlYXRlT3JVcGRhdGVJbmdyZWRpZW50cyhyZWNpcGU6IFJlY2lwZSwgaW5ncmVkaWVudHM6IEluZ3JlZGllbnRbXSk6IEluZ3JlZGllbnRbXSB7XG5cbiAgICBjb25zdCBvbGRJbmdyZWRpZW50cyA9IFsuLi5yZWNpcGUucmVsYXRpb25zaGlwc1tgaW5ncmVkaWVudHNgXS5kYXRhXTtcbiAgICBjb25zdCBpbmdyZWRpZW50c1RvU2F2ZSA9IFtdO1xuXG4gICAgaW5ncmVkaWVudHMuZm9yRWFjaChpbmcgPT4ge1xuXG4gICAgICBpZiAoaW5nLmlkKSB7XG4gICAgICAgIGNvbnN0IG9sZEluZGV4ID0gb2xkSW5ncmVkaWVudHMuZmluZEluZGV4KGVsID0+IGVsLmlkID09PSBpbmcuaWQpO1xuICAgICAgICBjb25zdCBvbGRJbmdyZWRpZW50QXR0cmlidXRlID0gb2xkSW5ncmVkaWVudHNbb2xkSW5kZXhdLmF0dHJpYnV0ZXM7XG4gICAgICAgIGNvbnN0IGhhc0NoYW5nZSA9ICBvbGRJbmdyZWRpZW50QXR0cmlidXRlLm5hbWUgIT09IGluZy5hdHRyaWJ1dGVzLm5hbWUgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIG9sZEluZ3JlZGllbnRBdHRyaWJ1dGUudW5pdCAhPT0gaW5nLmF0dHJpYnV0ZXMudW5pdCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgb2xkSW5ncmVkaWVudEF0dHJpYnV0ZS5xdWFudGl0eSAhPT0gaW5nLmF0dHJpYnV0ZXMucXVhbnRpdHkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIG9sZEluZ3JlZGllbnRBdHRyaWJ1dGUuaW1wb3J0YW5jZSAhPT0gaW5nLmF0dHJpYnV0ZXMuaW1wb3J0YW5jZSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgb2xkSW5ncmVkaWVudEF0dHJpYnV0ZVsnZm9yY2VkLWVhbnMnXSAhPT0gaW5nLmF0dHJpYnV0ZXNbJ2ZvcmNlZC1lYW5zJ10gfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIG9sZEluZ3JlZGllbnRBdHRyaWJ1dGUucG9zaXRpb24gIT09IGluZy5hdHRyaWJ1dGVzLnBvc2l0aW9uO1xuICAgICAgICBpZiAoaGFzQ2hhbmdlKXtcbiAgICAgICAgICBvbGRJbmdyZWRpZW50c1tvbGRJbmRleF0uYXR0cmlidXRlcyA9IHtcbiAgICAgICAgICAgIC4uLm9sZEluZ3JlZGllbnRzW29sZEluZGV4XS5hdHRyaWJ1dGVzLFxuICAgICAgICAgICAgbmFtZTogaW5nLmF0dHJpYnV0ZXMubmFtZSxcbiAgICAgICAgICAgIHVuaXQ6IGluZy5hdHRyaWJ1dGVzLnVuaXQsXG4gICAgICAgICAgICBxdWFudGl0eTogaW5nLmF0dHJpYnV0ZXMucXVhbnRpdHksXG4gICAgICAgICAgICBpbXBvcnRhbmNlOiBpbmcuYXR0cmlidXRlcy5pbXBvcnRhbmNlLFxuICAgICAgICAgICAgJ2ZvcmNlZC1lYW5zJzogaW5nLmF0dHJpYnV0ZXNbJ2ZvcmNlZC1lYW5zJ10sXG4gICAgICAgICAgICAncGljdHVyZS11cmwnOiBpbmcuYXR0cmlidXRlc1sncGljdHVyZS11cmwnXSxcbiAgICAgICAgICAgIHBvc2l0aW9uOiBpbmcuYXR0cmlidXRlcy5wb3NpdGlvbixcbiAgICAgICAgICB9O1xuICAgICAgICAgIGluZ3JlZGllbnRzVG9TYXZlLnB1c2gob2xkSW5ncmVkaWVudHNbb2xkSW5kZXhdKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgbmV3SW5nID0gdGhpcy5uZXcoKTtcbiAgICAgICAgZGVsZXRlIG5ld0luZy5pZDtcbiAgICAgICAgbmV3SW5nLmF0dHJpYnV0ZXMgPSB7XG4gICAgICAgICAgLi4ubmV3SW5nLmF0dHJpYnV0ZXMsXG4gICAgICAgICAgIG5hbWU6IGluZy5hdHRyaWJ1dGVzLm5hbWUsXG4gICAgICAgICAgIHVuaXQ6IGluZy5hdHRyaWJ1dGVzLnVuaXQsXG4gICAgICAgICAgIHF1YW50aXR5OiAnJyArIGluZy5hdHRyaWJ1dGVzLnF1YW50aXR5LFxuICAgICAgICAgICBpbXBvcnRhbmNlOiBpbmcuYXR0cmlidXRlcy5pbXBvcnRhbmNlLFxuICAgICAgICAgICAvLyBXZSBjYW5ub3QgZmV0Y2ggdGhlIGluZ2VkaWVudF9kZWZpbml0aW9uIGFuZCB0aHVzIHRoZSBpbWFnZSBvZiB0aGUgaW5ncmVkaWVudCBzbyBpZiBpdCBoYXNuJ3QgYmVlbiBzZXQgbWFudWFsbHksXG4gICAgICAgICAgIC8vIFJlbW92ZSBpdFxuICAgICAgICAgICAuLi5pbmcuYXR0cmlidXRlc1sncGljdHVyZS11cmwnXSA/IHsncGljdHVyZS11cmwnOiBpbmcuYXR0cmlidXRlc1sncGljdHVyZS11cmwnXX0gOiB7fSxcbiAgICAgICAgICAgcG9zaXRpb246IGluZy5hdHRyaWJ1dGVzLnBvc2l0aW9uLFxuICAgICAgICB9O1xuICAgICAgICBuZXdJbmcuYWRkUmVsYXRpb25zaGlwKHJlY2lwZSwgJ3JlY2lwZScpO1xuICAgICAgICBpbmdyZWRpZW50c1RvU2F2ZS5wdXNoKG5ld0luZyk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGluZ3JlZGllbnRzVG9TYXZlO1xuICB9XG5cbiAgLyoqXG4gICAqICBDcmVhdGUgb3IgdXBkYXRlIGEgbGlzdCBPZiBJbmdyZWRpZW50XG4gICAqICBpdCdsbCBjcmVhdGUgaWYgSW5ncmVkaWVudCBpZCBpcyBudWxsIG90aGVyd2lzZSB1cGRhdGUgaXRcbiAgICogIGl0J3MgcGVyZm9ybSBpbiBwYXJhbGxlbCAsIE9ic2VydmFibGUnbGwgY29tcGxldCB3aGVuIGFsbCBpbmdyZWRlbnRzIGhhdmUgYmVlbiB1cHNlcnRlZFxuICAgKiBAcGFyYW0gaW5ncmVkaWVudHMgYXJyYXkgb2YgSW5ncmVkaWVudFxuICAgKi9cbiAgcHVibGljIHVwc2VydEluZ3JlZGllbnRMaXN0KGluZ3JlZGllbnRzOiBJbmdyZWRpZW50W10pOiBPYnNlcnZhYmxlPERvY3VtZW50UmVzb3VyY2U8SW5ncmVkaWVudD5bXT4ge1xuICAgIHJldHVybiBmb3JrSm9pbihcbiAgICAgIGluZ3JlZGllbnRzLm1hcChcbiAgICAgICAgKGluZ3JlZGllbnQ6IEluZ3JlZGllbnQpID0+IHtcbiAgICAgICAgICByZXR1cm4gaW5ncmVkaWVudC5zYXZlKCkgYXMgT2JzZXJ2YWJsZTxEb2N1bWVudFJlc291cmNlPEluZ3JlZGllbnQ+PjtcbiAgICAgICAgfVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZGVsZXRlSW5ncmVkaWVudExpc3QoaW5ncmVkaWVudElkczogc3RyaW5nW10pOiBPYnNlcnZhYmxlPHZvaWRbXT4ge1xuICAgIHJldHVybiBmb3JrSm9pbihcbiAgICAgIGluZ3JlZGllbnRJZHMubWFwKGluZ3JlZGllbnRJZCA9PiB0aGlzLmRlbGV0ZShpbmdyZWRpZW50SWQpKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -59,7 +59,7 @@ export class MiamInterceptor {
|
|
|
59
59
|
request = request.clone({
|
|
60
60
|
setHeaders: {
|
|
61
61
|
'miam-origin': context.origin,
|
|
62
|
-
'miam-front-version': '6.2.
|
|
62
|
+
'miam-front-version': '6.2.3',
|
|
63
63
|
'miam-front-type': 'web',
|
|
64
64
|
'miam-api-version': '4.7.0'
|
|
65
65
|
}
|
|
@@ -102,4 +102,4 @@ MiamInterceptor.ɵprov = i0.ɵɵdefineInjectable({ token: MiamInterceptor, facto
|
|
|
102
102
|
/*@__PURE__*/ (function () { i0.ɵsetClassMetadata(MiamInterceptor, [{
|
|
103
103
|
type: Injectable
|
|
104
104
|
}], function () { return [{ type: i0.Injector }]; }, null); })();
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJjZXB0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIvYnVpbGRzL21pYW0vbmctbWlhbS1zZGsvcHJvamVjdHMvbmctbWlhbS9zcmMvIiwic291cmNlcyI6WyJsaWIvX3NlcnZpY2VzL2ludGVyY2VwdG9yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQU1MLFlBQVksRUFDWixVQUFVLEVBQ1gsTUFBTSxzQkFBc0IsQ0FBQztBQUU5QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFJbkQsTUFBTSxPQUFPLGVBQWU7SUFDMUIsWUFBb0IsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUFHLENBQUM7SUFFMUMsU0FBUyxDQUFDLE9BQXlCLEVBQUUsSUFBaUI7UUFDcEQsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUFFLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUFFO1FBRXZFLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZDLE9BQU8sR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDbkQsT0FBTyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6QyxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMs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Y2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgSHR0cEludGVyY2VwdG9yLFxuICBIdHRwUmVxdWVzdCxcbiAgSHR0cEhhbmRsZXIsXG4gIEh0dHBFcnJvclJlc3BvbnNlLFxuICBIdHRwRXZlbnQsXG4gIEh0dHBSZXNwb25zZSxcbiAgSHR0cFBhcmFtc1xufSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbmltcG9ydCB7IHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFVzZXJTZXJ2aWNlIH0gZnJvbSAnLi91c2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29udGV4dFNlcnZpY2UgfSBmcm9tICcuL2NvbnRleHQuc2VydmljZSc7XG5cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1pYW1JbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7fVxuXG4gIGludGVyY2VwdChyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcik6IGFueSB7XG4gICAgaWYgKHJlcXVlc3QudXJsLmluY2x1ZGVzKCdwbGF1c2libGUnKSkgeyByZXR1cm4gbmV4dC5oYW5kbGUocmVxdWVzdCk7IH1cblxuICAgIHJlcXVlc3QgPSB0aGlzLnNldEF1dGhIZWFkZXJzKHJlcXVlc3QpO1xuICAgIHJlcXVlc3QgPSByZXF1ZXN0LmNsb25lKHsgd2l0aENyZWRlbnRpYWxzOiB0cnVlIH0pO1xuICAgIHJlcXVlc3QgPSB0aGlzLnNldFVzZXJQcm9maWxpbmcocmVxdWVzdCk7XG4gICAgcmVxdWVzdCA9IHRoaXMuc2V0TWlhbUhlYWRlcnMocmVxdWVzdCk7XG5cbiAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxdWVzdCkucGlwZShtYXAoKGV2ZW50OiBIdHRwRXZlbnQ8YW55PikgPT4ge1xuICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgSHR0cFJlc3BvbnNlICYmIGV2ZW50Py5ib2R5Py5saW5rcykge1xuICAgICAgICBldmVudCA9IHRoaXMuYWRkUGFnZXNJbmZvcyhldmVudCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZXZlbnQ7XG4gICAgfSksIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xuICAgICAgdGhpcy5zZXRDT1JTSW5Db250ZXh0KGVycm9yKTtcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yKTtcbiAgICB9KSk7XG4gIH1cblxuICBwcml2YXRlIHNldEF1dGhIZWFkZXJzKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4pIHtcbiAgICBjb25zdCB0b2tlbiA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdfbWlhbS91c2VyVG9rZW4nKTtcbiAgICBjb25zdCB1c2VySWQgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnX21pYW0vdXNlcklkJyk7XG4gICAgaWYgKHRva2VuKSB7XG4gICAgICByZXF1ZXN0ID0gcmVxdWVzdC5jbG9uZSh7XG4gICAgICAgIHNldEhlYWRlcnM6IHsgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke3Rva2VufWAgfVxuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmICh1c2VySWQpIHtcbiAgICAgIHJlcXVlc3QgPSByZXF1ZXN0LmNsb25lKHtcbiAgICAgICAgc2V0SGVhZGVyczogeyBBdXRob3JpemF0aW9uOiBgdXNlcl9pZCAke3VzZXJJZH1gIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gcmVxdWVzdDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0VXNlclByb2ZpbGluZyhyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+KSB7XG4gICAgY29uc3QgdXNlcnNTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoVXNlclNlcnZpY2UpO1xuICAgIGlmICh1c2Vyc1NlcnZpY2U/
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJjZXB0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIvYnVpbGRzL21pYW0vbmctbWlhbS1zZGsvcHJvamVjdHMvbmctbWlhbS9zcmMvIiwic291cmNlcyI6WyJsaWIvX3NlcnZpY2VzL2ludGVyY2VwdG9yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQU1MLFlBQVksRUFDWixVQUFVLEVBQ1gsTUFBTSxzQkFBc0IsQ0FBQztBQUU5QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFJbkQsTUFBTSxPQUFPLGVBQWU7SUFDMUIsWUFBb0IsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUFHLENBQUM7SUFFMUMsU0FBUyxDQUFDLE9BQXlCLEVBQUUsSUFBaUI7UUFDcEQsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUFFLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUFFO1FBRXZFLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZDLE9BQU8sR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDbkQsT0FBTyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6QyxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMs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Y2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgSHR0cEludGVyY2VwdG9yLFxuICBIdHRwUmVxdWVzdCxcbiAgSHR0cEhhbmRsZXIsXG4gIEh0dHBFcnJvclJlc3BvbnNlLFxuICBIdHRwRXZlbnQsXG4gIEh0dHBSZXNwb25zZSxcbiAgSHR0cFBhcmFtc1xufSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbmltcG9ydCB7IHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFVzZXJTZXJ2aWNlIH0gZnJvbSAnLi91c2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29udGV4dFNlcnZpY2UgfSBmcm9tICcuL2NvbnRleHQuc2VydmljZSc7XG5cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1pYW1JbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7fVxuXG4gIGludGVyY2VwdChyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcik6IGFueSB7XG4gICAgaWYgKHJlcXVlc3QudXJsLmluY2x1ZGVzKCdwbGF1c2libGUnKSkgeyByZXR1cm4gbmV4dC5oYW5kbGUocmVxdWVzdCk7IH1cblxuICAgIHJlcXVlc3QgPSB0aGlzLnNldEF1dGhIZWFkZXJzKHJlcXVlc3QpO1xuICAgIHJlcXVlc3QgPSByZXF1ZXN0LmNsb25lKHsgd2l0aENyZWRlbnRpYWxzOiB0cnVlIH0pO1xuICAgIHJlcXVlc3QgPSB0aGlzLnNldFVzZXJQcm9maWxpbmcocmVxdWVzdCk7XG4gICAgcmVxdWVzdCA9IHRoaXMuc2V0TWlhbUhlYWRlcnMocmVxdWVzdCk7XG5cbiAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxdWVzdCkucGlwZShtYXAoKGV2ZW50OiBIdHRwRXZlbnQ8YW55PikgPT4ge1xuICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgSHR0cFJlc3BvbnNlICYmIGV2ZW50Py5ib2R5Py5saW5rcykge1xuICAgICAgICBldmVudCA9IHRoaXMuYWRkUGFnZXNJbmZvcyhldmVudCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZXZlbnQ7XG4gICAgfSksIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xuICAgICAgdGhpcy5zZXRDT1JTSW5Db250ZXh0KGVycm9yKTtcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yKTtcbiAgICB9KSk7XG4gIH1cblxuICBwcml2YXRlIHNldEF1dGhIZWFkZXJzKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4pIHtcbiAgICBjb25zdCB0b2tlbiA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdfbWlhbS91c2VyVG9rZW4nKTtcbiAgICBjb25zdCB1c2VySWQgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnX21pYW0vdXNlcklkJyk7XG4gICAgaWYgKHRva2VuKSB7XG4gICAgICByZXF1ZXN0ID0gcmVxdWVzdC5jbG9uZSh7XG4gICAgICAgIHNldEhlYWRlcnM6IHsgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke3Rva2VufWAgfVxuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmICh1c2VySWQpIHtcbiAgICAgIHJlcXVlc3QgPSByZXF1ZXN0LmNsb25lKHtcbiAgICAgICAgc2V0SGVhZGVyczogeyBBdXRob3JpemF0aW9uOiBgdXNlcl9pZCAke3VzZXJJZH1gIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gcmVxdWVzdDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0VXNlclByb2ZpbGluZyhyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+KSB7XG4gICAgY29uc3QgdXNlcnNTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoVXNlclNlcnZpY2UpO1xuICAgIGlmICh1c2Vyc1NlcnZpY2U/LnByb2ZpbGluZ0ZvcmJpZGRlbigpKSB7XG4gICAgICByZXF1ZXN0ID0gcmVxdWVzdC5jbG9uZSh7IHBhcmFtczogbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ3Byb2ZpbGluZycsICdvZmYnKSB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHJlcXVlc3Q7XG4gIH1cblxuICBwcml2YXRlIHNldE1pYW1IZWFkZXJzKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4pIHtcbiAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5pbmplY3Rvci5nZXQoQ29udGV4dFNlcnZpY2UpO1xuICAgIGlmICghY29udGV4dC5vcmlnaW4pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IHN0YXJ0IE1pYW06IG9yaWdpbiBoYXNuXFwndCBiZWVuIHNldCcpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHJlcXVlc3QgPSByZXF1ZXN0LmNsb25lKHtcbiAgICAgICAgc2V0SGVhZGVyczoge1xuICAgICAgICAgICdtaWFtLW9yaWdpbic6IGNvbnRleHQub3JpZ2luLFxuICAgICAgICAgICdtaWFtLWZyb250LXZlcnNpb24nOiAnNi4yLjMnLFxuICAgICAgICAgICdtaWFtLWZyb250LXR5cGUnOiAnd2ViJyxcbiAgICAgICAgICAnbWlhbS1hcGktdmVyc2lvbic6ICc0LjcuMCdcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICByZXR1cm4gcmVxdWVzdDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFkZFBhZ2VzSW5mb3MoZXZlbnQ6IEh0dHBSZXNwb25zZTxhbnk+KSB7XG4gICAgY29uc3QgbGlua3MgPSBldmVudC5ib2R5LmxpbmtzO1xuICAgIGNvbnN0IGxhc3RQYWdlUGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhuZXcgVVJMKGxpbmtzLmxhc3QpLnNlYXJjaCk7XG4gICAgY29uc3Qgc2l6ZSA9IHBhcnNlSW50KGxhc3RQYWdlUGFyYW1zLmdldCgncGFnZVtzaXplXScpLCAxMCk7XG4gICAgY29uc3QgdG90YWwgPSBzaXplICogcGFyc2VJbnQobGFzdFBhZ2VQYXJhbXMuZ2V0KCdwYWdlW251bWJlcl0nKSwgMTApO1xuICAgIGxldCBjdXJyZW50ID0gcGFyc2VJbnQobGFzdFBhZ2VQYXJhbXMuZ2V0KCdwYWdlW251bWJlcl0nKSwgMTApO1xuXG4gICAgaWYgKGxpbmtzLm5leHQpIHtcbiAgICAgIGNvbnN0IG5leHRQYWdlUGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhuZXcgVVJMKGxpbmtzLm5leHQpLnNlYXJjaCk7XG4gICAgICBjdXJyZW50ID0gcGFyc2VJbnQobmV4dFBhZ2VQYXJhbXMuZ2V0KCdwYWdlW251bWJlcl0nKSwgMTApIC0gMTtcbiAgICB9XG5cbiAgICAvLyBuZ3gtanNvbmFwaSB3aWxsIHB1dCB0aGlzIGluZm8gaW4gRG9jdW1lbnRDb2xsZWN0aW9uPGFueT4ucGFnZVxuICAgIE9iamVjdC5hc3NpZ24oZXZlbnQuYm9keSwge1xuICAgICAgbWV0YToge1xuICAgICAgICBzaXplLFxuICAgICAgICByZXNvdXJjZXNfcGVyX3BhZ2U6IHNpemUsXG4gICAgICAgIG51bWJlcjogY3VycmVudCxcbiAgICAgICAgdG90YWxfcmVzb3VyY2VzOiB0b3RhbFxuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBldmVudDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0Q09SU0luQ29udGV4dChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpIHtcbiAgICAvLyBzdGF0dXMgMCA9IHVua25vd24gZXJyb3IsIENPUlMgYnJlYWsgb24gcHJlZmxpZ2h0IHRoZW4gbm8gcmVsZXZlbnQgZXJyb3IgbWVzc2FnZVxuICAgIC8vIFdhcm5pbmcgOiBjaXJjdWxhciBkZXBlbmRlbmN5IGluamVjdGlvbj9cbiAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5pbmplY3Rvci5nZXQoQ29udGV4dFNlcnZpY2UpO1xuICAgIGlmIChlcnJvci5zdGF0dXMgPT09IDAgJiYgZXJyb3IudXJsLmluY2x1ZGVzKCdodHRwczovL2FwaS5taWFtLnRlY2gvYXBpJykgJiYgY29udGV4dCkge1xuICAgICAgY29udGV4dC5zZXRDT1JTSXNzdWVTdGF0ZSh0cnVlKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlhbS1pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiL2J1aWxkcy9taWFtL25nLW1pYW0tc2RrL3Byb2plY3RzL25nLW1pYW0vc3JjLyIsInNvdXJjZXMiOlsibGliL190eXBlcy9idWlsZGVkL21pYW0taW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbXBhcmFibGVQcm9kdWN0IH0gZnJvbSAnLi9jb21wYXJhYmxlLXByb2R1Y3QnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1pYW1JbnRlcmZhY2UgIHtcbiAgLyoqXG4gICAqIE1ldGhvZCB0byBjYWxsIHdoZW4gdGhlIHVzZXIgYmVnaW5zIHRoZSBwYXltZW50IHByb2NlZHVyZSAodHlwaWNhbGx5IHdoZW4gdGhleSBjbGlja1xuICAgKiBvbiBhIFwiQ29uZmlybSBteSBjYXJ0XCIgYnV0dG9uKVxuICAgKiBAcGFyYW0gdG90YWxQcmljZSB0aGUgdG90YWwgcHJpY2Ugb2YgeW91ciBiYXNrZXQgKGNhbiBiZSBhIGZsb2F0aW5nIG9yIGludGVnZXIgbnVtYmVyKVxuICAgKi9cbiAgcGF5bWVudFN0YXJ0ZWQ6ICh0b3RhbFByaWNlOiBudW1iZXIpID0+IHZvaWQ7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgYW5hbHl0aWNzOiB7XG4gICAgLyoqXG4gICAgICogSW5pdGlhbGl6ZSBBbmFseXRpY3NcbiAgICAgKlxuICAgICAqIEBwYXJhbSBkb21haW4gUGxhdXNpYmxlIGRvbWFpblxuICAgICAqIEBwYXJhbSBvcHRpbWl6ZUtleSBHb29nbGUgT3B0aW1pemUga2V5XG4gICAgICovXG4gICAgaW5pdDogKGRvbWFpbjogc3RyaW5nLCBvcHRpbWl6ZUtleTogc3RyaW5nKSA9PiB2b2lkO1xuICB9O1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIGJhc2tldDoge1xuICAgIC8qKlxuICAgICAqIEVtaXRzIHRydWUgd2hlbiBNaWFtJ3MgYmFza2V0IGhhcyBzdWNjZXNmdWxseSBsb2FkZWQgZm9yIHRoZSBmaXJzdCB0aW1lLlxuICAgICAqIERvZXMgbm90IGVtaXQgYW55dGhpbmcgYmVmb3JlIG9yIGFmdGVyIHRoYXQuXG4gICAgICovXG4gICAgYmFza2V0SXNSZWFkeSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgLyoqXG4gICAgICogRmV0Y2ggdGhlIGZpcnN0IEdyb2Nlcmllc0xpc3QgJiBCYXNrZXQgZWFybHkgKGJlZm9yZSBhbnkgYWN0aW9uIHJlcXVpcmVzIGl0IG9uIE1pYW0nc1xuICAgICAqIHNpZGUpLCBzbyB5b3UgY2FuIHN0YXJ0IHRoZSBiYXNrZXQtc3luYyBlYXJsaWVyXG4gICAgICovXG4gICAgaW5pdGlhbGl6ZTogKCkgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBJZiB5b3UgaGF2ZSBkaWZmZXJlbnQgcHJpY2UgdGFibGVzIChvciBwcmljZWJvb2tzKSBmb3IgdGhlIHNhbWUgcG9pbnQgb2Ygc2FsZSwgeW91IGNhbiBjYWxsIHRoaXNcbiAgICAgKiBtZXRob2QgdG8gbWFrZSBNaWFtIGtub3cgb24gd2hpY2ggcHJpY2Vib29rIHlvdSBhcmUgdXNpbmdcbiAgICAgKiBGb3IgZXhhbXBsZSwgcHJpY2VzIGNhbiBiZSBkaWZmZXJlbnQgZGVwZW5kaW5nIG9uIGlmIHRoZSB1c2VyIGNob3NlIGhvbWUgZGVsaXZlcnkgb3IgZHJpdmUtaW5cbiAgICAgKi9cbiAgICB1cGRhdGVQcmljZWJvb2s6IChwcmljZWJvb2tOYW1lOiBzdHJpbmcpID0+IHZvaWQ7XG4gIH07XG5cbiAgYmFza2V0U3luYzoge1xuICAgIC8qKlxuICAgICAqIFRoZSBjYWxsYmFjayBwYXJhbWV0ZXIgaXMgY2FsbGVkIHdoZW4gTWlhbSdzIGJhc2tldCBjaGFuZ2VzIHRvIHVwZGF0ZSB0aGUgdXNlcidzIGNhcnQgYWNjb3JkaW5nbHlcbiAgICAgKlxuICAgICAqIEBwYXJhbSBwdXNoUHJvZHVjdHNUb0Jhc2tldCBhIG1ldGhvZCB0aGF0IHVwZGF0ZXMgdGhlIHVzZXIncyBjYXJ0IHdpdGggdGhlIHBydWR1Y3RzIHBhc3NlZCBpbiBwYXJhbWV0ZXIsIGJ5IGFkZGluZ1xuICAgICAqIHByb2R1Y3RzIGlmIHRoZWlyIHF1YW50aXR5IGlzIHBvc2l0aXZlLCBhbmQgcmVtb3ZpbmcgdGhlbSBpZiB0aGVpciBxdWFudGl0eSBpcyBuZWdhdGl2ZVxuICAgICAqL1xuICAgIGRlZmluZVB1c2hQcm9kdWN0c1RvQmFza2V0OiAocHVzaFByb2R1Y3RzVG9CYXNrZXQ6IChwcm9kdWN0czogQ29tcGFyYWJsZVByb2R1Y3RbXSkgPT4gdm9pZCkgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBUaGUgY2FsbGJhY2sgcGFyYW1ldGVyIGlzIGNhbGxlZCB3aGVuIE1pYW0ncyBiYXNrZXQgY2hhbmdlcyB0byB1cGRhdGUgdGhlIHVzZXIncyBjYXJ0IGFjY29yZGluZ2x5XG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHVzaFByb2R1Y3RzVG9CYXNrZXQgYSBtZXRob2QgdGhhdCB1cGRhdGVzIHRoZSB1c2VyJ3MgY2FydCB3aXRoIHRoZSBwcnVkdWN0cyBwYXNzZWQgaW4gcGFyYW1ldGVyLCBieSBhZGRpbmdcbiAgICAgKiBwcm9kdWN0cyBpZiB0aGVpciBxdWFudGl0eSBpcyBwb3NpdGl2ZSwgYW5kIHJlbW92aW5nIHRoZW0gaWYgdGhlaXIgcXVhbnRpdHkgaXMgbmVnYXRpdmVcbiAgICAgKi9cbiAgICBkZWZpbmVQdXNoQmFza2V0RW50cmllc1RvQmFza2V0OiAocHVzaFByb2R1Y3RzVG9CYXNrZXQ6IChwcm9kdWN0czogQ29tcGFyYWJsZVByb2R1Y3RbXSkgPT4gdm9pZCkgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBDYWxsIHRvIG5vdGlmeSBNaWFtIHRoYXQgdGhlIHVzZXIncyBjYXJ0IGhhcyBiZWVuIHVwZGF0ZWRcbiAgICAgKlxuICAgICAqIEBwYXJhbSBjb21wYXJhYmxlUHJvZHVjdHMgVGhlIHByb2R1Y3RzIGluIHRoZSB1c2VyJ3MgY2FydFxuICAgICAqL1xuICAgIHJldGFpbGVyQmFza2V0Q2hhbmdlZDogKGNvbXBhcmFibGVQcm9kdWN0czogQ29tcGFyYWJsZVByb2R1Y3RbXSkgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBDYWxsIHRvIG5vdGlmeSBNaWFtIHRoYXQgdGhlIHVzZXIncyBjYXJ0IHdhcyBwYWlkXG4gICAgICogTWlhbSB0aGVuIHJlZnJlc2hlcyB0aGUgZ3JvY2VyaWVzLWxpc3QgYW5kIGJhc2tldCBmb3IgdGhlIG5leHQgdXNlcidzIGNhcnRcbiAgICAgKlxuICAgICAqIEBwYXJhbSB0b3RhbCBUaGUgdG90YWwgcHJpY2Ugb2YgdGhlIGNhcnQgcGFpZFxuICAgICAqL1xuICAgICBoYW5kbGVQYXltZW50OiAodG90YWw6IG51bWJlcikgPT4gdm9pZFxuICB9O1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIGZlYXR1cmVzOiB7XG4gICAgLyoqXG4gICAgICogQ2FsbCB0byBlbmFibGUgcmVjaXBlcyB0byBkaXNwbGF5IGEgdmlkZW8gaW5zdGVhZCBvZiB0aGVpciBwaWN0dXJlLCBpZiB0aGVyZSBpcyBhIHZpZGVvIGZvciB0aGUgcmVjaXBlXG4gICAgICovXG4gICAgZW5hYmxlVmlkZW9SZWNpcGVzOiAoKSA9PiB2b2lkO1xuICAgIC8qKlxuICAgICAqIENhbGwgdG8gZW5hYmxlIHRoZSBjYXRhbG9nIHRvIGRpc3BsYXkgYXJ0aWNsZXMsIGlmIHRoZWlyIGFyZSBwYWNrYWdlcyB0aGF0IGNvbnRhaW4gYW55IGFydGljbGVzXG4gICAgICovXG4gICAgZW5hYmxlQXJ0aWNsZXNJbkNhdGFsb2c6ICgpID0+IHZvaWQ7XG4gICAgLyoqXG4gICAgICogQ2FsbCB0byBhdXRob3JpemUgTWlhbSB0byBhc2sgZm9yIHVzZXIgcHJlZmVyZW5jZXMgdGhlIGZpcnN0IHRpbWUgdXNlcnMgdmlldyB0aGUgcmVjaXBlIGNhdGFsb2dcbiAgICAgKi9cbiAgICBlbmFibGVVc2VyUHJlZmVyZW5jZXM6ICgpID0+IHZvaWQ7XG4gICAgLyoqXG4gICAgICogQ2FsbCB0byBlbmFibGUgdGFncyBkaXNwbGF5aW5nIG9uIHJlY2lwZS1kZXRhaWxzXG4gICAgICovXG4gICAgZW5hYmxlVGFnc09uUmVjaXBlczogKCkgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBDYWxsIHRvIGVuYWJsZSBwZXJzb25hbCByZWNpcGVzIG9uIHJlY2lwZS1jYXRhbG9nXG4gICAgICovXG4gICAgZW5hYmxlUGVyc29uYWxSZWNpcGVzOiAoKSA9PiB2b2lkO1xuICB9O1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIGhvb2s6IHtcbiAgICAvKipcbiAgICAgKiBTZXQgdXAgYSBjYWxsYmFjayB3aGljaCBNaWFtIHdpbGwgY2FsbCBiZWZvcmUgYWRkaW5nIGEgcmVjaXBlIHRvIHRoZSB1c2VyJ3MgY2FydFxuICAgICAqXG4gICAgICogQHBhcmFtIGNhbGxiYWNrIGEgbWV0aG9kIHRoYXQgd2lsbCBiZSBjYWxsZWQgcGFzc2luZyB0d28gcGFyYW1ldGVycyA6XG4gICAgICogIC0gaXNMb2dnZWQsIHRydWUgaWYgdGhlIHVzZXIgaXMgbG9nZ2VkIChhY2NvcmRpbmcgdG8gTWlhbSwgc2VlIHVzZXIubG9hZFdpdGhFeHRJZCBmb3IgbW9yZSlcbiAgICAgKiAgLSBpc1Bvc1ZhbGlkIHRydWUgaWYgdGhlIFBvaW50T2ZTYWxlIGlzIHJlY29nbml6ZWQgYnkgTWlhbVxuICAgICAqIFR5cGljYWxseSB5b3UgbWlnaHQgd2FudCB0byB1c2UgdGhpcyB0byBzaG93IHlvdXIgY29ubmV4aW9uIHBhZ2UgaWYgdGhlIHVzZXIgdHJpZXMgdG8gYWRkIGEgcmVjaXBlIHdoaWxlIGxvZ2dlZCBvdXRcbiAgICAgKiBvciB0byBzaG93IHlvdXIgcG9pbnQgb2Ygc2FsZSBwaWNrZXIgaWYgdGhlIHVzZXIgaGFzIG5vdCBjaG9zZW4gb25lXG4gICAgICovXG4gICAgc2V0SG9va0NhbGxiYWNrOiAoY2FsbGJhY2s6IChpc0xvZ2dlZCwgaXNQb3NWYWxpZCkgPT4gYm9vbGVhbikgPT4gdm9pZDtcbiAgfTtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICBsaXN0OiB7XG4gICAgLyoqXG4gICAgICogUmVzZXRzIE1pYW0ncyBHcm9jZXJpZXNMaXN0ICYgZW1wdGllcyBhbGwgcHJvZHVjdHMgJiByZWNpcGVzIGFkZGVkIGJ5IHRoZSB1c2VyXG4gICAgICogLyFcXCBXZSBoZWF2aWx5IHJlY29tbWVuZCBub3QgdG8gdXNlIHRoaXMgbWV0aG9kIG91dHNpZGUgb2YgdGhlIHdlYiBjb25zb2xlIGZvciB0ZXN0aW5nIHB1cnBvc2VzIC8hXFxcbiAgICAgKi9cbiAgICByZXNldDogKCkgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBBZGRzIGEgcmVjaXBlIHRvIE1pYW0ncyBiYXNrZXRcbiAgICAgKiAvIVxcIFdlIGhlYXZpbHkgcmVjb21tZW5kIG5vdCB0byB1c2UgdGhpcyBtZXRob2Qgb3V0c2lkZSBvZiB0aGUgd2ViIGNvbnNvbGUgZm9yIHRlc3RpbmcgcHVycG9zZXMgLyFcXFxuICAgICAqL1xuICAgIGFkZFJlY2lwZTogKHJlY2lwZUlkOiBzdHJpbmcsIGd1ZXN0czogbnVtYmVyKSA9PiBPYnNlcnZhYmxlPG9iamVjdD47XG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhbiBvYnNlcnZhYmxlIHRoYXQgd2lsbCBlbWl0IHRydWUgaWYgdGhlIHJlY2lwZSBwYXNzZWQgaW4gcGFyYW1ldGVyIGlzIGluIE1pYW0ncyBHcm9jZXJpZXNMaXN0XG4gICAgICovXG4gICAgaGFzUmVjaXBlOiAocmVjaXBlSWQ6IHN0cmluZykgPT4gT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICAvKipcbiAgICAgKiBAcmV0dXJucyBBIEJlaGF2aW9yU3ViamVjdCB0aGF0IGVtaXRzIHRoZSBjdXJyZW50IG51bWJlciBvZiByZWNpcGVzIGluIE1pYW0ncyBHcm9jZXJpZXNMaXN0XG4gICAgICovXG4gICAgcmVjaXBlQ291bnQ6ICgpID0+IE9ic2VydmFibGU8bnVtYmVyPjtcbiAgfTtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICBwb3M6IHtcbiAgICAvKipcbiAgICAgKiBDYWxsIHRvIGluZm9ybSBNaWFtIG9mIHRoZSBwb2ludCBvZiBzYWxlIHRoZSB1c2VyIGlzIGN1cnJlbnRseSBvbi4gRG8gbm90IGZvcmdldCB0byBjYWxsIHRoZSBtZXRob2RcbiAgICAgKiBpZiBpdCBjaGFuZ2VzIGFmdGVyIHVzZXIgbG9hZHMgdGhlIHBhZ2VcbiAgICAgKlxuICAgICAqIEBwYXJhbSBleHRlcm5hbElkIHRoZSBpZCBvZiB0aGUgUG9pbnRPZlNhbGUgaW4gY2xpZW50J3MgZGF0YWJhc2VcbiAgICAgKi9cbiAgICBsb2FkOiAoZXh0ZXJuYWxJZCkgPT4gdm9pZDtcbiAgfTtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICByZWNpcGVzOiB7XG4gICAgLyoqXG4gICAgICogQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIGEgdmFsdWUgd2hlbiB0aGUgcmVjaXBlLW1vZGFsIGlzIGNsb3NlZFxuICAgICAqL1xuICAgIGhpZGRlbjogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICAvKipcbiAgICAgKiBJZiBjYWxsZWQgd2l0aCBhIHBhcmFtZXRlciB0byB0cnVlLCByZWNpcGUtZGV0YWlscyB3aWxsIHNob3cgYSBwaWN0dXJlIG5leHQgdG8gdGhlIGluZ3JlZGllbnRzXG4gICAgICovXG4gICAgc2hvdWxkRGlzcGxheUluZ3JlZGllbnRQaWN0dXJlc09uUmVjaXBlQ2FyZHM6IChzaG91bGQ6IGJvb2xlYW4pID0+IHZvaWQ7XG4gICAgLyoqXG4gICAgICogQ2FsbCB3aXRoIGFuIHVybCBvZiBhIHBpY3R1cmUgdG8gY2hhbmdlIHRoZSBkZWZhdWx0IHBpY3R1cmUgZGlzcGxheWVkIGlmIGFuIGluZ3JlZGllbnQgZG9lc24ndCBoYXZlIGEgcGljdHVyZVxuICAgICAqIGFuZCBpZiBpbmdyZWRpZW50cyBwaWN0dXJlIGhhdmUgYmVlbiBlbmFibGVkIHdpdGggcmVjaXBlcy5zaG91bGREaXNwbGF5SW5ncmVkaWVudFBpY3R1cmVzT25SZWNpcGVDYXJkcyh0cnVlKVxuICAgICAqL1xuICAgIHNldERlZmF1bHRJbmdyZWRpZW50UGljdHVyZTogKHVybDogc3RyaW5nKSA9PiB2b2lkO1xuICAgIC8qKlxuICAgICAqIE92ZXJyaWRlIGRlZmF1bHQgbGFiZWxzIGZvciBkaWZmaWN1bHR5IGxldmVsc1xuICAgICAqXG4gICAgICogQHBhcmFtIGxldmVscyBUaGUgbGlzdCBvZiBsYWJlbHMgdG8gb3ZlcnJpZGUgZm9yIGVhY2ggZGlmZmljdWx0eSAoZGlmZmljdWx0aWVzIGFyZSByZXNwZWN0aXZlbHkgMTogRWFzeSwgMjogTWVkaXVtLCAzOiBIYXJkKVxuICAgICAqIGV4YW1wbGUgOiBbe3ZhbHVlOiAxLCBsYWJlbDogXCJCZWdpbm5lclwifV0gdG8gdXBkYXRlIHRoZSBsYWJlbCBvZiBlYXN5IHJlY2lwZXMgdG8gXCJCZWdpbm5lclwiXG4gICAgICovXG4gICAgc2V0RGlmZmljdWx0eUxldmVsczogKGxldmVsczogeyB2YWx1ZTogbnVtYmVyLCBsYWJlbDogc3RyaW5nIH1bXSkgPT4gdm9pZDtcblxuICAgIC8vIC8qKlxuICAgIC8vICAqIC8hXFwgREVQUkVDQVRFRDogRE8gTk9UIFVTRSAvIVxcXG4gICAgLy8gICovXG4gICAgLy8gIHNldFJlY2lwZXNQcmltYXJ5QnV0dG9uQWN0aW9uczogKGRpc3BsYXk6IGJvb2xlYW4sIGFkZFRvQmFza2V0OiBib29sZWFuKSA9PiB2b2lkO1xuICAgIC8vIC8qKlxuICAgIC8vICAqIC8hXFwgREVQUkVDQVRFRDogRE8gTk9UIFVTRSAvIVxcXG4gICAgLy8gICovXG4gICAgLy8gc2V0U3VnZ2VzdGlvbnNQcmltYXJ5QnV0dG9uQWN0aW9uczogKGRpc3BsYXk6IGJvb2xlYW4sIGFkZFRvQmFza2V0OiBib29sZWFuKSA9PiB2b2lkO1xuICAgIC8qKlxuICAgICAqIElmIGNhbGxlZCwgYWRkaW5nIGEgcmVjaXBlIHRvIE1pYW0ncyBiYXNrZXQgd2lsbCBkaXNwbGF5IGEgY29uZmlybWF0aW9uIHRvYXN0ZXJcbiAgICAgKi9cbiAgICBzaG93Q29uZmlybWF0aW9uVG9hc3RlcjogKCkgPT4gdm9pZDtcbiAgfTtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICByb3V0ZXI6IHtcbiAgICAvKipcbiAgICAgKiBJbmZvcm0gTWlhbSBvZiB0aGUgdXJsIHdoZXJlIHRoZSBjYXRhbG9nIGlzIGZvciB0aGUgcmVkaXJlY3Rpb24gbGluayBvZiByZWNpcGUtZGV0YWlsc1xuICAgICAqL1xuICAgIHNldFJlY2lwZUNhdGFsb2dVcmw6ICh1cmw6IHN0cmluZykgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBJbmZvcm0gTWlhbSBvZiB0aGUgdXJsIHdoZXJlIHRoZSBvbmJvYXJkaW5nIHNlY3Rpb24gb2YgdGhlIGNhdGFsb2cgc2hvdWxkIHJlZGlyZWN0XG4gICAgICovXG4gICAgc2V0UmVjaXBlSW5mb0xpbms6ICh1cmw6IHN0cmluZykgPT4gdm9pZDtcbiAgfTtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICBzdXBwbGllcjoge1xuICAgIC8qKlxuICAgICAqIC8hXFwgVGhpcyBuZWVkcyB0byBiZSB0aGUgZmlyc3QgbWV0aG9kIGNhbGxlZCwgYmVjYXVzZSBub3RoaW5nIHdpbGwgd29yayBpZiB0aGUgb3JpZ2luIGlzbid0IHNldFxuICAgICAqIEBwYXJhbSBvcmlnaW4gYW4gaWRlbnRpZmllciBzdHJpbmcgdGhhdCBNaWFtIHBhc3NlcyB0byB0aGUgQVBJIHdpdGggZWFjaCByZXF1ZXN0IHRvIGtlZXAgdHJhY2sgb2YgdGhlIG9yaWdpblxuICAgICAqIG9mIHRoZSByZXF1ZXN0XG4gICAgICovXG4gICAgc2V0T3JpZ2luOiAob3JpZ2luOiBzdHJpbmcpID0+IHZvaWQ7XG4gICAgLyoqXG4gICAgICogQ2FsbCB0byBpbmZvcm0gTWlhbSBvZiB0aGUgc3VwcGxpZXIgdGhlIHVzZXIgaXMgY3VycmVudGx5IG9uLiBEbyBub3QgZm9yZ2V0IHRvIGNhbGwgdGhlIG1ldGhvZFxuICAgICAqIGlmIGl0IGNoYW5nZXMgYWZ0ZXIgdXNlciBsb2FkcyB0aGUgcGFnZSAoc2hvdWxkIG5vdCBoYXBwZW4gZXNjZXB0IGluIHZlcnkgc3BlY2lmaWMgY2FzZXMpXG4gICAgICpcbiAgICAgKiBAcGFyYW0gc3VwcGxpZXJJZCB0aGUgU3VwcGxpZXIgaWQgaW4gTWlhbSdzIGRhdGFiYXNlXG4gICAgICovXG4gICAgbG9hZDogKHN1cHBsaWVySWQ6IG51bWJlciB8IHN0cmluZykgPT4gdm9pZDtcbiAgfTtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICB1c2VyOiB7XG4gICAgLyoqXG4gICAgICogQ2FsbCB0byBpbmZvcm0gTWlhbSBvZiB0aGUgaWQgb2YgdGhlIHVzZXIuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaWQgYSBzdHJpbmcgdW5pcXVlIGlkZW50aWZpZXIgdG8gdGhlIHVzZXJcbiAgICAgKiBAcGFyYW0gZm9yYmlkUHJvZmlsaW5nIGlmIHNldCB0byB0cnVlLCBkZXNhY3RpdmF0ZSBwZXJzb25hbGl6ZWQgY29udGVudCAocGVyc29uYWxpemVkIHJlY2lwZXMgJiBwcm9kdWN0cylcbiAgICAgKiBAcGFyYW0gaW5pdEJhc2tldCBERVBSRUNBVEVEIC0gaWYgc2V0IHRvIHRydWUsIGZldGNoIHRoZSBHcm9jZXJpZXNMaXN0ICYgQmFza2V0IG9mIHRoZSB1c2VyIChyZWNvbW1hbmRlZCBhc1xuICAgICAqIGl0IHNhdmVzIHRpbWUgbGF0ZXIpXG4gICAgICovXG4gICAgbG9hZFdpdGhFeHRlcm5hbElkOiAoaWQ6IHN0cmluZywgZm9yYmlkUHJvZmlsaW5nOiBib29sZWFuLCBpbml0QmFza2V0OiBib29sZWFuKSA9PiBPYnNlcnZhYmxlPG9iamVjdD47XG4gICAgLyoqXG4gICAgICogQ2FsbCB0byBpbmZvcm0gTWlhbSB0aGF0IHRoZSB1c2VyIGhhcyBsb2dnZWQgb3V0XG4gICAgICovXG4gICAgcmVzZXQ6ICgpID0+IHZvaWQ7XG4gICAgLyoqXG4gICAgICogSWYgeW91ciB3ZWJzaXRlIGhhcyBhIFwiZmF2b3JpdGUgcHJvZHVjdHNcIiBmZWF0dXJlLCB5b3UgY2FuIHBhc3MgdGhlIGlkcyBvZiBhbGwgcHJvZHVjdHNcbiAgICAgKiB3aGljaCB0aGUgdXNlciBoYXMgbWFya2VkIGFzIGZhdm9yaXRlcywgc28gdGhleSBjYW4gYmUgcHJpb3JpdGl6ZWQgd2hlbiBhZGRpbmcgYSByZWNpcGVcbiAgICAgKiB0byB0aGVpciBjYXJ0LCBpZiBvbmUgb2YgdGhlbSBpcyByZXR1cm5lZCBhcyBhIG1hdGNoaW5nIHByb2R1Y3QgZm9yIHRoZSByZWNpcGUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZmF2b3JpdGVQcm9kdWN0SWRzIGFuIGFycmF5IG9mIHByb2R1Y3QgaWRzLCBwYXNzZWQgYXMgc3RyaW5nXG4gICAgICovXG4gICAgc2V0RmF2b3JpdGVJdGVtczogKGZhdm9yaXRlUHJvZHVjdElkczogc3RyaW5nW10pID0+IE9ic2VydmFibGU8b2JqZWN0PjtcbiAgfTtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICB2aWV3OiB7XG4gICAgLyoqXG4gICAgICogQ2FsbCB0byBub3RpZnkgTWlhbSBvZiB0aGUgc2Nyb2xsYWJsZSBlbGVtZW50IG9mIHRoZSBjbGllbnQncyBwYWdlLCBpZiBpdCBpcyBub3QgPGJvZHk+XG4gICAgICogVGhpcyBpcyBuZWNlc3NhcnkgdG8gcHJldmVudCB0aGUgcGFnZSB0byBzY3JvbGwgaW4gdGhlIGJhY2tncm91ZCB3aGVuIE1pYW0gb3BlbnMgYSBwb3B1cC9tb2RhbC9kcmF3ZXJcbiAgICAgKi9cbiAgICBzZXRHbG9iYWxTY3JvbGxhYmxlRWxlbWVudDogKGVsZW1lbnQ6IEhUTUxFbGVtZW50KSA9PiB2b2lkO1xuICB9O1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8qKlxuICAgKiBPdmVycmlkZSB0d28gdGltZXMgd2lsbCBub3QgYmUgY29uc2lkZXJlZCAoREVQUkVDQVRFRClcbiAgICogQHBhcmFtIGljb24gaGF2ZSB0byBiZSBhIGtub3dlZCBpY29uIG5hbWUgc2VlIHNlY3Rpb24gJ0N1c3RvbSBpY29ucycgaW4gcmVhZCBtZVxuICAgKiBAcGFyYW0gdXJsIG9mIHRoZSBuZXcgaWNvblxuICAgKi9cbiAgb3ZlcnJpZGVJY29uOiAoaWNvbiwgdXJsOiBzdHJpbmcpID0+IHZvaWQ7XG59XG4iXX0=
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlhbS1pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiL2J1aWxkcy9taWFtL25nLW1pYW0tc2RrL3Byb2plY3RzL25nLW1pYW0vc3JjLyIsInNvdXJjZXMiOlsibGliL190eXBlcy9idWlsZGVkL21pYW0taW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbXBhcmFibGVQcm9kdWN0IH0gZnJvbSAnLi9jb21wYXJhYmxlLXByb2R1Y3QnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1pYW1JbnRlcmZhY2UgIHtcbiAgLyoqXG4gICAqIE1ldGhvZCB0byBjYWxsIHdoZW4gdGhlIHVzZXIgYmVnaW5zIHRoZSBwYXltZW50IHByb2NlZHVyZSAodHlwaWNhbGx5IHdoZW4gdGhleSBjbGlja1xuICAgKiBvbiBhIFwiQ29uZmlybSBteSBjYXJ0XCIgYnV0dG9uKVxuICAgKiBAcGFyYW0gdG90YWxQcmljZSB0aGUgdG90YWwgcHJpY2Ugb2YgeW91ciBiYXNrZXQgKGNhbiBiZSBhIGZsb2F0aW5nIG9yIGludGVnZXIgbnVtYmVyKVxuICAgKi9cbiAgcGF5bWVudFN0YXJ0ZWQ6ICh0b3RhbFByaWNlOiBudW1iZXIpID0+IHZvaWQ7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgYW5hbHl0aWNzOiB7XG4gICAgLyoqXG4gICAgICogSW5pdGlhbGl6ZSBBbmFseXRpY3NcbiAgICAgKlxuICAgICAqIEBwYXJhbSBkb21haW4gUGxhdXNpYmxlIGRvbWFpblxuICAgICAqIEBwYXJhbSBvcHRpbWl6ZUtleSBHb29nbGUgT3B0aW1pemUga2V5XG4gICAgICovXG4gICAgaW5pdDogKGRvbWFpbjogc3RyaW5nLCBvcHRpbWl6ZUtleTogc3RyaW5nKSA9PiB2b2lkO1xuICB9O1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIGJhc2tldDoge1xuICAgIC8qKlxuICAgICAqIEVtaXRzIHRydWUgd2hlbiBNaWFtJ3MgYmFza2V0IGhhcyBzdWNjZXNmdWxseSBsb2FkZWQgZm9yIHRoZSBmaXJzdCB0aW1lLlxuICAgICAqIERvZXMgbm90IGVtaXQgYW55dGhpbmcgYmVmb3JlIG9yIGFmdGVyIHRoYXQuXG4gICAgICovXG4gICAgYmFza2V0SXNSZWFkeSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgLyoqXG4gICAgICogRmV0Y2ggdGhlIGZpcnN0IEdyb2Nlcmllc0xpc3QgJiBCYXNrZXQgZWFybHkgKGJlZm9yZSBhbnkgYWN0aW9uIHJlcXVpcmVzIGl0IG9uIE1pYW0nc1xuICAgICAqIHNpZGUpLCBzbyB5b3UgY2FuIHN0YXJ0IHRoZSBiYXNrZXQtc3luYyBlYXJsaWVyXG4gICAgICovXG4gICAgaW5pdGlhbGl6ZTogKCkgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBJZiB5b3UgaGF2ZSBkaWZmZXJlbnQgcHJpY2UgdGFibGVzIChvciBwcmljZWJvb2tzKSBmb3IgdGhlIHNhbWUgcG9pbnQgb2Ygc2FsZSwgeW91IGNhbiBjYWxsIHRoaXNcbiAgICAgKiBtZXRob2QgdG8gbWFrZSBNaWFtIGtub3cgb24gd2hpY2ggcHJpY2Vib29rIHlvdSBhcmUgdXNpbmdcbiAgICAgKiBGb3IgZXhhbXBsZSwgcHJpY2VzIGNhbiBiZSBkaWZmZXJlbnQgZGVwZW5kaW5nIG9uIGlmIHRoZSB1c2VyIGNob3NlIGhvbWUgZGVsaXZlcnkgb3IgZHJpdmUtaW5cbiAgICAgKi9cbiAgICB1cGRhdGVQcmljZWJvb2s6IChwcmljZWJvb2tOYW1lOiBzdHJpbmcpID0+IHZvaWQ7XG4gIH07XG5cbiAgYmFza2V0U3luYzoge1xuICAgIC8qKlxuICAgICAqIFRoZSBjYWxsYmFjayBwYXJhbWV0ZXIgaXMgY2FsbGVkIHdoZW4gTWlhbSdzIGJhc2tldCBjaGFuZ2VzIHRvIHVwZGF0ZSB0aGUgdXNlcidzIGNhcnQgYWNjb3JkaW5nbHlcbiAgICAgKlxuICAgICAqIEBwYXJhbSBwdXNoUHJvZHVjdHNUb0Jhc2tldCBhIG1ldGhvZCB0aGF0IHVwZGF0ZXMgdGhlIHVzZXIncyBjYXJ0IHdpdGggdGhlIHBydWR1Y3RzIHBhc3NlZCBpbiBwYXJhbWV0ZXIsIGJ5IGFkZGluZ1xuICAgICAqIHByb2R1Y3RzIGlmIHRoZWlyIHF1YW50aXR5IGlzIHBvc2l0aXZlLCBhbmQgcmVtb3ZpbmcgdGhlbSBpZiB0aGVpciBxdWFudGl0eSBpcyBuZWdhdGl2ZVxuICAgICAqL1xuICAgIGRlZmluZVB1c2hQcm9kdWN0c1RvQmFza2V0OiAocHVzaFByb2R1Y3RzVG9CYXNrZXQ6IChwcm9kdWN0czogQ29tcGFyYWJsZVByb2R1Y3RbXSkgPT4gdm9pZCkgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBUaGUgY2FsbGJhY2sgcGFyYW1ldGVyIGlzIGNhbGxlZCB3aGVuIE1pYW0ncyBiYXNrZXQgY2hhbmdlcyB0byB1cGRhdGUgdGhlIHVzZXIncyBjYXJ0IGFjY29yZGluZ2x5XG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHVzaFByb2R1Y3RzVG9CYXNrZXQgYSBtZXRob2QgdGhhdCB1cGRhdGVzIHRoZSB1c2VyJ3MgY2FydCB3aXRoIHRoZSBwcnVkdWN0cyBwYXNzZWQgaW4gcGFyYW1ldGVyLCBieSBhZGRpbmdcbiAgICAgKiBwcm9kdWN0cyBpZiB0aGVpciBxdWFudGl0eSBpcyBwb3NpdGl2ZSwgYW5kIHJlbW92aW5nIHRoZW0gaWYgdGhlaXIgcXVhbnRpdHkgaXMgbmVnYXRpdmVcbiAgICAgKi9cbiAgICBkZWZpbmVQdXNoQmFza2V0RW50cmllc1RvQmFza2V0OiAocHVzaFByb2R1Y3RzVG9CYXNrZXQ6IChwcm9kdWN0czogQ29tcGFyYWJsZVByb2R1Y3RbXSkgPT4gdm9pZCkgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBDYWxsIHRvIG5vdGlmeSBNaWFtIHRoYXQgdGhlIHVzZXIncyBjYXJ0IGhhcyBiZWVuIHVwZGF0ZWRcbiAgICAgKlxuICAgICAqIEBwYXJhbSBjb21wYXJhYmxlUHJvZHVjdHMgVGhlIHByb2R1Y3RzIGluIHRoZSB1c2VyJ3MgY2FydFxuICAgICAqL1xuICAgIHJldGFpbGVyQmFza2V0Q2hhbmdlZDogKGNvbXBhcmFibGVQcm9kdWN0czogQ29tcGFyYWJsZVByb2R1Y3RbXSkgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBDYWxsIHRvIG5vdGlmeSBNaWFtIHRoYXQgdGhlIHVzZXIncyBjYXJ0IHdhcyBwYWlkXG4gICAgICogTWlhbSB0aGVuIHJlZnJlc2hlcyB0aGUgZ3JvY2VyaWVzLWxpc3QgYW5kIGJhc2tldCBmb3IgdGhlIG5leHQgdXNlcidzIGNhcnRcbiAgICAgKlxuICAgICAqIEBwYXJhbSB0b3RhbCBUaGUgdG90YWwgcHJpY2Ugb2YgdGhlIGNhcnQgcGFpZFxuICAgICAqL1xuICAgICBoYW5kbGVQYXltZW50OiAodG90YWw6IG51bWJlcikgPT4gdm9pZFxuICB9O1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIGZlYXR1cmVzOiB7XG4gICAgLyoqXG4gICAgICogQ2FsbCB0byBlbmFibGUgcmVjaXBlcyB0byBkaXNwbGF5IGEgdmlkZW8gaW5zdGVhZCBvZiB0aGVpciBwaWN0dXJlLCBpZiB0aGVyZSBpcyBhIHZpZGVvIGZvciB0aGUgcmVjaXBlXG4gICAgICovXG4gICAgZW5hYmxlVmlkZW9SZWNpcGVzOiAoKSA9PiB2b2lkO1xuICAgIC8qKlxuICAgICAqIENhbGwgdG8gZW5hYmxlIHRoZSBjYXRhbG9nIHRvIGRpc3BsYXkgYXJ0aWNsZXMsIGlmIHRoZWlyIGFyZSBwYWNrYWdlcyB0aGF0IGNvbnRhaW4gYW55IGFydGljbGVzXG4gICAgICovXG4gICAgZW5hYmxlQXJ0aWNsZXNJbkNhdGFsb2c6ICgpID0+IHZvaWQ7XG4gICAgLyoqXG4gICAgICogQ2FsbCB0byBhdXRob3JpemUgTWlhbSB0byBhc2sgZm9yIHVzZXIgcHJlZmVyZW5jZXMgdGhlIGZpcnN0IHRpbWUgdXNlcnMgdmlldyB0aGUgcmVjaXBlIGNhdGFsb2dcbiAgICAgKi9cbiAgICBlbmFibGVVc2VyUHJlZmVyZW5jZXM6ICgpID0+IHZvaWQ7XG4gICAgLyoqXG4gICAgICogQ2FsbCB0byBlbmFibGUgdGFncyBkaXNwbGF5aW5nIG9uIHJlY2lwZS1kZXRhaWxzXG4gICAgICovXG4gICAgZW5hYmxlVGFnc09uUmVjaXBlczogKCkgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBDYWxsIHRvIGVuYWJsZSBwZXJzb25hbCByZWNpcGVzIG9uIHJlY2lwZS1jYXRhbG9nXG4gICAgICovXG4gICAgZW5hYmxlUGVyc29uYWxSZWNpcGVzOiAoKSA9PiB2b2lkO1xuICB9O1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIGhvb2s6IHtcbiAgICAvKipcbiAgICAgKiBTZXQgdXAgYSBjYWxsYmFjayB3aGljaCBNaWFtIHdpbGwgY2FsbCBiZWZvcmUgYWRkaW5nIGEgcmVjaXBlIHRvIHRoZSB1c2VyJ3MgY2FydFxuICAgICAqXG4gICAgICogQHBhcmFtIGNhbGxiYWNrIGEgbWV0aG9kIHRoYXQgd2lsbCBiZSBjYWxsZWQgcGFzc2luZyB0d28gcGFyYW1ldGVycyA6XG4gICAgICogIC0gaXNMb2dnZWQsIHRydWUgaWYgdGhlIHVzZXIgaXMgbG9nZ2VkIChhY2NvcmRpbmcgdG8gTWlhbSwgc2VlIHVzZXIubG9hZFdpdGhFeHRJZCBmb3IgbW9yZSlcbiAgICAgKiAgLSBpc1Bvc1ZhbGlkIHRydWUgaWYgdGhlIFBvaW50T2ZTYWxlIGlzIHJlY29nbml6ZWQgYnkgTWlhbVxuICAgICAqIFR5cGljYWxseSB5b3UgbWlnaHQgd2FudCB0byB1c2UgdGhpcyB0byBzaG93IHlvdXIgY29ubmV4aW9uIHBhZ2UgaWYgdGhlIHVzZXIgdHJpZXMgdG8gYWRkIGEgcmVjaXBlIHdoaWxlIGxvZ2dlZCBvdXRcbiAgICAgKiBvciB0byBzaG93IHlvdXIgcG9pbnQgb2Ygc2FsZSBwaWNrZXIgaWYgdGhlIHVzZXIgaGFzIG5vdCBjaG9zZW4gb25lXG4gICAgICovXG4gICAgc2V0SG9va0NhbGxiYWNrOiAoY2FsbGJhY2s6IChpc0xvZ2dlZCwgaXNQb3NWYWxpZCkgPT4gYm9vbGVhbikgPT4gdm9pZDtcbiAgfTtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICBsaXN0OiB7XG4gICAgLyoqXG4gICAgICogUmVzZXRzIE1pYW0ncyBHcm9jZXJpZXNMaXN0ICYgZW1wdGllcyBhbGwgcHJvZHVjdHMgJiByZWNpcGVzIGFkZGVkIGJ5IHRoZSB1c2VyXG4gICAgICogLyFcXCBXZSBoZWF2aWx5IHJlY29tbWVuZCBub3QgdG8gdXNlIHRoaXMgbWV0aG9kIG91dHNpZGUgb2YgdGhlIHdlYiBjb25zb2xlIGZvciB0ZXN0aW5nIHB1cnBvc2VzIC8hXFxcbiAgICAgKi9cbiAgICByZXNldDogKCkgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBBZGRzIGEgcmVjaXBlIHRvIE1pYW0ncyBiYXNrZXRcbiAgICAgKiAvIVxcIFdlIGhlYXZpbHkgcmVjb21tZW5kIG5vdCB0byB1c2UgdGhpcyBtZXRob2Qgb3V0c2lkZSBvZiB0aGUgd2ViIGNvbnNvbGUgZm9yIHRlc3RpbmcgcHVycG9zZXMgLyFcXFxuICAgICAqL1xuICAgIGFkZFJlY2lwZTogKHJlY2lwZUlkOiBzdHJpbmcsIGd1ZXN0czogbnVtYmVyKSA9PiBPYnNlcnZhYmxlPG9iamVjdD47XG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhbiBvYnNlcnZhYmxlIHRoYXQgd2lsbCBlbWl0IHRydWUgaWYgdGhlIHJlY2lwZSBwYXNzZWQgaW4gcGFyYW1ldGVyIGlzIGluIE1pYW0ncyBHcm9jZXJpZXNMaXN0XG4gICAgICovXG4gICAgaGFzUmVjaXBlOiAocmVjaXBlSWQ6IHN0cmluZykgPT4gT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICAvKipcbiAgICAgKiBAcmV0dXJucyBBIEJlaGF2aW9yU3ViamVjdCB0aGF0IGVtaXRzIHRoZSBjdXJyZW50IG51bWJlciBvZiByZWNpcGVzIGluIE1pYW0ncyBHcm9jZXJpZXNMaXN0XG4gICAgICovXG4gICAgcmVjaXBlQ291bnQ6ICgpID0+IE9ic2VydmFibGU8bnVtYmVyPjtcbiAgfTtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICBwb3M6IHtcbiAgICAvKipcbiAgICAgKiBDYWxsIHRvIGluZm9ybSBNaWFtIG9mIHRoZSBwb2ludCBvZiBzYWxlIHRoZSB1c2VyIGlzIGN1cnJlbnRseSBvbi4gRG8gbm90IGZvcmdldCB0byBjYWxsIHRoZSBtZXRob2RcbiAgICAgKiBpZiBpdCBjaGFuZ2VzIGFmdGVyIHVzZXIgbG9hZHMgdGhlIHBhZ2VcbiAgICAgKlxuICAgICAqIEBwYXJhbSBleHRlcm5hbElkIHRoZSBpZCBvZiB0aGUgUG9pbnRPZlNhbGUgaW4gY2xpZW50J3MgZGF0YWJhc2VcbiAgICAgKi9cbiAgICBsb2FkOiAoZXh0ZXJuYWxJZCkgPT4gdm9pZDtcbiAgfTtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICByZWNpcGVzOiB7XG4gICAgLyoqXG4gICAgICogQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIGEgdmFsdWUgd2hlbiB0aGUgcmVjaXBlLW1vZGFsIGlzIGNsb3NlZFxuICAgICAqL1xuICAgIGhpZGRlbjogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICAvKipcbiAgICAgKiBJZiBjYWxsZWQgd2l0aCBhIHBhcmFtZXRlciB0byB0cnVlLCByZWNpcGUtZGV0YWlscyB3aWxsIHNob3cgYSBwaWN0dXJlIG5leHQgdG8gdGhlIGluZ3JlZGllbnRzXG4gICAgICovXG4gICAgc2hvdWxkRGlzcGxheUluZ3JlZGllbnRQaWN0dXJlc09uUmVjaXBlQ2FyZHM6IChzaG91bGQ6IGJvb2xlYW4pID0+IHZvaWQ7XG4gICAgLyoqXG4gICAgICogQ2FsbCB3aXRoIGFuIHVybCBvZiBhIHBpY3R1cmUgdG8gY2hhbmdlIHRoZSBkZWZhdWx0IHBpY3R1cmUgZGlzcGxheWVkIGlmIGFuIGluZ3JlZGllbnQgZG9lc24ndCBoYXZlIGEgcGljdHVyZVxuICAgICAqIGFuZCBpZiBpbmdyZWRpZW50cyBwaWN0dXJlIGhhdmUgYmVlbiBlbmFibGVkIHdpdGggcmVjaXBlcy5zaG91bGREaXNwbGF5SW5ncmVkaWVudFBpY3R1cmVzT25SZWNpcGVDYXJkcyh0cnVlKVxuICAgICAqL1xuICAgIHNldERlZmF1bHRJbmdyZWRpZW50UGljdHVyZTogKHVybDogc3RyaW5nKSA9PiB2b2lkO1xuICAgIC8qKlxuICAgICAqIE92ZXJyaWRlIGRlZmF1bHQgbGFiZWxzIGZvciBkaWZmaWN1bHR5IGxldmVsc1xuICAgICAqXG4gICAgICogQHBhcmFtIGxldmVscyBUaGUgbGlzdCBvZiBsYWJlbHMgdG8gb3ZlcnJpZGUgZm9yIGVhY2ggZGlmZmljdWx0eSAoZGlmZmljdWx0aWVzIGFyZSByZXNwZWN0aXZlbHkgMTogRWFzeSwgMjogTWVkaXVtLCAzOiBIYXJkKVxuICAgICAqIGV4YW1wbGUgOiBbe3ZhbHVlOiAxLCBsYWJlbDogXCJCZWdpbm5lclwifV0gdG8gdXBkYXRlIHRoZSBsYWJlbCBvZiBlYXN5IHJlY2lwZXMgdG8gXCJCZWdpbm5lclwiXG4gICAgICovXG4gICAgc2V0RGlmZmljdWx0eUxldmVsczogKGxldmVsczogeyB2YWx1ZTogbnVtYmVyLCBsYWJlbDogc3RyaW5nIH1bXSkgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiAvIVxcIERFUFJFQ0FURUQ6IERPIE5PVCBVU0UgLyFcXFxuICAgICAqL1xuICAgIHNlYXJjaDogKHByb3ZpZGVyLCBxdWVyeSkgPT4gYW55O1xuICAgIC8vIC8qKlxuICAgIC8vICAqIC8hXFwgREVQUkVDQVRFRDogRE8gTk9UIFVTRSAvIVxcXG4gICAgLy8gICovXG4gICAgLy8gIHNldFJlY2lwZXNQcmltYXJ5QnV0dG9uQWN0aW9uczogKGRpc3BsYXk6IGJvb2xlYW4sIGFkZFRvQmFza2V0OiBib29sZWFuKSA9PiB2b2lkO1xuICAgIC8vIC8qKlxuICAgIC8vICAqIC8hXFwgREVQUkVDQVRFRDogRE8gTk9UIFVTRSAvIVxcXG4gICAgLy8gICovXG4gICAgLy8gc2V0U3VnZ2VzdGlvbnNQcmltYXJ5QnV0dG9uQWN0aW9uczogKGRpc3BsYXk6IGJvb2xlYW4sIGFkZFRvQmFza2V0OiBib29sZWFuKSA9PiB2b2lkO1xuICAgIC8qKlxuICAgICAqIElmIGNhbGxlZCwgYWRkaW5nIGEgcmVjaXBlIHRvIE1pYW0ncyBiYXNrZXQgd2lsbCBkaXNwbGF5IGEgY29uZmlybWF0aW9uIHRvYXN0ZXJcbiAgICAgKi9cbiAgICBzaG93Q29uZmlybWF0aW9uVG9hc3RlcjogKCkgPT4gdm9pZDtcbiAgfTtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICByb3V0ZXI6IHtcbiAgICAvKipcbiAgICAgKiBJbmZvcm0gTWlhbSBvZiB0aGUgdXJsIHdoZXJlIHRoZSBjYXRhbG9nIGlzIGZvciB0aGUgcmVkaXJlY3Rpb24gbGluayBvZiByZWNpcGUtZGV0YWlsc1xuICAgICAqL1xuICAgIHNldFJlY2lwZUNhdGFsb2dVcmw6ICh1cmw6IHN0cmluZykgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBJbmZvcm0gTWlhbSBvZiB0aGUgdXJsIHdoZXJlIHRoZSBvbmJvYXJkaW5nIHNlY3Rpb24gb2YgdGhlIGNhdGFsb2cgc2hvdWxkIHJlZGlyZWN0XG4gICAgICovXG4gICAgc2V0UmVjaXBlSW5mb0xpbms6ICh1cmw6IHN0cmluZykgPT4gdm9pZDtcbiAgfTtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICBzdXBwbGllcjoge1xuICAgIC8qKlxuICAgICAqIC8hXFwgVGhpcyBuZWVkcyB0byBiZSB0aGUgZmlyc3QgbWV0aG9kIGNhbGxlZCwgYmVjYXVzZSBub3RoaW5nIHdpbGwgd29yayBpZiB0aGUgb3JpZ2luIGlzbid0IHNldFxuICAgICAqIEBwYXJhbSBvcmlnaW4gYW4gaWRlbnRpZmllciBzdHJpbmcgdGhhdCBNaWFtIHBhc3NlcyB0byB0aGUgQVBJIHdpdGggZWFjaCByZXF1ZXN0IHRvIGtlZXAgdHJhY2sgb2YgdGhlIG9yaWdpblxuICAgICAqIG9mIHRoZSByZXF1ZXN0XG4gICAgICovXG4gICAgc2V0T3JpZ2luOiAob3JpZ2luOiBzdHJpbmcpID0+IHZvaWQ7XG4gICAgLyoqXG4gICAgICogQ2FsbCB0byBpbmZvcm0gTWlhbSBvZiB0aGUgc3VwcGxpZXIgdGhlIHVzZXIgaXMgY3VycmVudGx5IG9uLiBEbyBub3QgZm9yZ2V0IHRvIGNhbGwgdGhlIG1ldGhvZFxuICAgICAqIGlmIGl0IGNoYW5nZXMgYWZ0ZXIgdXNlciBsb2FkcyB0aGUgcGFnZSAoc2hvdWxkIG5vdCBoYXBwZW4gZXNjZXB0IGluIHZlcnkgc3BlY2lmaWMgY2FzZXMpXG4gICAgICpcbiAgICAgKiBAcGFyYW0gc3VwcGxpZXJJZCB0aGUgU3VwcGxpZXIgaWQgaW4gTWlhbSdzIGRhdGFiYXNlXG4gICAgICovXG4gICAgbG9hZDogKHN1cHBsaWVySWQ6IG51bWJlciB8IHN0cmluZykgPT4gdm9pZDtcbiAgfTtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICB1c2VyOiB7XG4gICAgLyoqXG4gICAgICogQ2FsbCB0byBpbmZvcm0gTWlhbSBvZiB0aGUgaWQgb2YgdGhlIHVzZXIuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaWQgYSBzdHJpbmcgdW5pcXVlIGlkZW50aWZpZXIgdG8gdGhlIHVzZXJcbiAgICAgKiBAcGFyYW0gZm9yYmlkUHJvZmlsaW5nIGlmIHNldCB0byB0cnVlLCBkZXNhY3RpdmF0ZSBwZXJzb25hbGl6ZWQgY29udGVudCAocGVyc29uYWxpemVkIHJlY2lwZXMgJiBwcm9kdWN0cylcbiAgICAgKiBAcGFyYW0gaW5pdEJhc2tldCBERVBSRUNBVEVEIC0gaWYgc2V0IHRvIHRydWUsIGZldGNoIHRoZSBHcm9jZXJpZXNMaXN0ICYgQmFza2V0IG9mIHRoZSB1c2VyIChyZWNvbW1hbmRlZCBhc1xuICAgICAqIGl0IHNhdmVzIHRpbWUgbGF0ZXIpXG4gICAgICovXG4gICAgbG9hZFdpdGhFeHRlcm5hbElkOiAoaWQ6IHN0cmluZywgZm9yYmlkUHJvZmlsaW5nOiBib29sZWFuLCBpbml0QmFza2V0OiBib29sZWFuKSA9PiBPYnNlcnZhYmxlPG9iamVjdD47XG4gICAgLyoqXG4gICAgICogQ2FsbCB0byBpbmZvcm0gTWlhbSB0aGF0IHRoZSB1c2VyIGhhcyBsb2dnZWQgb3V0XG4gICAgICovXG4gICAgcmVzZXQ6ICgpID0+IHZvaWQ7XG4gICAgLyoqXG4gICAgICogSWYgeW91ciB3ZWJzaXRlIGhhcyBhIFwiZmF2b3JpdGUgcHJvZHVjdHNcIiBmZWF0dXJlLCB5b3UgY2FuIHBhc3MgdGhlIGlkcyBvZiBhbGwgcHJvZHVjdHNcbiAgICAgKiB3aGljaCB0aGUgdXNlciBoYXMgbWFya2VkIGFzIGZhdm9yaXRlcywgc28gdGhleSBjYW4gYmUgcHJpb3JpdGl6ZWQgd2hlbiBhZGRpbmcgYSByZWNpcGVcbiAgICAgKiB0byB0aGVpciBjYXJ0LCBpZiBvbmUgb2YgdGhlbSBpcyByZXR1cm5lZCBhcyBhIG1hdGNoaW5nIHByb2R1Y3QgZm9yIHRoZSByZWNpcGUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZmF2b3JpdGVQcm9kdWN0SWRzIGFuIGFycmF5IG9mIHByb2R1Y3QgaWRzLCBwYXNzZWQgYXMgc3RyaW5nXG4gICAgICovXG4gICAgc2V0RmF2b3JpdGVJdGVtczogKGZhdm9yaXRlUHJvZHVjdElkczogc3RyaW5nW10pID0+IE9ic2VydmFibGU8b2JqZWN0PjtcbiAgfTtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICB2aWV3OiB7XG4gICAgLyoqXG4gICAgICogQ2FsbCB0byBub3RpZnkgTWlhbSBvZiB0aGUgc2Nyb2xsYWJsZSBlbGVtZW50IG9mIHRoZSBjbGllbnQncyBwYWdlLCBpZiBpdCBpcyBub3QgPGJvZHk+XG4gICAgICogVGhpcyBpcyBuZWNlc3NhcnkgdG8gcHJldmVudCB0aGUgcGFnZSB0byBzY3JvbGwgaW4gdGhlIGJhY2tncm91ZCB3aGVuIE1pYW0gb3BlbnMgYSBwb3B1cC9tb2RhbC9kcmF3ZXJcbiAgICAgKi9cbiAgICBzZXRHbG9iYWxTY3JvbGxhYmxlRWxlbWVudDogKGVsZW1lbnQ6IEhUTUxFbGVtZW50KSA9PiB2b2lkO1xuICB9O1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8qKlxuICAgKiBPdmVycmlkZSB0d28gdGltZXMgd2lsbCBub3QgYmUgY29uc2lkZXJlZCAoREVQUkVDQVRFRClcbiAgICogQHBhcmFtIGljb24gaGF2ZSB0byBiZSBhIGtub3dlZCBpY29uIG5hbWUgc2VlIHNlY3Rpb24gJ0N1c3RvbSBpY29ucycgaW4gcmVhZCBtZVxuICAgKiBAcGFyYW0gdXJsIG9mIHRoZSBuZXcgaWNvblxuICAgKi9cbiAgb3ZlcnJpZGVJY29uOiAoaWNvbiwgdXJsOiBzdHJpbmcpID0+IHZvaWQ7XG59XG4iXX0=
|