@hmcts/ccpay-web-component 5.0.7-beta41 → 5.0.7-beta42

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.
@@ -454,6 +454,7 @@ export class ProcessRefundComponent {
454
454
  * @return {?}
455
455
  */
456
456
  getTemplateInstructionType(paymentReference) {
457
+ console.log('hitting end point');
457
458
  if (paymentReference != undefined && paymentReference != null) {
458
459
  this.paymentViewService.getPaymentDetails(paymentReference).subscribe((/**
459
460
  * @param {?} payment
@@ -612,4 +613,4 @@ if (false) {
612
613
  */
613
614
  ProcessRefundComponent.prototype.activeRoute;
614
615
  }
615
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1yZWZ1bmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhtY3RzL2NjcGF5LXdlYi1jb21wb25lbnQvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9wcm9jZXNzLXJlZnVuZC9wcm9jZXNzLXJlZnVuZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQVUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxXQUFXLEVBQWEsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pGLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUt0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN2RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN0RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFDLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBUXhELE1BQU0sT0FBTyxzQkFBc0I7Ozs7Ozs7Ozs7O0lBa0NqQyxZQUFvQixjQUE4QixFQUM5QixrQkFBc0MsRUFDdEMsV0FBd0IsRUFDeEIsaUJBQW9DLEVBQ3BDLG1CQUF3QyxFQUN4QyxtQkFBd0MsRUFDeEMsTUFBYyxFQUNkLFdBQTJCO1FBUDNCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4Qyx3QkFBbUIsR0FBbkIsbUJBQW1C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R0FBRyxLQUFLLENBQUM7SUFDbkMsQ0FBQzs7O1lBMVpGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsc0JBQXNCO2dCQUNoQyxxOFVBQThDOzthQUUvQzs7OztZQWhCTyxjQUFjO1lBT2Isa0JBQWtCO1lBUmxCLFdBQVc7WUFNWCxpQkFBaUI7WUFDakIsbUJBQW1CO1lBRW5CLG1CQUFtQjtZQUNKLE1BQU07WUFBckIsY0FBYzs7OzhCQVNwQixLQUFLOytCQUNMLEtBQUs7Ozs7SUFETixpREFBaUM7O0lBQ2pDLGtEQUF1Qzs7SUFFdkMsbURBQTZCOztJQUU3Qiw4Q0FBd0Q7O0lBQ3hELDRDQUEwQjs7SUFDMUIsNENBQW1COztJQUNuQixrREFBdUM7O0lBQ3ZDLHdEQUFtRDs7SUFDbkQscURBQXFDOztJQUNyQyxpREFBaUM7O0lBQ2pDLGdEQUFnQzs7SUFDaEMscURBQXFDOztJQUVyQyx1REFBdUM7O0lBQ3ZDLDREQUE0Qzs7SUFDNUMsb0RBQW9DOztJQUNwQyxzREFBc0M7O0lBQ3RDLHdEQUF3Qzs7SUFDeEMsd0RBQXdDOztJQUN4QywrQ0FBK0I7O0lBQy9CLGlEQUFpQzs7SUFDakMsNENBQTBCOztJQUMxQixnREFBdUI7O0lBQ3ZCLCtDQUFzQjs7SUFDdEIsc0RBQThCOztJQUM5Qiw0Q0FBc0I7O0lBQ3RCLDJDQUFtQjs7SUFDbkIseURBQXdDOztJQUN4Qyw0Q0FBcUI7O0lBQ3JCLHFEQUFxQzs7SUFDckMsd0RBQTZDOzs7OztJQUNqQyxnREFBc0M7Ozs7O0lBQ3RDLG9EQUE4Qzs7Ozs7SUFDOUMsNkNBQWdDOzs7OztJQUNoQyxtREFBNEM7Ozs7O0lBQzVDLHFEQUFnRDs7Ozs7SUFDaEQscURBQWdEOzs7OztJQUNoRCx3Q0FBc0I7Ozs7O0lBQ3RCLDZDQUFtQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBPbkluaXQsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMsIEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtSZWZ1bmRzU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvcmVmdW5kcy9yZWZ1bmRzLnNlcnZpY2UnO1xuaW1wb3J0IHsgSVJlZnVuZEFjdGlvbiB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVJlZnVuZEFjdGlvbic7XG5pbXBvcnQgeyBJUmVmdW5kTGlzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVJlZnVuZExpc3QnO1xuaW1wb3J0IHsgSVBheW1lbnQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lQYXltZW50JztcbmltcG9ydCB7IElSZWZ1bmRSZWplY3RSZWFzb24gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lSZWZ1bmRSZWplY3RSZWFzb24nO1xuaW1wb3J0IHsgT3JkZXJzbGlzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9vcmRlcnNsaXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBQYXltZW50Vmlld1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wYXltZW50LXZpZXcvcGF5bWVudC12aWV3LnNlcnZpY2UnO1xuaW1wb3J0IHsgUGF5bWVudExpYkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3BheW1lbnQtbGliLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSxSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgSU5vdGlmaWNhdGlvblByZXZpZXcgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lOb3RpZmljYXRpb25QcmV2aWV3JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NwYXktcHJvY2Vzcy1yZWZ1bmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvY2Vzcy1yZWZ1bmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wcm9jZXNzLXJlZnVuZC5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUHJvY2Vzc1JlZnVuZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHJlZnVuZFJlZmVyZW5jZTogc3RyaW5nO1xuICBASW5wdXQoKSByZWZ1bmRsaXN0c291cmNlOiBJUmVmdW5kTGlzdDtcblxuICBwcm9jZXNzUmVmdW5kRm9ybTogRm9ybUdyb3VwO1xuXG4gIGVycm9yTWVzc2FnZSA9ICB0aGlzLmdldEVycm9yTWVzc2FnZShmYWxzZSwgJycsICcnLCAnJyk7XG4gIHNlbmRtZWJhY2s6IHN0cmluZyA9IG51bGw7XG4gIHZpZXdTdGF0dXM6IHN0cmluZztcbiAgcmVmdW5kQWN0aW9uTGlzdDogSVJlZnVuZEFjdGlvbltdID0gW107IFxuICByZWZ1bmRSZWplY3RSZWFzb25MaXN0OiBJUmVmdW5kUmVqZWN0UmVhc29uW10gPSBbXTsgXG4gIGlzU2VuZE1lQmFja0NsaWNrZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNSZWplY3RDbGlja2VkOiBib29sZWFuID0gZmFsc2U7XG4gIGlzT3RoZXJDbGlja2VkOiBib29sZWFuID0gZmFsc2U7XG4gIGlzU3VjY2Vzc3BhZ2VFbmFibGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICByZWZ1bmRBY3Rpb25zSGFzRXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcmVmdW5kUmVqZWN0UmVhc29uSGFzRXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNSZWFzb25GaWVsZEVtcHR5OiBib29sZWFuID0gZmFsc2U7XG4gIGlzUmVhc29uRmllbGRJbnZhbGlkOiBib29sZWFuID0gZmFsc2U7XG4gIHJlYXNvbkZpZWxkTWluSGFzRXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcmVhc29uRmllbGRNYXhIYXNFcnJvcjogYm9vbGVhbiA9IGZhbHNlO1xuICBpc1JlYXNvbkVtcHR5OiBib29sZWFuID0gZmFsc2U7XG4gIGlzUmVhc29uSW52YWxpZDogYm9vbGVhbiA9IGZhbHNlO1xuICBzdWNjZXNzTXNnOiBzdHJpbmcgPSBudWxsO1xuICBuYXZpZ2F0aW9ucGFnZTogc3RyaW5nO1xuICBjY2RDYXNlTnVtYmVyOiBzdHJpbmc7XG4gIGlzRnJvbVJlZnVuZExpc3RQYWdlOiBib29sZWFuO1xuICBjcG9EZXRhaWxzOmFueSA9IG51bGw7XG4gIGlzQ1BPRG93bjogYm9vbGVhbjtcbiAgaXNDb25maXJtQnV0dG9uZGlzYWJsZWQ6IGJvb2xlYW4gPSB0cnVlO1xuICBwYXltZW50T2JqOiBJUGF5bWVudDtcbiAgbm90aWZpY2F0aW9uUHJldmlldzogYm9vbGVhbiA9IGZhbHNlO1xuICBub3RpZmljYXRpb25QcmV2aWV3T2JqOiBJTm90aWZpY2F0aW9uUHJldmlldztcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBSZWZ1bmRzU2VydmljZTogUmVmdW5kc1NlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgcGF5bWVudFZpZXdTZXJ2aWNlOiBQYXltZW50Vmlld1NlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxuICAgICAgICAgICAgICBwcml2YXRlIE9yZGVyc2xpc3RTZXJ2aWNlOiBPcmRlcnNsaXN0U2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIHBheW1lbnRMaWJDb21wb25lbnQ6IFBheW1lbnRMaWJDb21wb25lbnQsXG4gICAgICAgICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgICAgICAgIHByaXZhdGUgYWN0aXZlUm91dGU6IEFjdGl2YXRlZFJvdXRlKSB7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnZpZXdTdGF0dXMgPSAnUmVmdW5kUHJvY2Vzcyc7XG4gICAgdGhpcy5SZWZ1bmRzU2VydmljZS5nZXRSZWZ1bmRBY3Rpb25zKHRoaXMucmVmdW5kUmVmZXJlbmNlKS5zdWJzY3JpYmUoXG4gICAgICByZWZ1bmRBY3Rpb25MaXN0ID0+IHtcbiAgICAgICAgdGhpcy5yZWZ1bmRBY3Rpb25MaXN0ID0gPGFueT5yZWZ1bmRBY3Rpb25MaXN0O1xuICAgICAgfSxcbiAgICAgIGVyciA9PiB7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gdGhpcy5nZXRFcnJvck1lc3NhZ2UodHJ1ZSwgZXJyLnN0YXR1c0NvZGUsIGVyci5lcnIsIGVycik7XG4gICAgICB9XG4gICAgKTtcbiAgICB0aGlzLnByb2Nlc3NSZWZ1bmRGb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICByZWZ1bmRBY3Rpb25GaWVsZDogbmV3IEZvcm1Db250cm9sKCcnLCBWYWxpZGF0b3JzLmNvbXBvc2UoW1xuICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkXG4gICAgICBdKSksXG4gICAgICByZWZ1bmRSZWplY3RSZWFzb25GaWVsZDogbmV3IEZvcm1Db250cm9sKCcnLCBWYWxpZGF0b3JzLmNvbXBvc2UoW1xuICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkXG4gICAgICBdKSksXG4gICAgICBzZW5kTWVCYWNrRmllbGQ6IG5ldyBGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5jb21wb3NlKFtcbiAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgVmFsaWRhdG9ycy5taW5MZW5ndGgoMyksXG4gICAgICAgIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDI1NSksXG4gICAgICAgIFZhbGlkYXRvcnMucGF0dGVybignXihbYS16QS1aMC05XFxcXHMsXFxcXC5dKikkJyksXG5cbiAgICAgIF0pKSxcbiAgICAgIGVudGVyUmVhc29uRmllbGQ6IG5ldyBGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5jb21wb3NlKFtcbiAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMzApLFxuICAgICAgICBWYWxpZGF0b3JzLnBhdHRlcm4oJ14oW2EtekEtWjAtOS5cXFxcc10qKSQnKSxcbiAgICAgIF0pKSxcbiAgICB9KTtcbiAgIHRoaXMuY2NkQ2FzZU51bWJlciA9IHRoaXMucmVmdW5kbGlzdHNvdXJjZS5jY2RfY2FzZV9udW1iZXI7XG5cbiAgIGlmKCh0eXBlb2YgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LlRBS0VQQVlNRU5UID09PSAnc3RyaW5nJyAmJiB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuVEFLRVBBWU1FTlQgPT09ICdmYWxzZScpIHx8ICh0eXBlb2YgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LlRBS0VQQVlNRU5UID09PSAnYm9vbGVhbicgJiYgIXRoaXMucGF5bWVudExpYkNvbXBvbmVudC5UQUtFUEFZTUVOVCkgKSB7XG4gICAgdGhpcy5pc0Zyb21SZWZ1bmRMaXN0UGFnZSA9IHRydWU7XG4gICB9XG4gICB0aGlzLnBheW1lbnRWaWV3U2VydmljZS5nZXRQYXJ0eURldGFpbHModGhpcy5jY2RDYXNlTnVtYmVyKS5zdWJzY3JpYmUoXG4gICAgcmVzcG9uc2UgPT4ge1xuICAgICAgdGhpcy5jcG9EZXRhaWxzID0gSlNPTi5wYXJzZShyZXNwb25zZSkuY29udGVudFswXTtcblxuICAgIH0sXG4gICAgKGVycm9yOiBhbnkpID0+IHtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gPGFueT5lcnJvci5yZXBsYWNlKC9cIi9nLFwiXCIpO1xuICAgICAgdGhpcy5pc0NQT0Rvd24gPSB0cnVlO1xuICAgIH1cbiAgKTtcbiAgfVxuICBcbiAgY2hlY2tSZWZ1bmRBY3Rpb25zKGNvZGU6IHN0cmluZykge1xuICAgIHRoaXMucmVmdW5kQWN0aW9uc0hhc0Vycm9yID0gZmFsc2U7XG4gICAgdGhpcy5pc1JlYXNvbkZpZWxkRW1wdHkgPSBmYWxzZTtcbiAgICB0aGlzLmlzUmVhc29uRW1wdHkgPSBmYWxzZTtcbiAgICB0aGlzLmlzUmVhc29uSW52YWxpZCA9IGZhbHNlO1xuICAgIHRoaXMucmVmdW5kUmVqZWN0UmVhc29uSGFzRXJyb3IgPSBmYWxzZTtcbiAgICBpZihjb2RlID09PSAnUmV0dXJuIHRvIGNhc2V3b3JrZXInKSB7XG4gICAgICB0aGlzLmlzQ29uZmlybUJ1dHRvbmRpc2FibGVkID0gdHJ1ZTtcbiAgICAgIHRoaXMuaXNTZW5kTWVCYWNrQ2xpY2tlZCA9IHRydWU7XG4gICAgICB0aGlzLmlzUmVqZWN0Q2xpY2tlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5pc090aGVyQ2xpY2tlZCA9IGZhbHNlO1xuXG4gICAgfSBlbHNlIGlmIChjb2RlID09PSAnQXBwcm92ZScpIHtcbiAgICAgIHRoaXMuaXNTZW5kTWVCYWNrQ2xpY2tlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5pc0NvbmZpcm1CdXR0b25kaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5pc1JlamVjdENsaWNrZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuaXNPdGhlckNsaWNrZWQgPSBmYWxzZTtcblxuICAgIH0gZWxzZSBpZiAoY29kZSA9PT0gJ1JlamVjdCcpIHtcbiAgICAgIHRoaXMuaXNSZWplY3RDbGlja2VkID0gdHJ1ZTtcbiAgICAgIHRoaXMuaXNTZW5kTWVCYWNrQ2xpY2tlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5pc090aGVyQ2xpY2tlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5SZWZ1bmRzU2VydmljZS5nZXRSZWZ1bmRSZWplY3RSZWFzb25zKCkuc3Vic2NyaWJlKFxuICAgICAgICByZWZ1bmRSZWplY3RSZWFzb25MaXN0ID0+IHtcbiAgICAgICAgICB0aGlzLnJlZnVuZFJlamVjdFJlYXNvbkxpc3QgPSA8YW55PnJlZnVuZFJlamVjdFJlYXNvbkxpc3Q7XG4gICAgICAgIH0sXG4gICAgICAgIGVyciA9PiB7XG4gICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSB0aGlzLmdldEVycm9yTWVzc2FnZSh0cnVlLCBlcnIuc3RhdHVzQ29kZSwgZXJyLmVyciwgZXJyKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKGNvZGUgPT09ICdSRTAwNScpIHtcbiAgICAgIHRoaXMuaXNPdGhlckNsaWNrZWQgPSB0cnVlO1xuICAgIH0gZWxzZSBpZiAoY29kZSAhPT0gJ1JFMDA1Jykge1xuICAgICAgdGhpcy5pc090aGVyQ2xpY2tlZCA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGdldE5vdGlmaWNhdGlvblByZXZpZXdPYmoobm90aWZpY2F0aW9uUHJldmlld09iaiA6IElOb3RpZmljYXRpb25QcmV2aWV3KXtcbiAgICB0aGlzLm5vdGlmaWNhdGlvblByZXZpZXdPYmogPSBub3RpZmljYXRpb25QcmV2aWV3T2JqO1xuICB9XG5cbiAgcHJvY2Vzc1JlZnVuZFN1Ym1pdCgpIHtcbiAgICBsZXQgcHJvY2Vzc1JlZnVuZFJlcXVlc3Q7XG4gICAgbGV0IHN0YXR1cztcbiAgICB0aGlzLnJlc2V0Rm9ybShbZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlXSwgJ2FsbCcpO1xuICAgIGNvbnN0IGNvbnRyb2xzID0gdGhpcy5wcm9jZXNzUmVmdW5kRm9ybS5jb250cm9scztcbiAgICBjb25zdCBwcm9jZXNzRm9ybUVycm9yID0gY29udHJvbHMuc2VuZE1lQmFja0ZpZWxkLmVycm9ycztcblxuICAgIGlmICh0aGlzLnByb2Nlc3NSZWZ1bmRGb3JtLmRpcnR5ICYmIGNvbnRyb2xzLnJlZnVuZEFjdGlvbkZpZWxkLnZhbGlkIFxuICAgICAgJiYgKGNvbnRyb2xzLnJlZnVuZEFjdGlvbkZpZWxkLnZhbHVlID09ICdBcHByb3ZlJ1xuICAgICAgfHwgKGNvbnRyb2xzLnJlZnVuZEFjdGlvbkZpZWxkLnZhbHVlID09ICdSZWplY3QnICYmIGNvbnRyb2xzLnJlZnVuZFJlamVjdFJlYXNvbkZpZWxkLnZhbGlkICYmIGNvbnRyb2xzLnJlZnVuZFJlamVjdFJlYXNvbkZpZWxkLnZhbHVlICE9ICdSRTAwNScpXG4gICAgICB8fCAoY29udHJvbHMucmVmdW5kQWN0aW9uRmllbGQudmFsdWUgPT0gJ1JlamVjdCcgJiYgY29udHJvbHMucmVmdW5kUmVqZWN0UmVhc29uRmllbGQudmFsdWUgPT0gJ1JFMDA1JyAmJiBjb250cm9scy5lbnRlclJlYXNvbkZpZWxkLnZhbGlkKVxuICAgICAgfHwgKGNvbnRyb2xzLnJlZnVuZEFjdGlvbkZpZWxkLnZhbHVlID09ICdSZXR1cm4gdG8gY2FzZXdvcmtlcicgJiYgY29udHJvbHMuc2VuZE1lQmFja0ZpZWxkLnZhbGlkKSkpIHtcbiAgICAgIGlmIChjb250cm9scy5yZWZ1bmRBY3Rpb25GaWVsZC52YWx1ZSA9PT0gJ0FwcHJvdmUnKXtcbiAgICAgICAgc3RhdHVzID0gJ0FQUFJPVkUnO1xuICAgICAgICBpZiAodGhpcy5ub3RpZmljYXRpb25QcmV2aWV3T2JqKSB7XG4gICAgICAgICAgcHJvY2Vzc1JlZnVuZFJlcXVlc3QgPSB7XG4gICAgICAgICAgICBjb2RlOiAnJyxcbiAgICAgICAgICAgIHJlYXNvbjogJycsXG4gICAgICAgICAgICB0ZW1wbGF0ZV9wcmV2aWV3OiB7XG4gICAgICAgICAgICAgIGJvZHk6IHRoaXMubm90aWZpY2F0aW9uUHJldmlld09iai5ib2R5LFxuICAgICAgICAgICAgICBmcm9tOiB7XG4gICAgICAgICAgICAgICAgZnJvbV9lbWFpbF9hZGRyZXNzOiB0aGlzLm5vdGlmaWNhdGlvblByZXZpZXdPYmouZnJvbS5mcm9tX2VtYWlsX2FkZHJlc3MsXG4gICAgICAgICAgICAgICAgZnJvbV9tYWlsX2FkZHJlc3M6IHtcbiAgICAgICAgICAgICAgICAgIGFkZHJlc3NfbGluZTogdGhpcy5ub3RpZmljYXRpb25QcmV2aWV3T2JqLmZyb20uZnJvbV9tYWlsX2FkZHJlc3MuYWRkcmVzc19saW5lLFxuICAgICAgICAgICAgICAgICAgY2l0eTogdGhpcy5ub3RpZmljYXRpb25QcmV2aWV3T2JqLmZyb20uZnJvbV9tYWlsX2FkZHJlc3MuY2l0eSxcbiAgICAgICAgICAgICAgICAgIGNvdW50cnk6IHRoaXMubm90aWZpY2F0aW9uUHJldmlld09iai5mcm9tLmZyb21fbWFpbF9hZGRyZXNzLmNvdW50cnksXG4gICAgICAgICAgICAgICAgICBjb3VudHk6IHRoaXMubm90aWZpY2F0aW9uUHJldmlld09iai5mcm9tLmZyb21fbWFpbF9hZGRyZXNzLmNvdW50eSxcbiAgICAgICAgICAgICAgICAgIHBvc3RhbF9jb2RlOiB0aGlzLm5vdGlmaWNhdGlvblByZXZpZXdPYmouZnJvbS5mcm9tX21haWxfYWRkcmVzcy5wb3N0YWxfY29kZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgaHRtbDogdGhpcy5ub3RpZmljYXRpb25QcmV2aWV3T2JqLmh0bWwsXG4gICAgICAgICAgICAgIGlkOiB0aGlzLm5vdGlmaWNhdGlvblByZXZpZXdPYmoudGVtcGxhdGVfaWQsXG4gICAgICAgICAgICAgIHN1YmplY3Q6IHRoaXMubm90aWZpY2F0aW9uUHJldmlld09iai5zdWJqZWN0LFxuICAgICAgICAgICAgICB0ZW1wbGF0ZV90eXBlOiB0aGlzLm5vdGlmaWNhdGlvblByZXZpZXdPYmoudGVtcGxhdGVfdHlwZSxcbiAgICAgICAgICAgICAgdmVyc2lvbjogMFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH07XG5cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBwcm9jZXNzUmVmdW5kUmVxdWVzdCA9IHtcbiAgICAgICAgICAgIGNvZGU6ICcnLFxuICAgICAgICAgICAgcmVhc29uOiAnJ1xuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoY29udHJvbHMucmVmdW5kQWN0aW9uRmllbGQudmFsdWUgPT09ICdSZWplY3QnKSB7XG4gICAgICAgIHN0YXR1cyA9ICdSRUpFQ1QnO1xuXG4gICAgICAgIGlmICh0aGlzLm5vdGlmaWNhdGlvblByZXZpZXdPYmopIHtcbiAgICAgICAgICBwcm9jZXNzUmVmdW5kUmVxdWVzdCA9IHtcbiAgICAgICAgICAgIGNvZGU6IGNvbnRyb2xzLnJlZnVuZFJlamVjdFJlYXNvbkZpZWxkLnZhbHVlID8gY29udHJvbHMucmVmdW5kUmVqZWN0UmVhc29uRmllbGQudmFsdWUgOiAnJyxcbiAgICAgICAgICAgIHJlYXNvbjogY29udHJvbHMucmVmdW5kUmVqZWN0UmVhc29uRmllbGQudmFsdWUgPT0gJ1JFMDA1JyA/IGNvbnRyb2xzLmVudGVyUmVhc29uRmllbGQudmFsdWUgOiAnJyxcbiAgICAgICAgICAgIHRlbXBsYXRlX3ByZXZpZXc6IHtcbiAgICAgICAgICAgICAgYm9keTogdGhpcy5ub3RpZmljYXRpb25QcmV2aWV3T2JqLmJvZHksXG4gICAgICAgICAgICAgIGZyb206IHtcbiAgICAgICAgICAgICAgICBmcm9tX2VtYWlsX2FkZHJlc3M6IHRoaXMubm90aWZpY2F0aW9uUHJldmlld09iai5mcm9tLmZyb21fZW1haWxfYWRkcmVzcyxcbiAgICAgICAgICAgICAgICBmcm9tX21haWxfYWRkcmVzczoge1xuICAgICAgICAgICAgICAgICAgYWRkcmVzc19saW5lOiB0aGlzLm5vdGlmaWNhdGlvblByZXZpZXdPYmouZnJvbS5mcm9tX21haWxfYWRkcmVzcy5hZGRyZXNzX2xpbmUsXG4gICAgICAgICAgICAgICAgICBjaXR5OiB0aGlzLm5vdGlmaWNhdGlvblByZXZpZXdPYmouZnJvbS5mcm9tX21haWxfYWRkcmVzcy5jaXR5LFxuICAgICAgICAgICAgICAgICAgY291bnRyeTogdGhpcy5ub3RpZmljYXRpb25QcmV2aWV3T2JqLmZyb20uZnJvbV9tYWlsX2FkZHJlc3MuY291bnRyeSxcbiAgICAgICAgICAgICAgICAgIGNvdW50eTogdGhpcy5ub3RpZmljYXRpb25QcmV2aWV3T2JqLmZyb20uZnJvbV9tYWlsX2FkZHJlc3MuY291bnR5LFxuICAgICAgICAgICAgICAgICAgcG9zdGFsX2NvZGU6IHRoaXMubm90aWZpY2F0aW9uUHJldmlld09iai5mcm9tLmZyb21fbWFpbF9hZGRyZXNzLnBvc3RhbF9jb2RlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBodG1sOiB0aGlzLm5vdGlmaWNhdGlvblByZXZpZXdPYmouaHRtbCxcbiAgICAgICAgICAgICAgaWQ6IHRoaXMubm90aWZpY2F0aW9uUHJldmlld09iai50ZW1wbGF0ZV9pZCxcbiAgICAgICAgICAgICAgc3ViamVjdDogdGhpcy5ub3RpZmljYXRpb25QcmV2aWV3T2JqLnN1YmplY3QsXG4gICAgICAgICAgICAgIHRlbXBsYXRlX3R5cGU6IHRoaXMubm90aWZpY2F0aW9uUHJldmlld09iai50ZW1wbGF0ZV90eXBlLFxuICAgICAgICAgICAgICB2ZXJzaW9uOiAwXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBwcm9jZXNzUmVmdW5kUmVxdWVzdCA9IHtcbiAgICAgICAgICAgIGNvZGU6IGNvbnRyb2xzLnJlZnVuZFJlamVjdFJlYXNvbkZpZWxkLnZhbHVlID8gY29udHJvbHMucmVmdW5kUmVqZWN0UmVhc29uRmllbGQudmFsdWUgOiAnJyxcbiAgICAgICAgICAgIHJlYXNvbjogY29udHJvbHMucmVmdW5kUmVqZWN0UmVhc29uRmllbGQudmFsdWUgPT0gJ1JFMDA1JyA/IGNvbnRyb2xzLmVudGVyUmVhc29uRmllbGQudmFsdWUgOiAnJ1xuICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgIFxuICAgICAgfSBlbHNlIGlmIChjb250cm9scy5yZWZ1bmRBY3Rpb25GaWVsZC52YWx1ZSA9PT0gJ1JldHVybiB0byBjYXNld29ya2VyJykge1xuICAgICAgICBzdGF0dXMgPSAnU0VOREJBQ0snO1xuXG4gICAgICAgIGlmICh0aGlzLm5vdGlmaWNhdGlvblByZXZpZXdPYmopIHtcbiAgICAgICAgICBwcm9jZXNzUmVmdW5kUmVxdWVzdCA9IHtcbiAgICAgICAgICAgIGNvZGU6ICcnLFxuICAgICAgICAgICAgcmVhc29uOiBjb250cm9scy5zZW5kTWVCYWNrRmllbGQudmFsdWUsXG4gICAgICAgICAgICB0ZW1wbGF0ZV9wcmV2aWV3OiB7XG4gICAgICAgICAgICAgIGJvZHk6IHRoaXMubm90aWZpY2F0aW9uUHJldmlld09iai5ib2R5LFxuICAgICAgICAgICAgICBmcm9tOiB7XG4gICAgICAgICAgICAgICAgZnJvbV9lbWFpbF9hZGRyZXNzOiB0aGlzLm5vdGlmaWNhdGlvblByZXZpZXdPYmouZnJvbS5mcm9tX2VtYWlsX2FkZHJlc3MsXG4gICAgICAgICAgICAgICAgZnJvbV9tYWlsX2FkZHJlc3M6IHtcbiAgICAgICAgICAgICAgICAgIGFkZHJlc3NfbGluZTogdGhpcy5ub3RpZmljYXRpb25QcmV2aWV3T2JqLmZyb20uZnJvbV9tYWlsX2FkZHJlc3MuYWRkcmVzc19saW5lLFxuICAgICAgICAgICAgICAgICAgY2l0eTogdGhpcy5ub3RpZmljYXRpb25QcmV2aWV3T2JqLmZyb20uZnJvbV9tYWlsX2FkZHJlc3MuY2l0eSxcbiAgICAgICAgICAgICAgICAgIGNvdW50cnk6IHRoaXMubm90aWZpY2F0aW9uUHJldmlld09iai5mcm9tLmZyb21fbWFpbF9hZGRyZXNzLmNvdW50cnksXG4gICAgICAgICAgICAgICAgICBjb3VudHk6IHRoaXMubm90aWZpY2F0aW9uUHJldmlld09iai5mcm9tLmZyb21fbWFpbF9hZGRyZXNzLmNvdW50eSxcbiAgICAgICAgICAgICAgICAgIHBvc3RhbF9jb2RlOiB0aGlzLm5vdGlmaWNhdGlvblByZXZpZXdPYmouZnJvbS5mcm9tX21haWxfYWRkcmVzcy5wb3N0YWxfY29kZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgaHRtbDogdGhpcy5ub3RpZmljYXRpb25QcmV2aWV3T2JqLmh0bWwsXG4gICAgICAgICAgICAgIGlkOiB0aGlzLm5vdGlmaWNhdGlvblByZXZpZXdPYmoudGVtcGxhdGVfaWQsXG4gICAgICAgICAgICAgIHN1YmplY3Q6IHRoaXMubm90aWZpY2F0aW9uUHJldmlld09iai5zdWJqZWN0LFxuICAgICAgICAgICAgICB0ZW1wbGF0ZV90eXBlOiB0aGlzLm5vdGlmaWNhdGlvblByZXZpZXdPYmoudGVtcGxhdGVfdHlwZSxcbiAgICAgICAgICAgICAgdmVyc2lvbjogMFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcHJvY2Vzc1JlZnVuZFJlcXVlc3QgPSB7XG4gICAgICAgICAgICBjb2RlOiAnJyxcbiAgICAgICAgICAgIHJlYXNvbjogY29udHJvbHMuc2VuZE1lQmFja0ZpZWxkLnZhbHVlXG4gICAgICAgICAgfTtcblxuICAgICAgICB9XG5cbiAgICAgIFxuICAgICAgfVxuICAgICAgdGhpcy5SZWZ1bmRzU2VydmljZS5wYXRjaFJlZnVuZEFjdGlvbnMocHJvY2Vzc1JlZnVuZFJlcXVlc3QsIHRoaXMucmVmdW5kUmVmZXJlbmNlLCBzdGF0dXMpLnN1YnNjcmliZShcbiAgICAgICAgcmVzcG9uc2UgPT4ge1xuICAgICAgICAgIHRoaXMuaXNTdWNjZXNzcGFnZUVuYWJsZSA9IHRydWU7XG4gICAgICAgICAgLy8gdGhpcy5zdWNjZXNzTXNnID0gSlNPTi5wYXJzZShyZXNwb25zZSlbJ2RhdGEnXTtcbiAgICAgICAgICB0aGlzLnN1Y2Nlc3NNc2cgPSByZXNwb25zZS5yZXBsYWNlKC9bJ1wiXSsvZywgJycpO1xuICAgICAgICB9LFxuICAgICAgICBlcnIgPT4ge1xuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gdGhpcy5nZXRFcnJvck1lc3NhZ2UodHJ1ZSwgZXJyLnN0YXR1c0NvZGUsIGVyci5lcnIsIGVycik7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmKGNvbnRyb2xzLnJlZnVuZEFjdGlvbkZpZWxkLnZhbHVlID09IFwiXCIpIHtcbiAgICAgICAgdGhpcy5yZXNldEZvcm0oW3RydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlXSwgJ2FjdGlvbicpO1xuICAgICAgfVxuICAgICAgaWYoY29udHJvbHMucmVmdW5kQWN0aW9uRmllbGQudmFsdWUgPT0gJ1JlamVjdCcgJiYgY29udHJvbHMucmVmdW5kUmVqZWN0UmVhc29uRmllbGQudmFsdWUgPT0gXCJcIikge1xuICAgICAgICB0aGlzLnJlc2V0Rm9ybShbZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2VdLCAncmVqZWN0UmVhc29uJyk7XG4gICAgICB9XG4gICAgICBpZihjb250cm9scy5yZWZ1bmRBY3Rpb25GaWVsZC52YWx1ZSA9PSAnUmV0dXJuIHRvIGNhc2V3b3JrZXInKSB7XG4gICAgICAgIGlmKGNvbnRyb2xzLnNlbmRNZUJhY2tGaWVsZC52YWx1ZSA9PSAnJyApIHtcbiAgICAgICAgICB0aGlzLnJlc2V0Rm9ybShbZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2VdLCAnYWRkQXJlYXNvbicpO1xuICAgICAgICB9XG4gICAgICAgIGlmKGNvbnRyb2xzLnNlbmRNZUJhY2tGaWVsZC52YWx1ZSAhPSAnJyAmJiBjb250cm9scy5zZW5kTWVCYWNrRmllbGQuaW52YWxpZCApIHtcbiAgICAgICAgICB0aGlzLnJlc2V0Rm9ybShbZmFsc2UsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2VdLCAnYWRkQXJlYXNvbicpO1xuICAgICAgICB9XG4gICAgICAgIGlmKHByb2Nlc3NGb3JtRXJyb3IgJiYgcHJvY2Vzc0Zvcm1FcnJvci5taW5sZW5ndGggJiYgcHJvY2Vzc0Zvcm1FcnJvci5taW5sZW5ndGguYWN0dWFsTGVuZ3RoIDwgMyApIHtcbiAgICAgICAgICB0aGlzLnJlc2V0Rm9ybShbZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2VdLCAnYWRkQXJlYXNvbicpO1xuICAgICAgICB9XG4gICAgICAgIGlmKHByb2Nlc3NGb3JtRXJyb3IgJiYgcHJvY2Vzc0Zvcm1FcnJvci5tYXhsZW5ndGggJiYgcHJvY2Vzc0Zvcm1FcnJvci5tYXhsZW5ndGguYWN0dWFsTGVuZ3RoID4gMjU1ICkge1xuICAgICAgICAgIHRoaXMucmVzZXRGb3JtKFtmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZV0sICdhZGRBcmVhc29uJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmKGNvbnRyb2xzLnJlZnVuZEFjdGlvbkZpZWxkLnZhbHVlID09ICdSZWplY3QnICYmIGNvbnRyb2xzLnJlZnVuZFJlamVjdFJlYXNvbkZpZWxkLnZhbHVlID09ICdSRTAwNScpIHtcbiAgICAgICAgaWYoY29udHJvbHMuZW50ZXJSZWFzb25GaWVsZC52YWx1ZSA9PT0gXCJcIikge1xuICAgICAgICAgIHRoaXMucmVzZXRGb3JtKFtmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxzZV0sICdlbnRlclJlYXNvbicpO1xuICAgICAgICB9XG4gICAgICAgIGlmKGNvbnRyb2xzLmVudGVyUmVhc29uRmllbGQudmFsdWUhPT0gXCJcIiAmJiBjb250cm9scy5lbnRlclJlYXNvbkZpZWxkLmludmFsaWQpIHtcbiAgICAgICAgICB0aGlzLnJlc2V0Rm9ybShbZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIHRydWVdLCAnZW50ZXJSZWFzb24nKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICB9XG4gIGdldEVycm9yTWVzc2FnZShpc0Vycm9yRXhpc3QsIHN0YXR1cywgZXJyb3JNc2csIGVycikge1xuICAgIGxldCBib2R5VHh0ID0gJ1BsZWFzZSB0cnkgYWdhaW4gbGF0ZXInO1xuICAgIGlmIChzdGF0dXMgIT09IDUwMCkge1xuICAgICAgaWYgKGVycm9yTXNnICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgYm9keVR4dCA9IGVycm9yTXNnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYm9keVR4dCA9IGVycjtcbiAgICAgIH1cbiAgICAgIFxuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgdGl0bGU6ICdTb21ldGhpbmcgd2VudCB3cm9uZycsXG4gICAgICBib2R5OiBib2R5VHh0LFxuICAgICAgc2hvd0Vycm9yOiBpc0Vycm9yRXhpc3RcbiAgICB9O1xuICB9XG4gIGxvYWRSZWZ1bmRMaXN0UGFnZSgpIHtcbiAgICB0aGlzLk9yZGVyc2xpc3RTZXJ2aWNlLmdldG5hdmlnYXRpb25QYWdlVmFsdWUoKS5zdWJzY3JpYmUoKGRhdGEpID0+IHRoaXMubmF2aWdhdGlvbnBhZ2UgPSBkYXRhKTtcbiAgICBpZiAodGhpcy5uYXZpZ2F0aW9ucGFnZSA9PT0gJ2Nhc2V0cmFuc2FjdGlvbnMnKSB7XG4gICAgICAvLyB3aW5kb3cubG9jYXRpb24uaHJlZj0nL3JlZnVuZC1saXN0P3Rha2VQYXltZW50PWZhbHNlJnJlZnVuZGxpc3Q9dHJ1ZSc7XG4gICAgICAvLyAvLyB0aGlzLk9yZGVyc2xpc3RTZXJ2aWNlLnNldG5hdmlnYXRpb25QYWdlKCdjYXNldHJhbnNhY3Rpb25zJyk7XG4gICAgICAvLyAvLyB0aGlzLk9yZGVyc2xpc3RTZXJ2aWNlLnNldGlzRnJvbVNlcnZpY2VSZXF1ZXN0UGFnZShmYWxzZSk7XG4gICAgICAvLyAvLyB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuVklFVyA9J2Nhc2UtdHJhbnNhY3Rpb25zJztcbiAgICAgIC8vIC8vIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC52aWV3TmFtZSA9ICdjYXNlLXRyYW5zYWN0aW9ucyc7XG4gICAgICAvLyAvLyB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuSVNCU0VOQUJMRSA9IHRydWU7XG4gICAgICAvLyAvLyB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuaXNSZWZ1bmRTdGF0dXNWaWV3ID0gZmFsc2U7XG4gICAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQudmlld05hbWUgPSAncmVmdW5kc3RhdHVzbGlzdCc7XG4gICAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuaXNSZWZ1bmRTdGF0dXNWaWV3ID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LnZpZXdOYW1lID0gJ3JlZnVuZHN0YXR1c2xpc3QnO1xuICAgICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LmlzUmVmdW5kU3RhdHVzVmlldyA9IHRydWU7XG4gICAgfVxuICB9XG4gIGxvYWRSZWZ1bmRzSG9tZVBhZ2UoKSB7XG4gICAgaWYodHlwZW9mIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5UQUtFUEFZTUVOVCA9PT0gJ3N0cmluZycgJiYgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LlRBS0VQQVlNRU5UID09PSAnZmFsc2UnKSB7XG4gICAgICAvL3dpbmRvdy5sb2NhdGlvbi5ocmVmPScvcmVmdW5kLWxpc3Q/dGFrZVBheW1lbnQ9ZmFsc2UmcmVmdW5kbGlzdD10cnVlJztcbiAgICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC52aWV3TmFtZSA9ICdyZWZ1bmQtbGlzdCc7XG4gICAgIH1cbiAgICAgZWxzZSB7XG4gICAgICB0aGlzLk9yZGVyc2xpc3RTZXJ2aWNlLnNldG5hdmlnYXRpb25QYWdlKCdjYXNldHJhbnNhY3Rpb25zJyk7XG4gICAgICB0aGlzLk9yZGVyc2xpc3RTZXJ2aWNlLnNldGlzRnJvbVNlcnZpY2VSZXF1ZXN0UGFnZShmYWxzZSk7XG4gICAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuVklFVyA9J2Nhc2UtdHJhbnNhY3Rpb25zJztcbiAgICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC52aWV3TmFtZSA9ICdjYXNlLXRyYW5zYWN0aW9ucyc7XG4gICAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuSVNCU0VOQUJMRSA9IHRydWU7XG4gICAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuaXNSZWZ1bmRTdGF0dXNWaWV3ID0gZmFsc2U7XG4gICAgIH1cbiAgfVxuIHJlZGlyZWN0dG9SZWZ1bmRMaXN0UGFnZSgpIHtcbiAgIGlmKCh0eXBlb2YgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LlRBS0VQQVlNRU5UID09PSAnc3RyaW5nJyAmJiB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuVEFLRVBBWU1FTlQgPT09ICdmYWxzZScpIHx8ICh0eXBlb2YgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LlRBS0VQQVlNRU5UID09PSAnYm9vbGVhbicgJiYgIXRoaXMucGF5bWVudExpYkNvbXBvbmVudC5UQUtFUEFZTUVOVCkgKSB7XG4gICAvLyB3aW5kb3cubG9jYXRpb24uaHJlZj0nL3JlZnVuZC1saXN0P3Rha2VQYXltZW50PWZhbHNlJnJlZnVuZGxpc3Q9dHJ1ZSc7XG4gICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQudmlld05hbWUgPSAncmVmdW5kLWxpc3QnO1xuICAgfVxuICAgZWxzZSB7XG4gICAgdGhpcy5sb2FkUmVmdW5kTGlzdFBhZ2UoKTtcbiAgIH1cbiAgfVxuICBsb2FkQ2FzZVRyYW5zYWN0aW9uUGFnZSgpIHtcbiAgICB0aGlzLk9yZGVyc2xpc3RTZXJ2aWNlLnNldG5hdmlnYXRpb25QYWdlKCdjYXNldHJhbnNhY3Rpb25zJyk7XG4gICAgdGhpcy5PcmRlcnNsaXN0U2VydmljZS5zZXRpc0Zyb21TZXJ2aWNlUmVxdWVzdFBhZ2UoZmFsc2UpO1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC52aWV3TmFtZSA9ICdjYXNlLXRyYW5zYWN0aW9ucyc7XG4gICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LklTQlNFTkFCTEUgPSB0cnVlO1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5pc1JlZnVuZFN0YXR1c1ZpZXcgPSBmYWxzZTtcbiAgfVxuXG4gIHJlc2V0Rm9ybSh2YWxzLCBmaWVsZCkge1xuICAgIGlmKGZpZWxkPT09J2FjdGlvbicgfHwgZmllbGQ9PT0nYWxsJykge1xuICAgICAgdGhpcy5yZWZ1bmRBY3Rpb25zSGFzRXJyb3IgPSB2YWxzWzBdO1xuICAgIH1cbiAgICBpZihmaWVsZD09PSdyZWplY3RSZWFzb24nIHx8IGZpZWxkPT09J2FsbCcpIHtcbiAgICAgIHRoaXMucmVmdW5kUmVqZWN0UmVhc29uSGFzRXJyb3IgPSB2YWxzWzFdO1xuICAgIH1cbiAgICBpZihmaWVsZD09PSdhZGRBcmVhc29uJyB8fCBmaWVsZD09PSdhbGwnKSB7XG4gICAgICB0aGlzLmlzUmVhc29uRmllbGRFbXB0eSA9IHZhbHNbMl07XG4gICAgICB0aGlzLmlzUmVhc29uRmllbGRJbnZhbGlkID0gdmFsc1szXTtcbiAgICAgIHRoaXMucmVhc29uRmllbGRNaW5IYXNFcnJvciA9IHZhbHNbNF07XG4gICAgICB0aGlzLnJlYXNvbkZpZWxkTWF4SGFzRXJyb3IgPSB2YWxzWzVdO1xuICAgIH1cbiAgICBpZihmaWVsZD09PSdlbnRlclJlYXNvbicgfHwgZmllbGQ9PT0nYWxsJykge1xuICAgICAgdGhpcy5pc1JlYXNvbkVtcHR5ID0gdmFsc1s2XTtcbiAgICAgIHRoaXMuaXNSZWFzb25JbnZhbGlkID0gdmFsc1s3XTtcbiAgICB9XG4gIH1cblxuICBnb1RvQ2FzZVJldmlldygpIHtcbiAgICBjb25zdCBpc1BheUJ1YmJsZSA9IHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5pc0Zyb21QYXlCdWJibGU7XG4gICAgaWYoaXNQYXlCdWJibGUpIHtcbiAgICAgIHRoaXMubG9hZENhc2VUcmFuc2FjdGlvblBhZ2UoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2AvY2FzZXMvY2FzZS1kZXRhaWxzLyR7dGhpcy5jY2RDYXNlTnVtYmVyfWBdLCB7cmVsYXRpdmVUbzogdGhpcy5hY3RpdmVSb3V0ZX0pO1xuICAgIH1cbiAgfVxuXG4gIGdldFRlbXBsYXRlSW5zdHJ1Y3Rpb25UeXBlKHBheW1lbnRSZWZlcmVuY2U6IHN0cmluZykge1xuXG4gICAgaWYgKHBheW1lbnRSZWZlcmVuY2UgIT0gdW5kZWZpbmVkICYmIHBheW1lbnRSZWZlcmVuY2UgIT0gbnVsbCkge1xuXG4gICAgICB0aGlzLnBheW1lbnRWaWV3U2VydmljZS5nZXRQYXltZW50RGV0YWlscyhwYXltZW50UmVmZXJlbmNlKS5zdWJzY3JpYmUoXG4gICAgICAgIHBheW1lbnQgPT4ge1xuICAgICAgICAgIGNvbnNvbGUubG9nKCdQYXltZW50IE9iamVjdCByZWNlaXZlZDogJyArIEpTT04uc3RyaW5naWZ5KHBheW1lbnQpKTtcbiAgICAgICAgICB0aGlzLnBheW1lbnRPYmogPSBwYXltZW50O1xuICAgICAgICAgIHJldHVybiB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UuZ2V0Tm90aWZpY2F0aW9uSW5zdHJ1Y3Rpb25UeXBlKHRoaXMucGF5bWVudE9iai5jaGFubmVsLCB0aGlzLnBheW1lbnRPYmoubWV0aG9kKTtcbiAgICAgICAgfSxcbiAgICAgICAgKGVycm9yOiBhbnkpID0+IHtcbiAgICAgICAgICByZXR1cm4gJ1RlbXBsYXRlJztcbiAgICAgICAgfSlcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICdUZW1wbGF0ZSc7XG4gICAgfVxuICAgIFxuICB9XG5cbiAgc2hvd05vdGlmaWNhdGlvblByZXZpZXcoKTogdm9pZCB7XG4gICAgdGhpcy5ub3RpZmljYXRpb25QcmV2aWV3ID0gdHJ1ZTtcbiAgfVxuXG4gIGhpZGVOb3RpZmljYXRpb25QcmV2aWV3KCk6IHZvaWQge1xuICAgIHRoaXMubm90aWZpY2F0aW9uUHJldmlldyA9IGZhbHNlO1xuICB9XG59XG4iXX0=
616
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1yZWZ1bmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhtY3RzL2NjcGF5LXdlYi1jb21wb25lbnQvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9wcm9jZXNzLXJlZnVuZC9wcm9jZXNzLXJlZnVuZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQVUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxXQUFXLEVBQWEsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pGLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUt0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN2RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN0RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFDLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBUXhELE1BQU0sT0FBTyxzQkFBc0I7Ozs7Ozs7Ozs7O0lBa0NqQyxZQUFvQixjQUE4QixFQUM5QixrQkFBc0MsRUFDdEMsV0FBd0IsRUFDeEIsaUJBQW9DLEVBQ3BDLG1CQUF3QyxFQUN4QyxtQkFBd0MsRUFDeEMsTUFBYyxFQUNkLFdBQTJCO1FBUDNCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4Qyx3QkFBbUIsR0FBbkIsbUJBQW1C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Q0FBQzs7OztJQUVELHVCQUF1QjtRQUNyQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO0lBQ25DLENBQUM7OztZQTNaRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtnQkFDaEMscThVQUE4Qzs7YUFFL0M7Ozs7WUFoQk8sY0FBYztZQU9iLGtCQUFrQjtZQVJsQixXQUFXO1lBTVgsaUJBQWlCO1lBQ2pCLG1CQUFtQjtZQUVuQixtQkFBbUI7WUFDSixNQUFNO1lBQXJCLGNBQWM7Ozs4QkFTcEIsS0FBSzsrQkFDTCxLQUFLOzs7O0lBRE4saURBQWlDOztJQUNqQyxrREFBdUM7O0lBRXZDLG1EQUE2Qjs7SUFFN0IsOENBQXdEOztJQUN4RCw0Q0FBMEI7O0lBQzFCLDRDQUFtQjs7SUFDbkIsa0RBQXVDOztJQUN2Qyx3REFBbUQ7O0lBQ25ELHFEQUFxQzs7SUFDckMsaURBQWlDOztJQUNqQyxnREFBZ0M7O0lBQ2hDLHFEQUFxQzs7SUFFckMsdURBQXVDOztJQUN2Qyw0REFBNEM7O0lBQzVDLG9EQUFvQzs7SUFDcEMsc0RBQXNDOztJQUN0Qyx3REFBd0M7O0lBQ3hDLHdEQUF3Qzs7SUFDeEMsK0NBQStCOztJQUMvQixpREFBaUM7O0lBQ2pDLDRDQUEwQjs7SUFDMUIsZ0RBQXVCOztJQUN2QiwrQ0FBc0I7O0lBQ3RCLHNEQUE4Qjs7SUFDOUIsNENBQXNCOztJQUN0QiwyQ0FBbUI7O0lBQ25CLHlEQUF3Qzs7SUFDeEMsNENBQXFCOztJQUNyQixxREFBcUM7O0lBQ3JDLHdEQUE2Qzs7Ozs7SUFDakMsZ0RBQXNDOzs7OztJQUN0QyxvREFBOEM7Ozs7O0lBQzlDLDZDQUFnQzs7Ozs7SUFDaEMsbURBQTRDOzs7OztJQUM1QyxxREFBZ0Q7Ozs7O0lBQ2hELHFEQUFnRDs7Ozs7SUFDaEQsd0NBQXNCOzs7OztJQUN0Qiw2Q0FBbUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgT25Jbml0LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzLCBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7UmVmdW5kc1NlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3JlZnVuZHMvcmVmdW5kcy5zZXJ2aWNlJztcbmltcG9ydCB7IElSZWZ1bmRBY3Rpb24gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lSZWZ1bmRBY3Rpb24nO1xuaW1wb3J0IHsgSVJlZnVuZExpc3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lSZWZ1bmRMaXN0JztcbmltcG9ydCB7IElQYXltZW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JUGF5bWVudCc7XG5pbXBvcnQgeyBJUmVmdW5kUmVqZWN0UmVhc29uIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JUmVmdW5kUmVqZWN0UmVhc29uJztcbmltcG9ydCB7IE9yZGVyc2xpc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvb3JkZXJzbGlzdC5zZXJ2aWNlJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGF5bWVudFZpZXdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcGF5bWVudC12aWV3L3BheW1lbnQtdmlldy5zZXJ2aWNlJztcbmltcG9ydCB7IFBheW1lbnRMaWJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9wYXltZW50LWxpYi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IElOb3RpZmljYXRpb25QcmV2aWV3IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JTm90aWZpY2F0aW9uUHJldmlldyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjcGF5LXByb2Nlc3MtcmVmdW5kJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2Nlc3MtcmVmdW5kLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHJvY2Vzcy1yZWZ1bmQuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIFByb2Nlc3NSZWZ1bmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSByZWZ1bmRSZWZlcmVuY2U6IHN0cmluZztcbiAgQElucHV0KCkgcmVmdW5kbGlzdHNvdXJjZTogSVJlZnVuZExpc3Q7XG5cbiAgcHJvY2Vzc1JlZnVuZEZvcm06IEZvcm1Hcm91cDtcblxuICBlcnJvck1lc3NhZ2UgPSAgdGhpcy5nZXRFcnJvck1lc3NhZ2UoZmFsc2UsICcnLCAnJywgJycpO1xuICBzZW5kbWViYWNrOiBzdHJpbmcgPSBudWxsO1xuICB2aWV3U3RhdHVzOiBzdHJpbmc7XG4gIHJlZnVuZEFjdGlvbkxpc3Q6IElSZWZ1bmRBY3Rpb25bXSA9IFtdOyBcbiAgcmVmdW5kUmVqZWN0UmVhc29uTGlzdDogSVJlZnVuZFJlamVjdFJlYXNvbltdID0gW107IFxuICBpc1NlbmRNZUJhY2tDbGlja2VkOiBib29sZWFuID0gZmFsc2U7XG4gIGlzUmVqZWN0Q2xpY2tlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBpc090aGVyQ2xpY2tlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBpc1N1Y2Nlc3NwYWdlRW5hYmxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcmVmdW5kQWN0aW9uc0hhc0Vycm9yOiBib29sZWFuID0gZmFsc2U7XG4gIHJlZnVuZFJlamVjdFJlYXNvbkhhc0Vycm9yOiBib29sZWFuID0gZmFsc2U7XG4gIGlzUmVhc29uRmllbGRFbXB0eTogYm9vbGVhbiA9IGZhbHNlO1xuICBpc1JlYXNvbkZpZWxkSW52YWxpZDogYm9vbGVhbiA9IGZhbHNlO1xuICByZWFzb25GaWVsZE1pbkhhc0Vycm9yOiBib29sZWFuID0gZmFsc2U7XG4gIHJlYXNvbkZpZWxkTWF4SGFzRXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNSZWFzb25FbXB0eTogYm9vbGVhbiA9IGZhbHNlO1xuICBpc1JlYXNvbkludmFsaWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgc3VjY2Vzc01zZzogc3RyaW5nID0gbnVsbDtcbiAgbmF2aWdhdGlvbnBhZ2U6IHN0cmluZztcbiAgY2NkQ2FzZU51bWJlcjogc3RyaW5nO1xuICBpc0Zyb21SZWZ1bmRMaXN0UGFnZTogYm9vbGVhbjtcbiAgY3BvRGV0YWlsczphbnkgPSBudWxsO1xuICBpc0NQT0Rvd246IGJvb2xlYW47XG4gIGlzQ29uZmlybUJ1dHRvbmRpc2FibGVkOiBib29sZWFuID0gdHJ1ZTtcbiAgcGF5bWVudE9iajogSVBheW1lbnQ7XG4gIG5vdGlmaWNhdGlvblByZXZpZXc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgbm90aWZpY2F0aW9uUHJldmlld09iajogSU5vdGlmaWNhdGlvblByZXZpZXc7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgUmVmdW5kc1NlcnZpY2U6IFJlZnVuZHNTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIHBheW1lbnRWaWV3U2VydmljZTogUGF5bWVudFZpZXdTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBPcmRlcnNsaXN0U2VydmljZTogT3JkZXJzbGlzdFNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgbm90aWZpY2F0aW9uU2VydmljZTogTm90aWZpY2F0aW9uU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBwYXltZW50TGliQ29tcG9uZW50OiBQYXltZW50TGliQ29tcG9uZW50LFxuICAgICAgICAgICAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgICAgICAgICAgICBwcml2YXRlIGFjdGl2ZVJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkge1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy52aWV3U3RhdHVzID0gJ1JlZnVuZFByb2Nlc3MnO1xuICAgIHRoaXMuUmVmdW5kc1NlcnZpY2UuZ2V0UmVmdW5kQWN0aW9ucyh0aGlzLnJlZnVuZFJlZmVyZW5jZSkuc3Vic2NyaWJlKFxuICAgICAgcmVmdW5kQWN0aW9uTGlzdCA9PiB7XG4gICAgICAgIHRoaXMucmVmdW5kQWN0aW9uTGlzdCA9IDxhbnk+cmVmdW5kQWN0aW9uTGlzdDtcbiAgICAgIH0sXG4gICAgICBlcnIgPT4ge1xuICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHRoaXMuZ2V0RXJyb3JNZXNzYWdlKHRydWUsIGVyci5zdGF0dXNDb2RlLCBlcnIuZXJyLCBlcnIpO1xuICAgICAgfVxuICAgICk7XG4gICAgdGhpcy5wcm9jZXNzUmVmdW5kRm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgcmVmdW5kQWN0aW9uRmllbGQ6IG5ldyBGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5jb21wb3NlKFtcbiAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZFxuICAgICAgXSkpLFxuICAgICAgcmVmdW5kUmVqZWN0UmVhc29uRmllbGQ6IG5ldyBGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5jb21wb3NlKFtcbiAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZFxuICAgICAgXSkpLFxuICAgICAgc2VuZE1lQmFja0ZpZWxkOiBuZXcgRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMuY29tcG9zZShbXG4gICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgIFZhbGlkYXRvcnMubWluTGVuZ3RoKDMpLFxuICAgICAgICBWYWxpZGF0b3JzLm1heExlbmd0aCgyNTUpLFxuICAgICAgICBWYWxpZGF0b3JzLnBhdHRlcm4oJ14oW2EtekEtWjAtOVxcXFxzLFxcXFwuXSopJCcpLFxuXG4gICAgICBdKSksXG4gICAgICBlbnRlclJlYXNvbkZpZWxkOiBuZXcgRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMuY29tcG9zZShbXG4gICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDMwKSxcbiAgICAgICAgVmFsaWRhdG9ycy5wYXR0ZXJuKCdeKFthLXpBLVowLTkuXFxcXHNdKikkJyksXG4gICAgICBdKSksXG4gICAgfSk7XG4gICB0aGlzLmNjZENhc2VOdW1iZXIgPSB0aGlzLnJlZnVuZGxpc3Rzb3VyY2UuY2NkX2Nhc2VfbnVtYmVyO1xuXG4gICBpZigodHlwZW9mIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5UQUtFUEFZTUVOVCA9PT0gJ3N0cmluZycgJiYgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LlRBS0VQQVlNRU5UID09PSAnZmFsc2UnKSB8fCAodHlwZW9mIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5UQUtFUEFZTUVOVCA9PT0gJ2Jvb2xlYW4nICYmICF0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuVEFLRVBBWU1FTlQpICkge1xuICAgIHRoaXMuaXNGcm9tUmVmdW5kTGlzdFBhZ2UgPSB0cnVlO1xuICAgfVxuICAgdGhpcy5wYXltZW50Vmlld1NlcnZpY2UuZ2V0UGFydHlEZXRhaWxzKHRoaXMuY2NkQ2FzZU51bWJlcikuc3Vic2NyaWJlKFxuICAgIHJlc3BvbnNlID0+IHtcbiAgICAgIHRoaXMuY3BvRGV0YWlscyA9IEpTT04ucGFyc2UocmVzcG9uc2UpLmNvbnRlbnRbMF07XG5cbiAgICB9LFxuICAgIChlcnJvcjogYW55KSA9PiB7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IDxhbnk+ZXJyb3IucmVwbGFjZSgvXCIvZyxcIlwiKTtcbiAgICAgIHRoaXMuaXNDUE9Eb3duID0gdHJ1ZTtcbiAgICB9XG4gICk7XG4gIH1cbiAgXG4gIGNoZWNrUmVmdW5kQWN0aW9ucyhjb2RlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnJlZnVuZEFjdGlvbnNIYXNFcnJvciA9IGZhbHNlO1xuICAgIHRoaXMuaXNSZWFzb25GaWVsZEVtcHR5ID0gZmFsc2U7XG4gICAgdGhpcy5pc1JlYXNvbkVtcHR5ID0gZmFsc2U7XG4gICAgdGhpcy5pc1JlYXNvbkludmFsaWQgPSBmYWxzZTtcbiAgICB0aGlzLnJlZnVuZFJlamVjdFJlYXNvbkhhc0Vycm9yID0gZmFsc2U7XG4gICAgaWYoY29kZSA9PT0gJ1JldHVybiB0byBjYXNld29ya2VyJykge1xuICAgICAgdGhpcy5pc0NvbmZpcm1CdXR0b25kaXNhYmxlZCA9IHRydWU7XG4gICAgICB0aGlzLmlzU2VuZE1lQmFja0NsaWNrZWQgPSB0cnVlO1xuICAgICAgdGhpcy5pc1JlamVjdENsaWNrZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuaXNPdGhlckNsaWNrZWQgPSBmYWxzZTtcblxuICAgIH0gZWxzZSBpZiAoY29kZSA9PT0gJ0FwcHJvdmUnKSB7XG4gICAgICB0aGlzLmlzU2VuZE1lQmFja0NsaWNrZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuaXNDb25maXJtQnV0dG9uZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuaXNSZWplY3RDbGlja2VkID0gZmFsc2U7XG4gICAgICB0aGlzLmlzT3RoZXJDbGlja2VkID0gZmFsc2U7XG5cbiAgICB9IGVsc2UgaWYgKGNvZGUgPT09ICdSZWplY3QnKSB7XG4gICAgICB0aGlzLmlzUmVqZWN0Q2xpY2tlZCA9IHRydWU7XG4gICAgICB0aGlzLmlzU2VuZE1lQmFja0NsaWNrZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuaXNPdGhlckNsaWNrZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuUmVmdW5kc1NlcnZpY2UuZ2V0UmVmdW5kUmVqZWN0UmVhc29ucygpLnN1YnNjcmliZShcbiAgICAgICAgcmVmdW5kUmVqZWN0UmVhc29uTGlzdCA9PiB7XG4gICAgICAgICAgdGhpcy5yZWZ1bmRSZWplY3RSZWFzb25MaXN0ID0gPGFueT5yZWZ1bmRSZWplY3RSZWFzb25MaXN0O1xuICAgICAgICB9LFxuICAgICAgICBlcnIgPT4ge1xuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gdGhpcy5nZXRFcnJvck1lc3NhZ2UodHJ1ZSwgZXJyLnN0YXR1c0NvZGUsIGVyci5lcnIsIGVycik7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfSBlbHNlIGlmIChjb2RlID09PSAnUkUwMDUnKSB7XG4gICAgICB0aGlzLmlzT3RoZXJDbGlja2VkID0gdHJ1ZTtcbiAgICB9IGVsc2UgaWYgKGNvZGUgIT09ICdSRTAwNScpIHtcbiAgICAgIHRoaXMuaXNPdGhlckNsaWNrZWQgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBnZXROb3RpZmljYXRpb25QcmV2aWV3T2JqKG5vdGlmaWNhdGlvblByZXZpZXdPYmogOiBJTm90aWZpY2F0aW9uUHJldmlldyl7XG4gICAgdGhpcy5ub3RpZmljYXRpb25QcmV2aWV3T2JqID0gbm90aWZpY2F0aW9uUHJldmlld09iajtcbiAgfVxuXG4gIHByb2Nlc3NSZWZ1bmRTdWJtaXQoKSB7XG4gICAgbGV0IHByb2Nlc3NSZWZ1bmRSZXF1ZXN0O1xuICAgIGxldCBzdGF0dXM7XG4gICAgdGhpcy5yZXNldEZvcm0oW2ZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZV0sICdhbGwnKTtcbiAgICBjb25zdCBjb250cm9scyA9IHRoaXMucHJvY2Vzc1JlZnVuZEZvcm0uY29udHJvbHM7XG4gICAgY29uc3QgcHJvY2Vzc0Zvcm1FcnJvciA9IGNvbnRyb2xzLnNlbmRNZUJhY2tGaWVsZC5lcnJvcnM7XG5cbiAgICBpZiAodGhpcy5wcm9jZXNzUmVmdW5kRm9ybS5kaXJ0eSAmJiBjb250cm9scy5yZWZ1bmRBY3Rpb25GaWVsZC52YWxpZCBcbiAgICAgICYmIChjb250cm9scy5yZWZ1bmRBY3Rpb25GaWVsZC52YWx1ZSA9PSAnQXBwcm92ZSdcbiAgICAgIHx8IChjb250cm9scy5yZWZ1bmRBY3Rpb25GaWVsZC52YWx1ZSA9PSAnUmVqZWN0JyAmJiBjb250cm9scy5yZWZ1bmRSZWplY3RSZWFzb25GaWVsZC52YWxpZCAmJiBjb250cm9scy5yZWZ1bmRSZWplY3RSZWFzb25GaWVsZC52YWx1ZSAhPSAnUkUwMDUnKVxuICAgICAgfHwgKGNvbnRyb2xzLnJlZnVuZEFjdGlvbkZpZWxkLnZhbHVlID09ICdSZWplY3QnICYmIGNvbnRyb2xzLnJlZnVuZFJlamVjdFJlYXNvbkZpZWxkLnZhbHVlID09ICdSRTAwNScgJiYgY29udHJvbHMuZW50ZXJSZWFzb25GaWVsZC52YWxpZClcbiAgICAgIHx8IChjb250cm9scy5yZWZ1bmRBY3Rpb25GaWVsZC52YWx1ZSA9PSAnUmV0dXJuIHRvIGNhc2V3b3JrZXInICYmIGNvbnRyb2xzLnNlbmRNZUJhY2tGaWVsZC52YWxpZCkpKSB7XG4gICAgICBpZiAoY29udHJvbHMucmVmdW5kQWN0aW9uRmllbGQudmFsdWUgPT09ICdBcHByb3ZlJyl7XG4gICAgICAgIHN0YXR1cyA9ICdBUFBST1ZFJztcbiAgICAgICAgaWYgKHRoaXMubm90aWZpY2F0aW9uUHJldmlld09iaikge1xuICAgICAgICAgIHByb2Nlc3NSZWZ1bmRSZXF1ZXN0ID0ge1xuICAgICAgICAgICAgY29kZTogJycsXG4gICAgICAgICAgICByZWFzb246ICcnLFxuICAgICAgICAgICAgdGVtcGxhdGVfcHJldmlldzoge1xuICAgICAgICAgICAgICBib2R5OiB0aGlzLm5vdGlmaWNhdGlvblByZXZpZXdPYmouYm9keSxcbiAgICAgICAgICAgICAgZnJvbToge1xuICAgICAgICAgICAgICAgIGZyb21fZW1haWxfYWRkcmVzczogdGhpcy5ub3RpZmljYXRpb25QcmV2aWV3T2JqLmZyb20uZnJvbV9lbWFpbF9hZGRyZXNzLFxuICAgICAgICAgICAgICAgIGZyb21fbWFpbF9hZGRyZXNzOiB7XG4gICAgICAgICAgICAgICAgICBhZGRyZXNzX2xpbmU6IHRoaXMubm90aWZpY2F0aW9uUHJldmlld09iai5mcm9tLmZyb21fbWFpbF9hZGRyZXNzLmFkZHJlc3NfbGluZSxcbiAgICAgICAgICAgICAgICAgIGNpdHk6IHRoaXMubm90aWZpY2F0aW9uUHJldmlld09iai5mcm9tLmZyb21fbWFpbF9hZGRyZXNzLmNpdHksXG4gICAgICAgICAgICAgICAgICBjb3VudHJ5OiB0aGlzLm5vdGlmaWNhdGlvblByZXZpZXdPYmouZnJvbS5mcm9tX21haWxfYWRkcmVzcy5jb3VudHJ5LFxuICAgICAgICAgICAgICAgICAgY291bnR5OiB0aGlzLm5vdGlmaWNhdGlvblByZXZpZXdPYmouZnJvbS5mcm9tX21haWxfYWRkcmVzcy5jb3VudHksXG4gICAgICAgICAgICAgICAgICBwb3N0YWxfY29kZTogdGhpcy5ub3RpZmljYXRpb25QcmV2aWV3T2JqLmZyb20uZnJvbV9tYWlsX2FkZHJlc3MucG9zdGFsX2NvZGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGh0bWw6IHRoaXMubm90aWZpY2F0aW9uUHJldmlld09iai5odG1sLFxuICAgICAgICAgICAgICBpZDogdGhpcy5ub3RpZmljYXRpb25QcmV2aWV3T2JqLnRlbXBsYXRlX2lkLFxuICAgICAgICAgICAgICBzdWJqZWN0OiB0aGlzLm5vdGlmaWNhdGlvblByZXZpZXdPYmouc3ViamVjdCxcbiAgICAgICAgICAgICAgdGVtcGxhdGVfdHlwZTogdGhpcy5ub3RpZmljYXRpb25QcmV2aWV3T2JqLnRlbXBsYXRlX3R5cGUsXG4gICAgICAgICAgICAgIHZlcnNpb246IDBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9O1xuXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcHJvY2Vzc1JlZnVuZFJlcXVlc3QgPSB7XG4gICAgICAgICAgICBjb2RlOiAnJyxcbiAgICAgICAgICAgIHJlYXNvbjogJydcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGNvbnRyb2xzLnJlZnVuZEFjdGlvbkZpZWxkLnZhbHVlID09PSAnUmVqZWN0Jykge1xuICAgICAgICBzdGF0dXMgPSAnUkVKRUNUJztcblxuICAgICAgICBpZiAodGhpcy5ub3RpZmljYXRpb25QcmV2aWV3T2JqKSB7XG4gICAgICAgICAgcHJvY2Vzc1JlZnVuZFJlcXVlc3QgPSB7XG4gICAgICAgICAgICBjb2RlOiBjb250cm9scy5yZWZ1bmRSZWplY3RSZWFzb25GaWVsZC52YWx1ZSA/IGNvbnRyb2xzLnJlZnVuZFJlamVjdFJlYXNvbkZpZWxkLnZhbHVlIDogJycsXG4gICAgICAgICAgICByZWFzb246IGNvbnRyb2xzLnJlZnVuZFJlamVjdFJlYXNvbkZpZWxkLnZhbHVlID09ICdSRTAwNScgPyBjb250cm9scy5lbnRlclJlYXNvbkZpZWxkLnZhbHVlIDogJycsXG4gICAgICAgICAgICB0ZW1wbGF0ZV9wcmV2aWV3OiB7XG4gICAgICAgICAgICAgIGJvZHk6IHRoaXMubm90aWZpY2F0aW9uUHJldmlld09iai5ib2R5LFxuICAgICAgICAgICAgICBmcm9tOiB7XG4gICAgICAgICAgICAgICAgZnJvbV9lbWFpbF9hZGRyZXNzOiB0aGlzLm5vdGlmaWNhdGlvblByZXZpZXdPYmouZnJvbS5mcm9tX2VtYWlsX2FkZHJlc3MsXG4gICAgICAgICAgICAgICAgZnJvbV9tYWlsX2FkZHJlc3M6IHtcbiAgICAgICAgICAgICAgICAgIGFkZHJlc3NfbGluZTogdGhpcy5ub3RpZmljYXRpb25QcmV2aWV3T2JqLmZyb20uZnJvbV9tYWlsX2FkZHJlc3MuYWRkcmVzc19saW5lLFxuICAgICAgICAgICAgICAgICAgY2l0eTogdGhpcy5ub3RpZmljYXRpb25QcmV2aWV3T2JqLmZyb20uZnJvbV9tYWlsX2FkZHJlc3MuY2l0eSxcbiAgICAgICAgICAgICAgICAgIGNvdW50cnk6IHRoaXMubm90aWZpY2F0aW9uUHJldmlld09iai5mcm9tLmZyb21fbWFpbF9hZGRyZXNzLmNvdW50cnksXG4gICAgICAgICAgICAgICAgICBjb3VudHk6IHRoaXMubm90aWZpY2F0aW9uUHJldmlld09iai5mcm9tLmZyb21fbWFpbF9hZGRyZXNzLmNvdW50eSxcbiAgICAgICAgICAgICAgICAgIHBvc3RhbF9jb2RlOiB0aGlzLm5vdGlmaWNhdGlvblByZXZpZXdPYmouZnJvbS5mcm9tX21haWxfYWRkcmVzcy5wb3N0YWxfY29kZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgaHRtbDogdGhpcy5ub3RpZmljYXRpb25QcmV2aWV3T2JqLmh0bWwsXG4gICAgICAgICAgICAgIGlkOiB0aGlzLm5vdGlmaWNhdGlvblByZXZpZXdPYmoudGVtcGxhdGVfaWQsXG4gICAgICAgICAgICAgIHN1YmplY3Q6IHRoaXMubm90aWZpY2F0aW9uUHJldmlld09iai5zdWJqZWN0LFxuICAgICAgICAgICAgICB0ZW1wbGF0ZV90eXBlOiB0aGlzLm5vdGlmaWNhdGlvblByZXZpZXdPYmoudGVtcGxhdGVfdHlwZSxcbiAgICAgICAgICAgICAgdmVyc2lvbjogMFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcHJvY2Vzc1JlZnVuZFJlcXVlc3QgPSB7XG4gICAgICAgICAgICBjb2RlOiBjb250cm9scy5yZWZ1bmRSZWplY3RSZWFzb25GaWVsZC52YWx1ZSA/IGNvbnRyb2xzLnJlZnVuZFJlamVjdFJlYXNvbkZpZWxkLnZhbHVlIDogJycsXG4gICAgICAgICAgICByZWFzb246IGNvbnRyb2xzLnJlZnVuZFJlamVjdFJlYXNvbkZpZWxkLnZhbHVlID09ICdSRTAwNScgPyBjb250cm9scy5lbnRlclJlYXNvbkZpZWxkLnZhbHVlIDogJydcbiAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICBcbiAgICAgIH0gZWxzZSBpZiAoY29udHJvbHMucmVmdW5kQWN0aW9uRmllbGQudmFsdWUgPT09ICdSZXR1cm4gdG8gY2FzZXdvcmtlcicpIHtcbiAgICAgICAgc3RhdHVzID0gJ1NFTkRCQUNLJztcblxuICAgICAgICBpZiAodGhpcy5ub3RpZmljYXRpb25QcmV2aWV3T2JqKSB7XG4gICAgICAgICAgcHJvY2Vzc1JlZnVuZFJlcXVlc3QgPSB7XG4gICAgICAgICAgICBjb2RlOiAnJyxcbiAgICAgICAgICAgIHJlYXNvbjogY29udHJvbHMuc2VuZE1lQmFja0ZpZWxkLnZhbHVlLFxuICAgICAgICAgICAgdGVtcGxhdGVfcHJldmlldzoge1xuICAgICAgICAgICAgICBib2R5OiB0aGlzLm5vdGlmaWNhdGlvblByZXZpZXdPYmouYm9keSxcbiAgICAgICAgICAgICAgZnJvbToge1xuICAgICAgICAgICAgICAgIGZyb21fZW1haWxfYWRkcmVzczogdGhpcy5ub3RpZmljYXRpb25QcmV2aWV3T2JqLmZyb20uZnJvbV9lbWFpbF9hZGRyZXNzLFxuICAgICAgICAgICAgICAgIGZyb21fbWFpbF9hZGRyZXNzOiB7XG4gICAgICAgICAgICAgICAgICBhZGRyZXNzX2xpbmU6IHRoaXMubm90aWZpY2F0aW9uUHJldmlld09iai5mcm9tLmZyb21fbWFpbF9hZGRyZXNzLmFkZHJlc3NfbGluZSxcbiAgICAgICAgICAgICAgICAgIGNpdHk6IHRoaXMubm90aWZpY2F0aW9uUHJldmlld09iai5mcm9tLmZyb21fbWFpbF9hZGRyZXNzLmNpdHksXG4gICAgICAgICAgICAgICAgICBjb3VudHJ5OiB0aGlzLm5vdGlmaWNhdGlvblByZXZpZXdPYmouZnJvbS5mcm9tX21haWxfYWRkcmVzcy5jb3VudHJ5LFxuICAgICAgICAgICAgICAgICAgY291bnR5OiB0aGlzLm5vdGlmaWNhdGlvblByZXZpZXdPYmouZnJvbS5mcm9tX21haWxfYWRkcmVzcy5jb3VudHksXG4gICAgICAgICAgICAgICAgICBwb3N0YWxfY29kZTogdGhpcy5ub3RpZmljYXRpb25QcmV2aWV3T2JqLmZyb20uZnJvbV9tYWlsX2FkZHJlc3MucG9zdGFsX2NvZGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGh0bWw6IHRoaXMubm90aWZpY2F0aW9uUHJldmlld09iai5odG1sLFxuICAgICAgICAgICAgICBpZDogdGhpcy5ub3RpZmljYXRpb25QcmV2aWV3T2JqLnRlbXBsYXRlX2lkLFxuICAgICAgICAgICAgICBzdWJqZWN0OiB0aGlzLm5vdGlmaWNhdGlvblByZXZpZXdPYmouc3ViamVjdCxcbiAgICAgICAgICAgICAgdGVtcGxhdGVfdHlwZTogdGhpcy5ub3RpZmljYXRpb25QcmV2aWV3T2JqLnRlbXBsYXRlX3R5cGUsXG4gICAgICAgICAgICAgIHZlcnNpb246IDBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHByb2Nlc3NSZWZ1bmRSZXF1ZXN0ID0ge1xuICAgICAgICAgICAgY29kZTogJycsXG4gICAgICAgICAgICByZWFzb246IGNvbnRyb2xzLnNlbmRNZUJhY2tGaWVsZC52YWx1ZVxuICAgICAgICAgIH07XG5cbiAgICAgICAgfVxuXG4gICAgICBcbiAgICAgIH1cbiAgICAgIHRoaXMuUmVmdW5kc1NlcnZpY2UucGF0Y2hSZWZ1bmRBY3Rpb25zKHByb2Nlc3NSZWZ1bmRSZXF1ZXN0LCB0aGlzLnJlZnVuZFJlZmVyZW5jZSwgc3RhdHVzKS5zdWJzY3JpYmUoXG4gICAgICAgIHJlc3BvbnNlID0+IHtcbiAgICAgICAgICB0aGlzLmlzU3VjY2Vzc3BhZ2VFbmFibGUgPSB0cnVlO1xuICAgICAgICAgIC8vIHRoaXMuc3VjY2Vzc01zZyA9IEpTT04ucGFyc2UocmVzcG9uc2UpWydkYXRhJ107XG4gICAgICAgICAgdGhpcy5zdWNjZXNzTXNnID0gcmVzcG9uc2UucmVwbGFjZSgvWydcIl0rL2csICcnKTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyID0+IHtcbiAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHRoaXMuZ2V0RXJyb3JNZXNzYWdlKHRydWUsIGVyci5zdGF0dXNDb2RlLCBlcnIuZXJyLCBlcnIpO1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZihjb250cm9scy5yZWZ1bmRBY3Rpb25GaWVsZC52YWx1ZSA9PSBcIlwiKSB7XG4gICAgICAgIHRoaXMucmVzZXRGb3JtKFt0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZV0sICdhY3Rpb24nKTtcbiAgICAgIH1cbiAgICAgIGlmKGNvbnRyb2xzLnJlZnVuZEFjdGlvbkZpZWxkLnZhbHVlID09ICdSZWplY3QnICYmIGNvbnRyb2xzLnJlZnVuZFJlamVjdFJlYXNvbkZpZWxkLnZhbHVlID09IFwiXCIpIHtcbiAgICAgICAgdGhpcy5yZXNldEZvcm0oW2ZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlXSwgJ3JlamVjdFJlYXNvbicpO1xuICAgICAgfVxuICAgICAgaWYoY29udHJvbHMucmVmdW5kQWN0aW9uRmllbGQudmFsdWUgPT0gJ1JldHVybiB0byBjYXNld29ya2VyJykge1xuICAgICAgICBpZihjb250cm9scy5zZW5kTWVCYWNrRmllbGQudmFsdWUgPT0gJycgKSB7XG4gICAgICAgICAgdGhpcy5yZXNldEZvcm0oW2ZhbHNlLCBmYWxzZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlXSwgJ2FkZEFyZWFzb24nKTtcbiAgICAgICAgfVxuICAgICAgICBpZihjb250cm9scy5zZW5kTWVCYWNrRmllbGQudmFsdWUgIT0gJycgJiYgY29udHJvbHMuc2VuZE1lQmFja0ZpZWxkLmludmFsaWQgKSB7XG4gICAgICAgICAgdGhpcy5yZXNldEZvcm0oW2ZhbHNlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlXSwgJ2FkZEFyZWFzb24nKTtcbiAgICAgICAgfVxuICAgICAgICBpZihwcm9jZXNzRm9ybUVycm9yICYmIHByb2Nlc3NGb3JtRXJyb3IubWlubGVuZ3RoICYmIHByb2Nlc3NGb3JtRXJyb3IubWlubGVuZ3RoLmFjdHVhbExlbmd0aCA8IDMgKSB7XG4gICAgICAgICAgdGhpcy5yZXNldEZvcm0oW2ZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNlXSwgJ2FkZEFyZWFzb24nKTtcbiAgICAgICAgfVxuICAgICAgICBpZihwcm9jZXNzRm9ybUVycm9yICYmIHByb2Nlc3NGb3JtRXJyb3IubWF4bGVuZ3RoICYmIHByb2Nlc3NGb3JtRXJyb3IubWF4bGVuZ3RoLmFjdHVhbExlbmd0aCA+IDI1NSApIHtcbiAgICAgICAgICB0aGlzLnJlc2V0Rm9ybShbZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2VdLCAnYWRkQXJlYXNvbicpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZihjb250cm9scy5yZWZ1bmRBY3Rpb25GaWVsZC52YWx1ZSA9PSAnUmVqZWN0JyAmJiBjb250cm9scy5yZWZ1bmRSZWplY3RSZWFzb25GaWVsZC52YWx1ZSA9PSAnUkUwMDUnKSB7XG4gICAgICAgIGlmKGNvbnRyb2xzLmVudGVyUmVhc29uRmllbGQudmFsdWUgPT09IFwiXCIpIHtcbiAgICAgICAgICB0aGlzLnJlc2V0Rm9ybShbZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwgZmFsc2VdLCAnZW50ZXJSZWFzb24nKTtcbiAgICAgICAgfVxuICAgICAgICBpZihjb250cm9scy5lbnRlclJlYXNvbkZpZWxkLnZhbHVlIT09IFwiXCIgJiYgY29udHJvbHMuZW50ZXJSZWFzb25GaWVsZC5pbnZhbGlkKSB7XG4gICAgICAgICAgdGhpcy5yZXNldEZvcm0oW2ZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCB0cnVlXSwgJ2VudGVyUmVhc29uJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuICBnZXRFcnJvck1lc3NhZ2UoaXNFcnJvckV4aXN0LCBzdGF0dXMsIGVycm9yTXNnLCBlcnIpIHtcbiAgICBsZXQgYm9keVR4dCA9ICdQbGVhc2UgdHJ5IGFnYWluIGxhdGVyJztcbiAgICBpZiAoc3RhdHVzICE9PSA1MDApIHtcbiAgICAgIGlmIChlcnJvck1zZyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGJvZHlUeHQgPSBlcnJvck1zZztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGJvZHlUeHQgPSBlcnI7XG4gICAgICB9XG4gICAgICBcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIHRpdGxlOiAnU29tZXRoaW5nIHdlbnQgd3JvbmcnLFxuICAgICAgYm9keTogYm9keVR4dCxcbiAgICAgIHNob3dFcnJvcjogaXNFcnJvckV4aXN0XG4gICAgfTtcbiAgfVxuICBsb2FkUmVmdW5kTGlzdFBhZ2UoKSB7XG4gICAgdGhpcy5PcmRlcnNsaXN0U2VydmljZS5nZXRuYXZpZ2F0aW9uUGFnZVZhbHVlKCkuc3Vic2NyaWJlKChkYXRhKSA9PiB0aGlzLm5hdmlnYXRpb25wYWdlID0gZGF0YSk7XG4gICAgaWYgKHRoaXMubmF2aWdhdGlvbnBhZ2UgPT09ICdjYXNldHJhbnNhY3Rpb25zJykge1xuICAgICAgLy8gd2luZG93LmxvY2F0aW9uLmhyZWY9Jy9yZWZ1bmQtbGlzdD90YWtlUGF5bWVudD1mYWxzZSZyZWZ1bmRsaXN0PXRydWUnO1xuICAgICAgLy8gLy8gdGhpcy5PcmRlcnNsaXN0U2VydmljZS5zZXRuYXZpZ2F0aW9uUGFnZSgnY2FzZXRyYW5zYWN0aW9ucycpO1xuICAgICAgLy8gLy8gdGhpcy5PcmRlcnNsaXN0U2VydmljZS5zZXRpc0Zyb21TZXJ2aWNlUmVxdWVzdFBhZ2UoZmFsc2UpO1xuICAgICAgLy8gLy8gdGhpcy5wYXltZW50TGliQ29tcG9uZW50LlZJRVcgPSdjYXNlLXRyYW5zYWN0aW9ucyc7XG4gICAgICAvLyAvLyB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQudmlld05hbWUgPSAnY2FzZS10cmFuc2FjdGlvbnMnO1xuICAgICAgLy8gLy8gdGhpcy5wYXltZW50TGliQ29tcG9uZW50LklTQlNFTkFCTEUgPSB0cnVlO1xuICAgICAgLy8gLy8gdGhpcy5wYXltZW50TGliQ29tcG9uZW50LmlzUmVmdW5kU3RhdHVzVmlldyA9IGZhbHNlO1xuICAgICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LnZpZXdOYW1lID0gJ3JlZnVuZHN0YXR1c2xpc3QnO1xuICAgICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LmlzUmVmdW5kU3RhdHVzVmlldyA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC52aWV3TmFtZSA9ICdyZWZ1bmRzdGF0dXNsaXN0JztcbiAgICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5pc1JlZnVuZFN0YXR1c1ZpZXcgPSB0cnVlO1xuICAgIH1cbiAgfVxuICBsb2FkUmVmdW5kc0hvbWVQYWdlKCkge1xuICAgIGlmKHR5cGVvZiB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuVEFLRVBBWU1FTlQgPT09ICdzdHJpbmcnICYmIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5UQUtFUEFZTUVOVCA9PT0gJ2ZhbHNlJykge1xuICAgICAgLy93aW5kb3cubG9jYXRpb24uaHJlZj0nL3JlZnVuZC1saXN0P3Rha2VQYXltZW50PWZhbHNlJnJlZnVuZGxpc3Q9dHJ1ZSc7XG4gICAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQudmlld05hbWUgPSAncmVmdW5kLWxpc3QnO1xuICAgICB9XG4gICAgIGVsc2Uge1xuICAgICAgdGhpcy5PcmRlcnNsaXN0U2VydmljZS5zZXRuYXZpZ2F0aW9uUGFnZSgnY2FzZXRyYW5zYWN0aW9ucycpO1xuICAgICAgdGhpcy5PcmRlcnNsaXN0U2VydmljZS5zZXRpc0Zyb21TZXJ2aWNlUmVxdWVzdFBhZ2UoZmFsc2UpO1xuICAgICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LlZJRVcgPSdjYXNlLXRyYW5zYWN0aW9ucyc7XG4gICAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQudmlld05hbWUgPSAnY2FzZS10cmFuc2FjdGlvbnMnO1xuICAgICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LklTQlNFTkFCTEUgPSB0cnVlO1xuICAgICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LmlzUmVmdW5kU3RhdHVzVmlldyA9IGZhbHNlO1xuICAgICB9XG4gIH1cbiByZWRpcmVjdHRvUmVmdW5kTGlzdFBhZ2UoKSB7XG4gICBpZigodHlwZW9mIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5UQUtFUEFZTUVOVCA9PT0gJ3N0cmluZycgJiYgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LlRBS0VQQVlNRU5UID09PSAnZmFsc2UnKSB8fCAodHlwZW9mIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5UQUtFUEFZTUVOVCA9PT0gJ2Jvb2xlYW4nICYmICF0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuVEFLRVBBWU1FTlQpICkge1xuICAgLy8gd2luZG93LmxvY2F0aW9uLmhyZWY9Jy9yZWZ1bmQtbGlzdD90YWtlUGF5bWVudD1mYWxzZSZyZWZ1bmRsaXN0PXRydWUnO1xuICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LnZpZXdOYW1lID0gJ3JlZnVuZC1saXN0JztcbiAgIH1cbiAgIGVsc2Uge1xuICAgIHRoaXMubG9hZFJlZnVuZExpc3RQYWdlKCk7XG4gICB9XG4gIH1cbiAgbG9hZENhc2VUcmFuc2FjdGlvblBhZ2UoKSB7XG4gICAgdGhpcy5PcmRlcnNsaXN0U2VydmljZS5zZXRuYXZpZ2F0aW9uUGFnZSgnY2FzZXRyYW5zYWN0aW9ucycpO1xuICAgIHRoaXMuT3JkZXJzbGlzdFNlcnZpY2Uuc2V0aXNGcm9tU2VydmljZVJlcXVlc3RQYWdlKGZhbHNlKTtcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQudmlld05hbWUgPSAnY2FzZS10cmFuc2FjdGlvbnMnO1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5JU0JTRU5BQkxFID0gdHJ1ZTtcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuaXNSZWZ1bmRTdGF0dXNWaWV3ID0gZmFsc2U7XG4gIH1cblxuICByZXNldEZvcm0odmFscywgZmllbGQpIHtcbiAgICBpZihmaWVsZD09PSdhY3Rpb24nIHx8IGZpZWxkPT09J2FsbCcpIHtcbiAgICAgIHRoaXMucmVmdW5kQWN0aW9uc0hhc0Vycm9yID0gdmFsc1swXTtcbiAgICB9XG4gICAgaWYoZmllbGQ9PT0ncmVqZWN0UmVhc29uJyB8fCBmaWVsZD09PSdhbGwnKSB7XG4gICAgICB0aGlzLnJlZnVuZFJlamVjdFJlYXNvbkhhc0Vycm9yID0gdmFsc1sxXTtcbiAgICB9XG4gICAgaWYoZmllbGQ9PT0nYWRkQXJlYXNvbicgfHwgZmllbGQ9PT0nYWxsJykge1xuICAgICAgdGhpcy5pc1JlYXNvbkZpZWxkRW1wdHkgPSB2YWxzWzJdO1xuICAgICAgdGhpcy5pc1JlYXNvbkZpZWxkSW52YWxpZCA9IHZhbHNbM107XG4gICAgICB0aGlzLnJlYXNvbkZpZWxkTWluSGFzRXJyb3IgPSB2YWxzWzRdO1xuICAgICAgdGhpcy5yZWFzb25GaWVsZE1heEhhc0Vycm9yID0gdmFsc1s1XTtcbiAgICB9XG4gICAgaWYoZmllbGQ9PT0nZW50ZXJSZWFzb24nIHx8IGZpZWxkPT09J2FsbCcpIHtcbiAgICAgIHRoaXMuaXNSZWFzb25FbXB0eSA9IHZhbHNbNl07XG4gICAgICB0aGlzLmlzUmVhc29uSW52YWxpZCA9IHZhbHNbN107XG4gICAgfVxuICB9XG5cbiAgZ29Ub0Nhc2VSZXZpZXcoKSB7XG4gICAgY29uc3QgaXNQYXlCdWJibGUgPSB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuaXNGcm9tUGF5QnViYmxlO1xuICAgIGlmKGlzUGF5QnViYmxlKSB7XG4gICAgICB0aGlzLmxvYWRDYXNlVHJhbnNhY3Rpb25QYWdlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtgL2Nhc2VzL2Nhc2UtZGV0YWlscy8ke3RoaXMuY2NkQ2FzZU51bWJlcn1gXSwge3JlbGF0aXZlVG86IHRoaXMuYWN0aXZlUm91dGV9KTtcbiAgICB9XG4gIH1cblxuICBnZXRUZW1wbGF0ZUluc3RydWN0aW9uVHlwZShwYXltZW50UmVmZXJlbmNlOiBzdHJpbmcpIHtcblxuICAgIGNvbnNvbGUubG9nKCdoaXR0aW5nIGVuZCBwb2ludCcpO1xuICAgIGlmIChwYXltZW50UmVmZXJlbmNlICE9IHVuZGVmaW5lZCAmJiBwYXltZW50UmVmZXJlbmNlICE9IG51bGwpIHtcblxuICAgICAgdGhpcy5wYXltZW50Vmlld1NlcnZpY2UuZ2V0UGF5bWVudERldGFpbHMocGF5bWVudFJlZmVyZW5jZSkuc3Vic2NyaWJlKFxuICAgICAgICBwYXltZW50ID0+IHtcbiAgICAgICAgICBjb25zb2xlLmxvZygnUGF5bWVudCBPYmplY3QgcmVjZWl2ZWQ6ICcgKyBKU09OLnN0cmluZ2lmeShwYXltZW50KSk7XG4gICAgICAgICAgdGhpcy5wYXltZW50T2JqID0gcGF5bWVudDtcbiAgICAgICAgICByZXR1cm4gdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLmdldE5vdGlmaWNhdGlvbkluc3RydWN0aW9uVHlwZSh0aGlzLnBheW1lbnRPYmouY2hhbm5lbCwgdGhpcy5wYXltZW50T2JqLm1ldGhvZCk7XG4gICAgICAgIH0sXG4gICAgICAgIChlcnJvcjogYW55KSA9PiB7XG4gICAgICAgICAgcmV0dXJuICdUZW1wbGF0ZSc7XG4gICAgICAgIH0pXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAnVGVtcGxhdGUnO1xuICAgIH1cbiAgICBcbiAgfVxuXG4gIHNob3dOb3RpZmljYXRpb25QcmV2aWV3KCk6IHZvaWQge1xuICAgIHRoaXMubm90aWZpY2F0aW9uUHJldmlldyA9IHRydWU7XG4gIH1cblxuICBoaWRlTm90aWZpY2F0aW9uUHJldmlldygpOiB2b2lkIHtcbiAgICB0aGlzLm5vdGlmaWNhdGlvblByZXZpZXcgPSBmYWxzZTtcbiAgfVxufVxuIl19
@@ -494,6 +494,7 @@ var ProcessRefundComponent = /** @class */ (function () {
494
494
  */
495
495
  function (paymentReference) {
496
496
  var _this = this;
497
+ console.log('hitting end point');
497
498
  if (paymentReference != undefined && paymentReference != null) {
498
499
  this.paymentViewService.getPaymentDetails(paymentReference).subscribe((/**
499
500
  * @param {?} payment
@@ -660,4 +661,4 @@ if (false) {
660
661
  */
661
662
  ProcessRefundComponent.prototype.activeRoute;
662
663
  }
663
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1yZWZ1bmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhtY3RzL2NjcGF5LXdlYi1jb21wb25lbnQvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9wcm9jZXNzLXJlZnVuZC9wcm9jZXNzLXJlZnVuZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQVUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxXQUFXLEVBQWEsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pGLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUt0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN2RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN0RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFDLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR3hEO0lBdUNFLGdDQUFvQixjQUE4QixFQUM5QixrQkFBc0MsRUFDdEMsV0FBd0IsRUFDeEIsaUJBQW9DLEVBQ3BDLG1CQUF3QyxFQUN4QyxtQkFBd0MsRUFDeEMsTUFBYyxFQUNkLFdBQTJCO1FBUDNCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLFdBQU0sR0FBTixNQUFN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OztJQUN0Qiw2Q0FBbUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgT25Jbml0LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzLCBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7UmVmdW5kc1NlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3JlZnVuZHMvcmVmdW5kcy5zZXJ2aWNlJztcbmltcG9ydCB7IElSZWZ1bmRBY3Rpb24gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lSZWZ1bmRBY3Rpb24nO1xuaW1wb3J0IHsgSVJlZnVuZExpc3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lSZWZ1bmRMaXN0JztcbmltcG9ydCB7IElQYXltZW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JUGF5bWVudCc7XG5pbXBvcnQgeyBJUmVmdW5kUmVqZWN0UmVhc29uIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JUmVmdW5kUmVqZWN0UmVhc29uJztcbmltcG9ydCB7IE9yZGVyc2xpc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvb3JkZXJzbGlzdC5zZXJ2aWNlJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGF5bWVudFZpZXdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcGF5bWVudC12aWV3L3BheW1lbnQtdmlldy5zZXJ2aWNlJztcbmltcG9ydCB7IFBheW1lbnRMaWJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9wYXltZW50LWxpYi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IElOb3RpZmljYXRpb25QcmV2aWV3IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JTm90aWZpY2F0aW9uUHJldmlldyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjcGF5LXByb2Nlc3MtcmVmdW5kJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2Nlc3MtcmVmdW5kLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHJvY2Vzcy1yZWZ1bmQuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIFByb2Nlc3NSZWZ1bmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSByZWZ1bmRSZWZlcmVuY2U6IHN0cmluZztcbiAgQElucHV0KCkgcmVmdW5kbGlzdHNvdXJjZTogSVJlZnVuZExpc3Q7XG5cbiAgcHJvY2Vzc1JlZnVuZEZvcm06IEZvcm1Hcm91cDtcblxuICBlcnJvck1lc3NhZ2UgPSAgdGhpcy5nZXRFcnJvck1lc3NhZ2UoZmFsc2UsICcnLCAnJywgJycpO1xuICBzZW5kbWViYWNrOiBzdHJpbmcgPSBudWxsO1xuICB2aWV3U3RhdHVzOiBzdHJpbmc7XG4gIHJlZnVuZEFjdGlvbkxpc3Q6IElSZWZ1bmRBY3Rpb25bXSA9IFtdOyBcbiAgcmVmdW5kUmVqZWN0UmVhc29uTGlzdDogSVJlZnVuZFJlamVjdFJlYXNvbltdID0gW107IFxuICBpc1NlbmRNZUJhY2tDbGlja2VkOiBib29sZWFuID0gZmFsc2U7XG4gIGlzUmVqZWN0Q2xpY2tlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBpc090aGVyQ2xpY2tlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBpc1N1Y2Nlc3NwYWdlRW5hYmxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcmVmdW5kQWN0aW9uc0hhc0Vycm9yOiBib29sZWFuID0gZmFsc2U7XG4gIHJlZnVuZFJlamVjdFJlYXNvbkhhc0Vycm9yOiBib29sZWFuID0gZmFsc2U7XG4gIGlzUmVhc29uRmllbGRFbXB0eTogYm9vbGVhbiA9IGZhbHNlO1xuICBpc1JlYXNvbkZpZWxkSW52YWxpZDogYm9vbGVhbiA9IGZhbHNlO1xuICByZWFzb25GaWVsZE1pbkhhc0Vycm9yOiBib29sZWFuID0gZmFsc2U7XG4gIHJlYXNvbkZpZWxkTWF4SGFzRXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNSZWFzb25FbXB0eTogYm9vbGVhbiA9IGZhbHNlO1xuICBpc1JlYXNvbkludmFsaWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgc3VjY2Vzc01zZzogc3RyaW5nID0gbnVsbDtcbiAgbmF2aWdhdGlvbnBhZ2U6IHN0cmluZztcbiAgY2NkQ2FzZU51bWJlcjogc3RyaW5nO1xuICBpc0Zyb21SZWZ1bmRMaXN0UGFnZTogYm9vbGVhbjtcbiAgY3BvRGV0YWlsczphbnkgPSBudWxsO1xuICBpc0NQT0Rvd246IGJvb2xlYW47XG4gIGlzQ29uZmlybUJ1dHRvbmRpc2FibGVkOiBib29sZWFuID0gdHJ1ZTtcbiAgcGF5bWVudE9iajogSVBheW1lbnQ7XG4gIG5vdGlmaWNhdGlvblByZXZpZXc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgbm90aWZpY2F0aW9uUHJldmlld09iajogSU5vdGlmaWNhdGlvblByZXZpZXc7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgUmVmdW5kc1NlcnZpY2U6IFJlZnVuZHNTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIHBheW1lbnRWaWV3U2VydmljZTogUGF5bWVudFZpZXdTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBPcmRlcnNsaXN0U2VydmljZTogT3JkZXJzbGlzdFNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgbm90aWZpY2F0aW9uU2VydmljZTogTm90aWZpY2F0aW9uU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBwYXltZW50TGliQ29tcG9uZW50OiBQYXltZW50TGliQ29tcG9uZW50LFxuICAgICAgICAgICAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgICAgICAgICAgICBwcml2YXRlIGFjdGl2ZVJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkge1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy52aWV3U3RhdHVzID0gJ1JlZnVuZFByb2Nlc3MnO1xuICAgIHRoaXMuUmVmdW5kc1NlcnZpY2UuZ2V0UmVmdW5kQWN0aW9ucyh0aGlzLnJlZnVuZFJlZmVyZW5jZSkuc3Vic2NyaWJlKFxuICAgICAgcmVmdW5kQWN0aW9uTGlzdCA9PiB7XG4gICAgICAgIHRoaXMucmVmdW5kQWN0aW9uTGlzdCA9IDxhbnk+cmVmdW5kQWN0aW9uTGlzdDtcbiAgICAgIH0sXG4gICAgICBlcnIgPT4ge1xuICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHRoaXMuZ2V0RXJyb3JNZXNzYWdlKHRydWUsIGVyci5zdGF0dXNDb2RlLCBlcnIuZXJyLCBlcnIpO1xuICAgICAgfVxuICAgICk7XG4gICAgdGhpcy5wcm9jZXNzUmVmdW5kRm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgcmVmdW5kQWN0aW9uRmllbGQ6IG5ldyBGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5jb21wb3NlKFtcbiAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZFxuICAgICAgXSkpLFxuICAgICAgcmVmdW5kUmVqZWN0UmVhc29uRmllbGQ6IG5ldyBGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5jb21wb3NlKFtcbiAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZFxuICAgICAgXSkpLFxuICAgICAgc2VuZE1lQmFja0ZpZWxkOiBuZXcgRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMuY29tcG9zZShbXG4gICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgIFZhbGlkYXRvcnMubWluTGVuZ3RoKDMpLFxuICAgICAgICBWYWxpZGF0b3JzLm1heExlbmd0aCgyNTUpLFxuICAgICAgICBWYWxpZGF0b3JzLnBhdHRlcm4oJ14oW2EtekEtWjAtOVxcXFxzLFxcXFwuXSopJCcpLFxuXG4gICAgICBdKSksXG4gICAgICBlbnRlclJlYXNvbkZpZWxkOiBuZXcgRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMuY29tcG9zZShbXG4gICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDMwKSxcbiAgICAgICAgVmFsaWRhdG9ycy5wYXR0ZXJuKCdeKFthLXpBLVowLTkuXFxcXHNdKikkJyksXG4gICAgICBdKSksXG4gICAgfSk7XG4gICB0aGlzLmNjZENhc2VOdW1iZXIgPSB0aGlzLnJlZnVuZGxpc3Rzb3VyY2UuY2NkX2Nhc2VfbnVtYmVyO1xuXG4gICBpZigodHlwZW9mIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5UQUtFUEFZTUVOVCA9PT0gJ3N0cmluZycgJiYgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LlRBS0VQQVlNRU5UID09PSAnZmFsc2UnKSB8fCAodHlwZW9mIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5UQUtFUEFZTUVOVCA9PT0gJ2Jvb2xlYW4nICYmICF0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuVEFLRVBBWU1FTlQpICkge1xuICAgIHRoaXMuaXNGcm9tUmVmdW5kTGlzdFBhZ2UgPSB0cnVlO1xuICAgfVxuICAgdGhpcy5wYXltZW50Vmlld1NlcnZpY2UuZ2V0UGFydHlEZXRhaWxzKHRoaXMuY2NkQ2FzZU51bWJlcikuc3Vic2NyaWJlKFxuICAgIHJlc3BvbnNlID0+IHtcbiAgICAgIHRoaXMuY3BvRGV0YWlscyA9IEpTT04ucGFyc2UocmVzcG9uc2UpLmNvbnRlbnRbMF07XG5cbiAgICB9LFxuICAgIChlcnJvcjogYW55KSA9PiB7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IDxhbnk+ZXJyb3IucmVwbGFjZSgvXCIvZyxcIlwiKTtcbiAgICAgIHRoaXMuaXNDUE9Eb3duID0gdHJ1ZTtcbiAgICB9XG4gICk7XG4gIH1cbiAgXG4gIGNoZWNrUmVmdW5kQWN0aW9ucyhjb2RlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnJlZnVuZEFjdGlvbnNIYXNFcnJvciA9IGZhbHNlO1xuICAgIHRoaXMuaXNSZWFzb25GaWVsZEVtcHR5ID0gZmFsc2U7XG4gICAgdGhpcy5pc1JlYXNvbkVtcHR5ID0gZmFsc2U7XG4gICAgdGhpcy5pc1JlYXNvbkludmFsaWQgPSBmYWxzZTtcbiAgICB0aGlzLnJlZnVuZFJlamVjdFJlYXNvbkhhc0Vycm9yID0gZmFsc2U7XG4gICAgaWYoY29kZSA9PT0gJ1JldHVybiB0byBjYXNld29ya2VyJykge1xuICAgICAgdGhpcy5pc0NvbmZpcm1CdXR0b25kaXNhYmxlZCA9IHRydWU7XG4gICAgICB0aGlzLmlzU2VuZE1lQmFja0NsaWNrZWQgPSB0cnVlO1xuICAgICAgdGhpcy5pc1JlamVjdENsaWNrZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuaXNPdGhlckNsaWNrZWQgPSBmYWxzZTtcblxuICAgIH0gZWxzZSBpZiAoY29kZSA9PT0gJ0FwcHJvdmUnKSB7XG4gICAgICB0aGlzLmlzU2VuZE1lQmFja0NsaWNrZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuaXNDb25maXJtQnV0dG9uZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuaXNSZWplY3RDbGlja2VkID0gZmFsc2U7XG4gICAgICB0aGlzLmlzT3RoZXJDbGlja2VkID0gZmFsc2U7XG5cbiAgICB9IGVsc2UgaWYgKGNvZGUgPT09ICdSZWplY3QnKSB7XG4gICAgICB0aGlzLmlzUmVqZWN0Q2xpY2tlZCA9IHRydWU7XG4gICAgICB0aGlzLmlzU2VuZE1lQmFja0NsaWNrZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuaXNPdGhlckNsaWNrZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuUmVmdW5kc1NlcnZpY2UuZ2V0UmVmdW5kUmVqZWN0UmVhc29ucygpLnN1YnNjcmliZShcbiAgICAgICAgcmVmdW5kUmVqZWN0UmVhc29uTGlzdCA9PiB7XG4gICAgICAgICAgdGhpcy5yZWZ1bmRSZWplY3RSZWFzb25MaXN0ID0gPGFueT5yZWZ1bmRSZWplY3RSZWFzb25MaXN0O1xuICAgICAgICB9LFxuICAgICAgICBlcnIgPT4ge1xuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gdGhpcy5nZXRFcnJvck1lc3NhZ2UodHJ1ZSwgZXJyLnN0YXR1c0NvZGUsIGVyci5lcnIsIGVycik7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfSBlbHNlIGlmIChjb2RlID09PSAnUkUwMDUnKSB7XG4gICAgICB0aGlzLmlzT3RoZXJDbGlja2VkID0gdHJ1ZTtcbiAgICB9IGVsc2UgaWYgKGNvZGUgIT09ICdSRTAwNScpIHtcbiAgICAgIHRoaXMuaXNPdGhlckNsaWNrZWQgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBnZXROb3RpZmljYXRpb25QcmV2aWV3T2JqKG5vdGlmaWNhdGlvblByZXZpZXdPYmogOiBJTm90aWZpY2F0aW9uUHJldmlldyl7XG4gICAgdGhpcy5ub3RpZmljYXRpb25QcmV2aWV3T2JqID0gbm90aWZpY2F0aW9uUHJldmlld09iajtcbiAgfVxuXG4gIHByb2Nlc3NSZWZ1bmRTdWJtaXQoKSB7XG4gICAgbGV0IHByb2Nlc3NSZWZ1bmRSZXF1ZXN0O1xuICAgIGxldCBzdGF0dXM7XG4gICAgdGhpcy5yZXNldEZvcm0oW2ZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZV0sICdhbGwnKTtcbiAgICBjb25zdCBjb250cm9scyA9IHRoaXMucHJvY2Vzc1JlZnVuZEZvcm0uY29udHJvbHM7XG4gICAgY29uc3QgcHJvY2Vzc0Zvcm1FcnJvciA9IGNvbnRyb2xzLnNlbmRNZUJhY2tGaWVsZC5lcnJvcnM7XG5cbiAgICBpZiAodGhpcy5wcm9jZXNzUmVmdW5kRm9ybS5kaXJ0eSAmJiBjb250cm9scy5yZWZ1bmRBY3Rpb25GaWVsZC52YWxpZCBcbiAgICAgICYmIChjb250cm9scy5yZWZ1bmRBY3Rpb25GaWVsZC52YWx1ZSA9PSAnQXBwcm92ZSdcbiAgICAgIHx8IChjb250cm9scy5yZWZ1bmRBY3Rpb25GaWVsZC52YWx1ZSA9PSAnUmVqZWN0JyAmJiBjb250cm9scy5yZWZ1bmRSZWplY3RSZWFzb25GaWVsZC52YWxpZCAmJiBjb250cm9scy5yZWZ1bmRSZWplY3RSZWFzb25GaWVsZC52YWx1ZSAhPSAnUkUwMDUnKVxuICAgICAgfHwgKGNvbnRyb2xzLnJlZnVuZEFjdGlvbkZpZWxkLnZhbHVlID09ICdSZWplY3QnICYmIGNvbnRyb2xzLnJlZnVuZFJlamVjdFJlYXNvbkZpZWxkLnZhbHVlID09ICdSRTAwNScgJiYgY29udHJvbHMuZW50ZXJSZWFzb25GaWVsZC52YWxpZClcbiAgICAgIHx8IChjb250cm9scy5yZWZ1bmRBY3Rpb25GaWVsZC52YWx1ZSA9PSAnUmV0dXJuIHRvIGNhc2V3b3JrZXInICYmIGNvbnRyb2xzLnNlbmRNZUJhY2tGaWVsZC52YWxpZCkpKSB7XG4gICAgICBpZiAoY29udHJvbHMucmVmdW5kQWN0aW9uRmllbGQudmFsdWUgPT09ICdBcHByb3ZlJyl7XG4gICAgICAgIHN0YXR1cyA9ICdBUFBST1ZFJztcbiAgICAgICAgaWYgKHRoaXMubm90aWZpY2F0aW9uUHJldmlld09iaikge1xuICAgICAgICAgIHByb2Nlc3NSZWZ1bmRSZXF1ZXN0ID0ge1xuICAgICAgICAgICAgY29kZTogJycsXG4gICAgICAgICAgICByZWFzb246ICcnLFxuICAgICAgICAgICAgdGVtcGxhdGVfcHJldmlldzoge1xuICAgICAgICAgICAgICBib2R5OiB0aGlzLm5vdGlmaWNhdGlvblByZXZpZXdPYmouYm9keSxcbiAgICAgICAgICAgICAgZnJvbToge1xuICAgICAgICAgICAgICAgIGZyb21fZW1haWxfYWRkcmVzczogdGhpcy5ub3RpZmljYXRpb25QcmV2aWV3T2JqLmZyb20uZnJvbV9lbWFpbF9hZGRyZXNzLFxuICAgICAgICAgICAgICAgIGZyb21fbWFpbF9hZGRyZXNzOiB7XG4gICAgICAgICAgICAgICAgICBhZGRyZXNzX2xpbmU6IHRoaXMubm90aWZpY2F0aW9uUHJldmlld09iai5mcm9tLmZyb21fbWFpbF9hZGRyZXNzLmFkZHJlc3NfbGluZSxcbiAgICAgICAgICAgICAgICAgIGNpdHk6IHRoaXMubm90aWZpY2F0aW9uUHJldmlld09iai5mcm9tLmZyb21fbWFpbF9hZGRyZXNzLmNpdHksXG4gICAgICAgICAgICAgICAgICBjb3VudHJ5OiB0aGlzLm5vdGlmaWNhdGlvblByZXZpZXdPYmouZnJvbS5mcm9tX21haWxfYWRkcmVzcy5jb3VudHJ5LFxuICAgICAgICAgICAgICAgICAgY291bnR5OiB0aGlzLm5vdGlmaWNhdGlvblByZXZpZXdPYmouZnJvbS5mcm9tX21haWxfYWRkcmVzcy5jb3VudHksXG4gICAgICAgICAgICAgICAgICBwb3N0YWxfY29kZTogdGhpcy5ub3RpZmljYXRpb25QcmV2aWV3T2JqLmZyb20uZnJvbV9tYWlsX2FkZHJlc3MucG9zdGFsX2NvZGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGh0bWw6IHRoaXMubm90aWZpY2F0aW9uUHJldmlld09iai5odG1sLFxuICAgICAgICAgICAgICBpZDogdGhpcy5ub3RpZmljYXRpb25QcmV2aWV3T2JqLnRlbXBsYXRlX2lkLFxuICAgICAgICAgICAgICBzdWJqZWN0OiB0aGlzLm5vdGlmaWNhdGlvblByZXZpZXdPYmouc3ViamVjdCxcbiAgICAgICAgICAgICAgdGVtcGxhdGVfdHlwZTogdGhpcy5ub3RpZmljYXRpb25QcmV2aWV3T2JqLnRlbXBsYXRlX3R5cGUsXG4gICAgICAgICAgICAgIHZlcnNpb246IDBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9O1xuXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcHJvY2Vzc1JlZnVuZFJlcXVlc3QgPSB7XG4gICAgICAgICAgICBjb2RlOiAnJyxcbiAgICAgICAgICAgIHJlYXNvbjogJydcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGNvbnRyb2xzLnJlZnVuZEFjdGlvbkZpZWxkLnZhbHVlID09PSAnUmVqZWN0Jykge1xuICAgICAgICBzdGF0dXMgPSAnUkVKRUNUJztcblxuICAgICAgICBpZiAodGhpcy5ub3RpZmljYXRpb25QcmV2aWV3T2JqKSB7XG4gICAgICAgICAgcHJvY2Vzc1JlZnVuZFJlcXVlc3QgPSB7XG4gICAgICAgICAgICBjb2RlOiBjb250cm9scy5yZWZ1bmRSZWplY3RSZWFzb25GaWVsZC52YWx1ZSA/IGNvbnRyb2xzLnJlZnVuZFJlamVjdFJlYXNvbkZpZWxkLnZhbHVlIDogJycsXG4gICAgICAgICAgICByZWFzb246IGNvbnRyb2xzLnJlZnVuZFJlamVjdFJlYXNvbkZpZWxkLnZhbHVlID09ICdSRTAwNScgPyBjb250cm9scy5lbnRlclJlYXNvbkZpZWxkLnZhbHVlIDogJycsXG4gICAgICAgICAgICB0ZW1wbGF0ZV9wcmV2aWV3OiB7XG4gICAgICAgICAgICAgIGJvZHk6IHRoaXMubm90aWZpY2F0aW9uUHJldmlld09iai5ib2R5LFxuICAgICAgICAgICAgICBmcm9tOiB7XG4gICAgICAgICAgICAgICAgZnJvbV9lbWFpbF9hZGRyZXNzOiB0aGlzLm5vdGlmaWNhdGlvblByZXZpZXdPYmouZnJvbS5mcm9tX2VtYWlsX2FkZHJlc3MsXG4gICAgICAgICAgICAgICAgZnJvbV9tYWlsX2FkZHJlc3M6IHtcbiAgICAgICAgICAgICAgICAgIGFkZHJlc3NfbGluZTogdGhpcy5ub3RpZmljYXRpb25QcmV2aWV3T2JqLmZyb20uZnJvbV9tYWlsX2FkZHJlc3MuYWRkcmVzc19saW5lLFxuICAgICAgICAgICAgICAgICAgY2l0eTogdGhpcy5ub3RpZmljYXRpb25QcmV2aWV3T2JqLmZyb20uZnJvbV9tYWlsX2FkZHJlc3MuY2l0eSxcbiAgICAgICAgICAgICAgICAgIGNvdW50cnk6IHRoaXMubm90aWZpY2F0aW9uUHJldmlld09iai5mcm9tLmZyb21fbWFpbF9hZGRyZXNzLmNvdW50cnksXG4gICAgICAgICAgICAgICAgICBjb3VudHk6IHRoaXMubm90aWZpY2F0aW9uUHJldmlld09iai5mcm9tLmZyb21fbWFpbF9hZGRyZXNzLmNvdW50eSxcbiAgICAgICAgICAgICAgICAgIHBvc3RhbF9jb2RlOiB0aGlzLm5vdGlmaWNhdGlvblByZXZpZXdPYmouZnJvbS5mcm9tX21haWxfYWRkcmVzcy5wb3N0YWxfY29kZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgaHRtbDogdGhpcy5ub3RpZmljYXRpb25QcmV2aWV3T2JqLmh0bWwsXG4gICAgICAgICAgICAgIGlkOiB0aGlzLm5vdGlmaWNhdGlvblByZXZpZXdPYmoudGVtcGxhdGVfaWQsXG4gICAgICAgICAgICAgIHN1YmplY3Q6IHRoaXMubm90aWZpY2F0aW9uUHJldmlld09iai5zdWJqZWN0LFxuICAgICAgICAgICAgICB0ZW1wbGF0ZV90eXBlOiB0aGlzLm5vdGlmaWNhdGlvblByZXZpZXdPYmoudGVtcGxhdGVfdHlwZSxcbiAgICAgICAgICAgICAgdmVyc2lvbjogMFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcHJvY2Vzc1JlZnVuZFJlcXVlc3QgPSB7XG4gICAgICAgICAgICBjb2RlOiBjb250cm9scy5yZWZ1bmRSZWplY3RSZWFzb25GaWVsZC52YWx1ZSA/IGNvbnRyb2xzLnJlZnVuZFJlamVjdFJlYXNvbkZpZWxkLnZhbHVlIDogJycsXG4gICAgICAgICAgICByZWFzb246IGNvbnRyb2xzLnJlZnVuZFJlamVjdFJlYXNvbkZpZWxkLnZhbHVlID09ICdSRTAwNScgPyBjb250cm9scy5lbnRlclJlYXNvbkZpZWxkLnZhbHVlIDogJydcbiAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICBcbiAgICAgIH0gZWxzZSBpZiAoY29udHJvbHMucmVmdW5kQWN0aW9uRmllbGQudmFsdWUgPT09ICdSZXR1cm4gdG8gY2FzZXdvcmtlcicpIHtcbiAgICAgICAgc3RhdHVzID0gJ1NFTkRCQUNLJztcblxuICAgICAgICBpZiAodGhpcy5ub3RpZmljYXRpb25QcmV2aWV3T2JqKSB7XG4gICAgICAgICAgcHJvY2Vzc1JlZnVuZFJlcXVlc3QgPSB7XG4gICAgICAgICAgICBjb2RlOiAnJyxcbiAgICAgICAgICAgIHJlYXNvbjogY29udHJvbHMuc2VuZE1lQmFja0ZpZWxkLnZhbHVlLFxuICAgICAgICAgICAgdGVtcGxhdGVfcHJldmlldzoge1xuICAgICAgICAgICAgICBib2R5OiB0aGlzLm5vdGlmaWNhdGlvblByZXZpZXdPYmouYm9keSxcbiAgICAgICAgICAgICAgZnJvbToge1xuICAgICAgICAgICAgICAgIGZyb21fZW1haWxfYWRkcmVzczogdGhpcy5ub3RpZmljYXRpb25QcmV2aWV3T2JqLmZyb20uZnJvbV9lbWFpbF9hZGRyZXNzLFxuICAgICAgICAgICAgICAgIGZyb21fbWFpbF9hZGRyZXNzOiB7XG4gICAgICAgICAgICAgICAgICBhZGRyZXNzX2xpbmU6IHRoaXMubm90aWZpY2F0aW9uUHJldmlld09iai5mcm9tLmZyb21fbWFpbF9hZGRyZXNzLmFkZHJlc3NfbGluZSxcbiAgICAgICAgICAgICAgICAgIGNpdHk6IHRoaXMubm90aWZpY2F0aW9uUHJldmlld09iai5mcm9tLmZyb21fbWFpbF9hZGRyZXNzLmNpdHksXG4gICAgICAgICAgICAgICAgICBjb3VudHJ5OiB0aGlzLm5vdGlmaWNhdGlvblByZXZpZXdPYmouZnJvbS5mcm9tX21haWxfYWRkcmVzcy5jb3VudHJ5LFxuICAgICAgICAgICAgICAgICAgY291bnR5OiB0aGlzLm5vdGlmaWNhdGlvblByZXZpZXdPYmouZnJvbS5mcm9tX21haWxfYWRkcmVzcy5jb3VudHksXG4gICAgICAgICAgICAgICAgICBwb3N0YWxfY29kZTogdGhpcy5ub3RpZmljYXRpb25QcmV2aWV3T2JqLmZyb20uZnJvbV9tYWlsX2FkZHJlc3MucG9zdGFsX2NvZGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGh0bWw6IHRoaXMubm90aWZpY2F0aW9uUHJldmlld09iai5odG1sLFxuICAgICAgICAgICAgICBpZDogdGhpcy5ub3RpZmljYXRpb25QcmV2aWV3T2JqLnRlbXBsYXRlX2lkLFxuICAgICAgICAgICAgICBzdWJqZWN0OiB0aGlzLm5vdGlmaWNhdGlvblByZXZpZXdPYmouc3ViamVjdCxcbiAgICAgICAgICAgICAgdGVtcGxhdGVfdHlwZTogdGhpcy5ub3RpZmljYXRpb25QcmV2aWV3T2JqLnRlbXBsYXRlX3R5cGUsXG4gICAgICAgICAgICAgIHZlcnNpb246IDBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHByb2Nlc3NSZWZ1bmRSZXF1ZXN0ID0ge1xuICAgICAgICAgICAgY29kZTogJycsXG4gICAgICAgICAgICByZWFzb246IGNvbnRyb2xzLnNlbmRNZUJhY2tGaWVsZC52YWx1ZVxuICAgICAgICAgIH07XG5cbiAgICAgICAgfVxuXG4gICAgICBcbiAgICAgIH1cbiAgICAgIHRoaXMuUmVmdW5kc1NlcnZpY2UucGF0Y2hSZWZ1bmRBY3Rpb25zKHByb2Nlc3NSZWZ1bmRSZXF1ZXN0LCB0aGlzLnJlZnVuZFJlZmVyZW5jZSwgc3RhdHVzKS5zdWJzY3JpYmUoXG4gICAgICAgIHJlc3BvbnNlID0+IHtcbiAgICAgICAgICB0aGlzLmlzU3VjY2Vzc3BhZ2VFbmFibGUgPSB0cnVlO1xuICAgICAgICAgIC8vIHRoaXMuc3VjY2Vzc01zZyA9IEpTT04ucGFyc2UocmVzcG9uc2UpWydkYXRhJ107XG4gICAgICAgICAgdGhpcy5zdWNjZXNzTXNnID0gcmVzcG9uc2UucmVwbGFjZSgvWydcIl0rL2csICcnKTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyID0+IHtcbiAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHRoaXMuZ2V0RXJyb3JNZXNzYWdlKHRydWUsIGVyci5zdGF0dXNDb2RlLCBlcnIuZXJyLCBlcnIpO1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZihjb250cm9scy5yZWZ1bmRBY3Rpb25GaWVsZC52YWx1ZSA9PSBcIlwiKSB7XG4gICAgICAgIHRoaXMucmVzZXRGb3JtKFt0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZV0sICdhY3Rpb24nKTtcbiAgICAgIH1cbiAgICAgIGlmKGNvbnRyb2xzLnJlZnVuZEFjdGlvbkZpZWxkLnZhbHVlID09ICdSZWplY3QnICYmIGNvbnRyb2xzLnJlZnVuZFJlamVjdFJlYXNvbkZpZWxkLnZhbHVlID09IFwiXCIpIHtcbiAgICAgICAgdGhpcy5yZXNldEZvcm0oW2ZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlXSwgJ3JlamVjdFJlYXNvbicpO1xuICAgICAgfVxuICAgICAgaWYoY29udHJvbHMucmVmdW5kQWN0aW9uRmllbGQudmFsdWUgPT0gJ1JldHVybiB0byBjYXNld29ya2VyJykge1xuICAgICAgICBpZihjb250cm9scy5zZW5kTWVCYWNrRmllbGQudmFsdWUgPT0gJycgKSB7XG4gICAgICAgICAgdGhpcy5yZXNldEZvcm0oW2ZhbHNlLCBmYWxzZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlXSwgJ2FkZEFyZWFzb24nKTtcbiAgICAgICAgfVxuICAgICAgICBpZihjb250cm9scy5zZW5kTWVCYWNrRmllbGQudmFsdWUgIT0gJycgJiYgY29udHJvbHMuc2VuZE1lQmFja0ZpZWxkLmludmFsaWQgKSB7XG4gICAgICAgICAgdGhpcy5yZXNldEZvcm0oW2ZhbHNlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlXSwgJ2FkZEFyZWFzb24nKTtcbiAgICAgICAgfVxuICAgICAgICBpZihwcm9jZXNzRm9ybUVycm9yICYmIHByb2Nlc3NGb3JtRXJyb3IubWlubGVuZ3RoICYmIHByb2Nlc3NGb3JtRXJyb3IubWlubGVuZ3RoLmFjdHVhbExlbmd0aCA8IDMgKSB7XG4gICAgICAgICAgdGhpcy5yZXNldEZvcm0oW2ZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNlXSwgJ2FkZEFyZWFzb24nKTtcbiAgICAgICAgfVxuICAgICAgICBpZihwcm9jZXNzRm9ybUVycm9yICYmIHByb2Nlc3NGb3JtRXJyb3IubWF4bGVuZ3RoICYmIHByb2Nlc3NGb3JtRXJyb3IubWF4bGVuZ3RoLmFjdHVhbExlbmd0aCA+IDI1NSApIHtcbiAgICAgICAgICB0aGlzLnJlc2V0Rm9ybShbZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2VdLCAnYWRkQXJlYXNvbicpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZihjb250cm9scy5yZWZ1bmRBY3Rpb25GaWVsZC52YWx1ZSA9PSAnUmVqZWN0JyAmJiBjb250cm9scy5yZWZ1bmRSZWplY3RSZWFzb25GaWVsZC52YWx1ZSA9PSAnUkUwMDUnKSB7XG4gICAgICAgIGlmKGNvbnRyb2xzLmVudGVyUmVhc29uRmllbGQudmFsdWUgPT09IFwiXCIpIHtcbiAgICAgICAgICB0aGlzLnJlc2V0Rm9ybShbZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwgZmFsc2VdLCAnZW50ZXJSZWFzb24nKTtcbiAgICAgICAgfVxuICAgICAgICBpZihjb250cm9scy5lbnRlclJlYXNvbkZpZWxkLnZhbHVlIT09IFwiXCIgJiYgY29udHJvbHMuZW50ZXJSZWFzb25GaWVsZC5pbnZhbGlkKSB7XG4gICAgICAgICAgdGhpcy5yZXNldEZvcm0oW2ZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCB0cnVlXSwgJ2VudGVyUmVhc29uJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuICBnZXRFcnJvck1lc3NhZ2UoaXNFcnJvckV4aXN0LCBzdGF0dXMsIGVycm9yTXNnLCBlcnIpIHtcbiAgICBsZXQgYm9keVR4dCA9ICdQbGVhc2UgdHJ5IGFnYWluIGxhdGVyJztcbiAgICBpZiAoc3RhdHVzICE9PSA1MDApIHtcbiAgICAgIGlmIChlcnJvck1zZyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGJvZHlUeHQgPSBlcnJvck1zZztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGJvZHlUeHQgPSBlcnI7XG4gICAgICB9XG4gICAgICBcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIHRpdGxlOiAnU29tZXRoaW5nIHdlbnQgd3JvbmcnLFxuICAgICAgYm9keTogYm9keVR4dCxcbiAgICAgIHNob3dFcnJvcjogaXNFcnJvckV4aXN0XG4gICAgfTtcbiAgfVxuICBsb2FkUmVmdW5kTGlzdFBhZ2UoKSB7XG4gICAgdGhpcy5PcmRlcnNsaXN0U2VydmljZS5nZXRuYXZpZ2F0aW9uUGFnZVZhbHVlKCkuc3Vic2NyaWJlKChkYXRhKSA9PiB0aGlzLm5hdmlnYXRpb25wYWdlID0gZGF0YSk7XG4gICAgaWYgKHRoaXMubmF2aWdhdGlvbnBhZ2UgPT09ICdjYXNldHJhbnNhY3Rpb25zJykge1xuICAgICAgLy8gd2luZG93LmxvY2F0aW9uLmhyZWY9Jy9yZWZ1bmQtbGlzdD90YWtlUGF5bWVudD1mYWxzZSZyZWZ1bmRsaXN0PXRydWUnO1xuICAgICAgLy8gLy8gdGhpcy5PcmRlcnNsaXN0U2VydmljZS5zZXRuYXZpZ2F0aW9uUGFnZSgnY2FzZXRyYW5zYWN0aW9ucycpO1xuICAgICAgLy8gLy8gdGhpcy5PcmRlcnNsaXN0U2VydmljZS5zZXRpc0Zyb21TZXJ2aWNlUmVxdWVzdFBhZ2UoZmFsc2UpO1xuICAgICAgLy8gLy8gdGhpcy5wYXltZW50TGliQ29tcG9uZW50LlZJRVcgPSdjYXNlLXRyYW5zYWN0aW9ucyc7XG4gICAgICAvLyAvLyB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQudmlld05hbWUgPSAnY2FzZS10cmFuc2FjdGlvbnMnO1xuICAgICAgLy8gLy8gdGhpcy5wYXltZW50TGliQ29tcG9uZW50LklTQlNFTkFCTEUgPSB0cnVlO1xuICAgICAgLy8gLy8gdGhpcy5wYXltZW50TGliQ29tcG9uZW50LmlzUmVmdW5kU3RhdHVzVmlldyA9IGZhbHNlO1xuICAgICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LnZpZXdOYW1lID0gJ3JlZnVuZHN0YXR1c2xpc3QnO1xuICAgICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LmlzUmVmdW5kU3RhdHVzVmlldyA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC52aWV3TmFtZSA9ICdyZWZ1bmRzdGF0dXNsaXN0JztcbiAgICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5pc1JlZnVuZFN0YXR1c1ZpZXcgPSB0cnVlO1xuICAgIH1cbiAgfVxuICBsb2FkUmVmdW5kc0hvbWVQYWdlKCkge1xuICAgIGlmKHR5cGVvZiB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuVEFLRVBBWU1FTlQgPT09ICdzdHJpbmcnICYmIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5UQUtFUEFZTUVOVCA9PT0gJ2ZhbHNlJykge1xuICAgICAgLy93aW5kb3cubG9jYXRpb24uaHJlZj0nL3JlZnVuZC1saXN0P3Rha2VQYXltZW50PWZhbHNlJnJlZnVuZGxpc3Q9dHJ1ZSc7XG4gICAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQudmlld05hbWUgPSAncmVmdW5kLWxpc3QnO1xuICAgICB9XG4gICAgIGVsc2Uge1xuICAgICAgdGhpcy5PcmRlcnNsaXN0U2VydmljZS5zZXRuYXZpZ2F0aW9uUGFnZSgnY2FzZXRyYW5zYWN0aW9ucycpO1xuICAgICAgdGhpcy5PcmRlcnNsaXN0U2VydmljZS5zZXRpc0Zyb21TZXJ2aWNlUmVxdWVzdFBhZ2UoZmFsc2UpO1xuICAgICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LlZJRVcgPSdjYXNlLXRyYW5zYWN0aW9ucyc7XG4gICAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQudmlld05hbWUgPSAnY2FzZS10cmFuc2FjdGlvbnMnO1xuICAgICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LklTQlNFTkFCTEUgPSB0cnVlO1xuICAgICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LmlzUmVmdW5kU3RhdHVzVmlldyA9IGZhbHNlO1xuICAgICB9XG4gIH1cbiByZWRpcmVjdHRvUmVmdW5kTGlzdFBhZ2UoKSB7XG4gICBpZigodHlwZW9mIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5UQUtFUEFZTUVOVCA9PT0gJ3N0cmluZycgJiYgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LlRBS0VQQVlNRU5UID09PSAnZmFsc2UnKSB8fCAodHlwZW9mIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5UQUtFUEFZTUVOVCA9PT0gJ2Jvb2xlYW4nICYmICF0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuVEFLRVBBWU1FTlQpICkge1xuICAgLy8gd2luZG93LmxvY2F0aW9uLmhyZWY9Jy9yZWZ1bmQtbGlzdD90YWtlUGF5bWVudD1mYWxzZSZyZWZ1bmRsaXN0PXRydWUnO1xuICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LnZpZXdOYW1lID0gJ3JlZnVuZC1saXN0JztcbiAgIH1cbiAgIGVsc2Uge1xuICAgIHRoaXMubG9hZFJlZnVuZExpc3RQYWdlKCk7XG4gICB9XG4gIH1cbiAgbG9hZENhc2VUcmFuc2FjdGlvblBhZ2UoKSB7XG4gICAgdGhpcy5PcmRlcnNsaXN0U2VydmljZS5zZXRuYXZpZ2F0aW9uUGFnZSgnY2FzZXRyYW5zYWN0aW9ucycpO1xuICAgIHRoaXMuT3JkZXJzbGlzdFNlcnZpY2Uuc2V0aXNGcm9tU2VydmljZVJlcXVlc3RQYWdlKGZhbHNlKTtcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQudmlld05hbWUgPSAnY2FzZS10cmFuc2FjdGlvbnMnO1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5JU0JTRU5BQkxFID0gdHJ1ZTtcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuaXNSZWZ1bmRTdGF0dXNWaWV3ID0gZmFsc2U7XG4gIH1cblxuICByZXNldEZvcm0odmFscywgZmllbGQpIHtcbiAgICBpZihmaWVsZD09PSdhY3Rpb24nIHx8IGZpZWxkPT09J2FsbCcpIHtcbiAgICAgIHRoaXMucmVmdW5kQWN0aW9uc0hhc0Vycm9yID0gdmFsc1swXTtcbiAgICB9XG4gICAgaWYoZmllbGQ9PT0ncmVqZWN0UmVhc29uJyB8fCBmaWVsZD09PSdhbGwnKSB7XG4gICAgICB0aGlzLnJlZnVuZFJlamVjdFJlYXNvbkhhc0Vycm9yID0gdmFsc1sxXTtcbiAgICB9XG4gICAgaWYoZmllbGQ9PT0nYWRkQXJlYXNvbicgfHwgZmllbGQ9PT0nYWxsJykge1xuICAgICAgdGhpcy5pc1JlYXNvbkZpZWxkRW1wdHkgPSB2YWxzWzJdO1xuICAgICAgdGhpcy5pc1JlYXNvbkZpZWxkSW52YWxpZCA9IHZhbHNbM107XG4gICAgICB0aGlzLnJlYXNvbkZpZWxkTWluSGFzRXJyb3IgPSB2YWxzWzRdO1xuICAgICAgdGhpcy5yZWFzb25GaWVsZE1heEhhc0Vycm9yID0gdmFsc1s1XTtcbiAgICB9XG4gICAgaWYoZmllbGQ9PT0nZW50ZXJSZWFzb24nIHx8IGZpZWxkPT09J2FsbCcpIHtcbiAgICAgIHRoaXMuaXNSZWFzb25FbXB0eSA9IHZhbHNbNl07XG4gICAgICB0aGlzLmlzUmVhc29uSW52YWxpZCA9IHZhbHNbN107XG4gICAgfVxuICB9XG5cbiAgZ29Ub0Nhc2VSZXZpZXcoKSB7XG4gICAgY29uc3QgaXNQYXlCdWJibGUgPSB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuaXNGcm9tUGF5QnViYmxlO1xuICAgIGlmKGlzUGF5QnViYmxlKSB7XG4gICAgICB0aGlzLmxvYWRDYXNlVHJhbnNhY3Rpb25QYWdlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtgL2Nhc2VzL2Nhc2UtZGV0YWlscy8ke3RoaXMuY2NkQ2FzZU51bWJlcn1gXSwge3JlbGF0aXZlVG86IHRoaXMuYWN0aXZlUm91dGV9KTtcbiAgICB9XG4gIH1cblxuICBnZXRUZW1wbGF0ZUluc3RydWN0aW9uVHlwZShwYXltZW50UmVmZXJlbmNlOiBzdHJpbmcpIHtcblxuICAgIGlmIChwYXltZW50UmVmZXJlbmNlICE9IHVuZGVmaW5lZCAmJiBwYXltZW50UmVmZXJlbmNlICE9IG51bGwpIHtcblxuICAgICAgdGhpcy5wYXltZW50Vmlld1NlcnZpY2UuZ2V0UGF5bWVudERldGFpbHMocGF5bWVudFJlZmVyZW5jZSkuc3Vic2NyaWJlKFxuICAgICAgICBwYXltZW50ID0+IHtcbiAgICAgICAgICBjb25zb2xlLmxvZygnUGF5bWVudCBPYmplY3QgcmVjZWl2ZWQ6ICcgKyBKU09OLnN0cmluZ2lmeShwYXltZW50KSk7XG4gICAgICAgICAgdGhpcy5wYXltZW50T2JqID0gcGF5bWVudDtcbiAgICAgICAgICByZXR1cm4gdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLmdldE5vdGlmaWNhdGlvbkluc3RydWN0aW9uVHlwZSh0aGlzLnBheW1lbnRPYmouY2hhbm5lbCwgdGhpcy5wYXltZW50T2JqLm1ldGhvZCk7XG4gICAgICAgIH0sXG4gICAgICAgIChlcnJvcjogYW55KSA9PiB7XG4gICAgICAgICAgcmV0dXJuICdUZW1wbGF0ZSc7XG4gICAgICAgIH0pXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAnVGVtcGxhdGUnO1xuICAgIH1cbiAgICBcbiAgfVxuXG4gIHNob3dOb3RpZmljYXRpb25QcmV2aWV3KCk6IHZvaWQge1xuICAgIHRoaXMubm90aWZpY2F0aW9uUHJldmlldyA9IHRydWU7XG4gIH1cblxuICBoaWRlTm90aWZpY2F0aW9uUHJldmlldygpOiB2b2lkIHtcbiAgICB0aGlzLm5vdGlmaWNhdGlvblByZXZpZXcgPSBmYWxzZTtcbiAgfVxufVxuIl19
664
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1yZWZ1bmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhtY3RzL2NjcGF5LXdlYi1jb21wb25lbnQvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9wcm9jZXNzLXJlZnVuZC9wcm9jZXNzLXJlZnVuZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQVUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxXQUFXLEVBQWEsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pGLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUt0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN2RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN0RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFDLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR3hEO0lBdUNFLGdDQUFvQixjQUE4QixFQUM5QixrQkFBc0MsRUFDdEMsV0FBd0IsRUFDeEIsaUJBQW9DLEVBQ3BDLG1CQUF3QyxFQUN4QyxtQkFBd0MsRUFDeEMsTUFBYyxFQUNkLFdBQTJCO1FBUDNCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLFdBQU0sR0FBTixNQUFN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LHFEQUFnRDs7Ozs7SUFDaEQscURBQWdEOzs7OztJQUNoRCx3Q0FBc0I7Ozs7O0lBQ3RCLDZDQUFtQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBPbkluaXQsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMsIEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtSZWZ1bmRzU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvcmVmdW5kcy9yZWZ1bmRzLnNlcnZpY2UnO1xuaW1wb3J0IHsgSVJlZnVuZEFjdGlvbiB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVJlZnVuZEFjdGlvbic7XG5pbXBvcnQgeyBJUmVmdW5kTGlzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVJlZnVuZExpc3QnO1xuaW1wb3J0IHsgSVBheW1lbnQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lQYXltZW50JztcbmltcG9ydCB7IElSZWZ1bmRSZWplY3RSZWFzb24gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lSZWZ1bmRSZWplY3RSZWFzb24nO1xuaW1wb3J0IHsgT3JkZXJzbGlzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9vcmRlcnNsaXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBQYXltZW50Vmlld1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wYXltZW50LXZpZXcvcGF5bWVudC12aWV3LnNlcnZpY2UnO1xuaW1wb3J0IHsgUGF5bWVudExpYkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3BheW1lbnQtbGliLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSxSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgSU5vdGlmaWNhdGlvblByZXZpZXcgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lOb3RpZmljYXRpb25QcmV2aWV3JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NwYXktcHJvY2Vzcy1yZWZ1bmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvY2Vzcy1yZWZ1bmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wcm9jZXNzLXJlZnVuZC5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUHJvY2Vzc1JlZnVuZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHJlZnVuZFJlZmVyZW5jZTogc3RyaW5nO1xuICBASW5wdXQoKSByZWZ1bmRsaXN0c291cmNlOiBJUmVmdW5kTGlzdDtcblxuICBwcm9jZXNzUmVmdW5kRm9ybTogRm9ybUdyb3VwO1xuXG4gIGVycm9yTWVzc2FnZSA9ICB0aGlzLmdldEVycm9yTWVzc2FnZShmYWxzZSwgJycsICcnLCAnJyk7XG4gIHNlbmRtZWJhY2s6IHN0cmluZyA9IG51bGw7XG4gIHZpZXdTdGF0dXM6IHN0cmluZztcbiAgcmVmdW5kQWN0aW9uTGlzdDogSVJlZnVuZEFjdGlvbltdID0gW107IFxuICByZWZ1bmRSZWplY3RSZWFzb25MaXN0OiBJUmVmdW5kUmVqZWN0UmVhc29uW10gPSBbXTsgXG4gIGlzU2VuZE1lQmFja0NsaWNrZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNSZWplY3RDbGlja2VkOiBib29sZWFuID0gZmFsc2U7XG4gIGlzT3RoZXJDbGlja2VkOiBib29sZWFuID0gZmFsc2U7XG4gIGlzU3VjY2Vzc3BhZ2VFbmFibGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICByZWZ1bmRBY3Rpb25zSGFzRXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcmVmdW5kUmVqZWN0UmVhc29uSGFzRXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNSZWFzb25GaWVsZEVtcHR5OiBib29sZWFuID0gZmFsc2U7XG4gIGlzUmVhc29uRmllbGRJbnZhbGlkOiBib29sZWFuID0gZmFsc2U7XG4gIHJlYXNvbkZpZWxkTWluSGFzRXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcmVhc29uRmllbGRNYXhIYXNFcnJvcjogYm9vbGVhbiA9IGZhbHNlO1xuICBpc1JlYXNvbkVtcHR5OiBib29sZWFuID0gZmFsc2U7XG4gIGlzUmVhc29uSW52YWxpZDogYm9vbGVhbiA9IGZhbHNlO1xuICBzdWNjZXNzTXNnOiBzdHJpbmcgPSBudWxsO1xuICBuYXZpZ2F0aW9ucGFnZTogc3RyaW5nO1xuICBjY2RDYXNlTnVtYmVyOiBzdHJpbmc7XG4gIGlzRnJvbVJlZnVuZExpc3RQYWdlOiBib29sZWFuO1xuICBjcG9EZXRhaWxzOmFueSA9IG51bGw7XG4gIGlzQ1BPRG93bjogYm9vbGVhbjtcbiAgaXNDb25maXJtQnV0dG9uZGlzYWJsZWQ6IGJvb2xlYW4gPSB0cnVlO1xuICBwYXltZW50T2JqOiBJUGF5bWVudDtcbiAgbm90aWZpY2F0aW9uUHJldmlldzogYm9vbGVhbiA9IGZhbHNlO1xuICBub3RpZmljYXRpb25QcmV2aWV3T2JqOiBJTm90aWZpY2F0aW9uUHJldmlldztcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBSZWZ1bmRzU2VydmljZTogUmVmdW5kc1NlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgcGF5bWVudFZpZXdTZXJ2aWNlOiBQYXltZW50Vmlld1NlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxuICAgICAgICAgICAgICBwcml2YXRlIE9yZGVyc2xpc3RTZXJ2aWNlOiBPcmRlcnNsaXN0U2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIHBheW1lbnRMaWJDb21wb25lbnQ6IFBheW1lbnRMaWJDb21wb25lbnQsXG4gICAgICAgICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgICAgICAgIHByaXZhdGUgYWN0aXZlUm91dGU6IEFjdGl2YXRlZFJvdXRlKSB7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnZpZXdTdGF0dXMgPSAnUmVmdW5kUHJvY2Vzcyc7XG4gICAgdGhpcy5SZWZ1bmRzU2VydmljZS5nZXRSZWZ1bmRBY3Rpb25zKHRoaXMucmVmdW5kUmVmZXJlbmNlKS5zdWJzY3JpYmUoXG4gICAgICByZWZ1bmRBY3Rpb25MaXN0ID0+IHtcbiAgICAgICAgdGhpcy5yZWZ1bmRBY3Rpb25MaXN0ID0gPGFueT5yZWZ1bmRBY3Rpb25MaXN0O1xuICAgICAgfSxcbiAgICAgIGVyciA9PiB7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gdGhpcy5nZXRFcnJvck1lc3NhZ2UodHJ1ZSwgZXJyLnN0YXR1c0NvZGUsIGVyci5lcnIsIGVycik7XG4gICAgICB9XG4gICAgKTtcbiAgICB0aGlzLnByb2Nlc3NSZWZ1bmRGb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICByZWZ1bmRBY3Rpb25GaWVsZDogbmV3IEZvcm1Db250cm9sKCcnLCBWYWxpZGF0b3JzLmNvbXBvc2UoW1xuICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkXG4gICAgICBdKSksXG4gICAgICByZWZ1bmRSZWplY3RSZWFzb25GaWVsZDogbmV3IEZvcm1Db250cm9sKCcnLCBWYWxpZGF0b3JzLmNvbXBvc2UoW1xuICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkXG4gICAgICBdKSksXG4gICAgICBzZW5kTWVCYWNrRmllbGQ6IG5ldyBGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5jb21wb3NlKFtcbiAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgVmFsaWRhdG9ycy5taW5MZW5ndGgoMyksXG4gICAgICAgIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDI1NSksXG4gICAgICAgIFZhbGlkYXRvcnMucGF0dGVybignXihbYS16QS1aMC05XFxcXHMsXFxcXC5dKikkJyksXG5cbiAgICAgIF0pKSxcbiAgICAgIGVudGVyUmVhc29uRmllbGQ6IG5ldyBGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5jb21wb3NlKFtcbiAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMzApLFxuICAgICAgICBWYWxpZGF0b3JzLnBhdHRlcm4oJ14oW2EtekEtWjAtOS5cXFxcc10qKSQnKSxcbiAgICAgIF0pKSxcbiAgICB9KTtcbiAgIHRoaXMuY2NkQ2FzZU51bWJlciA9IHRoaXMucmVmdW5kbGlzdHNvdXJjZS5jY2RfY2FzZV9udW1iZXI7XG5cbiAgIGlmKCh0eXBlb2YgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LlRBS0VQQVlNRU5UID09PSAnc3RyaW5nJyAmJiB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuVEFLRVBBWU1FTlQgPT09ICdmYWxzZScpIHx8ICh0eXBlb2YgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LlRBS0VQQVlNRU5UID09PSAnYm9vbGVhbicgJiYgIXRoaXMucGF5bWVudExpYkNvbXBvbmVudC5UQUtFUEFZTUVOVCkgKSB7XG4gICAgdGhpcy5pc0Zyb21SZWZ1bmRMaXN0UGFnZSA9IHRydWU7XG4gICB9XG4gICB0aGlzLnBheW1lbnRWaWV3U2VydmljZS5nZXRQYXJ0eURldGFpbHModGhpcy5jY2RDYXNlTnVtYmVyKS5zdWJzY3JpYmUoXG4gICAgcmVzcG9uc2UgPT4ge1xuICAgICAgdGhpcy5jcG9EZXRhaWxzID0gSlNPTi5wYXJzZShyZXNwb25zZSkuY29udGVudFswXTtcblxuICAgIH0sXG4gICAgKGVycm9yOiBhbnkpID0+IHtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gPGFueT5lcnJvci5yZXBsYWNlKC9cIi9nLFwiXCIpO1xuICAgICAgdGhpcy5pc0NQT0Rvd24gPSB0cnVlO1xuICAgIH1cbiAgKTtcbiAgfVxuICBcbiAgY2hlY2tSZWZ1bmRBY3Rpb25zKGNvZGU6IHN0cmluZykge1xuICAgIHRoaXMucmVmdW5kQWN0aW9uc0hhc0Vycm9yID0gZmFsc2U7XG4gICAgdGhpcy5pc1JlYXNvbkZpZWxkRW1wdHkgPSBmYWxzZTtcbiAgICB0aGlzLmlzUmVhc29uRW1wdHkgPSBmYWxzZTtcbiAgICB0aGlzLmlzUmVhc29uSW52YWxpZCA9IGZhbHNlO1xuICAgIHRoaXMucmVmdW5kUmVqZWN0UmVhc29uSGFzRXJyb3IgPSBmYWxzZTtcbiAgICBpZihjb2RlID09PSAnUmV0dXJuIHRvIGNhc2V3b3JrZXInKSB7XG4gICAgICB0aGlzLmlzQ29uZmlybUJ1dHRvbmRpc2FibGVkID0gdHJ1ZTtcbiAgICAgIHRoaXMuaXNTZW5kTWVCYWNrQ2xpY2tlZCA9IHRydWU7XG4gICAgICB0aGlzLmlzUmVqZWN0Q2xpY2tlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5pc090aGVyQ2xpY2tlZCA9IGZhbHNlO1xuXG4gICAgfSBlbHNlIGlmIChjb2RlID09PSAnQXBwcm92ZScpIHtcbiAgICAgIHRoaXMuaXNTZW5kTWVCYWNrQ2xpY2tlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5pc0NvbmZpcm1CdXR0b25kaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5pc1JlamVjdENsaWNrZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuaXNPdGhlckNsaWNrZWQgPSBmYWxzZTtcblxuICAgIH0gZWxzZSBpZiAoY29kZSA9PT0gJ1JlamVjdCcpIHtcbiAgICAgIHRoaXMuaXNSZWplY3RDbGlja2VkID0gdHJ1ZTtcbiAgICAgIHRoaXMuaXNTZW5kTWVCYWNrQ2xpY2tlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5pc090aGVyQ2xpY2tlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5SZWZ1bmRzU2VydmljZS5nZXRSZWZ1bmRSZWplY3RSZWFzb25zKCkuc3Vic2NyaWJlKFxuICAgICAgICByZWZ1bmRSZWplY3RSZWFzb25MaXN0ID0+IHtcbiAgICAgICAgICB0aGlzLnJlZnVuZFJlamVjdFJlYXNvbkxpc3QgPSA8YW55PnJlZnVuZFJlamVjdFJlYXNvbkxpc3Q7XG4gICAgICAgIH0sXG4gICAgICAgIGVyciA9PiB7XG4gICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSB0aGlzLmdldEVycm9yTWVzc2FnZSh0cnVlLCBlcnIuc3RhdHVzQ29kZSwgZXJyLmVyciwgZXJyKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKGNvZGUgPT09ICdSRTAwNScpIHtcbiAgICAgIHRoaXMuaXNPdGhlckNsaWNrZWQgPSB0cnVlO1xuICAgIH0gZWxzZSBpZiAoY29kZSAhPT0gJ1JFMDA1Jykge1xuICAgICAgdGhpcy5pc090aGVyQ2xpY2tlZCA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGdldE5vdGlmaWNhdGlvblByZXZpZXdPYmoobm90aWZpY2F0aW9uUHJldmlld09iaiA6IElOb3RpZmljYXRpb25QcmV2aWV3KXtcbiAgICB0aGlzLm5vdGlmaWNhdGlvblByZXZpZXdPYmogPSBub3RpZmljYXRpb25QcmV2aWV3T2JqO1xuICB9XG5cbiAgcHJvY2Vzc1JlZnVuZFN1Ym1pdCgpIHtcbiAgICBsZXQgcHJvY2Vzc1JlZnVuZFJlcXVlc3Q7XG4gICAgbGV0IHN0YXR1cztcbiAgICB0aGlzLnJlc2V0Rm9ybShbZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlXSwgJ2FsbCcpO1xuICAgIGNvbnN0IGNvbnRyb2xzID0gdGhpcy5wcm9jZXNzUmVmdW5kRm9ybS5jb250cm9scztcbiAgICBjb25zdCBwcm9jZXNzRm9ybUVycm9yID0gY29udHJvbHMuc2VuZE1lQmFja0ZpZWxkLmVycm9ycztcblxuICAgIGlmICh0aGlzLnByb2Nlc3NSZWZ1bmRGb3JtLmRpcnR5ICYmIGNvbnRyb2xzLnJlZnVuZEFjdGlvbkZpZWxkLnZhbGlkIFxuICAgICAgJiYgKGNvbnRyb2xzLnJlZnVuZEFjdGlvbkZpZWxkLnZhbHVlID09ICdBcHByb3ZlJ1xuICAgICAgfHwgKGNvbnRyb2xzLnJlZnVuZEFjdGlvbkZpZWxkLnZhbHVlID09ICdSZWplY3QnICYmIGNvbnRyb2xzLnJlZnVuZFJlamVjdFJlYXNvbkZpZWxkLnZhbGlkICYmIGNvbnRyb2xzLnJlZnVuZFJlamVjdFJlYXNvbkZpZWxkLnZhbHVlICE9ICdSRTAwNScpXG4gICAgICB8fCAoY29udHJvbHMucmVmdW5kQWN0aW9uRmllbGQudmFsdWUgPT0gJ1JlamVjdCcgJiYgY29udHJvbHMucmVmdW5kUmVqZWN0UmVhc29uRmllbGQudmFsdWUgPT0gJ1JFMDA1JyAmJiBjb250cm9scy5lbnRlclJlYXNvbkZpZWxkLnZhbGlkKVxuICAgICAgfHwgKGNvbnRyb2xzLnJlZnVuZEFjdGlvbkZpZWxkLnZhbHVlID09ICdSZXR1cm4gdG8gY2FzZXdvcmtlcicgJiYgY29udHJvbHMuc2VuZE1lQmFja0ZpZWxkLnZhbGlkKSkpIHtcbiAgICAgIGlmIChjb250cm9scy5yZWZ1bmRBY3Rpb25GaWVsZC52YWx1ZSA9PT0gJ0FwcHJvdmUnKXtcbiAgICAgICAgc3RhdHVzID0gJ0FQUFJPVkUnO1xuICAgICAgICBpZiAodGhpcy5ub3RpZmljYXRpb25QcmV2aWV3T2JqKSB7XG4gICAgICAgICAgcHJvY2Vzc1JlZnVuZFJlcXVlc3QgPSB7XG4gICAgICAgICAgICBjb2RlOiAnJyxcbiAgICAgICAgICAgIHJlYXNvbjogJycsXG4gICAgICAgICAgICB0ZW1wbGF0ZV9wcmV2aWV3OiB7XG4gICAgICAgICAgICAgIGJvZHk6IHRoaXMubm90aWZpY2F0aW9uUHJldmlld09iai5ib2R5LFxuICAgICAgICAgICAgICBmcm9tOiB7XG4gICAgICAgICAgICAgICAgZnJvbV9lbWFpbF9hZGRyZXNzOiB0aGlzLm5vdGlmaWNhdGlvblByZXZpZXdPYmouZnJvbS5mcm9tX2VtYWlsX2FkZHJlc3MsXG4gICAgICAgICAgICAgICAgZnJvbV9tYWlsX2FkZHJlc3M6IHtcbiAgICAgICAgICAgICAgICAgIGFkZHJlc3NfbGluZTogdGhpcy5ub3RpZmljYXRpb25QcmV2aWV3T2JqLmZyb20uZnJvbV9tYWlsX2FkZHJlc3MuYWRkcmVzc19saW5lLFxuICAgICAgICAgICAgICAgICAgY2l0eTogdGhpcy5ub3RpZmljYXRpb25QcmV2aWV3T2JqLmZyb20uZnJvbV9tYWlsX2FkZHJlc3MuY2l0eSxcbiAgICAgICAgICAgICAgICAgIGNvdW50cnk6IHRoaXMubm90aWZpY2F0aW9uUHJldmlld09iai5mcm9tLmZyb21fbWFpbF9hZGRyZXNzLmNvdW50cnksXG4gICAgICAgICAgICAgICAgICBjb3VudHk6IHRoaXMubm90aWZpY2F0aW9uUHJldmlld09iai5mcm9tLmZyb21fbWFpbF9hZGRyZXNzLmNvdW50eSxcbiAgICAgICAgICAgICAgICAgIHBvc3RhbF9jb2RlOiB0aGlzLm5vdGlmaWNhdGlvblByZXZpZXdPYmouZnJvbS5mcm9tX21haWxfYWRkcmVzcy5wb3N0YWxfY29kZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgaHRtbDogdGhpcy5ub3RpZmljYXRpb25QcmV2aWV3T2JqLmh0bWwsXG4gICAgICAgICAgICAgIGlkOiB0aGlzLm5vdGlmaWNhdGlvblByZXZpZXdPYmoudGVtcGxhdGVfaWQsXG4gICAgICAgICAgICAgIHN1YmplY3Q6IHRoaXMubm90aWZpY2F0aW9uUHJldmlld09iai5zdWJqZWN0LFxuICAgICAgICAgICAgICB0ZW1wbGF0ZV90eXBlOiB0aGlzLm5vdGlmaWNhdGlvblByZXZpZXdPYmoudGVtcGxhdGVfdHlwZSxcbiAgICAgICAgICAgICAgdmVyc2lvbjogMFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH07XG5cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBwcm9jZXNzUmVmdW5kUmVxdWVzdCA9IHtcbiAgICAgICAgICAgIGNvZGU6ICcnLFxuICAgICAgICAgICAgcmVhc29uOiAnJ1xuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoY29udHJvbHMucmVmdW5kQWN0aW9uRmllbGQudmFsdWUgPT09ICdSZWplY3QnKSB7XG4gICAgICAgIHN0YXR1cyA9ICdSRUpFQ1QnO1xuXG4gICAgICAgIGlmICh0aGlzLm5vdGlmaWNhdGlvblByZXZpZXdPYmopIHtcbiAgICAgICAgICBwcm9jZXNzUmVmdW5kUmVxdWVzdCA9IHtcbiAgICAgICAgICAgIGNvZGU6IGNvbnRyb2xzLnJlZnVuZFJlamVjdFJlYXNvbkZpZWxkLnZhbHVlID8gY29udHJvbHMucmVmdW5kUmVqZWN0UmVhc29uRmllbGQudmFsdWUgOiAnJyxcbiAgICAgICAgICAgIHJlYXNvbjogY29udHJvbHMucmVmdW5kUmVqZWN0UmVhc29uRmllbGQudmFsdWUgPT0gJ1JFMDA1JyA/IGNvbnRyb2xzLmVudGVyUmVhc29uRmllbGQudmFsdWUgOiAnJyxcbiAgICAgICAgICAgIHRlbXBsYXRlX3ByZXZpZXc6IHtcbiAgICAgICAgICAgICAgYm9keTogdGhpcy5ub3RpZmljYXRpb25QcmV2aWV3T2JqLmJvZHksXG4gICAgICAgICAgICAgIGZyb206IHtcbiAgICAgICAgICAgICAgICBmcm9tX2VtYWlsX2FkZHJlc3M6IHRoaXMubm90aWZpY2F0aW9uUHJldmlld09iai5mcm9tLmZyb21fZW1haWxfYWRkcmVzcyxcbiAgICAgICAgICAgICAgICBmcm9tX21haWxfYWRkcmVzczoge1xuICAgICAgICAgICAgICAgICAgYWRkcmVzc19saW5lOiB0aGlzLm5vdGlmaWNhdGlvblByZXZpZXdPYmouZnJvbS5mcm9tX21haWxfYWRkcmVzcy5hZGRyZXNzX2xpbmUsXG4gICAgICAgICAgICAgICAgICBjaXR5OiB0aGlzLm5vdGlmaWNhdGlvblByZXZpZXdPYmouZnJvbS5mcm9tX21haWxfYWRkcmVzcy5jaXR5LFxuICAgICAgICAgICAgICAgICAgY291bnRyeTogdGhpcy5ub3RpZmljYXRpb25QcmV2aWV3T2JqLmZyb20uZnJvbV9tYWlsX2FkZHJlc3MuY291bnRyeSxcbiAgICAgICAgICAgICAgICAgIGNvdW50eTogdGhpcy5ub3RpZmljYXRpb25QcmV2aWV3T2JqLmZyb20uZnJvbV9tYWlsX2FkZHJlc3MuY291bnR5LFxuICAgICAgICAgICAgICAgICAgcG9zdGFsX2NvZGU6IHRoaXMubm90aWZpY2F0aW9uUHJldmlld09iai5mcm9tLmZyb21fbWFpbF9hZGRyZXNzLnBvc3RhbF9jb2RlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBodG1sOiB0aGlzLm5vdGlmaWNhdGlvblByZXZpZXdPYmouaHRtbCxcbiAgICAgICAgICAgICAgaWQ6IHRoaXMubm90aWZpY2F0aW9uUHJldmlld09iai50ZW1wbGF0ZV9pZCxcbiAgICAgICAgICAgICAgc3ViamVjdDogdGhpcy5ub3RpZmljYXRpb25QcmV2aWV3T2JqLnN1YmplY3QsXG4gICAgICAgICAgICAgIHRlbXBsYXRlX3R5cGU6IHRoaXMubm90aWZpY2F0aW9uUHJldmlld09iai50ZW1wbGF0ZV90eXBlLFxuICAgICAgICAgICAgICB2ZXJzaW9uOiAwXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBwcm9jZXNzUmVmdW5kUmVxdWVzdCA9IHtcbiAgICAgICAgICAgIGNvZGU6IGNvbnRyb2xzLnJlZnVuZFJlamVjdFJlYXNvbkZpZWxkLnZhbHVlID8gY29udHJvbHMucmVmdW5kUmVqZWN0UmVhc29uRmllbGQudmFsdWUgOiAnJyxcbiAgICAgICAgICAgIHJlYXNvbjogY29udHJvbHMucmVmdW5kUmVqZWN0UmVhc29uRmllbGQudmFsdWUgPT0gJ1JFMDA1JyA/IGNvbnRyb2xzLmVudGVyUmVhc29uRmllbGQudmFsdWUgOiAnJ1xuICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgIFxuICAgICAgfSBlbHNlIGlmIChjb250cm9scy5yZWZ1bmRBY3Rpb25GaWVsZC52YWx1ZSA9PT0gJ1JldHVybiB0byBjYXNld29ya2VyJykge1xuICAgICAgICBzdGF0dXMgPSAnU0VOREJBQ0snO1xuXG4gICAgICAgIGlmICh0aGlzLm5vdGlmaWNhdGlvblByZXZpZXdPYmopIHtcbiAgICAgICAgICBwcm9jZXNzUmVmdW5kUmVxdWVzdCA9IHtcbiAgICAgICAgICAgIGNvZGU6ICcnLFxuICAgICAgICAgICAgcmVhc29uOiBjb250cm9scy5zZW5kTWVCYWNrRmllbGQudmFsdWUsXG4gICAgICAgICAgICB0ZW1wbGF0ZV9wcmV2aWV3OiB7XG4gICAgICAgICAgICAgIGJvZHk6IHRoaXMubm90aWZpY2F0aW9uUHJldmlld09iai5ib2R5LFxuICAgICAgICAgICAgICBmcm9tOiB7XG4gICAgICAgICAgICAgICAgZnJvbV9lbWFpbF9hZGRyZXNzOiB0aGlzLm5vdGlmaWNhdGlvblByZXZpZXdPYmouZnJvbS5mcm9tX2VtYWlsX2FkZHJlc3MsXG4gICAgICAgICAgICAgICAgZnJvbV9tYWlsX2FkZHJlc3M6IHtcbiAgICAgICAgICAgICAgICAgIGFkZHJlc3NfbGluZTogdGhpcy5ub3RpZmljYXRpb25QcmV2aWV3T2JqLmZyb20uZnJvbV9tYWlsX2FkZHJlc3MuYWRkcmVzc19saW5lLFxuICAgICAgICAgICAgICAgICAgY2l0eTogdGhpcy5ub3RpZmljYXRpb25QcmV2aWV3T2JqLmZyb20uZnJvbV9tYWlsX2FkZHJlc3MuY2l0eSxcbiAgICAgICAgICAgICAgICAgIGNvdW50cnk6IHRoaXMubm90aWZpY2F0aW9uUHJldmlld09iai5mcm9tLmZyb21fbWFpbF9hZGRyZXNzLmNvdW50cnksXG4gICAgICAgICAgICAgICAgICBjb3VudHk6IHRoaXMubm90aWZpY2F0aW9uUHJldmlld09iai5mcm9tLmZyb21fbWFpbF9hZGRyZXNzLmNvdW50eSxcbiAgICAgICAgICAgICAgICAgIHBvc3RhbF9jb2RlOiB0aGlzLm5vdGlmaWNhdGlvblByZXZpZXdPYmouZnJvbS5mcm9tX21haWxfYWRkcmVzcy5wb3N0YWxfY29kZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgaHRtbDogdGhpcy5ub3RpZmljYXRpb25QcmV2aWV3T2JqLmh0bWwsXG4gICAgICAgICAgICAgIGlkOiB0aGlzLm5vdGlmaWNhdGlvblByZXZpZXdPYmoudGVtcGxhdGVfaWQsXG4gICAgICAgICAgICAgIHN1YmplY3Q6IHRoaXMubm90aWZpY2F0aW9uUHJldmlld09iai5zdWJqZWN0LFxuICAgICAgICAgICAgICB0ZW1wbGF0ZV90eXBlOiB0aGlzLm5vdGlmaWNhdGlvblByZXZpZXdPYmoudGVtcGxhdGVfdHlwZSxcbiAgICAgICAgICAgICAgdmVyc2lvbjogMFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcHJvY2Vzc1JlZnVuZFJlcXVlc3QgPSB7XG4gICAgICAgICAgICBjb2RlOiAnJyxcbiAgICAgICAgICAgIHJlYXNvbjogY29udHJvbHMuc2VuZE1lQmFja0ZpZWxkLnZhbHVlXG4gICAgICAgICAgfTtcblxuICAgICAgICB9XG5cbiAgICAgIFxuICAgICAgfVxuICAgICAgdGhpcy5SZWZ1bmRzU2VydmljZS5wYXRjaFJlZnVuZEFjdGlvbnMocHJvY2Vzc1JlZnVuZFJlcXVlc3QsIHRoaXMucmVmdW5kUmVmZXJlbmNlLCBzdGF0dXMpLnN1YnNjcmliZShcbiAgICAgICAgcmVzcG9uc2UgPT4ge1xuICAgICAgICAgIHRoaXMuaXNTdWNjZXNzcGFnZUVuYWJsZSA9IHRydWU7XG4gICAgICAgICAgLy8gdGhpcy5zdWNjZXNzTXNnID0gSlNPTi5wYXJzZShyZXNwb25zZSlbJ2RhdGEnXTtcbiAgICAgICAgICB0aGlzLnN1Y2Nlc3NNc2cgPSByZXNwb25zZS5yZXBsYWNlKC9bJ1wiXSsvZywgJycpO1xuICAgICAgICB9LFxuICAgICAgICBlcnIgPT4ge1xuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gdGhpcy5nZXRFcnJvck1lc3NhZ2UodHJ1ZSwgZXJyLnN0YXR1c0NvZGUsIGVyci5lcnIsIGVycik7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmKGNvbnRyb2xzLnJlZnVuZEFjdGlvbkZpZWxkLnZhbHVlID09IFwiXCIpIHtcbiAgICAgICAgdGhpcy5yZXNldEZvcm0oW3RydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlXSwgJ2FjdGlvbicpO1xuICAgICAgfVxuICAgICAgaWYoY29udHJvbHMucmVmdW5kQWN0aW9uRmllbGQudmFsdWUgPT0gJ1JlamVjdCcgJiYgY29udHJvbHMucmVmdW5kUmVqZWN0UmVhc29uRmllbGQudmFsdWUgPT0gXCJcIikge1xuICAgICAgICB0aGlzLnJlc2V0Rm9ybShbZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2VdLCAncmVqZWN0UmVhc29uJyk7XG4gICAgICB9XG4gICAgICBpZihjb250cm9scy5yZWZ1bmRBY3Rpb25GaWVsZC52YWx1ZSA9PSAnUmV0dXJuIHRvIGNhc2V3b3JrZXInKSB7XG4gICAgICAgIGlmKGNvbnRyb2xzLnNlbmRNZUJhY2tGaWVsZC52YWx1ZSA9PSAnJyApIHtcbiAgICAgICAgICB0aGlzLnJlc2V0Rm9ybShbZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2VdLCAnYWRkQXJlYXNvbicpO1xuICAgICAgICB9XG4gICAgICAgIGlmKGNvbnRyb2xzLnNlbmRNZUJhY2tGaWVsZC52YWx1ZSAhPSAnJyAmJiBjb250cm9scy5zZW5kTWVCYWNrRmllbGQuaW52YWxpZCApIHtcbiAgICAgICAgICB0aGlzLnJlc2V0Rm9ybShbZmFsc2UsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2VdLCAnYWRkQXJlYXNvbicpO1xuICAgICAgICB9XG4gICAgICAgIGlmKHByb2Nlc3NGb3JtRXJyb3IgJiYgcHJvY2Vzc0Zvcm1FcnJvci5taW5sZW5ndGggJiYgcHJvY2Vzc0Zvcm1FcnJvci5taW5sZW5ndGguYWN0dWFsTGVuZ3RoIDwgMyApIHtcbiAgICAgICAgICB0aGlzLnJlc2V0Rm9ybShbZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2VdLCAnYWRkQXJlYXNvbicpO1xuICAgICAgICB9XG4gICAgICAgIGlmKHByb2Nlc3NGb3JtRXJyb3IgJiYgcHJvY2Vzc0Zvcm1FcnJvci5tYXhsZW5ndGggJiYgcHJvY2Vzc0Zvcm1FcnJvci5tYXhsZW5ndGguYWN0dWFsTGVuZ3RoID4gMjU1ICkge1xuICAgICAgICAgIHRoaXMucmVzZXRGb3JtKFtmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZV0sICdhZGRBcmVhc29uJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmKGNvbnRyb2xzLnJlZnVuZEFjdGlvbkZpZWxkLnZhbHVlID09ICdSZWplY3QnICYmIGNvbnRyb2xzLnJlZnVuZFJlamVjdFJlYXNvbkZpZWxkLnZhbHVlID09ICdSRTAwNScpIHtcbiAgICAgICAgaWYoY29udHJvbHMuZW50ZXJSZWFzb25GaWVsZC52YWx1ZSA9PT0gXCJcIikge1xuICAgICAgICAgIHRoaXMucmVzZXRGb3JtKFtmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxzZV0sICdlbnRlclJlYXNvbicpO1xuICAgICAgICB9XG4gICAgICAgIGlmKGNvbnRyb2xzLmVudGVyUmVhc29uRmllbGQudmFsdWUhPT0gXCJcIiAmJiBjb250cm9scy5lbnRlclJlYXNvbkZpZWxkLmludmFsaWQpIHtcbiAgICAgICAgICB0aGlzLnJlc2V0Rm9ybShbZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIHRydWVdLCAnZW50ZXJSZWFzb24nKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICB9XG4gIGdldEVycm9yTWVzc2FnZShpc0Vycm9yRXhpc3QsIHN0YXR1cywgZXJyb3JNc2csIGVycikge1xuICAgIGxldCBib2R5VHh0ID0gJ1BsZWFzZSB0cnkgYWdhaW4gbGF0ZXInO1xuICAgIGlmIChzdGF0dXMgIT09IDUwMCkge1xuICAgICAgaWYgKGVycm9yTXNnICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgYm9keVR4dCA9IGVycm9yTXNnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYm9keVR4dCA9IGVycjtcbiAgICAgIH1cbiAgICAgIFxuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgdGl0bGU6ICdTb21ldGhpbmcgd2VudCB3cm9uZycsXG4gICAgICBib2R5OiBib2R5VHh0LFxuICAgICAgc2hvd0Vycm9yOiBpc0Vycm9yRXhpc3RcbiAgICB9O1xuICB9XG4gIGxvYWRSZWZ1bmRMaXN0UGFnZSgpIHtcbiAgICB0aGlzLk9yZGVyc2xpc3RTZXJ2aWNlLmdldG5hdmlnYXRpb25QYWdlVmFsdWUoKS5zdWJzY3JpYmUoKGRhdGEpID0+IHRoaXMubmF2aWdhdGlvbnBhZ2UgPSBkYXRhKTtcbiAgICBpZiAodGhpcy5uYXZpZ2F0aW9ucGFnZSA9PT0gJ2Nhc2V0cmFuc2FjdGlvbnMnKSB7XG4gICAgICAvLyB3aW5kb3cubG9jYXRpb24uaHJlZj0nL3JlZnVuZC1saXN0P3Rha2VQYXltZW50PWZhbHNlJnJlZnVuZGxpc3Q9dHJ1ZSc7XG4gICAgICAvLyAvLyB0aGlzLk9yZGVyc2xpc3RTZXJ2aWNlLnNldG5hdmlnYXRpb25QYWdlKCdjYXNldHJhbnNhY3Rpb25zJyk7XG4gICAgICAvLyAvLyB0aGlzLk9yZGVyc2xpc3RTZXJ2aWNlLnNldGlzRnJvbVNlcnZpY2VSZXF1ZXN0UGFnZShmYWxzZSk7XG4gICAgICAvLyAvLyB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuVklFVyA9J2Nhc2UtdHJhbnNhY3Rpb25zJztcbiAgICAgIC8vIC8vIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC52aWV3TmFtZSA9ICdjYXNlLXRyYW5zYWN0aW9ucyc7XG4gICAgICAvLyAvLyB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuSVNCU0VOQUJMRSA9IHRydWU7XG4gICAgICAvLyAvLyB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuaXNSZWZ1bmRTdGF0dXNWaWV3ID0gZmFsc2U7XG4gICAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQudmlld05hbWUgPSAncmVmdW5kc3RhdHVzbGlzdCc7XG4gICAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuaXNSZWZ1bmRTdGF0dXNWaWV3ID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LnZpZXdOYW1lID0gJ3JlZnVuZHN0YXR1c2xpc3QnO1xuICAgICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LmlzUmVmdW5kU3RhdHVzVmlldyA9IHRydWU7XG4gICAgfVxuICB9XG4gIGxvYWRSZWZ1bmRzSG9tZVBhZ2UoKSB7XG4gICAgaWYodHlwZW9mIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5UQUtFUEFZTUVOVCA9PT0gJ3N0cmluZycgJiYgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LlRBS0VQQVlNRU5UID09PSAnZmFsc2UnKSB7XG4gICAgICAvL3dpbmRvdy5sb2NhdGlvbi5ocmVmPScvcmVmdW5kLWxpc3Q/dGFrZVBheW1lbnQ9ZmFsc2UmcmVmdW5kbGlzdD10cnVlJztcbiAgICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC52aWV3TmFtZSA9ICdyZWZ1bmQtbGlzdCc7XG4gICAgIH1cbiAgICAgZWxzZSB7XG4gICAgICB0aGlzLk9yZGVyc2xpc3RTZXJ2aWNlLnNldG5hdmlnYXRpb25QYWdlKCdjYXNldHJhbnNhY3Rpb25zJyk7XG4gICAgICB0aGlzLk9yZGVyc2xpc3RTZXJ2aWNlLnNldGlzRnJvbVNlcnZpY2VSZXF1ZXN0UGFnZShmYWxzZSk7XG4gICAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuVklFVyA9J2Nhc2UtdHJhbnNhY3Rpb25zJztcbiAgICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC52aWV3TmFtZSA9ICdjYXNlLXRyYW5zYWN0aW9ucyc7XG4gICAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuSVNCU0VOQUJMRSA9IHRydWU7XG4gICAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuaXNSZWZ1bmRTdGF0dXNWaWV3ID0gZmFsc2U7XG4gICAgIH1cbiAgfVxuIHJlZGlyZWN0dG9SZWZ1bmRMaXN0UGFnZSgpIHtcbiAgIGlmKCh0eXBlb2YgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LlRBS0VQQVlNRU5UID09PSAnc3RyaW5nJyAmJiB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuVEFLRVBBWU1FTlQgPT09ICdmYWxzZScpIHx8ICh0eXBlb2YgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LlRBS0VQQVlNRU5UID09PSAnYm9vbGVhbicgJiYgIXRoaXMucGF5bWVudExpYkNvbXBvbmVudC5UQUtFUEFZTUVOVCkgKSB7XG4gICAvLyB3aW5kb3cubG9jYXRpb24uaHJlZj0nL3JlZnVuZC1saXN0P3Rha2VQYXltZW50PWZhbHNlJnJlZnVuZGxpc3Q9dHJ1ZSc7XG4gICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQudmlld05hbWUgPSAncmVmdW5kLWxpc3QnO1xuICAgfVxuICAgZWxzZSB7XG4gICAgdGhpcy5sb2FkUmVmdW5kTGlzdFBhZ2UoKTtcbiAgIH1cbiAgfVxuICBsb2FkQ2FzZVRyYW5zYWN0aW9uUGFnZSgpIHtcbiAgICB0aGlzLk9yZGVyc2xpc3RTZXJ2aWNlLnNldG5hdmlnYXRpb25QYWdlKCdjYXNldHJhbnNhY3Rpb25zJyk7XG4gICAgdGhpcy5PcmRlcnNsaXN0U2VydmljZS5zZXRpc0Zyb21TZXJ2aWNlUmVxdWVzdFBhZ2UoZmFsc2UpO1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC52aWV3TmFtZSA9ICdjYXNlLXRyYW5zYWN0aW9ucyc7XG4gICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LklTQlNFTkFCTEUgPSB0cnVlO1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5pc1JlZnVuZFN0YXR1c1ZpZXcgPSBmYWxzZTtcbiAgfVxuXG4gIHJlc2V0Rm9ybSh2YWxzLCBmaWVsZCkge1xuICAgIGlmKGZpZWxkPT09J2FjdGlvbicgfHwgZmllbGQ9PT0nYWxsJykge1xuICAgICAgdGhpcy5yZWZ1bmRBY3Rpb25zSGFzRXJyb3IgPSB2YWxzWzBdO1xuICAgIH1cbiAgICBpZihmaWVsZD09PSdyZWplY3RSZWFzb24nIHx8IGZpZWxkPT09J2FsbCcpIHtcbiAgICAgIHRoaXMucmVmdW5kUmVqZWN0UmVhc29uSGFzRXJyb3IgPSB2YWxzWzFdO1xuICAgIH1cbiAgICBpZihmaWVsZD09PSdhZGRBcmVhc29uJyB8fCBmaWVsZD09PSdhbGwnKSB7XG4gICAgICB0aGlzLmlzUmVhc29uRmllbGRFbXB0eSA9IHZhbHNbMl07XG4gICAgICB0aGlzLmlzUmVhc29uRmllbGRJbnZhbGlkID0gdmFsc1szXTtcbiAgICAgIHRoaXMucmVhc29uRmllbGRNaW5IYXNFcnJvciA9IHZhbHNbNF07XG4gICAgICB0aGlzLnJlYXNvbkZpZWxkTWF4SGFzRXJyb3IgPSB2YWxzWzVdO1xuICAgIH1cbiAgICBpZihmaWVsZD09PSdlbnRlclJlYXNvbicgfHwgZmllbGQ9PT0nYWxsJykge1xuICAgICAgdGhpcy5pc1JlYXNvbkVtcHR5ID0gdmFsc1s2XTtcbiAgICAgIHRoaXMuaXNSZWFzb25JbnZhbGlkID0gdmFsc1s3XTtcbiAgICB9XG4gIH1cblxuICBnb1RvQ2FzZVJldmlldygpIHtcbiAgICBjb25zdCBpc1BheUJ1YmJsZSA9IHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5pc0Zyb21QYXlCdWJibGU7XG4gICAgaWYoaXNQYXlCdWJibGUpIHtcbiAgICAgIHRoaXMubG9hZENhc2VUcmFuc2FjdGlvblBhZ2UoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2AvY2FzZXMvY2FzZS1kZXRhaWxzLyR7dGhpcy5jY2RDYXNlTnVtYmVyfWBdLCB7cmVsYXRpdmVUbzogdGhpcy5hY3RpdmVSb3V0ZX0pO1xuICAgIH1cbiAgfVxuXG4gIGdldFRlbXBsYXRlSW5zdHJ1Y3Rpb25UeXBlKHBheW1lbnRSZWZlcmVuY2U6IHN0cmluZykge1xuXG4gICAgY29uc29sZS5sb2coJ2hpdHRpbmcgZW5kIHBvaW50Jyk7XG4gICAgaWYgKHBheW1lbnRSZWZlcmVuY2UgIT0gdW5kZWZpbmVkICYmIHBheW1lbnRSZWZlcmVuY2UgIT0gbnVsbCkge1xuXG4gICAgICB0aGlzLnBheW1lbnRWaWV3U2VydmljZS5nZXRQYXltZW50RGV0YWlscyhwYXltZW50UmVmZXJlbmNlKS5zdWJzY3JpYmUoXG4gICAgICAgIHBheW1lbnQgPT4ge1xuICAgICAgICAgIGNvbnNvbGUubG9nKCdQYXltZW50IE9iamVjdCByZWNlaXZlZDogJyArIEpTT04uc3RyaW5naWZ5KHBheW1lbnQpKTtcbiAgICAgICAgICB0aGlzLnBheW1lbnRPYmogPSBwYXltZW50O1xuICAgICAgICAgIHJldHVybiB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UuZ2V0Tm90aWZpY2F0aW9uSW5zdHJ1Y3Rpb25UeXBlKHRoaXMucGF5bWVudE9iai5jaGFubmVsLCB0aGlzLnBheW1lbnRPYmoubWV0aG9kKTtcbiAgICAgICAgfSxcbiAgICAgICAgKGVycm9yOiBhbnkpID0+IHtcbiAgICAgICAgICByZXR1cm4gJ1RlbXBsYXRlJztcbiAgICAgICAgfSlcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICdUZW1wbGF0ZSc7XG4gICAgfVxuICAgIFxuICB9XG5cbiAgc2hvd05vdGlmaWNhdGlvblByZXZpZXcoKTogdm9pZCB7XG4gICAgdGhpcy5ub3RpZmljYXRpb25QcmV2aWV3ID0gdHJ1ZTtcbiAgfVxuXG4gIGhpZGVOb3RpZmljYXRpb25QcmV2aWV3KCk6IHZvaWQge1xuICAgIHRoaXMubm90aWZpY2F0aW9uUHJldmlldyA9IGZhbHNlO1xuICB9XG59XG4iXX0=
@@ -2427,6 +2427,7 @@ class ProcessRefundComponent {
2427
2427
  * @return {?}
2428
2428
  */
2429
2429
  getTemplateInstructionType(paymentReference) {
2430
+ console.log('hitting end point');
2430
2431
  if (paymentReference != undefined && paymentReference != null) {
2431
2432
  this.paymentViewService.getPaymentDetails(paymentReference).subscribe((/**
2432
2433
  * @param {?} payment