@hmcts/ccpay-web-component 6.0.11 → 6.0.12
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.
|
@@ -20,7 +20,7 @@ export class ReportsComponent {
|
|
|
20
20
|
bulkScaningPaymentService;
|
|
21
21
|
paymentLibComponent;
|
|
22
22
|
paymentViewService;
|
|
23
|
-
ISPAYMENTSTATUSENABLED;
|
|
23
|
+
ISPAYMENTSTATUSENABLED = true;
|
|
24
24
|
fmt = 'dd/MM/yyyy';
|
|
25
25
|
loc = 'en-US';
|
|
26
26
|
reportsForm;
|
|
@@ -32,7 +32,6 @@ export class ReportsComponent {
|
|
|
32
32
|
isStartDateLesthanEndDate = false;
|
|
33
33
|
isDateBetwnMonth = false;
|
|
34
34
|
isDateRangeBetnWeek = false;
|
|
35
|
-
//errorMessage = this.errorHandlerService.getServerErrorMessage(false, false, '');
|
|
36
35
|
errorMessage = null;
|
|
37
36
|
paymentGroups = [];
|
|
38
37
|
constructor(xlFileService, errorHandlerService, formBuilder, bulkScaningPaymentService, paymentLibComponent, paymentViewService) {
|
|
@@ -44,6 +43,7 @@ export class ReportsComponent {
|
|
|
44
43
|
this.paymentViewService = paymentViewService;
|
|
45
44
|
}
|
|
46
45
|
ngOnInit() {
|
|
46
|
+
this.errorMessage = this.errorHandlerService.getServerErrorMessage(false, false, '');
|
|
47
47
|
this.fromValidation();
|
|
48
48
|
}
|
|
49
49
|
getToday() {
|
|
@@ -291,6 +291,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
291
291
|
type: Inject,
|
|
292
292
|
args: ['PAYMENT_LIB']
|
|
293
293
|
}] }, { type: i5.PaymentViewService }]; }, propDecorators: { ISPAYMENTSTATUSENABLED: [{
|
|
294
|
-
type: Input
|
|
294
|
+
type: Input,
|
|
295
|
+
args: ['ISPAYMENTSTATUSENABLED']
|
|
295
296
|
}] } });
|
|
296
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wYXltZW50LWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcmVwb3J0cy9yZXBvcnRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BheW1lbnQtbGliL3NyYy9saWIvY29tcG9uZW50cy9yZXBvcnRzL3JlcG9ydHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxXQUFXLEVBQWEsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRzdDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGtFQUFrRSxDQUFDO0FBQzdHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3RGLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQzs7Ozs7Ozs7O0FBUXJFLE1BQU0sT0FBTyxnQkFBZ0I7SUFrQmpCO0lBQ0E7SUFDQTtJQUNBO0lBQ3VCO0lBQ3ZCO0lBdEJELHNCQUFzQixDQUFTO0lBQ3hDLEdBQUcsR0FBRyxZQUFZLENBQUM7SUFDbkIsR0FBRyxHQUFHLE9BQU8sQ0FBQztJQUNkLFdBQVcsQ0FBWTtJQUN2QixTQUFTLENBQVM7SUFDbEIsT0FBTyxDQUFTO0lBQ2hCLFlBQVksQ0FBUztJQUNyQixhQUFhLENBQVM7SUFDdEIsd0JBQXdCLEdBQVcsS0FBSyxDQUFDO0lBQ3pDLHlCQUF5QixHQUFZLEtBQUssQ0FBQztJQUMzQyxnQkFBZ0IsR0FBWSxLQUFL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LENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtnQkFDM0UsS0FBSyxDQUFDLGFBQWEsQ0FBQyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQTthQUNwRTtZQUNELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsaUJBQWlCLENBQUMsT0FBTztRQUN4QixPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxHQUFHO1FBQ3JCLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3pELENBQUM7dUdBL1JVLGdCQUFnQixzSkFzQmpCLGFBQWE7MkZBdEJaLGdCQUFnQixtSENoQjdCLGk5S0F1R0E7OzJGRHZGYSxnQkFBZ0I7a0JBTDVCLFNBQVM7K0JBQ0UsZUFBZTs7MEJBMEJ0QixNQUFNOzJCQUFDLGFBQWE7NkVBckJkLHNCQUFzQjtzQkFBOUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGZvcm1hdERhdGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgdHlwZSB7IFBheW1lbnRMaWJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9wYXltZW50LWxpYi5jb21wb25lbnQnO1xuaW1wb3J0IHtJUGF5bWVudEdyb3VwfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lQYXltZW50R3JvdXAnO1xuaW1wb3J0IHsgQnVsa1NjYW5pbmdQYXltZW50U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2J1bGstc2NhbmluZy1wYXltZW50L2J1bGstc2NhbmluZy1wYXltZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgRXJyb3JIYW5kbGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3NoYXJlZC9lcnJvci1oYW5kbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGF5bWVudFZpZXdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcGF5bWVudC12aWV3L3BheW1lbnQtdmlldy5zZXJ2aWNlJztcbmltcG9ydCB7WGxGaWxlU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMveGwtZmlsZS94bC1maWxlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmluZFZhbHVlU3Vic2NyaWJlciB9IGZyb20gJ3J4anMvaW50ZXJuYWwvb3BlcmF0b3JzL2ZpbmQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY3BheS1yZXBvcnRzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlcG9ydHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZXBvcnRzLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUmVwb3J0c0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIElTUEFZTUVOVFNUQVRVU0VOQUJMRUQ6IHN0cmluZztcbiAgZm10ID0gJ2RkL01NL3l5eXknO1xuICBsb2MgPSAnZW4tVVMnO1xuICByZXBvcnRzRm9ybTogRm9ybUdyb3VwO1xuICBzdGFydERhdGU6IHN0cmluZztcbiAgZW5kRGF0ZTogc3RyaW5nO1xuICBlcnJvck1lYWFnc2U6IHN0cmluZztcbiAgY2NkQ2FzZU51bWJlcjogc3RyaW5nO1xuICBpc0Rvd25Mb2FkQnV0dG9uZGlzYWJsZWQ6Qm9vbGVhbiA9IGZhbHNlO1xuICBpc1N0YXJ0RGF0ZUxlc3RoYW5FbmREYXRlOiBCb29sZWFuID0gZmFsc2U7XG4gIGlzRGF0ZUJldHduTW9udGg6IEJvb2xlYW4gPSBmYWxzZTtcbiAgaXNEYXRlUmFuZ2VCZXRuV2VlazogQm9vbGVhbiA9IGZhbHNlO1xuICAvL2Vycm9yTWVzc2FnZSA9IHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5nZXRTZXJ2ZXJFcnJvck1lc3NhZ2UoZmFsc2UsIGZhbHNlLCAnJyk7XG4gIGVycm9yTWVzc2FnZSA9IG51bGw7XG4gIHBheW1lbnRHcm91cHM6IElQYXltZW50R3JvdXBbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgeGxGaWxlU2VydmljZTogWGxGaWxlU2VydmljZSxcbiAgICBwcml2YXRlIGVycm9ySGFuZGxlclNlcnZpY2U6IEVycm9ySGFuZGxlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBidWxrU2NhbmluZ1BheW1lbnRTZXJ2aWNlOiBCdWxrU2NhbmluZ1BheW1lbnRTZXJ2aWNlLFxuICAgIEBJbmplY3QoJ1BBWU1FTlRfTElCJykgcHJpdmF0ZSBwYXltZW50TGliQ29tcG9uZW50OiBQYXltZW50TGliQ29tcG9uZW50LFxuICAgIHByaXZhdGUgcGF5bWVudFZpZXdTZXJ2aWNlOiBQYXltZW50Vmlld1NlcnZpY2UpIHsgfVxuXG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5mcm9tVmFsaWRhdGlvbigpO1xuICAgfVxuXG4gIGdldFRvZGF5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKS5zcGxpdCgnVCcpWzBdO1xuIH1cblxuIGdldFNlbGVjdGVkRnJvbURhdGUoKTogdm9pZCB7XG4gdGhpcy52YWxpZGF0ZURhdGVzKHRoaXMucmVwb3J0c0Zvcm0uZ2V0KCdzZWxlY3RlZHJlcG9ydCcpLnZhbHVlKTtcbiB9XG5cbiB2YWxpZGF0ZURhdGVzKHJlcG9ydE5hbWUpe1xuICBjb25zdCBzZWxlY3RlZFN0YXJ0RGF0ZSA9IHRoaXMudHJhbmZvcm1EYXRlKHRoaXMucmVwb3J0c0Zvcm0uZ2V0KCdzdGFydERhdGUnKS52YWx1ZSksXG4gICAgc2VsZWN0ZWRFbmREYXRlID0gdGhpcy50cmFuZm9ybURhdGUodGhpcy5yZXBvcnRzRm9ybS5nZXQoJ2VuZERhdGUnKS52YWx1ZSk7XG4gIGNvbnN0IGlzRGF0ZVJhbmdlTW9yZVRoYW5XZWVrID0gKDxhbnk+bmV3IERhdGUoc2VsZWN0ZWRTdGFydERhdGUpIC0gPGFueT5uZXcgRGF0ZShzZWxlY3RlZEVuZERhdGUpKS8oMTAwMCAqIDM2MDAgKiAtMjQpID4gNztcbiAgY29uc3QgaXNEYXRlUmFuZ2VNb3JlVGhhbk1vbnRoID0gKDxhbnk+bmV3IERhdGUoc2VsZWN0ZWRTdGFydERhdGUpIC0gPGFueT5uZXcgRGF0ZShzZWxlY3RlZEVuZERhdGUpKS8oMTAwMCAqIDM2MDAgKiAtMjQpID4gMzA7XG4gIGlmKG5ldyBEYXRlKHNlbGVjdGVkU3RhcnREYXRlKSA+IG5ldyBEYXRlKHNlbGVjdGVkRW5kRGF0ZSkgJiYgc2VsZWN0ZWRFbmREYXRlICE9PSAnJyl7XG4gICAgdGhpcy5yZXBvcnRzRm9ybS5nZXQoJ3N0YXJ0RGF0ZScpLnNldFZhbHVlKCcnKTtcbiAgICB0aGlzLmlzRGF0ZVJhbmdlQmV0bldlZWsgPSBmYWxzZTtcbiAgICB0aGlzLmlzRGF0ZUJldHduTW9udGggPSBmYWxzZTtcbiAgICB0aGlzLmlzU3RhcnREYXRlTGVzdGhhbkVuZERhdGUgPSB0cnVlO1xuICB9IGVsc2UgaWYocmVwb3J0TmFtZSAmJiByZXBvcnROYW1lID09PSdTVVJQTFVTX0FORF9TSE9SVEZBTEwnICYmIGlzRGF0ZVJhbmdlTW9yZVRoYW5XZWVrICkge1xuICAgIHRoaXMuaXNEYXRlUmFuZ2VCZXRuV2VlayA9IHRydWU7XG4gICAgdGhpcy5pc0RhdGVCZXR3bk1vbnRoID0gZmFsc2U7XG4gICAgdGhpcy5pc1N0YXJ0RGF0ZUxlc3RoYW5FbmREYXRlID0gZmFsc2U7XG4gIH0gZWxzZSBpZihyZXBvcnROYW1lICYmIHJlcG9ydE5hbWUgPT09J1BBWU1FTlRfRkFJTFVSRV9FVkVOVCcgJiYgaXNEYXRlUmFuZ2VNb3JlVGhhbk1vbnRoICkge1xuICAgIHRoaXMuaXNEYXRlUmFuZ2VCZXRuV2VlayA9IGZhbHNlO1xuICAgIHRoaXMuaXNEYXRlQmV0d25Nb250aCA9IHRydWU7XG4gICAgdGhpcy5pc1N0YXJ0RGF0ZUxlc3RoYW5FbmREYXRlID0gZmFsc2U7XG4gIH0gZWxzZSB7XG4gICAgdGhpcy5pc0RhdGVCZXR3bk1vbnRoID0gZmFsc2U7XG4gICAgdGhpcy5pc0RhdGVSYW5nZUJldG5XZWVrID0gZmFsc2U7XG4gICAgdGhpcy5pc1N0YXJ0RGF0ZUxlc3RoYW5FbmREYXRlID0gZmFsc2U7XG4gIH1cblxuIH1cblxuICBmcm9tVmFsaWRhdGlvbigpIHtcbiAgICB0aGlzLnJlcG9ydHNGb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICBzZWxlY3RlZHJlcG9ydDogbmV3IEZvcm1Db250cm9sKCcnKSAsXG4gICAgICBzdGFydERhdGU6IG5ldyBGb3JtQ29udHJvbCgnJyksXG4gICAgICBlbmREYXRlOiBuZXcgRm9ybUNvbnRyb2woJycpXG4gICAgfSk7XG59XG5cbmRvd25sb2FkUmVwb3J0KCl7XG4gIHRoaXMuaXNEb3duTG9hZEJ1dHRvbmRpc2FibGVkID0gdHJ1ZTtcbiAgY29uc3QgZGF0YUxvc3NScHREZWZhdWx0ID0gW3tsb3NzX3Jlc3A6JycscGF5bWVudF9hc3NldF9kY246JycsZW52X3JlZjonJyxlbnZfaXRlbTonJyxyZXNwX3NlcnZpY2VfaWQ6JycscmVzcF9zZXJ2aWNlX25hbWU6JycsZGF0ZV9iYW5rZWQ6JycsYmdjX2JhdGNoOicnLHBheW1lbnRfbWV0aG9kOicnLGFtb3VudDonJ31dLFxuICAgIHVuUHJvY2Vzc2VkUnB0RGVmYXVsdCA9IFt7cmVzcF9zZXJ2aWNlX2lkOicnLHJlc3Bfc2VydmljZV9uYW1lOicnLGV4Y2VwdGlvbl9yZWY6JycsY2NkX3JlZjonJyxkYXRlX2JhbmtlZDonJyxiZ2NfYmF0Y2g6JycscGF5bWVudF9hc3NldF9kY246JycsZW52X3JlZjonJyxlbnZfaXRlbTonJyxwYXltZW50X21ldGhvZDonJyxhbW91bnQ6Jyd9XSxcbiAgICBwcm9jZXNzZWRVbmFsbG9jYXRlZCA9W3tyZXNwX3NlcnZpY2VfaWQ6JycscmVzcF9zZXJ2aWNlX25hbWU6JycsYWxsb2NhdGlvbl9zdGF0dXM6JycscmVjZWl2aW5nX29mZmljZTonJyxhbGxvY2F0aW9uX3JlYXNvbjonJyxjY2RfZXhjZXB0aW9uX3JlZjonJyxjY2RfY2FzZV9yZWY6JycscGF5bWVudF9hc3NldF9kY246JycsZW52X3JlZjonJyxlbnZfaXRlbTonJyxkYXRlX2JhbmtlZDonJyxiZ2NfYmF0Y2g6JycscGF5bWVudF9tZXRob2Q6JycsYW1vdW50OicnLHVwZGF0ZWRfYnk6Jyd9XSxcbiAgICBzaG9ydEZhbGxzUnB0RGVmYXVsdCA9IFt7cmVzcF9zZXJ2aWNlX2lkOicnLHJlc3Bfc2VydmljZV9uYW1lOicnLHN1cnBsdXNfc2hvcnRmYWxsOicnLGJhbGFuY2U6JycscGF5bWVudF9hbW91bnQ6JycsY2NkX2Nhc2VfcmVmZXJlbmNlOicnLGNjZF9leGNlcHRpb25fcmVmZXJlbmNlOicnLHByb2Nlc3NlZF9kYXRlOicnLCByZWFzb246JycsIGV4cGxhbmF0aW9uOicnLCB1c2VyX25hbWU6Jyd9XSxcbiAgICBzZWxlY3RlZFJlcG9ydE5hbWUgPSB0aGlzLnJlcG9ydHNGb3JtLmdldCgnc2VsZWN0ZWRyZXBvcnQnKS52YWx1ZSxcbiAgICBzZWxlY3RlZFN0YXJ0RGF0ZSA9IHRoaXMudHJhbmZvcm1EYXRlKHRoaXMucmVwb3J0c0Zvcm0uZ2V0KCdzdGFydERhdGUnKS52YWx1ZSksXG4gICAgc2VsZWN0ZWRFbmREYXRlID0gdGhpcy50cmFuZm9ybURhdGUodGhpcy5yZXBvcnRzRm9ybS5nZXQoJ2VuZERhdGUnKS52YWx1ZSk7XG5cbiAgICBpZihzZWxlY3RlZFJlcG9ydE5hbWUgPT09ICdQUk9DRVNTRURfVU5BTExPQ0FURUQnIHx8IHNlbGVjdGVkUmVwb3J0TmFtZSA9PT0gJ1NVUlBMVVNfQU5EX1NIT1JURkFMTCcgKXtcbiAgICAgIHRoaXMucGF5bWVudFZpZXdTZXJ2aWNlLmRvd25sb2FkU2VsZWN0ZWRSZXBvcnQoc2VsZWN0ZWRSZXBvcnROYW1lLHNlbGVjdGVkU3RhcnREYXRlLHNlbGVjdGVkRW5kRGF0ZSkuc3Vic2NyaWJlKFxuICAgICAgICByZXNwb25zZSA9PiAge1xuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gdGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmdldFNlcnZlckVycm9yTWVzc2FnZShmYWxzZSwgZmFsc2UsICcnKTtcbiAgICAgICAgICBjb25zdCByZXN1bHQgPSBKU09OLnBhcnNlKHJlc3BvbnNlKTtcbiAgICAgICAgICBsZXQgcmVzPSB7ZGF0YTogdGhpcy5hcHBseURhdGVGb3JtYXQocmVzdWx0KX07XG4gICAgICAgICAgaWYocmVzWydkYXRhJ10ubGVuZ3RoID09PSAwICYmIHNlbGVjdGVkUmVwb3J0TmFtZSA9PT0gJ1BST0NFU1NFRF9VTkFMTE9DQVRFRCcgKXtcbiAgICAgICAgICAgIHJlcy5kYXRhPSBwcm9jZXNzZWRVbmFsbG9jYXRlZDtcbiAgICAgICAgICB9IGVsc2UgaWYocmVzWydkYXRhJ10ubGVuZ3RoID09PSAwICYmIHNlbGVjdGVkUmVwb3J0TmFtZSA9PT0gJ1NVUlBMVVNfQU5EX1NIT1JURkFMTCcgKSB7XG4gICAgICAgICAgICByZXMuZGF0YT0gc2hvcnRGYWxsc1JwdERlZmF1bHQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmKHJlc3VsdFsnZGF0YSddLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGZvciggdmFyIGk9MDsgaTwgcmVzWydkYXRhJ10ubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgaWYocmVzWydkYXRhJ11baV1bXCJwYXltZW50X2Fzc2V0X2RjblwiXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgcmVzWydkYXRhJ11baV1bJ2Vudl9yZWYnXSA9IHJlc1snZGF0YSddW2ldW1wicGF5bWVudF9hc3NldF9kY25cIl0uc3Vic3RyKDAsMTMpO1xuICAgICAgICAgICAgICAgIHJlc1snZGF0YSddW2ldWydlbnZfaXRlbSddID0gcmVzWydkYXRhJ11baV1bXCJwYXltZW50X2Fzc2V0X2RjblwiXS5zdWJzdHIoMTMsMjEpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmKHJlc1snZGF0YSddW2ldW1wiYW1vdW50XCJdICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICByZXNbJ2RhdGEnXVtpXVsnYW1vdW50J10gPSB0aGlzLmNvbnZlcnRUb0Zsb2F0VmFsdWUocmVzWydkYXRhJ11baV1bJ2Ftb3VudCddKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpZihyZXNbJ2RhdGEnXVtpXVtcImJhbGFuY2VcIl0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHJlc1snZGF0YSddW2ldWydiYWxhbmNlJ10gPSB0aGlzLmNvbnZlcnRUb0Zsb2F0VmFsdWUocmVzWydkYXRhJ11baV1bXCJiYWxhbmNlXCJdKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBsZXQgT3AgPSByZXNbJ2RhdGEnXVtpXVtcInN1cnBsdXNfc2hvcnRmYWxsXCJdO1xuICAgICAgICAgICAgICBpZihPcCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgcmVzWydkYXRhJ11baV1bJ3N1cnBsdXNfc2hvcnRmYWxsJ10gPSBPcCA9PVwiU3VycGx1c1wiID8gXCJPdmVyIHBheW1lbnRcIjpcIlVuZGVyIHBheW1lbnRcIjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpZihyZXNbJ2RhdGEnXVtpXVtcInBheW1lbnRfYW1vdW50XCJdICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICByZXNbJ2RhdGEnXVtpXVsncGF5bWVudF9hbW91bnQnXSA9IHRoaXMuY29udmVydFRvRmxvYXRWYWx1ZShyZXNbJ2RhdGEnXVtpXVsncGF5bWVudF9hbW91bnQnXSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5pc0Rvd25Mb2FkQnV0dG9uZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLnhsRmlsZVNlcnZpY2UuZXhwb3J0QXNFeGNlbEZpbGUocmVzWydkYXRhJ10sIHRoaXMuZ2V0RmlsZU5hbWUodGhpcy5yZXBvcnRzRm9ybS5nZXQoJ3NlbGVjdGVkcmVwb3J0JykudmFsdWUsIHNlbGVjdGVkU3RhcnREYXRlLCBzZWxlY3RlZEVuZERhdGUpKTtcbiAgICAgICAgfSxcbiAgICAgICAgKGVycm9yOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLmlzRG93bkxvYWRCdXR0b25kaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gdGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmdldFNlcnZlckVycm9yTWVzc2FnZSh0cnVlLCBmYWxzZSwgJycpO1xuICAgICAgICB9KVxuXG4gICAgfSBlbHNlIGlmKHNlbGVjdGVkUmVwb3J0TmFtZSA9PT0gJ1BBWU1FTlRfRkFJTFVSRV9FVkVOVCcpIHtcblxuICAgICAgdGhpcy5wYXltZW50Vmlld1NlcnZpY2UuZG93bmxvYWRGYWlsdXJlUmVwb3J0KHNlbGVjdGVkU3RhcnREYXRlLHNlbGVjdGVkRW5kRGF0ZSkuc3Vic2NyaWJlKFxuICAgICAgICByZXNwb25zZSA9PiAge1xuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gdGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmdldFNlcnZlckVycm9yTWVzc2FnZShmYWxzZSwgZmFsc2UsICcnKTtcbiAgICAgICAgICBjb25zdCByZXN1bHQgPSB7ZGF0YTogSlNPTi5wYXJzZShyZXNwb25zZSlbJ3BheW1lbnRfZmFpbHVyZV9yZXBvcnRfbGlzdCddfTtcbiAgICAgICAgICBsZXQgcmVzID0ge2RhdGE6IHRoaXMuYXBwbHlEYXRlRm9ybWF0KHJlc3VsdCl9O1xuICAgICAgICAgIGlmIChyZXN1bHRbJ2RhdGEnXS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBmb3IgKCB2YXIgaT0wOyBpPCByZXNbJ2RhdGEnXS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICBpZiAocmVzWydkYXRhJ11baV1bXCJkaXNwdXRlZF9hbW91bnRcIl0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHJlc1snZGF0YSddW2ldWydkaXNwdXRlZF9hbW91bnQnXSA9IHRoaXMuY29udmVydFRvRmxvYXRWYWx1ZShyZXNbJ2RhdGEnXVtpXVtcImRpc3B1dGVkX2Ftb3VudFwiXSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaWYgKHJlc1snZGF0YSddW2ldW1wicmVwcmVzZW50bWVudF9zdGF0dXNcIl0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHJlc1snZGF0YSddW2ldWydyZXByZXNlbnRtZW50X3N0YXR1cyddID0gcmVzWydkYXRhJ11baV1bXCJyZXByZXNlbnRtZW50X3N0YXR1c1wiXS50b0xvd2VyQ2FzZSgpID09PSAneWVzJyA/ICdTdWNjZXNzJyA6ICdGYWlsdXJlJztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpZiAocmVzWydkYXRhJ11baV1bJ3JlcHJlc2VudG1lbnRfc3RhdHVzJ10gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHJlc1snZGF0YSddW2ldWydyZXByZXNlbnRtZW50X3N0YXR1cyddID0gJ05vIHJlcHJlc2VudG1lbnQgcmVjZWl2ZWQnO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmIChyZXNbJ2RhdGEnXVtpXVsncmVwcmVzZW50bWVudF9kYXRlJ10gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHJlc1snZGF0YSddW2ldWydyZXByZXNlbnRtZW50X2RhdGUnXSA9ICdOL0EnO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmIChyZXNbJ2RhdGEnXVtpXVsncmVmdW5kX3JlZmVyZW5jZSddID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICByZXNbJ2RhdGEnXVtpXVsncmVmdW5kX3JlZmVyZW5jZSddID0gJ05vIHJlZnVuZCBhdmFpbGFibGUnO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmIChyZXNbJ2RhdGEnXVtpXVsncmVmdW5kX2Ftb3VudCddID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICByZXNbJ2RhdGEnXVtpXVsncmVmdW5kX2Ftb3VudCddID0gJ04vQSc7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaWYgKHJlc1snZGF0YSddW2ldWydyZWZ1bmRfZGF0ZSddID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICByZXNbJ2RhdGEnXVtpXVsncmVmdW5kX2RhdGUnXSA9ICdOL0EnO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmIChyZXNbJ2RhdGEnXVtpXVsnZG9jdW1lbnRfY29udHJvbF9udW1iZXInXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgcmVzWydkYXRhJ11baV1bJ2RvY3VtZW50X2NvbnRyb2xfbnVtYmVyJ10gPSAnTi9BJztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLmlzRG93bkxvYWRCdXR0b25kaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMueGxGaWxlU2VydmljZS5leHBvcnRBc0V4Y2VsRmlsZShyZXNbJ2RhdGEnXSwgdGhpcy5nZXRGaWxlTmFtZSh0aGlzLnJlcG9ydHNGb3JtLmdldCgnc2VsZWN0ZWRyZXBvcnQnKS52YWx1ZSwgc2VsZWN0ZWRTdGFydERhdGUsIHNlbGVjdGVkRW5kRGF0ZSApKTtcblxuICAgICAgICB9LFxuICAgICAgICAoZXJyb3I6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMuaXNEb3duTG9hZEJ1dHRvbmRpc2FibGVkID0gZmFsc2U7XG4gICAgICAgICAgY29uc3QgZXJyb3JDb250ZW50ID0gZXJyb3IucmVwbGFjZSgvW15hLXpBLVogXS9nLCAnJykudHJpbSgpO1xuICAgICAgICAgIGNvbnN0IHN0YXR1c0NvZGUgPSBlcnJvci5yZXBsYWNlKC9bXmEtekEtWjAtOSBdL2csICcnKS50cmltKCkuc3BsaXQoJyAnKVswXTtcbiAgICAgICAgICBpZihzdGF0dXNDb2RlID09PSAnNDA0Jykge1xuICAgICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSB0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuZ2V0U2VydmVyRXJyb3JNZXNzYWdlKHRydWUsIHRydWUsIGVycm9yQ29udGVudCk7XG4gICAgICAgICAgfWVsc2Uge1xuICAgICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSB0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuZ2V0U2VydmVyRXJyb3JNZXNzYWdlKHRydWUsIGZhbHNlLCAnJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYnVsa1NjYW5pbmdQYXltZW50U2VydmljZS5kb3dubG9hZFNlbGVjdGVkUmVwb3J0KHNlbGVjdGVkUmVwb3J0TmFtZSxzZWxlY3RlZFN0YXJ0RGF0ZSxzZWxlY3RlZEVuZERhdGUpLnN1YnNjcmliZShcbiAgICAgICAgcmVzcG9uc2UgPT4gIHtcbiAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5nZXRTZXJ2ZXJFcnJvck1lc3NhZ2UoZmFsc2UsIGZhbHNlLCAnJyk7XG4gICAgICAgICAgY29uc3QgcmVzdWx0ID0gSlNPTi5wYXJzZShyZXNwb25zZSk7XG4gICAgICAgICAgbGV0IHJlcyA9IHtkYXRhOiB0aGlzLmFwcGx5RGF0ZUZvcm1hdChyZXN1bHQpfTtcbiAgICAgICAgICBpZihyZXNbJ2RhdGEnXS5sZW5ndGggPT09IDAgJiYgc2VsZWN0ZWRSZXBvcnROYW1lID09PSAnREFUQV9MT1NTJyApe1xuICAgICAgICAgICAgcmVzLmRhdGE9IGRhdGFMb3NzUnB0RGVmYXVsdDtcbiAgICAgICAgICB9IGVsc2UgaWYocmVzWydkYXRhJ10ubGVuZ3RoID09PSAwICYmIHNlbGVjdGVkUmVwb3J0TmFtZSA9PT0gJ1VOUFJPQ0VTU0VEJyl7XG4gICAgICAgICAgICByZXMuZGF0YSA9IHVuUHJvY2Vzc2VkUnB0RGVmYXVsdDtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYocmVzdWx0WydkYXRhJ10ubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGZvciggdmFyIGk9MDsgaTwgcmVzWydkYXRhJ10ubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmKHJlc1snZGF0YSddW2ldW1wiYW1vdW50XCJdICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgcmVzWydkYXRhJ11baV1bJ2Ftb3VudCddID0gdGhpcy5jb252ZXJ0VG9GbG9hdFZhbHVlKHJlc1snZGF0YSddW2ldWydhbW91bnQnXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZihyZXNbJ2RhdGEnXVtpXVtcInBheW1lbnRfYXNzZXRfZGNuXCJdICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJlc1snZGF0YSddW2ldWydlbnZfcmVmJ10gPSByZXNbJ2RhdGEnXVtpXVtcInBheW1lbnRfYXNzZXRfZGNuXCJdLnN1YnN0cigwLDEzKTtcbiAgICAgICAgICAgIHJlc1snZGF0YSddW2ldWydlbnZfaXRlbSddID0gcmVzWydkYXRhJ11baV1bXCJwYXltZW50X2Fzc2V0X2RjblwiXS5zdWJzdHIoMTMsMjEpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICAgdGhpcy5pc0Rvd25Mb2FkQnV0dG9uZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLnhsRmlsZVNlcnZpY2UuZXhwb3J0QXNFeGNlbEZpbGUocmVzWydkYXRhJ10sIHRoaXMuZ2V0RmlsZU5hbWUodGhpcy5yZXBvcnRzRm9ybS5nZXQoJ3NlbGVjdGVkcmVwb3J0JykudmFsdWUsIHNlbGVjdGVkU3RhcnREYXRlLCBzZWxlY3RlZEVuZERhdGUgKSk7XG4gICAgICAgIH0sXG4gICAgICAgIChlcnJvcjogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5pc0Rvd25Mb2FkQnV0dG9uZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5nZXRTZXJ2ZXJFcnJvck1lc3NhZ2UodHJ1ZSwgZmFsc2UsICcnKTtcbiAgICAgICAgfSlcbiAgICB9XG4gIH1cblxuICBnZXRGaWxlTmFtZShzZWxlY3RlZE9wdGlvbjogc3RyaW5nLCBzdGFydERhdGU6IHN0cmluZywgZW5kRGF0ZTogc3RyaW5nICkge1xuICAgIGNvbnN0IGxvYyA9ICdlbi1VUycsXG4gICAgICBzdER0ID0gZm9ybWF0RGF0ZShzdGFydERhdGUsICdkZE1NeXknLCBsb2MpLFxuICAgICAgZW5EdCA9IGZvcm1hdERhdGUoZW5kRGF0ZSwgJ2RkTU15eScsIGxvYyksXG4gICAgICBub3cgPSBuZXcgRGF0ZSgpLFxuICAgICAgY3VycmVudERhdGUgPSBmb3JtYXREYXRlKG5vdywgJ2RkTU15eScsIGxvYyksXG4gICAgICB0aW1lc3RhbXAgPSBgJHtjdXJyZW50RGF0ZX1fJHt0aGlzLmdldFR3b2RpZ2l0KG5vdy5nZXRIb3VycygpKX0ke3RoaXMuZ2V0VHdvZGlnaXQobm93LmdldE1pbnV0ZXMoKSl9JHt0aGlzLmdldFR3b2RpZ2l0KG5vdy5nZXRTZWNvbmRzKCkpfWAsXG4gICAgICBzZWxlY3RlZE9wdGlvblR4dCA9IHRoaXMuZ2V0Q2FtZWxDYXNlU3RyaW5nKHNlbGVjdGVkT3B0aW9uKTtcblxuICAgICAgcmV0dXJuIHNlbGVjdGVkT3B0aW9uVHh0KydfJytzdER0KydfVG9fJytlbkR0KydfUnVuXycrIHRpbWVzdGFtcDtcbiAgfVxuICB0cmFuZm9ybURhdGUoc3RyRGF0ZTogc3RyaW5nKSB7XG4gICAgbGV0IHJlc3VsdCA9ICcnO1xuICAgIGlmIChzdHJEYXRlKSB7XG4gICAgICBsZXQgcGFydHMgPSBzdHJEYXRlLnNwbGl0KCctJyk7XG4gICAgICByZXN1bHQgPSBgJHtwYXJ0c1sxXX0vJHtwYXJ0c1syXX0vJHtwYXJ0c1swXX1gO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG4gIGdldFR3b2RpZ2l0KGlucHV0OiBudW1iZXIpe1xuICAgIHJldHVybiAoXCIwXCIgKyBpbnB1dCkuc2xpY2UoLTIpO1xuICB9XG4gIGdldENhbWVsQ2FzZVN0cmluZyhzZWxlY3RlZE9wdGlvbikge1xuICAgIGxldCByZXN1bHQ7XG4gICAgc3dpdGNoKHNlbGVjdGVkT3B0aW9uKSB7XG4gICAgICBjYXNlICdVTlBST0NFU1NFRCc6IHtcbiAgICAgICAgcmVzdWx0ID0gJ1VucHJvY2Vzc2VkJztcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdEQVRBX0xPU1MnOiB7XG4gICAgICAgIHJlc3VsdCA9ICdEYXRhX0xvc3MnO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ1BST0NFU1NFRF9VTkFMTE9DQVRFRCc6IHtcbiAgICAgICAgcmVzdWx0ID0gJ1Byb2Nlc3NlZF9VbmFsbG9jYXRlZCc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnU1VSUExVU19BTkRfU0hPUlRGQUxMJzoge1xuICAgICAgICByZXN1bHQgPSAnT3ZlciBQYXltZW50X1VuZGVyIFBheW1lbnQnO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ1BBWU1FTlRfRkFJTFVSRV9FVkVOVCc6IHtcbiAgICAgICAgcmVzdWx0ID0gJ1BheW1lbnQgZmFpbHVyZSBldmVudCc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgZGVmYXVsdDoge1xuICAgICAgICByZXN1bHQgPSBzZWxlY3RlZE9wdGlvbjtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICB9XG4gICByZXR1cm4gcmVzdWx0O1xuICB9XG4gIGFwcGx5RGF0ZUZvcm1hdChyZXMpIHtcbiAgICByZXR1cm4gcmVzWydkYXRhJ10ubWFwKHZhbHVlID0+IHtcbiAgICAgIGlmICh2YWx1ZVsnZGF0ZV9iYW5rZWQnXSkge1xuICAgICAgICB2YWx1ZVsnZGF0ZV9iYW5rZWQnXSA9IGZvcm1hdERhdGUodmFsdWVbJ2RhdGVfYmFua2VkJ10sIHRoaXMuZm10LCB0aGlzLmxvYyk7XG4gICAgICB9XG4gICAgICBpZiAodmFsdWVbJ2V2ZW50X2RhdGUnXSAmJiB2YWx1ZVsnZXZlbnRfZGF0ZSddLmluZGV4T2YoJywnKSA9PT0gLTEpIHtcbiAgICAgICAgdmFsdWVbJ2V2ZW50X2RhdGUnXSA9IGZvcm1hdERhdGUodmFsdWVbJ2V2ZW50X2RhdGUnXSwgdGhpcy5mbXQsIHRoaXMubG9jKTtcbiAgICAgIH0gZWxzZSBpZiAodmFsdWVbJ2V2ZW50X2RhdGUnXSAmJiB2YWx1ZVsnZXZlbnRfZGF0ZSddLmluZGV4T2YoJywnKSAhPT0gLTEpIHtcbiAgICAgICAgdmFsdWVbJ2V2ZW50X2RhdGUnXSA9IHRoaXMubXVsdGlEYXRlRm9ybWF0ZXIodmFsdWVbJ2V2ZW50X2RhdGUnXSlcbiAgICAgIH1cblxuICAgICAgaWYgKHZhbHVlWydyZXByZXNlbnRtZW50X2RhdGUnXSAmJiB2YWx1ZVsncmVwcmVzZW50bWVudF9kYXRlJ10uaW5kZXhPZignLCcpID09PSAtMSkge1xuICAgICAgICB2YWx1ZVsncmVwcmVzZW50bWVudF9kYXRlJ10gPSBmb3JtYXREYXRlKHZhbHVlWydyZXByZXNlbnRtZW50X2RhdGUnXSwgdGhpcy5mbXQsIHRoaXMubG9jKTtcbiAgICAgIH0gZWxzZSBpZiAodmFsdWVbJ3JlcHJlc2VudG1lbnRfZGF0ZSddICYmIHZhbHVlWydyZXByZXNlbnRtZW50X2RhdGUnXS5pbmRleE9mKCcsJykgIT09IC0xKSB7XG4gICAgICAgIHZhbHVlWydyZXByZXNlbnRtZW50X2RhdGUnXSA9IHRoaXMubXVsdGlEYXRlRm9ybWF0ZXIodmFsdWVbJ3JlcHJlc2VudG1lbnRfZGF0ZSddKVxuICAgICAgfVxuXG4gICAgICBpZiAodmFsdWVbJ3JlZnVuZF9kYXRlJ10gJiYgdmFsdWVbJ3JlZnVuZF9kYXRlJ10uaW5kZXhPZignLCcpID09PSAtMSkge1xuICAgICAgICB2YWx1ZVsncmVmdW5kX2RhdGUnXSA9IGZvcm1hdERhdGUodmFsdWVbJ3JlZnVuZF9kYXRlJ10sIHRoaXMuZm10LCB0aGlzLmxvYyk7XG4gICAgICB9IGVsc2UgaWYgKHZhbHVlWydyZWZ1bmRfZGF0ZSddICYmIHZhbHVlWydyZWZ1bmRfZGF0ZSddLmluZGV4T2YoJywnKSAhPT0gLTEpIHtcbiAgICAgICAgdmFsdWVbJ3JlZnVuZF9kYXRlJ10gPSB0aGlzLm11bHRpRGF0ZUZvcm1hdGVyKHZhbHVlWydyZWZ1bmRfZGF0ZSddKVxuICAgICAgfVxuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH0pO1xuICB9XG4gIG11bHRpRGF0ZUZvcm1hdGVyKGRhdGVTdHIpIHtcbiAgIHJldHVybiBkYXRlU3RyLnNwbGl0KCcsJykubWFwKChkYXRlKSA9PiBmb3JtYXREYXRlKGRhdGUsIHRoaXMuZm10LCB0aGlzLmxvYykpLmpvaW4oJywnKTtcbiAgfVxuXG4gIGNvbnZlcnRUb0Zsb2F0VmFsdWUoYW10KSB7XG4gICAgcmV0dXJuIGFtdCA/IE51bWJlci5wYXJzZUZsb2F0KGFtdCkudG9GaXhlZCgyKTogJzAuMDAnO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiaGVhZGVyXCI+XG4gICAgICA8aW5wdXQgI215SW5wdXQgdHlwZT0naGlkZGVuJyBjbGFzcz0naUZyYW1lRHJpdmVuSW1hZ2VWYWx1ZScgdmFsdWU9J1JFUE9SVFMnPlxuICAgICAgPGNjcGF5LWVycm9yLWJhbm5lciAqbmdJZj1cImVycm9yTWVzc2FnZS5zaG93RXJyb3JcIiBbZXJyb3JNZXNzYWdlXT1cImVycm9yTWVzc2FnZVwiPjwvY2NwYXktZXJyb3ItYmFubmVyPlxuICAgICAgPGxlZ2VuZCBjbGFzcz1cImdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLXhsXCI+XG4gICAgICAgICA8aDEgY2xhc3M9XCJnb3Z1ay1maWVsZHNldF9faGVhZGluZ1wiPiBDaG9vc2UgdGhlIHJlcG9ydCB0eXBlIGFuZCBkYXRlIHJhbmdlPC9oMT5cbiAgICAgIDwvbGVnZW5kPlxuPC9kaXY+XG48Zm9ybSBbZm9ybUdyb3VwXT1cInJlcG9ydHNGb3JtXCI+XG4gICAgIDxkaXYgIGNsYXNzPVwiZ292dWstZm9ybS1ncm91cFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstcmFkaW9zIGdvdnVrLXJhZGlvcy0tY29uZGl0aW9uYWxcIiBkYXRhLW1vZHVsZT1cImdvdnVrLXJhZGlvc1wiPlxuICAgICAgICAgIDxkaXYgIGNsYXNzPVwiZ292dWstcmFkaW9zX19pdGVtXCI+XG4gICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgICBpZD1cIkRhdGFMb3NzXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJnb3Z1ay1yYWRpb3NfX2lucHV0XCJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic2VsZWN0ZWRyZXBvcnRcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwidmFsaWRhdGVEYXRlcygnREFUQV9MT1NTJylcIlxuICAgICAgICAgICAgICBuYW1lPVwic2VsZWN0ZWRyZXBvcnRcIlxuICAgICAgICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICAgICAgICB2YWx1ZT1cIkRBVEFfTE9TU1wiXG4gICAgICAgICAgICAgICBkYXRhLWFyaWEtY29udHJvbHM9XCJEYXRhTG9zc1wiLz5cbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstcmFkaW9zX19sYWJlbCBnb3Z1ay1sYWJlbC0tbVwiIGZvcj1cIkRhdGFMb3NzXCI+RGF0YSBsb3NzPC9sYWJlbD5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb3JtLWhpbnRcIj5NaXNzaW5nIHRyYW5zYWN0aW9ucyB3aGVyZSBkYXRhIGhhcyBiZWVuIHJlY2VpdmVkIGZyb20gb25seSBlaXRoZXIgb2YgRXhlbGEgb3IgQnVsayBzY2FuPC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstcmFkaW9zX19pdGVtXCI+XG4gICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICBpZD1cIlVucHJvY2Vzc2VkVHJhbnNhY3Rpb25zXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJnb3Z1ay1yYWRpb3NfX2lucHV0XCJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic2VsZWN0ZWRyZXBvcnRcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwidmFsaWRhdGVEYXRlcygnVU5QUk9DRVNTRUQnKVwiXG4gICAgICAgICAgICAgIG5hbWU9XCJzZWxlY3RlZHJlcG9ydFwiXG4gICAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICAgIHZhbHVlPVwiVU5QUk9DRVNTRURcIlxuICAgICAgICAgICAgICBkYXRhLWFyaWEtY29udHJvbHM9XCJVbnByb2Nlc3NlZFRyYW5zYWN0aW9uc1wiLz5cbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstcmFkaW9zX19sYWJlbCBnb3Z1ay1sYWJlbC0tbVwiIGZvcj1cIlVucHJvY2Vzc2VkVHJhbnNhY3Rpb25zXCI+VW5wcm9jZXNzZWQgdHJhbnNhY3Rpb25zPC9sYWJlbD5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb3JtLWhpbnRcIj5UcmFuc2FjdGlvbiByZWNvcmRzIHRoYXQgYXJlIHN0aWxsIHVucHJvY2Vzc2VkIGJ5IHN0YWZmLjwvc3Bhbj5cbiAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstcmFkaW9zX19pdGVtXCI+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIGlkPVwiUHJvY2Vzc2VkVW5hbGxvY2F0ZWRcIlxuICAgICAgICAgICAgY2xhc3M9XCJnb3Z1ay1yYWRpb3NfX2lucHV0XCJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInNlbGVjdGVkcmVwb3J0XCJcbiAgICAgICAgICAgIG5hbWU9XCJzZWxlY3RlZHJlcG9ydFwiXG4gICAgICAgICAgICAoY2xpY2spPVwidmFsaWRhdGVEYXRlcygnUFJPQ0VTU0VEX1VOQUxMT0NBVEVEJylcIlxuICAgICAgICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgICAgIHZhbHVlPVwiUFJPQ0VTU0VEX1VOQUxMT0NBVEVEXCJcbiAgICAgICAgICAgIGRhdGEtYXJpYS1jb250cm9scz1cIlByb2Nlc3NlZFVuYWxsb2NhdGVkXCIvPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstcmFkaW9zX19sYWJlbCBnb3Z1ay1sYWJlbC0tbVwiIGZvcj1cIlByb2Nlc3NlZFVuYWxsb2NhdGVkXCI+UHJvY2Vzc2VkIHVuYWxsb2NhdGVkPC9sYWJlbD5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9ybS1oaW50XCI+UGF5bWVudHMgdGhhdCBhcmUgbWFya2VkIGFzIOKAmFVuaWRlbnRpZmllZOKAmSBvciDigJhUcmFuc2ZlcnJlZOKAmSAoVW5zb2xpY2l0ZWQgcmVxdWVzdHMpPC9zcGFuPlxuICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1yYWRpb3NfX2l0ZW1cIj5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgaWQ9XCJTaG9ydGZhbGxzYW5kU3VycGx1c1wiXG4gICAgICAgICAgICBjbGFzcz1cImdvdnVrLXJhZGlvc19faW5wdXRcIlxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic2VsZWN0ZWRyZXBvcnRcIlxuICAgICAgICAgICAgbmFtZT1cInNlbGVjdGVkcmVwb3J0XCJcbiAgICAgICAgICAgIChjbGljayk9XCJ2YWxpZGF0ZURhdGVzKCdTVVJQTFVTX0FORF9TSE9SVEZBTEwnKVwiXG4gICAgICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICAgICAgdmFsdWU9XCJTVVJQTFVTX0FORF9TSE9SVEZBTExcIlxuICAgICAgICAgICAgZGF0YS1hcmlhLWNvbnRyb2xzPVwiU2hvcnRmYWxsc2FuZFN1cnBsdXNcIi8+XG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCBnb3Z1ay1yYWRpb3NfX2xhYmVsIGdvdnVrLWxhYmVsLS1tXCIgZm9yPVwiU2hvcnRmYWxsc2FuZFN1cnBsdXNcIj5VbmRlciBwYXltZW50IGFuZCBPdmVyIHBheW1lbnQ8L2xhYmVsPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb3JtLWhpbnRcIj5SZXF1ZXN0cyB3aGVyZSBiYWxhbmNlcyBhcmUgbWFya2VkIGFzIFVuZGVyIHBheW1lbnQvT3ZlciBwYXltZW50IGZ1cnRoZXIgY2FzZSBtYW5hZ2VtZW50LlxuICAgICAgICAgICAgICAgRS5nOiBSZWZ1bmQgYXBwcm92YWwsIEN1c3RvbWVyIGNvbnRhY3Q8L3NwYW4+XG4gICAgICAgICA8L2Rpdj5cbiAgICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1yYWRpb3NfX2l0ZW1cIj5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgaWQ9XCJQYXltZW50RmFpbHVyZUV2ZW50XCJcbiAgICAgICAgICAgIGNsYXNzPVwiZ292dWstcmFkaW9zX19pbnB1dFwiXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJzZWxlY3RlZHJlcG9ydFwiXG4gICAgICAgICAgICBuYW1lPVwic2VsZWN0ZWRyZXBvcnRcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInZhbGlkYXRlRGF0ZXMoJ1BBWU1FTlRfRkFJTFVSRV9FVkVOVCcpXCJcbiAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICB2YWx1ZT1cIlBBWU1FTlRfRkFJTFVSRV9FVkVOVFwiXG4gICAgICAgICAgICBkYXRhLWFyaWEtY29udHJvbHM9XCJQYXltZW50RmFpbHVyZUV2ZW50XCIvPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstcmFkaW9zX19sYWJlbCBnb3Z1ay1sYWJlbC0tbVwiIGZvcj1cIlBheW1lbnRGYWlsdXJlRXZlbnRcIj5QYXltZW50IGZhaWx1cmUgZXZlbnQ8L2xhYmVsPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb3JtLWhpbnRcIj5GYWlsZWQgcGF5bWVudCB0cmFuc2FjdGlvbiBkZXRhaWxzPC9zcGFuPlxuICAgICAgICAgPC9kaXY+XG4gICAgICAgPC9kaXY+XG4gICAgIDwvZGl2PlxuICAgICA8ZGl2ICBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkYXRlZnJvbVwiPlxuICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstcmFkaW9zX19sYWJlbCBnb3Z1ay1sYWJlbC0tbVwiIGZvcj1cImRhdGUtZnJvbVwiPkRhdGUgZnJvbTwvbGFiZWw+XG4gICAgICA8aW5wdXQgKGNoYW5nZSk9XCJnZXRTZWxlY3RlZEZyb21EYXRlKClcIiBbbWF4XT1cImdldFRvZGF5KClcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGlkPVwiZGF0ZS1mcm9tXCIgbmFtZT1cImRhdGUtZnJvbVwiIHR5cGU9XCJkYXRlXCIgIGZvcm1Db250cm9sTmFtZT1cInN0YXJ0RGF0ZVwiIHJlcXVpcmVkLz5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiZGF0ZXRvXCI+XG4gICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCBnb3Z1ay1yYWRpb3NfX2xhYmVsIGdvdnVrLWxhYmVsLS1tXCIgZm9yPVwiZGF0ZS10b1wiPkRhdGUgdG88L2xhYmVsPlxuICAgICAgPGlucHV0IChjaGFuZ2UpPVwiZ2V0U2VsZWN0ZWRGcm9tRGF0ZSgpXCIgW21heF09XCJnZXRUb2RheSgpXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBpZD1cImRhdGUtdG9cIiBuYW1lPVwic2VhcmNoXCIgdHlwZT1cImRhdGVcIiBmb3JtQ29udHJvbE5hbWU9XCJlbmREYXRlXCIgcmVxdWlyZWQvPlxuICAgICAgPC9kaXY+XG4gICAgIDwvZGl2PlxuICAgPHAgY2xhc3M9XCJpbmxpbmUtZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwiaXNTdGFydERhdGVMZXN0aGFuRW5kRGF0ZSB8fCBpc0RhdGVSYW5nZUJldG5XZWVrIHx8IGlzRGF0ZUJldHduTW9udGhcIj5cbiAgICAgIDxzcGFuICpuZ0lmPVwiaXNTdGFydERhdGVMZXN0aGFuRW5kRGF0ZVwiPlBsZWFzZSBzZWxlY3QgJ0RhdGUgRnJvbScgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICdEYXRlIFRvJzwvc3Bhbj5cbiAgICAgIDxzcGFuICpuZ0lmPVwiaXNEYXRlUmFuZ2VCZXRuV2Vla1wiPiBQbGVhc2Ugc2VsZWN0IHRoZSBkYXRlIHJhbmdlIGJldHdlZW4gNyBkYXlzPC9zcGFuPlxuICAgICAgPHNwYW4gKm5nSWY9XCJpc0RhdGVCZXR3bk1vbnRoXCI+IFBsZWFzZSBzZWxlY3QgdGhlIGRhdGUgcmFuZ2UgYmV0d2VlbiAzMCBkYXlzPC9zcGFuPlxuICAgPC9wPlxuICAgIDxkaXYgY2xhc3M9XCJidG5zdWJtaXRcIj5cbiAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgKGNsaWNrKT1cImRvd25sb2FkUmVwb3J0KClcIiBjbGFzcz1cImJ1dHRvblwiIFtkaXNhYmxlZF09XCIhcmVwb3J0c0Zvcm0udmFsaWQgfHwgaXNEb3duTG9hZEJ1dHRvbmRpc2FibGVkIHx8IGlzU3RhcnREYXRlTGVzdGhhbkVuZERhdGUgfHwgaXNEYXRlUmFuZ2VCZXRuV2Vla1wiPkRvd25sb2FkIHJlcG9ydDwvYnV0dG9uPlxuICAgPC9kaXY+XG4gPC9mb3JtPlxuXG4iXX0=
|
|
297
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wYXltZW50LWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcmVwb3J0cy9yZXBvcnRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BheW1lbnQtbGliL3NyYy9saWIvY29tcG9uZW50cy9yZXBvcnRzL3JlcG9ydHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQW9DLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsV0FBVyxFQUFhLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUc3QyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUM3RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNsRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN0RixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0NBQXdDLENBQUM7Ozs7Ozs7OztBQVFyRSxNQUFNLE9BQU8sZ0JBQWdCO0lBaUJqQjtJQUNBO0lBQ0E7SUFDQTtJQUN1QjtJQUN2QjtJQXJCdUIsc0JBQXNCLEdBQVksSUFBSSxDQUFDO0lBQ3hFLEdBQUcsR0FBRyxZQUFZLENBQUM7SUFDbkIsR0FBRyxHQUFHLE9BQU8sQ0FBQztJQUNkLFdBQVcsQ0FBWTtJQUN2QixTQUFTLENBQVM7SUFDbEIsT0FBTyxDQUFTO0lBQ2hCLFlBQVksQ0FBUztJQUNyQixhQUFhLENBQVM7SUFDdEIsd0JBQXdCLEdBQVcsS0FBSyxDQUFDO0lBQ3pDLHlCQUF5QixHQUFZLEtBQUssQ0FBQztJQUMzQyxnQkFB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QUcsQ0FBQyxDQUFDO2FBQzdFO2lCQUFNLElBQUksS0FBSyxDQUFDLGFBQWEsQ0FBQyxJQUFJLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7Z0JBQzNFLEtBQUssQ0FBQyxhQUFhLENBQUMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUE7YUFDcEU7WUFDRCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELGlCQUFpQixDQUFDLE9BQU87UUFDeEIsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6RixDQUFDO0lBRUQsbUJBQW1CLENBQUMsR0FBRztRQUNyQixPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUN6RCxDQUFDO3VHQTlSVSxnQkFBZ0Isc0pBcUJqQixhQUFhOzJGQXJCWixnQkFBZ0IsbUhDaEI3QixpOUtBdUdBOzsyRkR2RmEsZ0JBQWdCO2tCQUw1QixTQUFTOytCQUNFLGVBQWU7OzBCQXlCdEIsTUFBTTsyQkFBQyxhQUFhOzZFQXBCVSxzQkFBc0I7c0JBQXRELEtBQUs7dUJBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBmb3J3YXJkUmVmLCBpc1N0YW5kYWxvbmUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBmb3JtYXREYXRlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHR5cGUgeyBQYXltZW50TGliQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vcGF5bWVudC1saWIuY29tcG9uZW50JztcbmltcG9ydCB7SVBheW1lbnRHcm91cH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JUGF5bWVudEdyb3VwJztcbmltcG9ydCB7IEJ1bGtTY2FuaW5nUGF5bWVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9idWxrLXNjYW5pbmctcGF5bWVudC9idWxrLXNjYW5pbmctcGF5bWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEVycm9ySGFuZGxlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zaGFyZWQvZXJyb3ItaGFuZGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IFBheW1lbnRWaWV3U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3BheW1lbnQtdmlldy9wYXltZW50LXZpZXcuc2VydmljZSc7XG5pbXBvcnQge1hsRmlsZVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3hsLWZpbGUveGwtZmlsZS5zZXJ2aWNlJztcbmltcG9ydCB7IEZpbmRWYWx1ZVN1YnNjcmliZXIgfSBmcm9tICdyeGpzL2ludGVybmFsL29wZXJhdG9ycy9maW5kJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NwYXktcmVwb3J0cycsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZXBvcnRzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVwb3J0cy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFJlcG9ydHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoJ0lTUEFZTUVOVFNUQVRVU0VOQUJMRUQnKSBJU1BBWU1FTlRTVEFUVVNFTkFCTEVEOiBib29sZWFuID0gdHJ1ZTtcbiAgZm10ID0gJ2RkL01NL3l5eXknO1xuICBsb2MgPSAnZW4tVVMnO1xuICByZXBvcnRzRm9ybTogRm9ybUdyb3VwO1xuICBzdGFydERhdGU6IHN0cmluZztcbiAgZW5kRGF0ZTogc3RyaW5nO1xuICBlcnJvck1lYWFnc2U6IHN0cmluZztcbiAgY2NkQ2FzZU51bWJlcjogc3RyaW5nO1xuICBpc0Rvd25Mb2FkQnV0dG9uZGlzYWJsZWQ6Qm9vbGVhbiA9IGZhbHNlO1xuICBpc1N0YXJ0RGF0ZUxlc3RoYW5FbmREYXRlOiBCb29sZWFuID0gZmFsc2U7XG4gIGlzRGF0ZUJldHduTW9udGg6IEJvb2xlYW4gPSBmYWxzZTtcbiAgaXNEYXRlUmFuZ2VCZXRuV2VlazogQm9vbGVhbiA9IGZhbHNlO1xuICBlcnJvck1lc3NhZ2UgPSBudWxsO1xuICBwYXltZW50R3JvdXBzOiBJUGF5bWVudEdyb3VwW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHhsRmlsZVNlcnZpY2U6IFhsRmlsZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBlcnJvckhhbmRsZXJTZXJ2aWNlOiBFcnJvckhhbmRsZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgYnVsa1NjYW5pbmdQYXltZW50U2VydmljZTogQnVsa1NjYW5pbmdQYXltZW50U2VydmljZSxcbiAgICBASW5qZWN0KCdQQVlNRU5UX0xJQicpIHByaXZhdGUgcGF5bWVudExpYkNvbXBvbmVudDogUGF5bWVudExpYkNvbXBvbmVudCxcbiAgICBwcml2YXRlIHBheW1lbnRWaWV3U2VydmljZTogUGF5bWVudFZpZXdTZXJ2aWNlKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5nZXRTZXJ2ZXJFcnJvck1lc3NhZ2UoZmFsc2UsIGZhbHNlLCAnJyk7XG4gICAgdGhpcy5mcm9tVmFsaWRhdGlvbigpO1xuICAgfVxuXG4gIGdldFRvZGF5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKS5zcGxpdCgnVCcpWzBdO1xuIH1cblxuIGdldFNlbGVjdGVkRnJvbURhdGUoKTogdm9pZCB7XG4gdGhpcy52YWxpZGF0ZURhdGVzKHRoaXMucmVwb3J0c0Zvcm0uZ2V0KCdzZWxlY3RlZHJlcG9ydCcpLnZhbHVlKTtcbiB9XG5cbiB2YWxpZGF0ZURhdGVzKHJlcG9ydE5hbWUpe1xuICBjb25zdCBzZWxlY3RlZFN0YXJ0RGF0ZSA9IHRoaXMudHJhbmZvcm1EYXRlKHRoaXMucmVwb3J0c0Zvcm0uZ2V0KCdzdGFydERhdGUnKS52YWx1ZSksXG4gICAgc2VsZWN0ZWRFbmREYXRlID0gdGhpcy50cmFuZm9ybURhdGUodGhpcy5yZXBvcnRzRm9ybS5nZXQoJ2VuZERhdGUnKS52YWx1ZSk7XG4gIGNvbnN0IGlzRGF0ZVJhbmdlTW9yZVRoYW5XZWVrID0gKDxhbnk+bmV3IERhdGUoc2VsZWN0ZWRTdGFydERhdGUpIC0gPGFueT5uZXcgRGF0ZShzZWxlY3RlZEVuZERhdGUpKS8oMTAwMCAqIDM2MDAgKiAtMjQpID4gNztcbiAgY29uc3QgaXNEYXRlUmFuZ2VNb3JlVGhhbk1vbnRoID0gKDxhbnk+bmV3IERhdGUoc2VsZWN0ZWRTdGFydERhdGUpIC0gPGFueT5uZXcgRGF0ZShzZWxlY3RlZEVuZERhdGUpKS8oMTAwMCAqIDM2MDAgKiAtMjQpID4gMzA7XG4gIGlmKG5ldyBEYXRlKHNlbGVjdGVkU3RhcnREYXRlKSA+IG5ldyBEYXRlKHNlbGVjdGVkRW5kRGF0ZSkgJiYgc2VsZWN0ZWRFbmREYXRlICE9PSAnJyl7XG4gICAgdGhpcy5yZXBvcnRzRm9ybS5nZXQoJ3N0YXJ0RGF0ZScpLnNldFZhbHVlKCcnKTtcbiAgICB0aGlzLmlzRGF0ZVJhbmdlQmV0bldlZWsgPSBmYWxzZTtcbiAgICB0aGlzLmlzRGF0ZUJldHduTW9udGggPSBmYWxzZTtcbiAgICB0aGlzLmlzU3RhcnREYXRlTGVzdGhhbkVuZERhdGUgPSB0cnVlO1xuICB9IGVsc2UgaWYocmVwb3J0TmFtZSAmJiByZXBvcnROYW1lID09PSdTVVJQTFVTX0FORF9TSE9SVEZBTEwnICYmIGlzRGF0ZVJhbmdlTW9yZVRoYW5XZWVrICkge1xuICAgIHRoaXMuaXNEYXRlUmFuZ2VCZXRuV2VlayA9IHRydWU7XG4gICAgdGhpcy5pc0RhdGVCZXR3bk1vbnRoID0gZmFsc2U7XG4gICAgdGhpcy5pc1N0YXJ0RGF0ZUxlc3RoYW5FbmREYXRlID0gZmFsc2U7XG4gIH0gZWxzZSBpZihyZXBvcnROYW1lICYmIHJlcG9ydE5hbWUgPT09J1BBWU1FTlRfRkFJTFVSRV9FVkVOVCcgJiYgaXNEYXRlUmFuZ2VNb3JlVGhhbk1vbnRoICkge1xuICAgIHRoaXMuaXNEYXRlUmFuZ2VCZXRuV2VlayA9IGZhbHNlO1xuICAgIHRoaXMuaXNEYXRlQmV0d25Nb250aCA9IHRydWU7XG4gICAgdGhpcy5pc1N0YXJ0RGF0ZUxlc3RoYW5FbmREYXRlID0gZmFsc2U7XG4gIH0gZWxzZSB7XG4gICAgdGhpcy5pc0RhdGVCZXR3bk1vbnRoID0gZmFsc2U7XG4gICAgdGhpcy5pc0RhdGVSYW5nZUJldG5XZWVrID0gZmFsc2U7XG4gICAgdGhpcy5pc1N0YXJ0RGF0ZUxlc3RoYW5FbmREYXRlID0gZmFsc2U7XG4gIH1cblxuIH1cblxuICBmcm9tVmFsaWRhdGlvbigpIHtcbiAgICB0aGlzLnJlcG9ydHNGb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICBzZWxlY3RlZHJlcG9ydDogbmV3IEZvcm1Db250cm9sKCcnKSAsXG4gICAgICBzdGFydERhdGU6IG5ldyBGb3JtQ29udHJvbCgnJyksXG4gICAgICBlbmREYXRlOiBuZXcgRm9ybUNvbnRyb2woJycpXG4gICAgfSk7XG59XG5cbmRvd25sb2FkUmVwb3J0KCl7XG4gIHRoaXMuaXNEb3duTG9hZEJ1dHRvbmRpc2FibGVkID0gdHJ1ZTtcbiAgY29uc3QgZGF0YUxvc3NScHREZWZhdWx0ID0gW3tsb3NzX3Jlc3A6JycscGF5bWVudF9hc3NldF9kY246JycsZW52X3JlZjonJyxlbnZfaXRlbTonJyxyZXNwX3NlcnZpY2VfaWQ6JycscmVzcF9zZXJ2aWNlX25hbWU6JycsZGF0ZV9iYW5rZWQ6JycsYmdjX2JhdGNoOicnLHBheW1lbnRfbWV0aG9kOicnLGFtb3VudDonJ31dLFxuICAgIHVuUHJvY2Vzc2VkUnB0RGVmYXVsdCA9IFt7cmVzcF9zZXJ2aWNlX2lkOicnLHJlc3Bfc2VydmljZV9uYW1lOicnLGV4Y2VwdGlvbl9yZWY6JycsY2NkX3JlZjonJyxkYXRlX2JhbmtlZDonJyxiZ2NfYmF0Y2g6JycscGF5bWVudF9hc3NldF9kY246JycsZW52X3JlZjonJyxlbnZfaXRlbTonJyxwYXltZW50X21ldGhvZDonJyxhbW91bnQ6Jyd9XSxcbiAgICBwcm9jZXNzZWRVbmFsbG9jYXRlZCA9W3tyZXNwX3NlcnZpY2VfaWQ6JycscmVzcF9zZXJ2aWNlX25hbWU6JycsYWxsb2NhdGlvbl9zdGF0dXM6JycscmVjZWl2aW5nX29mZmljZTonJyxhbGxvY2F0aW9uX3JlYXNvbjonJyxjY2RfZXhjZXB0aW9uX3JlZjonJyxjY2RfY2FzZV9yZWY6JycscGF5bWVudF9hc3NldF9kY246JycsZW52X3JlZjonJyxlbnZfaXRlbTonJyxkYXRlX2JhbmtlZDonJyxiZ2NfYmF0Y2g6JycscGF5bWVudF9tZXRob2Q6JycsYW1vdW50OicnLHVwZGF0ZWRfYnk6Jyd9XSxcbiAgICBzaG9ydEZhbGxzUnB0RGVmYXVsdCA9IFt7cmVzcF9zZXJ2aWNlX2lkOicnLHJlc3Bfc2VydmljZV9uYW1lOicnLHN1cnBsdXNfc2hvcnRmYWxsOicnLGJhbGFuY2U6JycscGF5bWVudF9hbW91bnQ6JycsY2NkX2Nhc2VfcmVmZXJlbmNlOicnLGNjZF9leGNlcHRpb25fcmVmZXJlbmNlOicnLHByb2Nlc3NlZF9kYXRlOicnLCByZWFzb246JycsIGV4cGxhbmF0aW9uOicnLCB1c2VyX25hbWU6Jyd9XSxcbiAgICBzZWxlY3RlZFJlcG9ydE5hbWUgPSB0aGlzLnJlcG9ydHNGb3JtLmdldCgnc2VsZWN0ZWRyZXBvcnQnKS52YWx1ZSxcbiAgICBzZWxlY3RlZFN0YXJ0RGF0ZSA9IHRoaXMudHJhbmZvcm1EYXRlKHRoaXMucmVwb3J0c0Zvcm0uZ2V0KCdzdGFydERhdGUnKS52YWx1ZSksXG4gICAgc2VsZWN0ZWRFbmREYXRlID0gdGhpcy50cmFuZm9ybURhdGUodGhpcy5yZXBvcnRzRm9ybS5nZXQoJ2VuZERhdGUnKS52YWx1ZSk7XG5cbiAgICBpZihzZWxlY3RlZFJlcG9ydE5hbWUgPT09ICdQUk9DRVNTRURfVU5BTExPQ0FURUQnIHx8IHNlbGVjdGVkUmVwb3J0TmFtZSA9PT0gJ1NVUlBMVVNfQU5EX1NIT1JURkFMTCcgKXtcbiAgICAgIHRoaXMucGF5bWVudFZpZXdTZXJ2aWNlLmRvd25sb2FkU2VsZWN0ZWRSZXBvcnQoc2VsZWN0ZWRSZXBvcnROYW1lLHNlbGVjdGVkU3RhcnREYXRlLHNlbGVjdGVkRW5kRGF0ZSkuc3Vic2NyaWJlKFxuICAgICAgICByZXNwb25zZSA9PiAge1xuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gdGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmdldFNlcnZlckVycm9yTWVzc2FnZShmYWxzZSwgZmFsc2UsICcnKTtcbiAgICAgICAgICBjb25zdCByZXN1bHQgPSBKU09OLnBhcnNlKHJlc3BvbnNlKTtcbiAgICAgICAgICBsZXQgcmVzPSB7ZGF0YTogdGhpcy5hcHBseURhdGVGb3JtYXQocmVzdWx0KX07XG4gICAgICAgICAgaWYocmVzWydkYXRhJ10ubGVuZ3RoID09PSAwICYmIHNlbGVjdGVkUmVwb3J0TmFtZSA9PT0gJ1BST0NFU1NFRF9VTkFMTE9DQVRFRCcgKXtcbiAgICAgICAgICAgIHJlcy5kYXRhPSBwcm9jZXNzZWRVbmFsbG9jYXRlZDtcbiAgICAgICAgICB9IGVsc2UgaWYocmVzWydkYXRhJ10ubGVuZ3RoID09PSAwICYmIHNlbGVjdGVkUmVwb3J0TmFtZSA9PT0gJ1NVUlBMVVNfQU5EX1NIT1JURkFMTCcgKSB7XG4gICAgICAgICAgICByZXMuZGF0YT0gc2hvcnRGYWxsc1JwdERlZmF1bHQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmKHJlc3VsdFsnZGF0YSddLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGZvciggdmFyIGk9MDsgaTwgcmVzWydkYXRhJ10ubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgaWYocmVzWydkYXRhJ11baV1bXCJwYXltZW50X2Fzc2V0X2RjblwiXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgcmVzWydkYXRhJ11baV1bJ2Vudl9yZWYnXSA9IHJlc1snZGF0YSddW2ldW1wicGF5bWVudF9hc3NldF9kY25cIl0uc3Vic3RyKDAsMTMpO1xuICAgICAgICAgICAgICAgIHJlc1snZGF0YSddW2ldWydlbnZfaXRlbSddID0gcmVzWydkYXRhJ11baV1bXCJwYXltZW50X2Fzc2V0X2RjblwiXS5zdWJzdHIoMTMsMjEpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmKHJlc1snZGF0YSddW2ldW1wiYW1vdW50XCJdICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICByZXNbJ2RhdGEnXVtpXVsnYW1vdW50J10gPSB0aGlzLmNvbnZlcnRUb0Zsb2F0VmFsdWUocmVzWydkYXRhJ11baV1bJ2Ftb3VudCddKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpZihyZXNbJ2RhdGEnXVtpXVtcImJhbGFuY2VcIl0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHJlc1snZGF0YSddW2ldWydiYWxhbmNlJ10gPSB0aGlzLmNvbnZlcnRUb0Zsb2F0VmFsdWUocmVzWydkYXRhJ11baV1bXCJiYWxhbmNlXCJdKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBsZXQgT3AgPSByZXNbJ2RhdGEnXVtpXVtcInN1cnBsdXNfc2hvcnRmYWxsXCJdO1xuICAgICAgICAgICAgICBpZihPcCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgcmVzWydkYXRhJ11baV1bJ3N1cnBsdXNfc2hvcnRmYWxsJ10gPSBPcCA9PVwiU3VycGx1c1wiID8gXCJPdmVyIHBheW1lbnRcIjpcIlVuZGVyIHBheW1lbnRcIjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpZihyZXNbJ2RhdGEnXVtpXVtcInBheW1lbnRfYW1vdW50XCJdICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICByZXNbJ2RhdGEnXVtpXVsncGF5bWVudF9hbW91bnQnXSA9IHRoaXMuY29udmVydFRvRmxvYXRWYWx1ZShyZXNbJ2RhdGEnXVtpXVsncGF5bWVudF9hbW91bnQnXSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5pc0Rvd25Mb2FkQnV0dG9uZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLnhsRmlsZVNlcnZpY2UuZXhwb3J0QXNFeGNlbEZpbGUocmVzWydkYXRhJ10sIHRoaXMuZ2V0RmlsZU5hbWUodGhpcy5yZXBvcnRzRm9ybS5nZXQoJ3NlbGVjdGVkcmVwb3J0JykudmFsdWUsIHNlbGVjdGVkU3RhcnREYXRlLCBzZWxlY3RlZEVuZERhdGUpKTtcbiAgICAgICAgfSxcbiAgICAgICAgKGVycm9yOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLmlzRG93bkxvYWRCdXR0b25kaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gdGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmdldFNlcnZlckVycm9yTWVzc2FnZSh0cnVlLCBmYWxzZSwgJycpO1xuICAgICAgICB9KVxuXG4gICAgfSBlbHNlIGlmKHNlbGVjdGVkUmVwb3J0TmFtZSA9PT0gJ1BBWU1FTlRfRkFJTFVSRV9FVkVOVCcpIHtcblxuICAgICAgdGhpcy5wYXltZW50Vmlld1NlcnZpY2UuZG93bmxvYWRGYWlsdXJlUmVwb3J0KHNlbGVjdGVkU3RhcnREYXRlLHNlbGVjdGVkRW5kRGF0ZSkuc3Vic2NyaWJlKFxuICAgICAgICByZXNwb25zZSA9PiAge1xuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gdGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmdldFNlcnZlckVycm9yTWVzc2FnZShmYWxzZSwgZmFsc2UsICcnKTtcbiAgICAgICAgICBjb25zdCByZXN1bHQgPSB7ZGF0YTogSlNPTi5wYXJzZShyZXNwb25zZSlbJ3BheW1lbnRfZmFpbHVyZV9yZXBvcnRfbGlzdCddfTtcbiAgICAgICAgICBsZXQgcmVzID0ge2RhdGE6IHRoaXMuYXBwbHlEYXRlRm9ybWF0KHJlc3VsdCl9O1xuICAgICAgICAgIGlmIChyZXN1bHRbJ2RhdGEnXS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBmb3IgKCB2YXIgaT0wOyBpPCByZXNbJ2RhdGEnXS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICBpZiAocmVzWydkYXRhJ11baV1bXCJkaXNwdXRlZF9hbW91bnRcIl0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHJlc1snZGF0YSddW2ldWydkaXNwdXRlZF9hbW91bnQnXSA9IHRoaXMuY29udmVydFRvRmxvYXRWYWx1ZShyZXNbJ2RhdGEnXVtpXVtcImRpc3B1dGVkX2Ftb3VudFwiXSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaWYgKHJlc1snZGF0YSddW2ldW1wicmVwcmVzZW50bWVudF9zdGF0dXNcIl0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHJlc1snZGF0YSddW2ldWydyZXByZXNlbnRtZW50X3N0YXR1cyddID0gcmVzWydkYXRhJ11baV1bXCJyZXByZXNlbnRtZW50X3N0YXR1c1wiXS50b0xvd2VyQ2FzZSgpID09PSAneWVzJyA/ICdTdWNjZXNzJyA6ICdGYWlsdXJlJztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpZiAocmVzWydkYXRhJ11baV1bJ3JlcHJlc2VudG1lbnRfc3RhdHVzJ10gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHJlc1snZGF0YSddW2ldWydyZXByZXNlbnRtZW50X3N0YXR1cyddID0gJ05vIHJlcHJlc2VudG1lbnQgcmVjZWl2ZWQnO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmIChyZXNbJ2RhdGEnXVtpXVsncmVwcmVzZW50bWVudF9kYXRlJ10gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHJlc1snZGF0YSddW2ldWydyZXByZXNlbnRtZW50X2RhdGUnXSA9ICdOL0EnO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmIChyZXNbJ2RhdGEnXVtpXVsncmVmdW5kX3JlZmVyZW5jZSddID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICByZXNbJ2RhdGEnXVtpXVsncmVmdW5kX3JlZmVyZW5jZSddID0gJ05vIHJlZnVuZCBhdmFpbGFibGUnO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmIChyZXNbJ2RhdGEnXVtpXVsncmVmdW5kX2Ftb3VudCddID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICByZXNbJ2RhdGEnXVtpXVsncmVmdW5kX2Ftb3VudCddID0gJ04vQSc7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaWYgKHJlc1snZGF0YSddW2ldWydyZWZ1bmRfZGF0ZSddID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICByZXNbJ2RhdGEnXVtpXVsncmVmdW5kX2RhdGUnXSA9ICdOL0EnO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmIChyZXNbJ2RhdGEnXVtpXVsnZG9jdW1lbnRfY29udHJvbF9udW1iZXInXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgcmVzWydkYXRhJ11baV1bJ2RvY3VtZW50X2NvbnRyb2xfbnVtYmVyJ10gPSAnTi9BJztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLmlzRG93bkxvYWRCdXR0b25kaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMueGxGaWxlU2VydmljZS5leHBvcnRBc0V4Y2VsRmlsZShyZXNbJ2RhdGEnXSwgdGhpcy5nZXRGaWxlTmFtZSh0aGlzLnJlcG9ydHNGb3JtLmdldCgnc2VsZWN0ZWRyZXBvcnQnKS52YWx1ZSwgc2VsZWN0ZWRTdGFydERhdGUsIHNlbGVjdGVkRW5kRGF0ZSApKTtcblxuICAgICAgICB9LFxuICAgICAgICAoZXJyb3I6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMuaXNEb3duTG9hZEJ1dHRvbmRpc2FibGVkID0gZmFsc2U7XG4gICAgICAgICAgY29uc3QgZXJyb3JDb250ZW50ID0gZXJyb3IucmVwbGFjZSgvW15hLXpBLVogXS9nLCAnJykudHJpbSgpO1xuICAgICAgICAgIGNvbnN0IHN0YXR1c0NvZGUgPSBlcnJvci5yZXBsYWNlKC9bXmEtekEtWjAtOSBdL2csICcnKS50cmltKCkuc3BsaXQoJyAnKVswXTtcbiAgICAgICAgICBpZihzdGF0dXNDb2RlID09PSAnNDA0Jykge1xuICAgICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSB0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuZ2V0U2VydmVyRXJyb3JNZXNzYWdlKHRydWUsIHRydWUsIGVycm9yQ29udGVudCk7XG4gICAgICAgICAgfWVsc2Uge1xuICAgICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSB0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuZ2V0U2VydmVyRXJyb3JNZXNzYWdlKHRydWUsIGZhbHNlLCAnJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYnVsa1NjYW5pbmdQYXltZW50U2VydmljZS5kb3dubG9hZFNlbGVjdGVkUmVwb3J0KHNlbGVjdGVkUmVwb3J0TmFtZSxzZWxlY3RlZFN0YXJ0RGF0ZSxzZWxlY3RlZEVuZERhdGUpLnN1YnNjcmliZShcbiAgICAgICAgcmVzcG9uc2UgPT4gIHtcbiAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5nZXRTZXJ2ZXJFcnJvck1lc3NhZ2UoZmFsc2UsIGZhbHNlLCAnJyk7XG4gICAgICAgICAgY29uc3QgcmVzdWx0ID0gSlNPTi5wYXJzZShyZXNwb25zZSk7XG4gICAgICAgICAgbGV0IHJlcyA9IHtkYXRhOiB0aGlzLmFwcGx5RGF0ZUZvcm1hdChyZXN1bHQpfTtcbiAgICAgICAgICBpZihyZXNbJ2RhdGEnXS5sZW5ndGggPT09IDAgJiYgc2VsZWN0ZWRSZXBvcnROYW1lID09PSAnREFUQV9MT1NTJyApe1xuICAgICAgICAgICAgcmVzLmRhdGE9IGRhdGFMb3NzUnB0RGVmYXVsdDtcbiAgICAgICAgICB9IGVsc2UgaWYocmVzWydkYXRhJ10ubGVuZ3RoID09PSAwICYmIHNlbGVjdGVkUmVwb3J0TmFtZSA9PT0gJ1VOUFJPQ0VTU0VEJyl7XG4gICAgICAgICAgICByZXMuZGF0YSA9IHVuUHJvY2Vzc2VkUnB0RGVmYXVsdDtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYocmVzdWx0WydkYXRhJ10ubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGZvciggdmFyIGk9MDsgaTwgcmVzWydkYXRhJ10ubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmKHJlc1snZGF0YSddW2ldW1wiYW1vdW50XCJdICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgcmVzWydkYXRhJ11baV1bJ2Ftb3VudCddID0gdGhpcy5jb252ZXJ0VG9GbG9hdFZhbHVlKHJlc1snZGF0YSddW2ldWydhbW91bnQnXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZihyZXNbJ2RhdGEnXVtpXVtcInBheW1lbnRfYXNzZXRfZGNuXCJdICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJlc1snZGF0YSddW2ldWydlbnZfcmVmJ10gPSByZXNbJ2RhdGEnXVtpXVtcInBheW1lbnRfYXNzZXRfZGNuXCJdLnN1YnN0cigwLDEzKTtcbiAgICAgICAgICAgIHJlc1snZGF0YSddW2ldWydlbnZfaXRlbSddID0gcmVzWydkYXRhJ11baV1bXCJwYXltZW50X2Fzc2V0X2RjblwiXS5zdWJzdHIoMTMsMjEpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICAgdGhpcy5pc0Rvd25Mb2FkQnV0dG9uZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLnhsRmlsZVNlcnZpY2UuZXhwb3J0QXNFeGNlbEZpbGUocmVzWydkYXRhJ10sIHRoaXMuZ2V0RmlsZU5hbWUodGhpcy5yZXBvcnRzRm9ybS5nZXQoJ3NlbGVjdGVkcmVwb3J0JykudmFsdWUsIHNlbGVjdGVkU3RhcnREYXRlLCBzZWxlY3RlZEVuZERhdGUgKSk7XG4gICAgICAgIH0sXG4gICAgICAgIChlcnJvcjogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5pc0Rvd25Mb2FkQnV0dG9uZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5nZXRTZXJ2ZXJFcnJvck1lc3NhZ2UodHJ1ZSwgZmFsc2UsICcnKTtcbiAgICAgICAgfSlcbiAgICB9XG4gIH1cblxuICBnZXRGaWxlTmFtZShzZWxlY3RlZE9wdGlvbjogc3RyaW5nLCBzdGFydERhdGU6IHN0cmluZywgZW5kRGF0ZTogc3RyaW5nICkge1xuICAgIGNvbnN0IGxvYyA9ICdlbi1VUycsXG4gICAgICBzdER0ID0gZm9ybWF0RGF0ZShzdGFydERhdGUsICdkZE1NeXknLCBsb2MpLFxuICAgICAgZW5EdCA9IGZvcm1hdERhdGUoZW5kRGF0ZSwgJ2RkTU15eScsIGxvYyksXG4gICAgICBub3cgPSBuZXcgRGF0ZSgpLFxuICAgICAgY3VycmVudERhdGUgPSBmb3JtYXREYXRlKG5vdywgJ2RkTU15eScsIGxvYyksXG4gICAgICB0aW1lc3RhbXAgPSBgJHtjdXJyZW50RGF0ZX1fJHt0aGlzLmdldFR3b2RpZ2l0KG5vdy5nZXRIb3VycygpKX0ke3RoaXMuZ2V0VHdvZGlnaXQobm93LmdldE1pbnV0ZXMoKSl9JHt0aGlzLmdldFR3b2RpZ2l0KG5vdy5nZXRTZWNvbmRzKCkpfWAsXG4gICAgICBzZWxlY3RlZE9wdGlvblR4dCA9IHRoaXMuZ2V0Q2FtZWxDYXNlU3RyaW5nKHNlbGVjdGVkT3B0aW9uKTtcblxuICAgICAgcmV0dXJuIHNlbGVjdGVkT3B0aW9uVHh0KydfJytzdER0KydfVG9fJytlbkR0KydfUnVuXycrIHRpbWVzdGFtcDtcbiAgfVxuICB0cmFuZm9ybURhdGUoc3RyRGF0ZTogc3RyaW5nKSB7XG4gICAgbGV0IHJlc3VsdCA9ICcnO1xuICAgIGlmIChzdHJEYXRlKSB7XG4gICAgICBsZXQgcGFydHMgPSBzdHJEYXRlLnNwbGl0KCctJyk7XG4gICAgICByZXN1bHQgPSBgJHtwYXJ0c1sxXX0vJHtwYXJ0c1syXX0vJHtwYXJ0c1swXX1gO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG4gIGdldFR3b2RpZ2l0KGlucHV0OiBudW1iZXIpe1xuICAgIHJldHVybiAoXCIwXCIgKyBpbnB1dCkuc2xpY2UoLTIpO1xuICB9XG4gIGdldENhbWVsQ2FzZVN0cmluZyhzZWxlY3RlZE9wdGlvbikge1xuICAgIGxldCByZXN1bHQ7XG4gICAgc3dpdGNoKHNlbGVjdGVkT3B0aW9uKSB7XG4gICAgICBjYXNlICdVTlBST0NFU1NFRCc6IHtcbiAgICAgICAgcmVzdWx0ID0gJ1VucHJvY2Vzc2VkJztcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdEQVRBX0xPU1MnOiB7XG4gICAgICAgIHJlc3VsdCA9ICdEYXRhX0xvc3MnO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ1BST0NFU1NFRF9VTkFMTE9DQVRFRCc6IHtcbiAgICAgICAgcmVzdWx0ID0gJ1Byb2Nlc3NlZF9VbmFsbG9jYXRlZCc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnU1VSUExVU19BTkRfU0hPUlRGQUxMJzoge1xuICAgICAgICByZXN1bHQgPSAnT3ZlciBQYXltZW50X1VuZGVyIFBheW1lbnQnO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ1BBWU1FTlRfRkFJTFVSRV9FVkVOVCc6IHtcbiAgICAgICAgcmVzdWx0ID0gJ1BheW1lbnQgZmFpbHVyZSBldmVudCc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgZGVmYXVsdDoge1xuICAgICAgICByZXN1bHQgPSBzZWxlY3RlZE9wdGlvbjtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICB9XG4gICByZXR1cm4gcmVzdWx0O1xuICB9XG4gIGFwcGx5RGF0ZUZvcm1hdChyZXMpIHtcbiAgICByZXR1cm4gcmVzWydkYXRhJ10ubWFwKHZhbHVlID0+IHtcbiAgICAgIGlmICh2YWx1ZVsnZGF0ZV9iYW5rZWQnXSkge1xuICAgICAgICB2YWx1ZVsnZGF0ZV9iYW5rZWQnXSA9IGZvcm1hdERhdGUodmFsdWVbJ2RhdGVfYmFua2VkJ10sIHRoaXMuZm10LCB0aGlzLmxvYyk7XG4gICAgICB9XG4gICAgICBpZiAodmFsdWVbJ2V2ZW50X2RhdGUnXSAmJiB2YWx1ZVsnZXZlbnRfZGF0ZSddLmluZGV4T2YoJywnKSA9PT0gLTEpIHtcbiAgICAgICAgdmFsdWVbJ2V2ZW50X2RhdGUnXSA9IGZvcm1hdERhdGUodmFsdWVbJ2V2ZW50X2RhdGUnXSwgdGhpcy5mbXQsIHRoaXMubG9jKTtcbiAgICAgIH0gZWxzZSBpZiAodmFsdWVbJ2V2ZW50X2RhdGUnXSAmJiB2YWx1ZVsnZXZlbnRfZGF0ZSddLmluZGV4T2YoJywnKSAhPT0gLTEpIHtcbiAgICAgICAgdmFsdWVbJ2V2ZW50X2RhdGUnXSA9IHRoaXMubXVsdGlEYXRlRm9ybWF0ZXIodmFsdWVbJ2V2ZW50X2RhdGUnXSlcbiAgICAgIH1cblxuICAgICAgaWYgKHZhbHVlWydyZXByZXNlbnRtZW50X2RhdGUnXSAmJiB2YWx1ZVsncmVwcmVzZW50bWVudF9kYXRlJ10uaW5kZXhPZignLCcpID09PSAtMSkge1xuICAgICAgICB2YWx1ZVsncmVwcmVzZW50bWVudF9kYXRlJ10gPSBmb3JtYXREYXRlKHZhbHVlWydyZXByZXNlbnRtZW50X2RhdGUnXSwgdGhpcy5mbXQsIHRoaXMubG9jKTtcbiAgICAgIH0gZWxzZSBpZiAodmFsdWVbJ3JlcHJlc2VudG1lbnRfZGF0ZSddICYmIHZhbHVlWydyZXByZXNlbnRtZW50X2RhdGUnXS5pbmRleE9mKCcsJykgIT09IC0xKSB7XG4gICAgICAgIHZhbHVlWydyZXByZXNlbnRtZW50X2RhdGUnXSA9IHRoaXMubXVsdGlEYXRlRm9ybWF0ZXIodmFsdWVbJ3JlcHJlc2VudG1lbnRfZGF0ZSddKVxuICAgICAgfVxuXG4gICAgICBpZiAodmFsdWVbJ3JlZnVuZF9kYXRlJ10gJiYgdmFsdWVbJ3JlZnVuZF9kYXRlJ10uaW5kZXhPZignLCcpID09PSAtMSkge1xuICAgICAgICB2YWx1ZVsncmVmdW5kX2RhdGUnXSA9IGZvcm1hdERhdGUodmFsdWVbJ3JlZnVuZF9kYXRlJ10sIHRoaXMuZm10LCB0aGlzLmxvYyk7XG4gICAgICB9IGVsc2UgaWYgKHZhbHVlWydyZWZ1bmRfZGF0ZSddICYmIHZhbHVlWydyZWZ1bmRfZGF0ZSddLmluZGV4T2YoJywnKSAhPT0gLTEpIHtcbiAgICAgICAgdmFsdWVbJ3JlZnVuZF9kYXRlJ10gPSB0aGlzLm11bHRpRGF0ZUZvcm1hdGVyKHZhbHVlWydyZWZ1bmRfZGF0ZSddKVxuICAgICAgfVxuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH0pO1xuICB9XG4gIG11bHRpRGF0ZUZvcm1hdGVyKGRhdGVTdHIpIHtcbiAgIHJldHVybiBkYXRlU3RyLnNwbGl0KCcsJykubWFwKChkYXRlKSA9PiBmb3JtYXREYXRlKGRhdGUsIHRoaXMuZm10LCB0aGlzLmxvYykpLmpvaW4oJywnKTtcbiAgfVxuXG4gIGNvbnZlcnRUb0Zsb2F0VmFsdWUoYW10KSB7XG4gICAgcmV0dXJuIGFtdCA/IE51bWJlci5wYXJzZUZsb2F0KGFtdCkudG9GaXhlZCgyKTogJzAuMDAnO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiaGVhZGVyXCI+XG4gICAgICA8aW5wdXQgI215SW5wdXQgdHlwZT0naGlkZGVuJyBjbGFzcz0naUZyYW1lRHJpdmVuSW1hZ2VWYWx1ZScgdmFsdWU9J1JFUE9SVFMnPlxuICAgICAgPGNjcGF5LWVycm9yLWJhbm5lciAqbmdJZj1cImVycm9yTWVzc2FnZS5zaG93RXJyb3JcIiBbZXJyb3JNZXNzYWdlXT1cImVycm9yTWVzc2FnZVwiPjwvY2NwYXktZXJyb3ItYmFubmVyPlxuICAgICAgPGxlZ2VuZCBjbGFzcz1cImdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLXhsXCI+XG4gICAgICAgICA8aDEgY2xhc3M9XCJnb3Z1ay1maWVsZHNldF9faGVhZGluZ1wiPiBDaG9vc2UgdGhlIHJlcG9ydCB0eXBlIGFuZCBkYXRlIHJhbmdlPC9oMT5cbiAgICAgIDwvbGVnZW5kPlxuPC9kaXY+XG48Zm9ybSBbZm9ybUdyb3VwXT1cInJlcG9ydHNGb3JtXCI+XG4gICAgIDxkaXYgIGNsYXNzPVwiZ292dWstZm9ybS1ncm91cFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstcmFkaW9zIGdvdnVrLXJhZGlvcy0tY29uZGl0aW9uYWxcIiBkYXRhLW1vZHVsZT1cImdvdnVrLXJhZGlvc1wiPlxuICAgICAgICAgIDxkaXYgIGNsYXNzPVwiZ292dWstcmFkaW9zX19pdGVtXCI+XG4gICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgICBpZD1cIkRhdGFMb3NzXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJnb3Z1ay1yYWRpb3NfX2lucHV0XCJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic2VsZWN0ZWRyZXBvcnRcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwidmFsaWRhdGVEYXRlcygnREFUQV9MT1NTJylcIlxuICAgICAgICAgICAgICBuYW1lPVwic2VsZWN0ZWRyZXBvcnRcIlxuICAgICAgICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICAgICAgICB2YWx1ZT1cIkRBVEFfTE9TU1wiXG4gICAgICAgICAgICAgICBkYXRhLWFyaWEtY29udHJvbHM9XCJEYXRhTG9zc1wiLz5cbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstcmFkaW9zX19sYWJlbCBnb3Z1ay1sYWJlbC0tbVwiIGZvcj1cIkRhdGFMb3NzXCI+RGF0YSBsb3NzPC9sYWJlbD5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb3JtLWhpbnRcIj5NaXNzaW5nIHRyYW5zYWN0aW9ucyB3aGVyZSBkYXRhIGhhcyBiZWVuIHJlY2VpdmVkIGZyb20gb25seSBlaXRoZXIgb2YgRXhlbGEgb3IgQnVsayBzY2FuPC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstcmFkaW9zX19pdGVtXCI+XG4gICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICBpZD1cIlVucHJvY2Vzc2VkVHJhbnNhY3Rpb25zXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJnb3Z1ay1yYWRpb3NfX2lucHV0XCJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic2VsZWN0ZWRyZXBvcnRcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwidmFsaWRhdGVEYXRlcygnVU5QUk9DRVNTRUQnKVwiXG4gICAgICAgICAgICAgIG5hbWU9XCJzZWxlY3RlZHJlcG9ydFwiXG4gICAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICAgIHZhbHVlPVwiVU5QUk9DRVNTRURcIlxuICAgICAgICAgICAgICBkYXRhLWFyaWEtY29udHJvbHM9XCJVbnByb2Nlc3NlZFRyYW5zYWN0aW9uc1wiLz5cbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstcmFkaW9zX19sYWJlbCBnb3Z1ay1sYWJlbC0tbVwiIGZvcj1cIlVucHJvY2Vzc2VkVHJhbnNhY3Rpb25zXCI+VW5wcm9jZXNzZWQgdHJhbnNhY3Rpb25zPC9sYWJlbD5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb3JtLWhpbnRcIj5UcmFuc2FjdGlvbiByZWNvcmRzIHRoYXQgYXJlIHN0aWxsIHVucHJvY2Vzc2VkIGJ5IHN0YWZmLjwvc3Bhbj5cbiAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstcmFkaW9zX19pdGVtXCI+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIGlkPVwiUHJvY2Vzc2VkVW5hbGxvY2F0ZWRcIlxuICAgICAgICAgICAgY2xhc3M9XCJnb3Z1ay1yYWRpb3NfX2lucHV0XCJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInNlbGVjdGVkcmVwb3J0XCJcbiAgICAgICAgICAgIG5hbWU9XCJzZWxlY3RlZHJlcG9ydFwiXG4gICAgICAgICAgICAoY2xpY2spPVwidmFsaWRhdGVEYXRlcygnUFJPQ0VTU0VEX1VOQUxMT0NBVEVEJylcIlxuICAgICAgICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgICAgIHZhbHVlPVwiUFJPQ0VTU0VEX1VOQUxMT0NBVEVEXCJcbiAgICAgICAgICAgIGRhdGEtYXJpYS1jb250cm9scz1cIlByb2Nlc3NlZFVuYWxsb2NhdGVkXCIvPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstcmFkaW9zX19sYWJlbCBnb3Z1ay1sYWJlbC0tbVwiIGZvcj1cIlByb2Nlc3NlZFVuYWxsb2NhdGVkXCI+UHJvY2Vzc2VkIHVuYWxsb2NhdGVkPC9sYWJlbD5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9ybS1oaW50XCI+UGF5bWVudHMgdGhhdCBhcmUgbWFya2VkIGFzIOKAmFVuaWRlbnRpZmllZOKAmSBvciDigJhUcmFuc2ZlcnJlZOKAmSAoVW5zb2xpY2l0ZWQgcmVxdWVzdHMpPC9zcGFuPlxuICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1yYWRpb3NfX2l0ZW1cIj5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgaWQ9XCJTaG9ydGZhbGxzYW5kU3VycGx1c1wiXG4gICAgICAgICAgICBjbGFzcz1cImdvdnVrLXJhZGlvc19faW5wdXRcIlxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic2VsZWN0ZWRyZXBvcnRcIlxuICAgICAgICAgICAgbmFtZT1cInNlbGVjdGVkcmVwb3J0XCJcbiAgICAgICAgICAgIChjbGljayk9XCJ2YWxpZGF0ZURhdGVzKCdTVVJQTFVTX0FORF9TSE9SVEZBTEwnKVwiXG4gICAgICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICAgICAgdmFsdWU9XCJTVVJQTFVTX0FORF9TSE9SVEZBTExcIlxuICAgICAgICAgICAgZGF0YS1hcmlhLWNvbnRyb2xzPVwiU2hvcnRmYWxsc2FuZFN1cnBsdXNcIi8+XG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCBnb3Z1ay1yYWRpb3NfX2xhYmVsIGdvdnVrLWxhYmVsLS1tXCIgZm9yPVwiU2hvcnRmYWxsc2FuZFN1cnBsdXNcIj5VbmRlciBwYXltZW50IGFuZCBPdmVyIHBheW1lbnQ8L2xhYmVsPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb3JtLWhpbnRcIj5SZXF1ZXN0cyB3aGVyZSBiYWxhbmNlcyBhcmUgbWFya2VkIGFzIFVuZGVyIHBheW1lbnQvT3ZlciBwYXltZW50IGZ1cnRoZXIgY2FzZSBtYW5hZ2VtZW50LlxuICAgICAgICAgICAgICAgRS5nOiBSZWZ1bmQgYXBwcm92YWwsIEN1c3RvbWVyIGNvbnRhY3Q8L3NwYW4+XG4gICAgICAgICA8L2Rpdj5cbiAgICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1yYWRpb3NfX2l0ZW1cIj5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgaWQ9XCJQYXltZW50RmFpbHVyZUV2ZW50XCJcbiAgICAgICAgICAgIGNsYXNzPVwiZ292dWstcmFkaW9zX19pbnB1dFwiXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJzZWxlY3RlZHJlcG9ydFwiXG4gICAgICAgICAgICBuYW1lPVwic2VsZWN0ZWRyZXBvcnRcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInZhbGlkYXRlRGF0ZXMoJ1BBWU1FTlRfRkFJTFVSRV9FVkVOVCcpXCJcbiAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICB2YWx1ZT1cIlBBWU1FTlRfRkFJTFVSRV9FVkVOVFwiXG4gICAgICAgICAgICBkYXRhLWFyaWEtY29udHJvbHM9XCJQYXltZW50RmFpbHVyZUV2ZW50XCIvPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstcmFkaW9zX19sYWJlbCBnb3Z1ay1sYWJlbC0tbVwiIGZvcj1cIlBheW1lbnRGYWlsdXJlRXZlbnRcIj5QYXltZW50IGZhaWx1cmUgZXZlbnQ8L2xhYmVsPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb3JtLWhpbnRcIj5GYWlsZWQgcGF5bWVudCB0cmFuc2FjdGlvbiBkZXRhaWxzPC9zcGFuPlxuICAgICAgICAgPC9kaXY+XG4gICAgICAgPC9kaXY+XG4gICAgIDwvZGl2PlxuICAgICA8ZGl2ICBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkYXRlZnJvbVwiPlxuICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstcmFkaW9zX19sYWJlbCBnb3Z1ay1sYWJlbC0tbVwiIGZvcj1cImRhdGUtZnJvbVwiPkRhdGUgZnJvbTwvbGFiZWw+XG4gICAgICA8aW5wdXQgKGNoYW5nZSk9XCJnZXRTZWxlY3RlZEZyb21EYXRlKClcIiBbbWF4XT1cImdldFRvZGF5KClcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGlkPVwiZGF0ZS1mcm9tXCIgbmFtZT1cImRhdGUtZnJvbVwiIHR5cGU9XCJkYXRlXCIgIGZvcm1Db250cm9sTmFtZT1cInN0YXJ0RGF0ZVwiIHJlcXVpcmVkLz5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiZGF0ZXRvXCI+XG4gICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCBnb3Z1ay1yYWRpb3NfX2xhYmVsIGdvdnVrLWxhYmVsLS1tXCIgZm9yPVwiZGF0ZS10b1wiPkRhdGUgdG88L2xhYmVsPlxuICAgICAgPGlucHV0IChjaGFuZ2UpPVwiZ2V0U2VsZWN0ZWRGcm9tRGF0ZSgpXCIgW21heF09XCJnZXRUb2RheSgpXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBpZD1cImRhdGUtdG9cIiBuYW1lPVwic2VhcmNoXCIgdHlwZT1cImRhdGVcIiBmb3JtQ29udHJvbE5hbWU9XCJlbmREYXRlXCIgcmVxdWlyZWQvPlxuICAgICAgPC9kaXY+XG4gICAgIDwvZGl2PlxuICAgPHAgY2xhc3M9XCJpbmxpbmUtZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwiaXNTdGFydERhdGVMZXN0aGFuRW5kRGF0ZSB8fCBpc0RhdGVSYW5nZUJldG5XZWVrIHx8IGlzRGF0ZUJldHduTW9udGhcIj5cbiAgICAgIDxzcGFuICpuZ0lmPVwiaXNTdGFydERhdGVMZXN0aGFuRW5kRGF0ZVwiPlBsZWFzZSBzZWxlY3QgJ0RhdGUgRnJvbScgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICdEYXRlIFRvJzwvc3Bhbj5cbiAgICAgIDxzcGFuICpuZ0lmPVwiaXNEYXRlUmFuZ2VCZXRuV2Vla1wiPiBQbGVhc2Ugc2VsZWN0IHRoZSBkYXRlIHJhbmdlIGJldHdlZW4gNyBkYXlzPC9zcGFuPlxuICAgICAgPHNwYW4gKm5nSWY9XCJpc0RhdGVCZXR3bk1vbnRoXCI+IFBsZWFzZSBzZWxlY3QgdGhlIGRhdGUgcmFuZ2UgYmV0d2VlbiAzMCBkYXlzPC9zcGFuPlxuICAgPC9wPlxuICAgIDxkaXYgY2xhc3M9XCJidG5zdWJtaXRcIj5cbiAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgKGNsaWNrKT1cImRvd25sb2FkUmVwb3J0KClcIiBjbGFzcz1cImJ1dHRvblwiIFtkaXNhYmxlZF09XCIhcmVwb3J0c0Zvcm0udmFsaWQgfHwgaXNEb3duTG9hZEJ1dHRvbmRpc2FibGVkIHx8IGlzU3RhcnREYXRlTGVzdGhhbkVuZERhdGUgfHwgaXNEYXRlUmFuZ2VCZXRuV2Vla1wiPkRvd25sb2FkIHJlcG9ydDwvYnV0dG9uPlxuICAgPC9kaXY+XG4gPC9mb3JtPlxuXG4iXX0=
|
|
@@ -7034,7 +7034,7 @@ class ReportsComponent {
|
|
|
7034
7034
|
bulkScaningPaymentService;
|
|
7035
7035
|
paymentLibComponent;
|
|
7036
7036
|
paymentViewService;
|
|
7037
|
-
ISPAYMENTSTATUSENABLED;
|
|
7037
|
+
ISPAYMENTSTATUSENABLED = true;
|
|
7038
7038
|
fmt = 'dd/MM/yyyy';
|
|
7039
7039
|
loc = 'en-US';
|
|
7040
7040
|
reportsForm;
|
|
@@ -7046,7 +7046,6 @@ class ReportsComponent {
|
|
|
7046
7046
|
isStartDateLesthanEndDate = false;
|
|
7047
7047
|
isDateBetwnMonth = false;
|
|
7048
7048
|
isDateRangeBetnWeek = false;
|
|
7049
|
-
//errorMessage = this.errorHandlerService.getServerErrorMessage(false, false, '');
|
|
7050
7049
|
errorMessage = null;
|
|
7051
7050
|
paymentGroups = [];
|
|
7052
7051
|
constructor(xlFileService, errorHandlerService, formBuilder, bulkScaningPaymentService, paymentLibComponent, paymentViewService) {
|
|
@@ -7058,6 +7057,7 @@ class ReportsComponent {
|
|
|
7058
7057
|
this.paymentViewService = paymentViewService;
|
|
7059
7058
|
}
|
|
7060
7059
|
ngOnInit() {
|
|
7060
|
+
this.errorMessage = this.errorHandlerService.getServerErrorMessage(false, false, '');
|
|
7061
7061
|
this.fromValidation();
|
|
7062
7062
|
}
|
|
7063
7063
|
getToday() {
|
|
@@ -7305,7 +7305,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
7305
7305
|
type: Inject,
|
|
7306
7306
|
args: ['PAYMENT_LIB']
|
|
7307
7307
|
}] }, { type: PaymentViewService }]; }, propDecorators: { ISPAYMENTSTATUSENABLED: [{
|
|
7308
|
-
type: Input
|
|
7308
|
+
type: Input,
|
|
7309
|
+
args: ['ISPAYMENTSTATUSENABLED']
|
|
7309
7310
|
}] } });
|
|
7310
7311
|
|
|
7311
7312
|
class PaymentLibComponent {
|