@hmcts/ccpay-web-component 4.0.1-beta25 → 4.0.1-beta29

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.
Files changed (30) hide show
  1. package/bundles/hmcts-ccpay-web-component.umd.js +88 -64
  2. package/bundles/hmcts-ccpay-web-component.umd.js.map +1 -1
  3. package/bundles/hmcts-ccpay-web-component.umd.min.js +1 -1
  4. package/bundles/hmcts-ccpay-web-component.umd.min.js.map +1 -1
  5. package/esm2015/lib/components/add-remission/add-remission.component.js +9 -3
  6. package/esm2015/lib/components/case-transactions/case-transactions.component.js +2 -2
  7. package/esm2015/lib/components/payment-view/payment-view.component.js +2 -2
  8. package/esm2015/lib/components/pba-payment/pba-payment.component.js +3 -3
  9. package/esm2015/lib/components/process-refund/process-refund.component.js +3 -2
  10. package/esm2015/lib/components/refund-status/refund-status.component.js +77 -60
  11. package/esm2015/lib/services/payment-view/payment-view.service.js +2 -2
  12. package/esm2015/lib/services/refunds/refunds.service.js +2 -2
  13. package/esm2015/lib/services/shared/error-handler.service.js +7 -2
  14. package/esm5/lib/components/add-remission/add-remission.component.js +9 -3
  15. package/esm5/lib/components/case-transactions/case-transactions.component.js +2 -2
  16. package/esm5/lib/components/payment-view/payment-view.component.js +2 -2
  17. package/esm5/lib/components/pba-payment/pba-payment.component.js +3 -3
  18. package/esm5/lib/components/process-refund/process-refund.component.js +3 -2
  19. package/esm5/lib/components/refund-status/refund-status.component.js +80 -60
  20. package/esm5/lib/services/payment-view/payment-view.service.js +2 -2
  21. package/esm5/lib/services/refunds/refunds.service.js +2 -2
  22. package/esm5/lib/services/shared/error-handler.service.js +7 -2
  23. package/fesm2015/hmcts-ccpay-web-component.js +92 -69
  24. package/fesm2015/hmcts-ccpay-web-component.js.map +1 -1
  25. package/fesm5/hmcts-ccpay-web-component.js +95 -69
  26. package/fesm5/hmcts-ccpay-web-component.js.map +1 -1
  27. package/hmcts-ccpay-web-component.metadata.json +1 -1
  28. package/lib/components/add-remission/add-remission.component.d.ts +1 -0
  29. package/lib/components/refund-status/refund-status.component.d.ts +2 -0
  30. package/package.json +1 -1
@@ -14,6 +14,7 @@ import { PaymentLibComponent } from '../../payment-lib.component';
14
14
  var BS_ENABLE_FLAG = 'bulk-scan-enabling-fe';
15
15
  var RefundStatusComponent = /** @class */ (function () {
16
16
  function RefundStatusComponent(formBuilder, refundService, paymentLibComponent, paymentViewService, router, OrderslistService) {
17
+ var _this = this;
17
18
  this.formBuilder = formBuilder;
18
19
  this.refundService = refundService;
19
20
  this.paymentLibComponent = paymentLibComponent;
@@ -35,6 +36,19 @@ var RefundStatusComponent = /** @class */ (function () {
35
36
  this.isRefundBtnDisabled = true;
36
37
  this.isLastUpdatedByCurrentUser = true;
37
38
  this.isProcessRefund = false;
39
+ this.allowedRolesToAccessRefund = ['payments-refund-approver', 'payments-refund'];
40
+ this.check4AllowedRoles2AccessRefund = (/**
41
+ * @return {?}
42
+ */
43
+ function () {
44
+ return _this.allowedRolesToAccessRefund.some((/**
45
+ * @param {?} role
46
+ * @return {?}
47
+ */
48
+ function (role) {
49
+ return _this.LOGGEDINUSERROLES.indexOf(role) !== -1;
50
+ }));
51
+ });
38
52
  }
39
53
  /**
40
54
  * @return {?}
@@ -44,68 +58,70 @@ var RefundStatusComponent = /** @class */ (function () {
44
58
  */
45
59
  function () {
46
60
  var _this = this;
47
- this.resetRemissionForm([false, false, false, false], 'All');
48
- this.bsPaymentDcnNumber = this.paymentLibComponent.bspaymentdcn;
49
- this.isCallFromRefundList = this.paymentLibComponent.isCallFromRefundList;
50
- // if(this.paymentLibComponent.isFromRefundStatusPage) {
51
- // this.viewName = 'reviewandsubmitview';
52
- // }
53
- if (this.paymentLibComponent.isRefundStatusView) {
54
- this.viewName = 'refundview';
55
- this.OrderslistService.getRefundView().subscribe((/**
56
- * @param {?} data
57
- * @return {?}
58
- */
59
- function (data) { return _this.refundlist = data; }));
60
- this.OrderslistService.getCCDCaseNumberforRefund.subscribe((/**
61
- * @param {?} data
62
- * @return {?}
63
- */
64
- function (data) { return _this.ccdCaseNumber = data; }));
65
- }
66
- else {
67
- this.viewName = 'refundstatuslist';
68
- this.refundService.getRefundStatusList(this.ccdCaseNumber).subscribe((/**
69
- * @param {?} refundList
70
- * @return {?}
71
- */
72
- function (refundList) {
73
- _this.rejectedRefundList = refundList['refund_list'];
74
- })),
75
- (/**
76
- * @param {?} error
61
+ if (this.check4AllowedRoles2AccessRefund()) {
62
+ this.resetRemissionForm([false, false, false, false], 'All');
63
+ this.bsPaymentDcnNumber = this.paymentLibComponent.bspaymentdcn;
64
+ this.isCallFromRefundList = this.paymentLibComponent.isCallFromRefundList;
65
+ // if(this.paymentLibComponent.isFromRefundStatusPage) {
66
+ // this.viewName = 'reviewandsubmitview';
67
+ // }
68
+ if (this.paymentLibComponent.isRefundStatusView) {
69
+ this.viewName = 'refundview';
70
+ this.OrderslistService.getRefundView().subscribe((/**
71
+ * @param {?} data
77
72
  * @return {?}
78
73
  */
79
- function (error) {
80
- _this.errorMessage = error.replace(/"/g, "");
81
- });
82
- }
83
- this.refundStatusForm = this.formBuilder.group({
84
- amount: new FormControl('', Validators.compose([
85
- Validators.required,
86
- Validators.pattern('^[0-9]+(\.[0-9]{1,2})?$')
87
- ])),
88
- refundReason: new FormControl('', Validators.compose([Validators.required])),
89
- reason: new FormControl()
90
- });
91
- if (this.refundlist !== undefined) {
92
- this.getRefundsStatusHistoryList();
93
- if (this.LOGGEDINUSERROLES.some((/**
94
- * @param {?} i
95
- * @return {?}
96
- */
97
- function (i) { return i.includes('payments-refund-approver'); }))) {
98
- this.isProcessRefund = true;
99
- this.refundButtonState = this.refundlist.refund_status.name;
100
- return;
74
+ function (data) { return _this.refundlist = data; }));
75
+ this.OrderslistService.getCCDCaseNumberforRefund.subscribe((/**
76
+ * @param {?} data
77
+ * @return {?}
78
+ */
79
+ function (data) { return _this.ccdCaseNumber = data; }));
101
80
  }
102
- if (this.LOGGEDINUSERROLES.some((/**
103
- * @param {?} i
104
- * @return {?}
105
- */
106
- function (i) { return i.includes('payments-refund'); }))) {
107
- this.isProcessRefund = false;
108
- this.refundButtonState = this.refundlist.refund_status.name;
81
+ else {
82
+ this.viewName = 'refundstatuslist';
83
+ this.refundService.getRefundStatusList(this.ccdCaseNumber).subscribe((/**
84
+ * @param {?} refundList
85
+ * @return {?}
86
+ */
87
+ function (refundList) {
88
+ _this.rejectedRefundList = refundList['refund_list'];
89
+ })),
90
+ (/**
91
+ * @param {?} error
92
+ * @return {?}
93
+ */
94
+ function (error) {
95
+ _this.errorMessage = error.replace(/"/g, "");
96
+ });
97
+ }
98
+ this.refundStatusForm = this.formBuilder.group({
99
+ amount: new FormControl('', Validators.compose([
100
+ Validators.required,
101
+ Validators.pattern('^[0-9]+(\.[0-9]{1,2})?$')
102
+ ])),
103
+ refundReason: new FormControl('', Validators.compose([Validators.required])),
104
+ reason: new FormControl()
105
+ });
106
+ if (this.refundlist !== undefined) {
107
+ this.getRefundsStatusHistoryList();
108
+ if (this.LOGGEDINUSERROLES.some((/**
109
+ * @param {?} i
110
+ * @return {?}
111
+ */
112
+ function (i) { return i.includes('payments-refund-approver'); }))) {
113
+ this.isProcessRefund = true;
114
+ this.refundButtonState = this.refundlist.refund_status.name;
115
+ return;
116
+ }
117
+ if (this.LOGGEDINUSERROLES.some((/**
118
+ * @param {?} i
119
+ * @return {?}
120
+ */
121
+ function (i) { return i.includes('payments-refund'); }))) {
122
+ this.isProcessRefund = false;
123
+ this.refundButtonState = this.refundlist.refund_status.name;
124
+ }
109
125
  }
110
126
  }
111
127
  };
@@ -536,6 +552,10 @@ if (false) {
536
552
  RefundStatusComponent.prototype.isProcessRefund;
537
553
  /** @type {?} */
538
554
  RefundStatusComponent.prototype.changedAmount;
555
+ /** @type {?} */
556
+ RefundStatusComponent.prototype.allowedRolesToAccessRefund;
557
+ /** @type {?} */
558
+ RefundStatusComponent.prototype.check4AllowedRoles2AccessRefund;
539
559
  /**
540
560
  * @type {?}
541
561
  * @private
@@ -567,4 +587,4 @@ if (false) {
567
587
  */
568
588
  RefundStatusComponent.prototype.OrderslistService;
569
589
  }
570
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmdW5kLXN0YXR1cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvY2NwYXktd2ViLWNvbXBvbmVudC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3JlZnVuZC1zdGF0dXMvcmVmdW5kLXN0YXR1cy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxXQUFXLEVBQXFCLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDdEYsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBR3RFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztJQUM1RCxjQUFjLEdBQUcsdUJBQXVCO0FBRTlDO0lBeUNFLCtCQUFvQixXQUF3QixFQUNsQyxhQUE2QixFQUM3QixtQkFBd0MsRUFDeEMsa0JBQXNDLEVBQ3RDLE1BQWMsRUFDZCxpQkFBb0M7UUFMMUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDbEMsa0JBQWEsR0FBYixhQUFhLENBQWdCO1FBQzdCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2Qsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQXhDbEIsc0JBQWlCLEdBQWEsRUFBRSxDQUFDO1FBTzdELHVCQUFr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SUFDdkIsMkRBQTJDOztJQUMzQyxnREFBaUM7O0lBQ2pDLDhDQUFzQjs7Ozs7SUFFViw0Q0FBZ0M7Ozs7O0lBQzFDLDhDQUFxQzs7Ozs7SUFDckMsb0RBQWdEOzs7OztJQUNoRCxtREFBOEM7Ozs7O0lBQzlDLHVDQUFzQjs7Ozs7SUFDdEIsa0RBQTRDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWZ1bmRzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3JlZnVuZHMvcmVmdW5kcy5zZXJ2aWNlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMsIEZvcm1Db250cm9sLCBSZXF1aXJlZFZhbGlkYXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElSZWZ1bmRMaXN0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JUmVmdW5kTGlzdCc7XG5pbXBvcnQgeyBQYXltZW50Vmlld1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wYXltZW50LXZpZXcvcGF5bWVudC12aWV3LnNlcnZpY2UnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE9yZGVyc2xpc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvb3JkZXJzbGlzdC5zZXJ2aWNlJztcbmltcG9ydCB7IElSZWZ1bmRSZWFzb25zIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JUmVmdW5kUmVhc29ucyc7XG5pbXBvcnQgeyBJUmVmdW5kU3RhdHVzIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JUmVmdW5kU3RhdHVzJztcbmltcG9ydCB7IElSZXN1Ym1pdFJlZnVuZFJlcXVlc3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lSZXN1Ym1pdFJlZnVuZFJlcXVlc3QnO1xuaW1wb3J0IHsgUGF5bWVudExpYkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3BheW1lbnQtbGliLmNvbXBvbmVudCc7XG5jb25zdCBCU19FTkFCTEVfRkxBRyA9ICdidWxrLXNjYW4tZW5hYmxpbmctZmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY3BheS1yZWZ1bmQtc3RhdHVzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlZnVuZC1zdGF0dXMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZWZ1bmQtc3RhdHVzLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBSZWZ1bmRTdGF0dXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoJ0xPR0dFRElOVVNFUlJPTEVTJykgTE9HR0VESU5VU0VSUk9MRVM6IHN0cmluZ1tdID0gW107XG4gIEBJbnB1dCgpIGlzT2xkUGNpcGFsT2ZmOiBib29sZWFuO1xuICBASW5wdXQoKSBpc05ld1BjaXBhbE9mZjogYm9vbGVhbjtcbiAgQElucHV0KCkgY2NkQ2FzZU51bWJlcjogc3RyaW5nO1xuICBASW5wdXQoKSBpc1R1cm5PZmY6IGJvb2xlYW47XG4gIHJlZnVuZFN0YXR1c0Zvcm06IEZvcm1Hcm91cDtcbiAgc2VsZWN0ZWRSZWZ1bmRSZWFzb246IHN0cmluZztcbiAgcmVqZWN0ZWRSZWZ1bmRMaXN0OiBJUmVmdW5kTGlzdFtdID0gW107XG4gIGFwcHJvdmFsU3RhdHVzID0gJ3NlbnQgZm9yIGFwcHJvdmFsJztcbiAgcmVqZWN0U3RhdHVzID0gJ3NlbnQgYmFjayc7XG4gIGVycm9yTWVzc2FnZSA9IG51bGw7XG4gIHZpZXdOYW1lOiBzdHJpbmc7XG4gIHJlZnVuZFJlYXNvbjogc3RyaW5nO1xuICByZWZ1bmRsaXN0OiBJUmVmdW5kTGlzdDtcbiAgYnNQYXltZW50RGNuTnVtYmVyOiBzdHJpbmc7XG4gIGlzQ2FsbEZyb21SZWZ1bmRMaXN0OiBib29sZWFuO1xuICByZWZ1bmRCdXR0b25TdGF0ZTogc3RyaW5nID0gJyc7XG4gIGlzQW1vdW50RW1wdHk6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNSZWFzb25FbXB0eTogYm9vbGVhbiA9IGZhbHNlO1xuICBhbW91bnRIYXNFcnJvcjogYm9vbGVhbiA9IGZhbHNlO1xuICBpc1JlbWlzc2lvbkxlc3NUaGFuRmVlRXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcmVmdW5kSGFzRXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcmVmdW5kUmVhc29uczogYW55W10gPSBbXTtcbiAgcmVmdW5kU3RhdHVzSGlzdG9yaWVzOiBJUmVmdW5kU3RhdHVzW107XG4gIHJlZnVuZFJlZmVyZW5jZTogc3RyaW5nO1xuICByZWZ1bmRBbW91bnQ6IHN0cmluZztcbiAgcmVmdW5kQ29kZTogc3RyaW5nO1xuICBpc1JlZnVuZEJ0bkRpc2FibGVkOiBib29sZWFuID0gdHJ1ZTtcbiAgb2xkUmVmdW5kUmVhc29uOiBzdHJpbmc7XG4gIHJlZnVuZHJlYXNvbjogc3RyaW5nO1xuICBuYXZpZ2F0aW9ucGFnZTogc3RyaW5nO1xuICBpc0xhc3RVcGRhdGVkQnlDdXJyZW50VXNlcjogYm9vbGVhbiA9IHRydWU7XG4gIGlzUHJvY2Vzc1JlZnVuZDogYm9vbGVhbiA9IGZhbHNlO1xuICBjaGFuZ2VkQW1vdW50OiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSByZWZ1bmRTZXJ2aWNlOiBSZWZ1bmRzU2VydmljZSxcbiAgICBwcml2YXRlIHBheW1lbnRMaWJDb21wb25lbnQ6IFBheW1lbnRMaWJDb21wb25lbnQsXG4gICAgcHJpdmF0ZSBwYXltZW50Vmlld1NlcnZpY2U6IFBheW1lbnRWaWV3U2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgT3JkZXJzbGlzdFNlcnZpY2U6IE9yZGVyc2xpc3RTZXJ2aWNlKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnJlc2V0UmVtaXNzaW9uRm9ybShbZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2VdLCAnQWxsJyk7XG4gICAgdGhpcy5ic1BheW1lbnREY25OdW1iZXIgPSB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuYnNwYXltZW50ZGNuO1xuICAgIHRoaXMuaXNDYWxsRnJvbVJlZnVuZExpc3QgPSB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuaXNDYWxsRnJvbVJlZnVuZExpc3Q7XG4gICAgLy8gaWYodGhpcy5wYXltZW50TGliQ29tcG9uZW50LmlzRnJvbVJlZnVuZFN0YXR1c1BhZ2UpIHtcbiAgICAvLyAgIHRoaXMudmlld05hbWUgPSAncmV2aWV3YW5kc3VibWl0dmlldyc7XG4gICAgLy8gfVxuICAgIGlmICh0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuaXNSZWZ1bmRTdGF0dXNWaWV3KSB7XG4gICAgICB0aGlzLnZpZXdOYW1lID0gJ3JlZnVuZHZpZXcnO1xuICAgICAgdGhpcy5PcmRlcnNsaXN0U2VydmljZS5nZXRSZWZ1bmRWaWV3KCkuc3Vic2NyaWJlKChkYXRhKSA9PiB0aGlzLnJlZnVuZGxpc3QgPSBkYXRhKTtcbiAgICAgIHRoaXMuT3JkZXJzbGlzdFNlcnZpY2UuZ2V0Q0NEQ2FzZU51bWJlcmZvclJlZnVuZC5zdWJzY3JpYmUoKGRhdGEpID0+IHRoaXMuY2NkQ2FzZU51bWJlciA9IGRhdGEpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZpZXdOYW1lID0gJ3JlZnVuZHN0YXR1c2xpc3QnO1xuICAgICAgdGhpcy5yZWZ1bmRTZXJ2aWNlLmdldFJlZnVuZFN0YXR1c0xpc3QodGhpcy5jY2RDYXNlTnVtYmVyKS5zdWJzY3JpYmUoXG4gICAgICAgIHJlZnVuZExpc3QgPT4ge1xuICAgICAgICAgIHRoaXMucmVqZWN0ZWRSZWZ1bmRMaXN0ID0gcmVmdW5kTGlzdFsncmVmdW5kX2xpc3QnXTtcbiAgICAgICAgfVxuICAgICAgKSxcbiAgICAgICAgKGVycm9yOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IGVycm9yLnJlcGxhY2UoL1wiL2csXCJcIik7XG4gICAgICAgIH07XG4gICAgfVxuXG5cbiAgICB0aGlzLnJlZnVuZFN0YXR1c0Zvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgIGFtb3VudDogbmV3IEZvcm1Db250cm9sKCcnLCBWYWxpZGF0b3JzLmNvbXBvc2UoW1xuICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgICBWYWxpZGF0b3JzLnBhdHRlcm4oJ15bMC05XSsoXFwuWzAtOV17MSwyfSk/JCcpXG4gICAgICBdKSksXG4gICAgICByZWZ1bmRSZWFzb246IG5ldyBGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSkpLFxuICAgICAgcmVhc29uOiBuZXcgRm9ybUNvbnRyb2woKVxuICAgIH0pO1xuXG4gICAgaWYodGhpcy5yZWZ1bmRsaXN0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuZ2V0UmVmdW5kc1N0YXR1c0hpc3RvcnlMaXN0KCk7XG5cbiAgICAgIGlmICh0aGlzLkxPR0dFRElOVVNFUlJPTEVTLnNvbWUoaSA9PiBpLmluY2x1ZGVzKCdwYXltZW50cy1yZWZ1bmQtYXBwcm92ZXInKSkpIHtcbiAgICAgICAgdGhpcy5pc1Byb2Nlc3NSZWZ1bmQgPSB0cnVlO1xuICAgICAgICB0aGlzLnJlZnVuZEJ1dHRvblN0YXRlID0gdGhpcy5yZWZ1bmRsaXN0LnJlZnVuZF9zdGF0dXMubmFtZTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICBcbiAgICAgIGlmICh0aGlzLkxPR0dFRElOVVNFUlJPTEVTLnNvbWUoaSA9PiBpLmluY2x1ZGVzKCdwYXltZW50cy1yZWZ1bmQnKSkpIHtcbiAgICAgICAgdGhpcy5pc1Byb2Nlc3NSZWZ1bmQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5yZWZ1bmRCdXR0b25TdGF0ZSA9IHRoaXMucmVmdW5kbGlzdC5yZWZ1bmRfc3RhdHVzLm5hbWU7XG4gICAgICB9XG4gICAgfVxuICBcbiAgfVxuXG4gIGdldFJlZnVuZHNTdGF0dXNIaXN0b3J5TGlzdCgpIHtcbiAgICBpZih0aGlzLnJlZnVuZGxpc3QgIT09IHVuZGVmaW5lZCkge1xuICAgIHRoaXMucmVmdW5kU2VydmljZS5nZXRSZWZ1bmRTdGF0dXNIaXN0b3J5KHRoaXMucmVmdW5kbGlzdC5yZWZ1bmRfcmVmZXJlbmNlKS5zdWJzY3JpYmUoXG4gICAgICBzdGF0dXNIaXN0b3J5TGlzdCA9PiB7XG4gICAgICAgIHRoaXMucmVmdW5kU3RhdHVzSGlzdG9yaWVzID0gc3RhdHVzSGlzdG9yeUxpc3Quc3RhdHVzX2hpc3RvcnlfZHRvX2xpc3Q7XG4gICAgICAgIHRoaXMuaXNMYXN0VXBkYXRlZEJ5Q3VycmVudFVzZXIgPSBzdGF0dXNIaXN0b3J5TGlzdC5sYXN0X3VwZGF0ZWRfYnlfY3VycmVudF91c2VyO1xuICAgICAgfVxuICAgICksXG4gICAgICAoZXJyb3I6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IGVycm9yLnJlcGxhY2UoL1wiL2csXCJcIik7XG4gICAgICB9OyBcbiAgICB9XG4gIH1cblxuICBnb1RvUmVmdW5kVmlldyhyZWZ1bmRsaXN0OiBJUmVmdW5kTGlzdCwgbmF2aWdhdGlvbnBhZ2U6IHN0cmluZykge1xuICAgIHRoaXMuT3JkZXJzbGlzdFNlcnZpY2Uuc2V0UmVmdW5kVmlldyhyZWZ1bmRsaXN0KTtcbiAgICB0aGlzLk9yZGVyc2xpc3RTZXJ2aWNlLnNldENDRENhc2VOdW1iZXIodGhpcy5jY2RDYXNlTnVtYmVyKTtcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQudmlld05hbWUgPSAncmVmdW5kc3RhdHVzbGlzdCc7XG4gICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LmlzUmVmdW5kU3RhdHVzVmlldyA9IHRydWU7XG4gICAgdGhpcy5yZWZ1bmRsaXN0ID0gcmVmdW5kbGlzdDtcbiAgICB0aGlzLk9yZGVyc2xpc3RTZXJ2aWNlLnNldG5hdmlnYXRpb25QYWdlKG5hdmlnYXRpb25wYWdlKTtcbiAgfVxuXG4gIGxvYWRDYXNlVHJhbnNhY3Rpb25QYWdlKCkge1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5pc1JlZnVuZFN0YXR1c1ZpZXcgPSBmYWxzZTtcbiAgICAvL3RoaXMucGF5bWVudExpYkNvbXBvbmVudC5UQUtFUEFZTUVOVCA9IHRydWU7XG4gICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LnZpZXdOYW1lID0gJ2Nhc2UtdHJhbnNhY3Rpb25zJztcbiAgICB0aGlzLnBheW1lbnRWaWV3U2VydmljZS5nZXRCU2ZlYXR1cmUoKS5zdWJzY3JpYmUoXG4gICAgICBmZWF0dXJlcyA9PiB7XG4gICAgICAgIGxldCByZXN1bHQgPSBKU09OLnBhcnNlKGZlYXR1cmVzKS5maWx0ZXIoZmVhdHVyZSA9PiBmZWF0dXJlLnVpZCA9PT0gQlNfRU5BQkxFX0ZMQUcpO1xuICAgICAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuSVNCU0VOQUJMRSA9IHJlc3VsdFswXSA/IHJlc3VsdFswXS5lbmFibGUgOiBmYWxzZTtcbiAgICAgIH0sXG4gICAgICBlcnIgPT4ge1xuICAgICAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuSVNCU0VOQUJMRSA9IGZhbHNlO1xuICAgICAgfVxuICAgICk7XG5cbiAgICBsZXQgcGFydFVybCA9IGBzZWxlY3RlZE9wdGlvbj0ke3RoaXMucGF5bWVudExpYkNvbXBvbmVudC5TRUxFQ1RFRF9PUFRJT059YDtcbiAgICBwYXJ0VXJsICs9IHRoaXMuYnNQYXltZW50RGNuTnVtYmVyID8gYCZkY249JHt0aGlzLmJzUGF5bWVudERjbk51bWJlcn1gIDogJyc7XG4gICAgcGFydFVybCArPSB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuSVNCU0VOQUJMRSA/ICcmaXNCdWxrU2Nhbm5pbmc9RW5hYmxlJyA6ICcmaXNCdWxrU2Nhbm5pbmc9RGlzYWJsZSc7XG4gICAgcGFydFVybCArPSB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuSVNUVVJOT0ZGID8gJyZpc1R1cm5PZmY9RW5hYmxlJyA6ICcmaXNUdXJuT2ZmPURpc2FibGUnO1xuICAgIHBhcnRVcmwgKz0gdGhpcy5wYXltZW50TGliQ29tcG9uZW50LklTU0ZFTkFCTEUgPyAnJmlzU3RGaXhFbmFibGU9RW5hYmxlJyA6ICcmaXNTdEZpeEVuYWJsZT1EaXNhYmxlJztcbiAgICBwYXJ0VXJsICs9IGAmY2FzZVR5cGU9JHt0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuQ0FTRVRZUEV9YDtcbiAgICBwYXJ0VXJsICs9IHRoaXMuaXNOZXdQY2lwYWxPZmYgPyAnJmlzTmV3UGNpcGFsT2ZmPUVuYWJsZScgOiAnJmlzTmV3UGNpcGFsT2ZmPURpc2FibGUnO1xuICAgIHBhcnRVcmwgKz0gdGhpcy5pc09sZFBjaXBhbE9mZiA/ICcmaXNPbGRQY2lwYWxPZmY9RW5hYmxlJyA6ICcmaXNPbGRQY2lwYWxPZmY9RGlzYWJsZSc7XG4gICAgbGV0IHVybCA9IGAvcGF5bWVudC1oaXN0b3J5LyR7dGhpcy5jY2RDYXNlTnVtYmVyfT92aWV3PWNhc2UtdHJhbnNhY3Rpb25zJnRha2VQYXltZW50PSR7dGhpcy5wYXltZW50TGliQ29tcG9uZW50LlRBS0VQQVlNRU5UfSYke3BhcnRVcmx9YDtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHVybCk7XG4gIH1cblxuICBsb2FkUmVmdW5kTGlzdFBhZ2UoKSB7XG4gICAgdGhpcy5PcmRlcnNsaXN0U2VydmljZS5nZXRuYXZpZ2F0aW9uUGFnZVZhbHVlKCkuc3Vic2NyaWJlKChkYXRhKSA9PiB0aGlzLm5hdmlnYXRpb25wYWdlID0gZGF0YSk7XG4gICAgaWYgKHRoaXMubmF2aWdhdGlvbnBhZ2UgPT09ICdjYXNldHJhbnNhY3Rpb25zJykge1xuICAgICAgdGhpcy5sb2FkQ2FzZVRyYW5zYWN0aW9uUGFnZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQudmlld05hbWUgPSAncmVmdW5kLWxpc3QnO1xuICAgIH1cbiAgfVxuXG4gIGdvdG9SZXZpZXdEZXRhaWxzUGFnZShldmVudDphbnkpIHtcbiAgIC8vIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5lcnJvck1lc3NhZ2UgPSBmYWxzZTtcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuaXNSZWZ1bmRTdGF0dXNWaWV3ID0gdHJ1ZTtcbiAgICB0aGlzLm5nT25Jbml0KCk7XG4gICAgLy8gdGhpcy52aWV3TmFtZT0ncmVmdW5kdmlldyc7XG4gICAgLy8gdGhpcy5wYXltZW50TGliQ29tcG9uZW50LkNDRF9DQVNFX05VTUJFUiA9IHRoaXMuY2NkQ2FzZU51bWJlcjtcbiAgICAvLyB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuaXNSZWZ1bmRTdGF0dXNWaWV3ID0gdHJ1ZTtcbiAgICAvLyB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuaXNDYWxsRnJvbVJlZnVuZExpc3QgPSB0cnVlO1xuICB9XG5cbiAgZ290b1Jldmlld0FuZFJlU3VibWl0UGFnZSgpIHtcbiAgICB0aGlzLnZpZXdOYW1lID0gJ3Jldmlld2FuZHN1Ym1pdHZpZXcnO1xuICAgIHRoaXMub2xkUmVmdW5kUmVhc29uID0gdGhpcy5yZWZ1bmRsaXN0LnJlYXNvbjtcbiAgICB0aGlzLmNoYW5nZWRBbW91bnQgPSB0aGlzLnJlZnVuZGxpc3QuYW1vdW50O1xuICAgIHRoaXMucmVmdW5kcmVhc29uID0gdGhpcy5yZWZ1bmRTdGF0dXNIaXN0b3JpZXMuZmlsdGVyKGRhdGEgPT4gZGF0YS5zdGF0dXMgPT09ICdzZW50YmFjaycpWzBdLm5vdGVzO1xuICAgIHRoaXMucmVmdW5kU2VydmljZS5nZXRSZWZ1bmRSZWFzb25zKCkuc3Vic2NyaWJlKFxuICAgICAgcmVmdW5kUmVhc29ucyA9PiB7XG4gICAgICAgIHRoaXMucmVmdW5kUmVhc29ucyA9IHJlZnVuZFJlYXNvbnM7XG4gICAgICB9KTtcbiAgfVxuICBnb3RvUmVmdW5kUmVhc29uUGFnZSgpIHtcbiAgICB0aGlzLmlzUmVmdW5kQnRuRGlzYWJsZWQgPSBmYWxzZTtcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuUkVGVU5ETElTVCA9IFwidHJ1ZVwiO1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5pc0Zyb21SZWZ1bmRTdGF0dXNQYWdlID0gdHJ1ZTtcbiAgICB0aGlzLmNjZENhc2VOdW1iZXIgPSB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuQ0NEX0NBU0VfTlVNQkVSO1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gZmFsc2U7XG4gICAgdGhpcy52aWV3TmFtZSA9ICdpc3N1ZXJlZnVuZCc7XG4gIH1cblxuICBnb3RvQW1vdW50UGFnZSgpIHtcbiAgICB0aGlzLmVycm9yTWVzc2FnZSA9IGZhbHNlO1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5SRUZVTkRMSVNUID0gXCJ0cnVlXCI7XG4gICAgdGhpcy5pc1JlZnVuZEJ0bkRpc2FibGVkID0gZmFsc2U7XG4gICAgdGhpcy5jY2RDYXNlTnVtYmVyID0gdGhpcy5wYXltZW50TGliQ29tcG9uZW50LkNDRF9DQVNFX05VTUJFUjtcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuaXNGcm9tUmVmdW5kU3RhdHVzUGFnZSA9IHRydWU7XG4gICAgdGhpcy52aWV3TmFtZSA9ICdwcm9jZXNzcmV0cm9yZW1pc3NvbnBhZ2UnO1xuICB9XG5cbiAgZ29Ub1Jldmlld0FuZFN1Ym1pdFZpZXcoKSB7XG4gICAgY29uc3QgcmVtaXNzaW9uY3RybHMgPSB0aGlzLnJlZnVuZFN0YXR1c0Zvcm0uY29udHJvbHNcbiAgICBpZiAodGhpcy5yZWZ1bmRTdGF0dXNGb3JtLmRpcnR5KSB7XG4gICAgICBpZiAocmVtaXNzaW9uY3RybHNbJ2Ftb3VudCddLnZhbHVlID09ICcnKSB7XG4gICAgICAgIHRoaXMucmVzZXRSZW1pc3Npb25Gb3JtKFt0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNlXSwgJ2Ftb3VudCcpO1xuICAgICAgfVxuICAgICAgZWxzZSBpZiAocmVtaXNzaW9uY3RybHNbJ2Ftb3VudCddLnZhbHVlICE9ICcnICYmIHJlbWlzc2lvbmN0cmxzWydhbW91bnQnXS5pbnZhbGlkKSB7XG4gICAgICAgIHRoaXMucmVzZXRSZW1pc3Npb25Gb3JtKFtmYWxzZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlXSwgJ2Ftb3VudCcpO1xuICAgICAgfVxuICAgICAgZWxzZSBpZiAocmVtaXNzaW9uY3RybHNbJ3JlYXNvbiddLnZhbHVlID09ICcnKSB7XG4gICAgICAgIHRoaXMucmVzZXRSZW1pc3Npb25Gb3JtKFtmYWxzZSwgZmFsc2UsIGZhbHNlLCB0cnVlXSwgJ3JlYXNvbicpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5yZWZ1bmRsaXN0LnJlYXNvbiA9IHJlbWlzc2lvbmN0cmxzWydyZWFzb24nXS52YWx1ZTtcbiAgICAgICAgdGhpcy52aWV3TmFtZSA9ICdyZXZpZXdhbmRzdWJtaXR2aWV3JztcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gIHJlc2V0UmVtaXNzaW9uRm9ybSh2YWwsIGZpZWxkKSB7XG4gICAgaWYgKGZpZWxkID09PSAnQWxsJykge1xuICAgICAgdGhpcy5pc0Ftb3VudEVtcHR5ID0gdmFsWzBdO1xuICAgICAgdGhpcy5hbW91bnRIYXNFcnJvciA9IHZhbFsxXTtcbiAgICAgIHRoaXMuaXNSZW1pc3Npb25MZXNzVGhhbkZlZUVycm9yID0gdmFsWzJdO1xuICAgICAgdGhpcy5pc1JlYXNvbkVtcHR5ID0gdmFsWzNdO1xuICAgIH0gZWxzZSBpZiAoZmllbGQgPT09ICdhbW91bnQnIHx8IGZpZWxkID09PSAnQWxsJykge1xuICAgICAgdGhpcy5pc0Ftb3VudEVtcHR5ID0gdmFsWzBdO1xuICAgICAgdGhpcy5hbW91bnRIYXNFcnJvciA9IHZhbFsxXTtcbiAgICAgIHRoaXMuaXNSZW1pc3Npb25MZXNzVGhhbkZlZUVycm9yID0gdmFsWzJdO1xuICAgIH0gZWxzZSBpZiAoZmllbGQgPT09ICdyZWFzb24nIHx8IGZpZWxkID09PSAnQWxsJykge1xuICAgICAgdGhpcy5pc1JlYXNvbkVtcHR5ID0gdmFsWzNdO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdFJhZGlvQnV0dG9uKGtleSwgdmFsdWUpIHtcbiAgICB0aGlzLnJlZnVuZEhhc0Vycm9yID0gZmFsc2U7XG4gICAgdGhpcy5zZWxlY3RlZFJlZnVuZFJlYXNvbiA9IGtleTtcbiAgICBpZiAoa2V5ID09PSAnT3RoZXInKSB7XG4gICAgICB0aGlzLnJlZnVuZEhhc0Vycm9yID0gZmFsc2U7XG4gICAgICB0aGlzLnJlZnVuZFJlYXNvbiA9IGtleTtcbiAgICB9XG4gIH1cblxuICBnZXRSZWZ1bmRMaXN0UmVhc29uKHJlZnVuZExpc3RSZWFzb246IGFueSkge1xuICAgIGlmICh0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuaXNGcm9tUmVmdW5kU3RhdHVzUGFnZSAmJiAhdGhpcy5wYXltZW50TGliQ29tcG9uZW50LmlzY2FuY2VsQ2xpY2tlZCkge1xuICAgICAgdGhpcy5yZWZ1bmRsaXN0LnJlYXNvbiA9IHJlZnVuZExpc3RSZWFzb24ucmVhc29uO1xuICAgICAgdGhpcy5yZWZ1bmRDb2RlID0gcmVmdW5kTGlzdFJlYXNvbi5jb2RlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmlzUmVmdW5kQnRuRGlzYWJsZWQgPSB0cnVlO1xuICAgIH1cbiAgICB0aGlzLnZpZXdOYW1lID0gJ3Jldmlld2FuZHN1Ym1pdHZpZXcnO1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5DQ0RfQ0FTRV9OVU1CRVIgPSB0aGlzLmNjZENhc2VOdW1iZXI7XG4gIH1cblxuICBnZXRSZWZ1bmRBbW91bnQoYW1vdW50OiBudW1iZXIpIHtcbiAgICBpZiAodGhpcy5wYXltZW50TGliQ29tcG9uZW50LmlzRnJvbVJlZnVuZFN0YXR1c1BhZ2UgJiYgIXRoaXMucGF5bWVudExpYkNvbXBvbmVudC5pc2NhbmNlbENsaWNrZWQpIHtcbiAgICAgIGlmIChhbW91bnQgPiAwKSB7XG4gICAgICAgIHRoaXMuY2hhbmdlZEFtb3VudCA9IGFtb3VudDtcbiAgICAgICAgLy8gdGhpcy5yZWZ1bmRsaXN0LmFtb3VudCA9IGFtb3VudDtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pc1JlZnVuZEJ0bkRpc2FibGVkID0gdHJ1ZTtcbiAgICB9XG4gICAgdGhpcy52aWV3TmFtZSA9ICdyZXZpZXdhbmRzdWJtaXR2aWV3JztcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuQ0NEX0NBU0VfTlVNQkVSID0gdGhpcy5jY2RDYXNlTnVtYmVyO1xuICB9XG5cbiAgZ290b1Jldmlld1JlZnVuZENvbmZpcm1hdGlvblBhZ2UoKSB7XG4gICAgaWYgKHRoaXMub2xkUmVmdW5kUmVhc29uID09PSB0aGlzLnJlZnVuZGxpc3QucmVhc29uKSB7XG4gICAgICB0aGlzLnJlZnVuZENvZGUgPSAnJztcbiAgICB9XG4gICAgY29uc3QgcmVzdWJtaXRSZXF1ZXN0ID0gbmV3IElSZXN1Ym1pdFJlZnVuZFJlcXVlc3QodGhpcy5yZWZ1bmRDb2RlLCAgdGhpcy5jaGFuZ2VkQW1vdW50KTtcbiAgICB0aGlzLnJlZnVuZFNlcnZpY2UucGF0Y2hSZXN1Ym1pdFJlZnVuZChyZXN1Ym1pdFJlcXVlc3QsIHRoaXMucmVmdW5kbGlzdC5yZWZ1bmRfcmVmZXJlbmNlKS5zdWJzY3JpYmUoXG4gICAgICByZXNwb25zZSA9PiB7XG4gICAgICAgIGlmIChKU09OLnBhcnNlKHJlc3BvbnNlKSkge1xuICAgICAgICAgIHRoaXMucmVmdW5kUmVmZXJlbmNlID0gSlNPTi5wYXJzZShyZXNwb25zZSkucmVmdW5kX3JlZmVyZW5jZTtcbiAgICAgICAgICB0aGlzLnJlZnVuZEFtb3VudCA9IEpTT04ucGFyc2UocmVzcG9uc2UpLnJlZnVuZF9hbW91bnQ7XG4gICAgICAgICAgdGhpcy52aWV3TmFtZSA9ICdyZXZpZXdyZWZ1bmRjb25maXJtYXRpb25wYWdlJztcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIChlcnJvcjogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gZXJyb3IucmVwbGFjZSgvXCIvZyxcIlwiKTtcbiAgICAgIH1cbiAgICApO1xuXG4gIH1cblxuICBnb1RvUmVmdW5kUHJvY2Vzc0NvbXBvbmVudChyZWZ1bmRSZWZlcmVuY2U6IHN0cmluZywgcmVmdW5kTGlzdDogSVJlZnVuZExpc3QpIHtcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQucmVmdW5kbGlzdHNvdXJjZSA9IHJlZnVuZExpc3Q7XG4gICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LnJlZnVuZFJlZmVyZW5jZSA9IHJlZnVuZFJlZmVyZW5jZTtcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQudmlld05hbWUgPSAncHJvY2Vzcy1yZWZ1bmQnO1xuICB9XG5cbn1cbiJdfQ==
590
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmdW5kLXN0YXR1cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvY2NwYXktd2ViLWNvbXBvbmVudC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3JlZnVuZC1zdGF0dXMvcmVmdW5kLXN0YXR1cy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxXQUFXLEVBQXFCLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDdEYsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBR3RFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztJQUM1RCxjQUFjLEdBQUcsdUJBQXVCO0FBRTlDO0lBMENFLCtCQUFvQixXQUF3QixFQUNsQyxhQUE2QixFQUM3QixtQkFBd0MsRUFDeEMsa0JBQXNDLEVBQ3RDLE1BQWMsRUFDZCxpQkFBb0M7UUFMOUMsaUJBS21EO1FBTC9CLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ2xDLGtCQUFhLEdBQWIsYUFBYSxDQUFnQjtRQUM3Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUF6Q2xCLHNCQUFpQixHQUFhLEVBQUUsQ0FB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QUFxQzs7SUFDckMsNkNBQTJCOztJQUMzQiw2Q0FBb0I7O0lBQ3BCLHlDQUFpQjs7SUFDakIsNkNBQXFCOztJQUNyQiwyQ0FBd0I7O0lBQ3hCLG1EQUEyQjs7SUFDM0IscURBQThCOztJQUM5QixrREFBK0I7O0lBQy9CLDhDQUErQjs7SUFDL0IsOENBQStCOztJQUMvQiwrQ0FBZ0M7O0lBQ2hDLDREQUE2Qzs7SUFDN0MsK0NBQWdDOztJQUNoQyw4Q0FBMEI7O0lBQzFCLHNEQUF1Qzs7SUFDdkMsZ0RBQXdCOztJQUN4Qiw2Q0FBcUI7O0lBQ3JCLDJDQUFtQjs7SUFDbkIsb0RBQW9DOztJQUNwQyxnREFBd0I7O0lBQ3hCLDZDQUFxQjs7SUFDckIsK0NBQXVCOztJQUN2QiwyREFBMkM7O0lBQzNDLGdEQUFpQzs7SUFDakMsOENBQXNCOztJQUN0QiwyREFBNkU7O0lBOEQ3RSxnRUFJQzs7Ozs7SUFoRVcsNENBQWdDOzs7OztJQUMxQyw4Q0FBcUM7Ozs7O0lBQ3JDLG9EQUFnRDs7Ozs7SUFDaEQsbURBQThDOzs7OztJQUM5Qyx1Q0FBc0I7Ozs7O0lBQ3RCLGtEQUE0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVmdW5kc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9yZWZ1bmRzL3JlZnVuZHMuc2VydmljZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzLCBGb3JtQ29udHJvbCwgUmVxdWlyZWRWYWxpZGF0b3IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJUmVmdW5kTGlzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVJlZnVuZExpc3QnO1xuaW1wb3J0IHsgUGF5bWVudFZpZXdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcGF5bWVudC12aWV3L3BheW1lbnQtdmlldy5zZXJ2aWNlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBPcmRlcnNsaXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL29yZGVyc2xpc3Quc2VydmljZSc7XG5pbXBvcnQgeyBJUmVmdW5kUmVhc29ucyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVJlZnVuZFJlYXNvbnMnO1xuaW1wb3J0IHsgSVJlZnVuZFN0YXR1cyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVJlZnVuZFN0YXR1cyc7XG5pbXBvcnQgeyBJUmVzdWJtaXRSZWZ1bmRSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JUmVzdWJtaXRSZWZ1bmRSZXF1ZXN0JztcbmltcG9ydCB7IFBheW1lbnRMaWJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9wYXltZW50LWxpYi5jb21wb25lbnQnO1xuY29uc3QgQlNfRU5BQkxFX0ZMQUcgPSAnYnVsay1zY2FuLWVuYWJsaW5nLWZlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NwYXktcmVmdW5kLXN0YXR1cycsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZWZ1bmQtc3RhdHVzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVmdW5kLXN0YXR1cy5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUmVmdW5kU3RhdHVzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCdMT0dHRURJTlVTRVJST0xFUycpIExPR0dFRElOVVNFUlJPTEVTOiBzdHJpbmdbXSA9IFtdO1xuICBASW5wdXQoKSBpc09sZFBjaXBhbE9mZjogYm9vbGVhbjtcbiAgQElucHV0KCkgaXNOZXdQY2lwYWxPZmY6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGNjZENhc2VOdW1iZXI6IHN0cmluZztcbiAgQElucHV0KCkgaXNUdXJuT2ZmOiBib29sZWFuO1xuICByZWZ1bmRTdGF0dXNGb3JtOiBGb3JtR3JvdXA7XG4gIHNlbGVjdGVkUmVmdW5kUmVhc29uOiBzdHJpbmc7XG4gIHJlamVjdGVkUmVmdW5kTGlzdDogSVJlZnVuZExpc3RbXSA9IFtdO1xuICBhcHByb3ZhbFN0YXR1cyA9ICdzZW50IGZvciBhcHByb3ZhbCc7XG4gIHJlamVjdFN0YXR1cyA9ICdzZW50IGJhY2snO1xuICBlcnJvck1lc3NhZ2UgPSBudWxsO1xuICB2aWV3TmFtZTogc3RyaW5nO1xuICByZWZ1bmRSZWFzb246IHN0cmluZztcbiAgcmVmdW5kbGlzdDogSVJlZnVuZExpc3Q7XG4gIGJzUGF5bWVudERjbk51bWJlcjogc3RyaW5nO1xuICBpc0NhbGxGcm9tUmVmdW5kTGlzdDogYm9vbGVhbjtcbiAgcmVmdW5kQnV0dG9uU3RhdGU6IHN0cmluZyA9ICcnO1xuICBpc0Ftb3VudEVtcHR5OiBib29sZWFuID0gZmFsc2U7XG4gIGlzUmVhc29uRW1wdHk6IGJvb2xlYW4gPSBmYWxzZTtcbiAgYW1vdW50SGFzRXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNSZW1pc3Npb25MZXNzVGhhbkZlZUVycm9yOiBib29sZWFuID0gZmFsc2U7XG4gIHJlZnVuZEhhc0Vycm9yOiBib29sZWFuID0gZmFsc2U7XG4gIHJlZnVuZFJlYXNvbnM6IGFueVtdID0gW107XG4gIHJlZnVuZFN0YXR1c0hpc3RvcmllczogSVJlZnVuZFN0YXR1c1tdO1xuICByZWZ1bmRSZWZlcmVuY2U6IHN0cmluZztcbiAgcmVmdW5kQW1vdW50OiBzdHJpbmc7XG4gIHJlZnVuZENvZGU6IHN0cmluZztcbiAgaXNSZWZ1bmRCdG5EaXNhYmxlZDogYm9vbGVhbiA9IHRydWU7XG4gIG9sZFJlZnVuZFJlYXNvbjogc3RyaW5nO1xuICByZWZ1bmRyZWFzb246IHN0cmluZztcbiAgbmF2aWdhdGlvbnBhZ2U6IHN0cmluZztcbiAgaXNMYXN0VXBkYXRlZEJ5Q3VycmVudFVzZXI6IGJvb2xlYW4gPSB0cnVlO1xuICBpc1Byb2Nlc3NSZWZ1bmQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgY2hhbmdlZEFtb3VudDogbnVtYmVyO1xuICBhbGxvd2VkUm9sZXNUb0FjY2Vzc1JlZnVuZCA9IFsncGF5bWVudHMtcmVmdW5kLWFwcHJvdmVyJywgJ3BheW1lbnRzLXJlZnVuZCddO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgcmVmdW5kU2VydmljZTogUmVmdW5kc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBwYXltZW50TGliQ29tcG9uZW50OiBQYXltZW50TGliQ29tcG9uZW50LFxuICAgIHByaXZhdGUgcGF5bWVudFZpZXdTZXJ2aWNlOiBQYXltZW50Vmlld1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIE9yZGVyc2xpc3RTZXJ2aWNlOiBPcmRlcnNsaXN0U2VydmljZSkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG5cbiAgICBpZiAodGhpcy5jaGVjazRBbGxvd2VkUm9sZXMyQWNjZXNzUmVmdW5kKCkpIHtcbiAgICB0aGlzLnJlc2V0UmVtaXNzaW9uRm9ybShbZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2VdLCAnQWxsJyk7XG4gICAgdGhpcy5ic1BheW1lbnREY25OdW1iZXIgPSB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuYnNwYXltZW50ZGNuO1xuICAgIHRoaXMuaXNDYWxsRnJvbVJlZnVuZExpc3QgPSB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuaXNDYWxsRnJvbVJlZnVuZExpc3Q7XG4gICAgLy8gaWYodGhpcy5wYXltZW50TGliQ29tcG9uZW50LmlzRnJvbVJlZnVuZFN0YXR1c1BhZ2UpIHtcbiAgICAvLyAgIHRoaXMudmlld05hbWUgPSAncmV2aWV3YW5kc3VibWl0dmlldyc7XG4gICAgLy8gfVxuICAgIGlmICh0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuaXNSZWZ1bmRTdGF0dXNWaWV3KSB7XG4gICAgICB0aGlzLnZpZXdOYW1lID0gJ3JlZnVuZHZpZXcnO1xuICAgICAgdGhpcy5PcmRlcnNsaXN0U2VydmljZS5nZXRSZWZ1bmRWaWV3KCkuc3Vic2NyaWJlKChkYXRhKSA9PiB0aGlzLnJlZnVuZGxpc3QgPSBkYXRhKTtcbiAgICAgIHRoaXMuT3JkZXJzbGlzdFNlcnZpY2UuZ2V0Q0NEQ2FzZU51bWJlcmZvclJlZnVuZC5zdWJzY3JpYmUoKGRhdGEpID0+IHRoaXMuY2NkQ2FzZU51bWJlciA9IGRhdGEpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZpZXdOYW1lID0gJ3JlZnVuZHN0YXR1c2xpc3QnO1xuICAgICAgdGhpcy5yZWZ1bmRTZXJ2aWNlLmdldFJlZnVuZFN0YXR1c0xpc3QodGhpcy5jY2RDYXNlTnVtYmVyKS5zdWJzY3JpYmUoXG4gICAgICAgIHJlZnVuZExpc3QgPT4ge1xuICAgICAgICAgIHRoaXMucmVqZWN0ZWRSZWZ1bmRMaXN0ID0gcmVmdW5kTGlzdFsncmVmdW5kX2xpc3QnXTtcbiAgICAgICAgfVxuICAgICAgKSxcbiAgICAgICAgKGVycm9yOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IGVycm9yLnJlcGxhY2UoL1wiL2csXCJcIik7XG4gICAgICAgIH07XG4gICAgfVxuXG5cbiAgICB0aGlzLnJlZnVuZFN0YXR1c0Zvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgIGFtb3VudDogbmV3IEZvcm1Db250cm9sKCcnLCBWYWxpZGF0b3JzLmNvbXBvc2UoW1xuICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgICBWYWxpZGF0b3JzLnBhdHRlcm4oJ15bMC05XSsoXFwuWzAtOV17MSwyfSk/JCcpXG4gICAgICBdKSksXG4gICAgICByZWZ1bmRSZWFzb246IG5ldyBGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSkpLFxuICAgICAgcmVhc29uOiBuZXcgRm9ybUNvbnRyb2woKVxuICAgIH0pO1xuXG4gICAgaWYodGhpcy5yZWZ1bmRsaXN0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuZ2V0UmVmdW5kc1N0YXR1c0hpc3RvcnlMaXN0KCk7XG5cbiAgICAgIGlmICh0aGlzLkxPR0dFRElOVVNFUlJPTEVTLnNvbWUoaSA9PiBpLmluY2x1ZGVzKCdwYXltZW50cy1yZWZ1bmQtYXBwcm92ZXInKSkpIHtcbiAgICAgICAgdGhpcy5pc1Byb2Nlc3NSZWZ1bmQgPSB0cnVlO1xuICAgICAgICB0aGlzLnJlZnVuZEJ1dHRvblN0YXRlID0gdGhpcy5yZWZ1bmRsaXN0LnJlZnVuZF9zdGF0dXMubmFtZTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICBcbiAgICAgIGlmICh0aGlzLkxPR0dFRElOVVNFUlJPTEVTLnNvbWUoaSA9PiBpLmluY2x1ZGVzKCdwYXltZW50cy1yZWZ1bmQnKSkpIHtcbiAgICAgICAgdGhpcy5pc1Byb2Nlc3NSZWZ1bmQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5yZWZ1bmRCdXR0b25TdGF0ZSA9IHRoaXMucmVmdW5kbGlzdC5yZWZ1bmRfc3RhdHVzLm5hbWU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIFxuICB9XG5cbiAgY2hlY2s0QWxsb3dlZFJvbGVzMkFjY2Vzc1JlZnVuZCA9ICgpOiBib29sZWFuID0+IHtcbiAgICByZXR1cm4gdGhpcy5hbGxvd2VkUm9sZXNUb0FjY2Vzc1JlZnVuZC5zb21lKHJvbGUgPT5cbiAgICAgIHRoaXMuTE9HR0VESU5VU0VSUk9MRVMuaW5kZXhPZihyb2xlKSAhPT0gLTFcbiAgICApO1xuICB9XG5cblxuICBnZXRSZWZ1bmRzU3RhdHVzSGlzdG9yeUxpc3QoKSB7XG4gICAgaWYodGhpcy5yZWZ1bmRsaXN0ICE9PSB1bmRlZmluZWQpIHtcbiAgICB0aGlzLnJlZnVuZFNlcnZpY2UuZ2V0UmVmdW5kU3RhdHVzSGlzdG9yeSh0aGlzLnJlZnVuZGxpc3QucmVmdW5kX3JlZmVyZW5jZSkuc3Vic2NyaWJlKFxuICAgICAgc3RhdHVzSGlzdG9yeUxpc3QgPT4ge1xuICAgICAgICB0aGlzLnJlZnVuZFN0YXR1c0hpc3RvcmllcyA9IHN0YXR1c0hpc3RvcnlMaXN0LnN0YXR1c19oaXN0b3J5X2R0b19saXN0O1xuICAgICAgICB0aGlzLmlzTGFzdFVwZGF0ZWRCeUN1cnJlbnRVc2VyID0gc3RhdHVzSGlzdG9yeUxpc3QubGFzdF91cGRhdGVkX2J5X2N1cnJlbnRfdXNlcjtcbiAgICAgIH1cbiAgICApLFxuICAgICAgKGVycm9yOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSBlcnJvci5yZXBsYWNlKC9cIi9nLFwiXCIpO1xuICAgICAgfTsgXG4gICAgfVxuICB9XG5cbiAgZ29Ub1JlZnVuZFZpZXcocmVmdW5kbGlzdDogSVJlZnVuZExpc3QsIG5hdmlnYXRpb25wYWdlOiBzdHJpbmcpIHtcbiAgICB0aGlzLk9yZGVyc2xpc3RTZXJ2aWNlLnNldFJlZnVuZFZpZXcocmVmdW5kbGlzdCk7XG4gICAgdGhpcy5PcmRlcnNsaXN0U2VydmljZS5zZXRDQ0RDYXNlTnVtYmVyKHRoaXMuY2NkQ2FzZU51bWJlcik7XG4gICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LnZpZXdOYW1lID0gJ3JlZnVuZHN0YXR1c2xpc3QnO1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5pc1JlZnVuZFN0YXR1c1ZpZXcgPSB0cnVlO1xuICAgIHRoaXMucmVmdW5kbGlzdCA9IHJlZnVuZGxpc3Q7XG4gICAgdGhpcy5PcmRlcnNsaXN0U2VydmljZS5zZXRuYXZpZ2F0aW9uUGFnZShuYXZpZ2F0aW9ucGFnZSk7XG4gIH1cblxuICBsb2FkQ2FzZVRyYW5zYWN0aW9uUGFnZSgpIHtcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuaXNSZWZ1bmRTdGF0dXNWaWV3ID0gZmFsc2U7XG4gICAgLy90aGlzLnBheW1lbnRMaWJDb21wb25lbnQuVEFLRVBBWU1FTlQgPSB0cnVlO1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC52aWV3TmFtZSA9ICdjYXNlLXRyYW5zYWN0aW9ucyc7XG4gICAgdGhpcy5wYXltZW50Vmlld1NlcnZpY2UuZ2V0QlNmZWF0dXJlKCkuc3Vic2NyaWJlKFxuICAgICAgZmVhdHVyZXMgPT4ge1xuICAgICAgICBsZXQgcmVzdWx0ID0gSlNPTi5wYXJzZShmZWF0dXJlcykuZmlsdGVyKGZlYXR1cmUgPT4gZmVhdHVyZS51aWQgPT09IEJTX0VOQUJMRV9GTEFHKTtcbiAgICAgICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LklTQlNFTkFCTEUgPSByZXN1bHRbMF0gPyByZXN1bHRbMF0uZW5hYmxlIDogZmFsc2U7XG4gICAgICB9LFxuICAgICAgZXJyID0+IHtcbiAgICAgICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LklTQlNFTkFCTEUgPSBmYWxzZTtcbiAgICAgIH1cbiAgICApO1xuXG4gICAgbGV0IHBhcnRVcmwgPSBgc2VsZWN0ZWRPcHRpb249JHt0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuU0VMRUNURURfT1BUSU9OfWA7XG4gICAgcGFydFVybCArPSB0aGlzLmJzUGF5bWVudERjbk51bWJlciA/IGAmZGNuPSR7dGhpcy5ic1BheW1lbnREY25OdW1iZXJ9YCA6ICcnO1xuICAgIHBhcnRVcmwgKz0gdGhpcy5wYXltZW50TGliQ29tcG9uZW50LklTQlNFTkFCTEUgPyAnJmlzQnVsa1NjYW5uaW5nPUVuYWJsZScgOiAnJmlzQnVsa1NjYW5uaW5nPURpc2FibGUnO1xuICAgIHBhcnRVcmwgKz0gdGhpcy5wYXltZW50TGliQ29tcG9uZW50LklTVFVSTk9GRiA/ICcmaXNUdXJuT2ZmPUVuYWJsZScgOiAnJmlzVHVybk9mZj1EaXNhYmxlJztcbiAgICBwYXJ0VXJsICs9IHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5JU1NGRU5BQkxFID8gJyZpc1N0Rml4RW5hYmxlPUVuYWJsZScgOiAnJmlzU3RGaXhFbmFibGU9RGlzYWJsZSc7XG4gICAgcGFydFVybCArPSBgJmNhc2VUeXBlPSR7dGhpcy5wYXltZW50TGliQ29tcG9uZW50LkNBU0VUWVBFfWA7XG4gICAgcGFydFVybCArPSB0aGlzLmlzTmV3UGNpcGFsT2ZmID8gJyZpc05ld1BjaXBhbE9mZj1FbmFibGUnIDogJyZpc05ld1BjaXBhbE9mZj1EaXNhYmxlJztcbiAgICBwYXJ0VXJsICs9IHRoaXMuaXNPbGRQY2lwYWxPZmYgPyAnJmlzT2xkUGNpcGFsT2ZmPUVuYWJsZScgOiAnJmlzT2xkUGNpcGFsT2ZmPURpc2FibGUnO1xuICAgIGxldCB1cmwgPSBgL3BheW1lbnQtaGlzdG9yeS8ke3RoaXMuY2NkQ2FzZU51bWJlcn0/dmlldz1jYXNlLXRyYW5zYWN0aW9ucyZ0YWtlUGF5bWVudD0ke3RoaXMucGF5bWVudExpYkNvbXBvbmVudC5UQUtFUEFZTUVOVH0mJHtwYXJ0VXJsfWA7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh1cmwpO1xuICB9XG5cbiAgbG9hZFJlZnVuZExpc3RQYWdlKCkge1xuICAgIHRoaXMuT3JkZXJzbGlzdFNlcnZpY2UuZ2V0bmF2aWdhdGlvblBhZ2VWYWx1ZSgpLnN1YnNjcmliZSgoZGF0YSkgPT4gdGhpcy5uYXZpZ2F0aW9ucGFnZSA9IGRhdGEpO1xuICAgIGlmICh0aGlzLm5hdmlnYXRpb25wYWdlID09PSAnY2FzZXRyYW5zYWN0aW9ucycpIHtcbiAgICAgIHRoaXMubG9hZENhc2VUcmFuc2FjdGlvblBhZ2UoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LnZpZXdOYW1lID0gJ3JlZnVuZC1saXN0JztcbiAgICB9XG4gIH1cblxuICBnb3RvUmV2aWV3RGV0YWlsc1BhZ2UoZXZlbnQ6YW55KSB7XG4gICAvLyBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gZmFsc2U7XG4gICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LmlzUmVmdW5kU3RhdHVzVmlldyA9IHRydWU7XG4gICAgdGhpcy5uZ09uSW5pdCgpO1xuICAgIC8vIHRoaXMudmlld05hbWU9J3JlZnVuZHZpZXcnO1xuICAgIC8vIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5DQ0RfQ0FTRV9OVU1CRVIgPSB0aGlzLmNjZENhc2VOdW1iZXI7XG4gICAgLy8gdGhpcy5wYXltZW50TGliQ29tcG9uZW50LmlzUmVmdW5kU3RhdHVzVmlldyA9IHRydWU7XG4gICAgLy8gdGhpcy5wYXltZW50TGliQ29tcG9uZW50LmlzQ2FsbEZyb21SZWZ1bmRMaXN0ID0gdHJ1ZTtcbiAgfVxuXG4gIGdvdG9SZXZpZXdBbmRSZVN1Ym1pdFBhZ2UoKSB7XG4gICAgdGhpcy52aWV3TmFtZSA9ICdyZXZpZXdhbmRzdWJtaXR2aWV3JztcbiAgICB0aGlzLm9sZFJlZnVuZFJlYXNvbiA9IHRoaXMucmVmdW5kbGlzdC5yZWFzb247XG4gICAgdGhpcy5jaGFuZ2VkQW1vdW50ID0gdGhpcy5yZWZ1bmRsaXN0LmFtb3VudDtcbiAgICB0aGlzLnJlZnVuZHJlYXNvbiA9IHRoaXMucmVmdW5kU3RhdHVzSGlzdG9yaWVzLmZpbHRlcihkYXRhID0+IGRhdGEuc3RhdHVzID09PSAnc2VudGJhY2snKVswXS5ub3RlcztcbiAgICB0aGlzLnJlZnVuZFNlcnZpY2UuZ2V0UmVmdW5kUmVhc29ucygpLnN1YnNjcmliZShcbiAgICAgIHJlZnVuZFJlYXNvbnMgPT4ge1xuICAgICAgICB0aGlzLnJlZnVuZFJlYXNvbnMgPSByZWZ1bmRSZWFzb25zO1xuICAgICAgfSk7XG4gIH1cbiAgZ290b1JlZnVuZFJlYXNvblBhZ2UoKSB7XG4gICAgdGhpcy5pc1JlZnVuZEJ0bkRpc2FibGVkID0gZmFsc2U7XG4gICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LlJFRlVORExJU1QgPSBcInRydWVcIjtcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuaXNGcm9tUmVmdW5kU3RhdHVzUGFnZSA9IHRydWU7XG4gICAgdGhpcy5jY2RDYXNlTnVtYmVyID0gdGhpcy5wYXltZW50TGliQ29tcG9uZW50LkNDRF9DQVNFX05VTUJFUjtcbiAgICB0aGlzLmVycm9yTWVzc2FnZSA9IGZhbHNlO1xuICAgIHRoaXMudmlld05hbWUgPSAnaXNzdWVyZWZ1bmQnO1xuICB9XG5cbiAgZ290b0Ftb3VudFBhZ2UoKSB7XG4gICAgdGhpcy5lcnJvck1lc3NhZ2UgPSBmYWxzZTtcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuUkVGVU5ETElTVCA9IFwidHJ1ZVwiO1xuICAgIHRoaXMuaXNSZWZ1bmRCdG5EaXNhYmxlZCA9IGZhbHNlO1xuICAgIHRoaXMuY2NkQ2FzZU51bWJlciA9IHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5DQ0RfQ0FTRV9OVU1CRVI7XG4gICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LmlzRnJvbVJlZnVuZFN0YXR1c1BhZ2UgPSB0cnVlO1xuICAgIHRoaXMudmlld05hbWUgPSAncHJvY2Vzc3JldHJvcmVtaXNzb25wYWdlJztcbiAgfVxuXG4gIGdvVG9SZXZpZXdBbmRTdWJtaXRWaWV3KCkge1xuICAgIGNvbnN0IHJlbWlzc2lvbmN0cmxzID0gdGhpcy5yZWZ1bmRTdGF0dXNGb3JtLmNvbnRyb2xzXG4gICAgaWYgKHRoaXMucmVmdW5kU3RhdHVzRm9ybS5kaXJ0eSkge1xuICAgICAgaWYgKHJlbWlzc2lvbmN0cmxzWydhbW91bnQnXS52YWx1ZSA9PSAnJykge1xuICAgICAgICB0aGlzLnJlc2V0UmVtaXNzaW9uRm9ybShbdHJ1ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZV0sICdhbW91bnQnKTtcbiAgICAgIH1cbiAgICAgIGVsc2UgaWYgKHJlbWlzc2lvbmN0cmxzWydhbW91bnQnXS52YWx1ZSAhPSAnJyAmJiByZW1pc3Npb25jdHJsc1snYW1vdW50J10uaW52YWxpZCkge1xuICAgICAgICB0aGlzLnJlc2V0UmVtaXNzaW9uRm9ybShbZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZV0sICdhbW91bnQnKTtcbiAgICAgIH1cbiAgICAgIGVsc2UgaWYgKHJlbWlzc2lvbmN0cmxzWydyZWFzb24nXS52YWx1ZSA9PSAnJykge1xuICAgICAgICB0aGlzLnJlc2V0UmVtaXNzaW9uRm9ybShbZmFsc2UsIGZhbHNlLCBmYWxzZSwgdHJ1ZV0sICdyZWFzb24nKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucmVmdW5kbGlzdC5yZWFzb24gPSByZW1pc3Npb25jdHJsc1sncmVhc29uJ10udmFsdWU7XG4gICAgICAgIHRoaXMudmlld05hbWUgPSAncmV2aWV3YW5kc3VibWl0dmlldyc7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICByZXNldFJlbWlzc2lvbkZvcm0odmFsLCBmaWVsZCkge1xuICAgIGlmIChmaWVsZCA9PT0gJ0FsbCcpIHtcbiAgICAgIHRoaXMuaXNBbW91bnRFbXB0eSA9IHZhbFswXTtcbiAgICAgIHRoaXMuYW1vdW50SGFzRXJyb3IgPSB2YWxbMV07XG4gICAgICB0aGlzLmlzUmVtaXNzaW9uTGVzc1RoYW5GZWVFcnJvciA9IHZhbFsyXTtcbiAgICAgIHRoaXMuaXNSZWFzb25FbXB0eSA9IHZhbFszXTtcbiAgICB9IGVsc2UgaWYgKGZpZWxkID09PSAnYW1vdW50JyB8fCBmaWVsZCA9PT0gJ0FsbCcpIHtcbiAgICAgIHRoaXMuaXNBbW91bnRFbXB0eSA9IHZhbFswXTtcbiAgICAgIHRoaXMuYW1vdW50SGFzRXJyb3IgPSB2YWxbMV07XG4gICAgICB0aGlzLmlzUmVtaXNzaW9uTGVzc1RoYW5GZWVFcnJvciA9IHZhbFsyXTtcbiAgICB9IGVsc2UgaWYgKGZpZWxkID09PSAncmVhc29uJyB8fCBmaWVsZCA9PT0gJ0FsbCcpIHtcbiAgICAgIHRoaXMuaXNSZWFzb25FbXB0eSA9IHZhbFszXTtcbiAgICB9XG4gIH1cblxuICBzZWxlY3RSYWRpb0J1dHRvbihrZXksIHZhbHVlKSB7XG4gICAgdGhpcy5yZWZ1bmRIYXNFcnJvciA9IGZhbHNlO1xuICAgIHRoaXMuc2VsZWN0ZWRSZWZ1bmRSZWFzb24gPSBrZXk7XG4gICAgaWYgKGtleSA9PT0gJ090aGVyJykge1xuICAgICAgdGhpcy5yZWZ1bmRIYXNFcnJvciA9IGZhbHNlO1xuICAgICAgdGhpcy5yZWZ1bmRSZWFzb24gPSBrZXk7XG4gICAgfVxuICB9XG5cbiAgZ2V0UmVmdW5kTGlzdFJlYXNvbihyZWZ1bmRMaXN0UmVhc29uOiBhbnkpIHtcbiAgICBpZiAodGhpcy5wYXltZW50TGliQ29tcG9uZW50LmlzRnJvbVJlZnVuZFN0YXR1c1BhZ2UgJiYgIXRoaXMucGF5bWVudExpYkNvbXBvbmVudC5pc2NhbmNlbENsaWNrZWQpIHtcbiAgICAgIHRoaXMucmVmdW5kbGlzdC5yZWFzb24gPSByZWZ1bmRMaXN0UmVhc29uLnJlYXNvbjtcbiAgICAgIHRoaXMucmVmdW5kQ29kZSA9IHJlZnVuZExpc3RSZWFzb24uY29kZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pc1JlZnVuZEJ0bkRpc2FibGVkID0gdHJ1ZTtcbiAgICB9XG4gICAgdGhpcy52aWV3TmFtZSA9ICdyZXZpZXdhbmRzdWJtaXR2aWV3JztcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuQ0NEX0NBU0VfTlVNQkVSID0gdGhpcy5jY2RDYXNlTnVtYmVyO1xuICB9XG5cbiAgZ2V0UmVmdW5kQW1vdW50KGFtb3VudDogbnVtYmVyKSB7XG4gICAgaWYgKHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5pc0Zyb21SZWZ1bmRTdGF0dXNQYWdlICYmICF0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuaXNjYW5jZWxDbGlja2VkKSB7XG4gICAgICBpZiAoYW1vdW50ID4gMCkge1xuICAgICAgICB0aGlzLmNoYW5nZWRBbW91bnQgPSBhbW91bnQ7XG4gICAgICAgIC8vIHRoaXMucmVmdW5kbGlzdC5hbW91bnQgPSBhbW91bnQ7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaXNSZWZ1bmRCdG5EaXNhYmxlZCA9IHRydWU7XG4gICAgfVxuICAgIHRoaXMudmlld05hbWUgPSAncmV2aWV3YW5kc3VibWl0dmlldyc7XG4gICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LkNDRF9DQVNFX05VTUJFUiA9IHRoaXMuY2NkQ2FzZU51bWJlcjtcbiAgfVxuXG4gIGdvdG9SZXZpZXdSZWZ1bmRDb25maXJtYXRpb25QYWdlKCkge1xuICAgIGlmICh0aGlzLm9sZFJlZnVuZFJlYXNvbiA9PT0gdGhpcy5yZWZ1bmRsaXN0LnJlYXNvbikge1xuICAgICAgdGhpcy5yZWZ1bmRDb2RlID0gJyc7XG4gICAgfVxuICAgIGNvbnN0IHJlc3VibWl0UmVxdWVzdCA9IG5ldyBJUmVzdWJtaXRSZWZ1bmRSZXF1ZXN0KHRoaXMucmVmdW5kQ29kZSwgIHRoaXMuY2hhbmdlZEFtb3VudCk7XG4gICAgdGhpcy5yZWZ1bmRTZXJ2aWNlLnBhdGNoUmVzdWJtaXRSZWZ1bmQocmVzdWJtaXRSZXF1ZXN0LCB0aGlzLnJlZnVuZGxpc3QucmVmdW5kX3JlZmVyZW5jZSkuc3Vic2NyaWJlKFxuICAgICAgcmVzcG9uc2UgPT4ge1xuICAgICAgICBpZiAoSlNPTi5wYXJzZShyZXNwb25zZSkpIHtcbiAgICAgICAgICB0aGlzLnJlZnVuZFJlZmVyZW5jZSA9IEpTT04ucGFyc2UocmVzcG9uc2UpLnJlZnVuZF9yZWZlcmVuY2U7XG4gICAgICAgICAgdGhpcy5yZWZ1bmRBbW91bnQgPSBKU09OLnBhcnNlKHJlc3BvbnNlKS5yZWZ1bmRfYW1vdW50O1xuICAgICAgICAgIHRoaXMudmlld05hbWUgPSAncmV2aWV3cmVmdW5kY29uZmlybWF0aW9ucGFnZSc7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICAoZXJyb3I6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IGVycm9yLnJlcGxhY2UoL1wiL2csXCJcIik7XG4gICAgICB9XG4gICAgKTtcblxuICB9XG5cbiAgZ29Ub1JlZnVuZFByb2Nlc3NDb21wb25lbnQocmVmdW5kUmVmZXJlbmNlOiBzdHJpbmcsIHJlZnVuZExpc3Q6IElSZWZ1bmRMaXN0KSB7XG4gICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LnJlZnVuZGxpc3Rzb3VyY2UgPSByZWZ1bmRMaXN0O1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5yZWZ1bmRSZWZlcmVuY2UgPSByZWZ1bmRSZWZlcmVuY2U7XG4gICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LnZpZXdOYW1lID0gJ3Byb2Nlc3MtcmVmdW5kJztcbiAgfVxuXG59XG4iXX0=
@@ -257,7 +257,7 @@ var PaymentViewService = /** @class */ (function () {
257
257
  */
258
258
  function (caseNumber) {
259
259
  /** @type {?} */
260
- var url = this.paymentLibService.API_ROOT + "/case-payment-orders?case-ids=" + caseNumber;
260
+ var url = this.paymentLibService.API_ROOT + "/case-payment-orders?case_ids=" + caseNumber;
261
261
  return this.https.get(url, { withCredentials: true }).pipe(catchError(this.errorHandlerService.handleError));
262
262
  };
263
263
  /**
@@ -379,4 +379,4 @@ if (false) {
379
379
  */
380
380
  PaymentViewService.prototype.paymentLibService;
381
381
  }
382
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC12aWV3LnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvY2NwYXktd2ViLWNvbXBvbmVudC8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9wYXltZW50LXZpZXcvcGF5bWVudC12aWV3LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBZSxNQUFNLHNCQUFzQixDQUFDO0FBSS9ELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFXaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7OztBQVF2QztJQVFFLDRCQUFvQixJQUFnQixFQUNoQixLQUE2QixFQUM3QixNQUFxQixFQUNyQixtQkFBd0MsRUFDeEMsaUJBQW9DO1FBSnBDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsVUFBSyxHQUFMLEtBQUssQ0FBd0I7UUFDN0IsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNyQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFSaEQsZUFBVSxHQUFJLG1CQUF1QyxJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsRUFBQSxDQUFDO0lBUXpCLENBQUM7Ozs7OztJQUU3RCw4Q0FBaUI7Ozs7O0lBQWpCLFVBQWtCLGdCQUF3QixFQUFFLGFBQXFCO1FBQy9ELElBQUksQ0FBQyxNQUFNLENBQUMs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QXBKWSxrQkFBa0I7Ozs7OztJQUM3Qix3Q0FBcUY7Ozs7O0lBRXJGLGtDQUFtQjs7Ozs7SUFFUCxrQ0FBd0I7Ozs7O0lBQ3hCLG1DQUFxQzs7Ozs7SUFDckMsb0NBQTZCOzs7OztJQUM3QixpREFBZ0Q7Ozs7O0lBQ2hELCtDQUE0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMvaW50ZXJuYWwvT2JzZXJ2YWJsZSc7XG5cbmltcG9ydCB7SVBheW1lbnR9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVBheW1lbnQnO1xuaW1wb3J0IHtQYXltZW50TGliU2VydmljZX0gZnJvbSAnLi4vLi4vcGF5bWVudC1saWIuc2VydmljZSc7XG5pbXBvcnQgeyBXZWJDb21wb25lbnRIdHRwQ2xpZW50IH0gZnJvbSAnLi4vc2hhcmVkL2h0dHBjbGllbnQvd2ViY29tcG9uZW50Lmh0dHAuY2xpZW50JztcbmltcG9ydCB7IEVycm9ySGFuZGxlclNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvZXJyb3ItaGFuZGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL2xvZ2dlci9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQge0lQYXltZW50R3JvdXB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVBheW1lbnRHcm91cCc7XG5pbXBvcnQgeyBBZGRSZW1pc3Npb25SZXF1ZXN0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9BZGRSZW1pc3Npb25SZXF1ZXN0JztcbmltcG9ydCB7IFBheW1lbnRUb1BheWh1YlJlcXVlc3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL1BheW1lbnRUb1BheWh1YlJlcXVlc3QnO1xuaW1wb3J0IHsgUGF5aHViQW50ZW5uYVJlcXVlc3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL1BheWh1YkFudGVubmFSZXF1ZXN0JztcbmltcG9ydCB7IFVuaWRlbnRpZmllZFBheW1lbnRzUmVxdWVzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvVW5pZGVudGlmaWVkUGF5bWVudHNSZXF1ZXN0JztcbmltcG9ydCB7IFVuc29saWNpdGVkUGF5bWVudHNSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9VbnNvbGljaXRlZFBheW1lbnRzUmVxdWVzdCc7XG5pbXBvcnQgeyBNZXRhIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBBbGxvY2F0ZVBheW1lbnRSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9BbGxvY2F0ZVBheW1lbnRSZXF1ZXN0JztcbmltcG9ydCB7IElBbGxvY2F0aW9uUGF5bWVudHNSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JQWxsb2NhdGlvblBheW1lbnRzUmVxdWVzdCc7XG5pbXBvcnQge0lPcmRlclJlZmVyZW5jZUZlZX0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JT3JkZXJSZWZlcmVuY2VGZWUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJc2VydmljZVJlcXVlc3RQYmFQYXltZW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9Jc2VydmljZVJlcXVlc3RQYmFQYXltZW50JztcbmltcG9ydCB7IElzZXJ2aWNlUmVxdWVzdENhcmRQYXltZW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9Jc2VydmljZVJlcXVlc3RDYXJkUGF5bWVudCc7XG5pbXBvcnQgeyBBZGRSZXRyb1JlbWlzc2lvblJlcXVlc3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0FkZFJldHJvUmVtaXNzaW9uUmVxdWVzdCc7XG5pbXBvcnQgeyBQb3N0UmVmdW5kUmV0cm9SZW1pc3Npb24gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL1Bvc3RSZWZ1bmRSZXRyb1JlbWlzc2lvbic7XG5pbXBvcnQgeyBQb3N0SXNzdWVSZWZ1bmRSZXRyb1JlbWlzc2lvbiB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvUG9zdElzc3VlUmVmdW5kUmV0cm9SZW1pc3Npb24nO1xuaW1wb3J0IHsgZXJyb3IgfSBmcm9tICdAYW5ndWxhci9jb21waWxlci9zcmMvdXRpbCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFBheW1lbnRWaWV3U2VydmljZSB7XG4gIHByaXZhdGUgb3JkZXJzTGlzdCAgPSA8QmVoYXZpb3JTdWJqZWN0PElPcmRlclJlZmVyZW5jZUZlZVtdPj5uZXcgQmVoYXZpb3JTdWJqZWN0KFtdKTtcblxuICBwcml2YXRlIG1ldGE6IE1ldGE7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgICAgICAgICAgICBwcml2YXRlIGh0dHBzOiBXZWJDb21wb25lbnRIdHRwQ2xpZW50LFxuICAgICAgICAgICAgICBwcml2YXRlIGxvZ2dlcjogTG9nZ2VyU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBlcnJvckhhbmRsZXJTZXJ2aWNlOiBFcnJvckhhbmRsZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIHBheW1lbnRMaWJTZXJ2aWNlOiBQYXltZW50TGliU2VydmljZSkgeyB9XG5cbiAgZ2V0UGF5bWVudERldGFpbHMocGF5bWVudFJlZmVyZW5jZTogc3RyaW5nLCBwYXltZW50TWV0aG9kOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElQYXltZW50PiB7XG4gICAgdGhpcy5sb2dnZXIuaW5mbygnUGF5bWVudC12aWV3LXNlcnZpY2UgZ2V0UGF5bWVudERldGFpbHMgZm9yOiAnLCBwYXltZW50UmVmZXJlbmNlKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PElQYXltZW50PihwYXltZW50TWV0aG9kID09PSAnY2FyZCcgfHwgcGF5bWVudE1ldGhvZCA9PT0gJ2Nhc2gnIHx8IHBheW1lbnRNZXRob2QgPT09ICdjaGVxdWUnIHx8IHBheW1lbnRNZXRob2QgPT09ICdwb3N0YWwgb3JkZXInID9cbiAgICAgICAgICBgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9jYXJkLXBheW1lbnRzLyR7cGF5bWVudFJlZmVyZW5jZX1gIDpcbiAgICAgICAgICBgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9jcmVkaXQtYWNjb3VudC1wYXltZW50cy8ke3BheW1lbnRSZWZlcmVuY2V9YCwge1xuICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWVcbiAgICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgICApO1xuICB9XG5cbiAgZ2V0UGF5bWVudEdyb3VwRGV0YWlscyhwYXltZW50R3JvdXBSZWZlcmVuY2U6IHN0cmluZyk6IE9ic2VydmFibGU8SVBheW1lbnRHcm91cD4ge1xuICAgIHRoaXMubG9nZ2VyLmluZm8oJ1BheW1lbnQtdmlldy1zZXJ2aWNlIGdldFBheW1lbnRHcm91cERldGFpbHMgZm9yOiAnLCBwYXltZW50R3JvdXBSZWZlcmVuY2UpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8SVBheW1lbnQ+KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3BheW1lbnQtZ3JvdXBzLyR7cGF5bWVudEdyb3VwUmVmZXJlbmNlfWAsIHtcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZVxuICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgICApO1xuICB9XG4gIGdldEFwcG9ydGlvblBheW1lbnREZXRhaWxzKHBheW1lbnRSZWZlcmVuY2U6IHN0cmluZyk6IE9ic2VydmFibGU8SVBheW1lbnRHcm91cD4ge1xuICAgIHRoaXMubG9nZ2VyLmluZm8oJ1BheW1lbnQtdmlldy1zZXJ2aWNlIGdldFBheW1lbnRHcm91cERldGFpbHMgZm9yOiAnLCBwYXltZW50UmVmZXJlbmNlKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PElQYXltZW50PihgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9wYXltZW50LWdyb3Vwcy9mZWUtcGF5LWFwcG9ydGlvbi8ke3BheW1lbnRSZWZlcmVuY2V9YCwge1xuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlXG4gICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICAgICk7XG4gIH1cblxuICBnZXRQQkFhY2NvdW50RGV0YWlscygpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3BiYS1hY2NvdW50c2A7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodXJsLCB7IHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KS5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICAgICk7XG4gIH1cblxuICBwb3N0V2F5czJQYXlDYXJkUGF5bWVudChzZXJ2aWNlUmVmOiBzdHJpbmcsIGJvZHk6IElzZXJ2aWNlUmVxdWVzdENhcmRQYXltZW50KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9zZXJ2aWNlLXJlcXVlc3QvJHtzZXJ2aWNlUmVmfS9jYXJkLXBheW1lbnRzYDtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5wb3N0KHVybCwgYm9keSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG4gIH1cbiAgXG4gIHBvc3RQQkFhY2NvdW50UGF5bWVudChzZXJ2aWNlUmVmOiBzdHJpbmcsIGJvZHk6IElzZXJ2aWNlUmVxdWVzdFBiYVBheW1lbnQpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3NlcnZpY2UtcmVxdWVzdC8ke3NlcnZpY2VSZWZ9L3BiYS1wYXltZW50c2A7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdCh1cmwsIGJvZHkpO1xuICB9XG4gIHBvc3RCU1BheW1lbnRzKGJvZHk6IEFsbG9jYXRlUGF5bWVudFJlcXVlc3QpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBzLnBvc3QoYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcGF5bWVudC1ncm91cHMvYnVsay1zY2FuLXBheW1lbnRzYCwgYm9keSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG4gIH1cbiAgcG9zdEJTVW5pZGVudGlmaWVkUGF5bWVudHMoYm9keTogVW5pZGVudGlmaWVkUGF5bWVudHNSZXF1ZXN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5wb3N0KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3BheW1lbnQtYWxsb2NhdGlvbnNgLCBib2R5KS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbiAgfVxuICBwb3N0QlNVbnNvbGljaXRlZFBheW1lbnRzKGJvZHk6IFVuc29saWNpdGVkUGF5bWVudHNSZXF1ZXN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5wb3N0KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3BheW1lbnQtYWxsb2NhdGlvbnNgLCBib2R5KS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbiAgfVxuICBwb3N0QlNBbGxvY2F0aW9uUGF5bWVudHMoYm9keTogSUFsbG9jYXRpb25QYXltZW50c1JlcXVlc3QpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBzLnBvc3QoYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcGF5bWVudC1hbGxvY2F0aW9uc2AsIGJvZHkpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICApO1xuICB9XG5cbiAgcG9zdFBheW1lbnRHcm91cFdpdGhSZW1pc3Npb25zKHBheW1lbnRHcm91cFJlZmVyZW5jZTogc3RyaW5nLCBmZWVJZDogbnVtYmVyLCBib2R5OiBBZGRSZW1pc3Npb25SZXF1ZXN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5wb3N0KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3BheW1lbnQtZ3JvdXBzLyR7cGF5bWVudEdyb3VwUmVmZXJlbmNlfS9mZWVzLyR7ZmVlSWR9L3JlbWlzc2lvbnNgLCBib2R5KS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbiAgfVxuXG4gIGRlbGV0ZUZlZUZyb21QYXltZW50R3JvdXAoZmVlSWQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmluZm8oJ1BheW1lbnQtdmlldy1zZXJ2aWNlIGRlbGV0ZUZlZUZyb21QYXltZW50R3JvdXAgZm9yOiAnLCBmZWVJZCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMuZGVsZXRlKGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L2ZlZXMvJHtmZWVJZH1gKS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbiAgfVxuICBwb3N0UGF5bWVudFRvUGF5SHViKGJvZHk6IFBheW1lbnRUb1BheWh1YlJlcXVlc3QsIHBheW1lbnRHcm91cFJlZjogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5wb3N0KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3BheW1lbnQtZ3JvdXBzLyR7cGF5bWVudEdyb3VwUmVmfS9jYXJkLXBheW1lbnRzYCwgYm9keSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG4gIH1cblxuICBwb3N0UGF5bWVudEFudGVubmFUb1BheUh1Yihib2R5OiBQYXlodWJBbnRlbm5hUmVxdWVzdCwgcGF5bWVudEdyb3VwUmVmOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBzLnBvc3QoYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcGF5bWVudC1ncm91cHMvJHtwYXltZW50R3JvdXBSZWZ9L3RlbGVwaG9ueS1jYXJkLXBheW1lbnRzYCwgYm9keSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG4gIH1cbiAgZG93bmxvYWRTZWxlY3RlZFJlcG9ydChyZXBvcnROYW1lOiBzdHJpbmcsIHN0YXJ0RGF0ZTogc3RyaW5nLCBlbmREYXRlOnN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcmVwb3J0L2RhdGE/ZGF0ZV9mcm9tPSR7c3RhcnREYXRlfSZkYXRlX3RvPSR7ZW5kRGF0ZX0mcmVwb3J0X3R5cGU9JHtyZXBvcnROYW1lfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMuZ2V0KHVybCwgeyB3aXRoQ3JlZGVudGlhbHM6IHRydWUgfSkucGlwZSggY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpKTtcbiAgfVxuICBnZXRCU2ZlYXR1cmUoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5nZXQoJ2FwaS9wYXltZW50LWhpc3RvcnkvYnVsay1zY2FuLWZlYXR1cmUnLCB7IHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KS5waXBlKCBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcikpO1xuICB9XG4gIGdldFNpdGVJRCgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBzLmdldCgnYXBpL3BheW1lbnQtaGlzdG9yeS9yZWZkYXRhL2xlZ2FjeS1zaXRlcycsIHsgd2l0aENyZWRlbnRpYWxzOiB0cnVlIH0pLnBpcGUoIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKSk7XG4gIH1cbiAgZ2V0UGFydHlEZXRhaWxzKGNhc2VOdW1iZXI6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vY2FzZS1wYXltZW50LW9yZGVycz9jYXNlLWlkcz0ke2Nhc2VOdW1iZXJ9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5nZXQodXJsLCB7IHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KS5waXBlKCBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcikpO1xuICB9XG4gIFxuICBzZXRPcmRlcnNMaXN0KG9yZGVyTGV2ZWxGZWVzOiBJT3JkZXJSZWZlcmVuY2VGZWVbXSk6IHZvaWQge1xuICAgIHRoaXMub3JkZXJzTGlzdC5uZXh0KE9iamVjdC5hc3NpZ24oW10sIG9yZGVyTGV2ZWxGZWVzKSk7XG59XG4gIGdldE9yZGVyc0xpc3QoKSB7XG4gICAgcmV0dXJuIHRoaXMub3JkZXJzTGlzdDtcbiAgfVxuXG4gIC8vaXNzdWUgcmVmdW5kXG4gIHBvc3RSZWZ1bmRzUmVhc29uKGJvZHk6IFBvc3RSZWZ1bmRSZXRyb1JlbWlzc2lvbik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdChgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9yZWZ1bmQtZm9yLXBheW1lbnRgLCBib2R5KS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbiAgfVxuXG4gIC8vIHJldHJvIHJlbWlzc2lvbnNcbiAgcG9zdFBheW1lbnRHcm91cFdpdGhSZXRyb1JlbWlzc2lvbnMocGF5bWVudEdyb3VwUmVmZXJlbmNlOiBzdHJpbmcsIGZlZUlkOiBudW1iZXIsIGJvZHk6IEFkZFJldHJvUmVtaXNzaW9uUmVxdWVzdCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdChgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9wYXltZW50LWdyb3Vwcy8ke3BheW1lbnRHcm91cFJlZmVyZW5jZX0vZmVlcy8ke2ZlZUlkfS9yZXRyby1yZW1pc3Npb25gLCBib2R5KS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbiAgfVxuXG4gIHBvc3RSZWZ1bmRSZXRyb1JlbWlzc2lvbihib2R5OlBvc3RJc3N1ZVJlZnVuZFJldHJvUmVtaXNzaW9uKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdChgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9yZWZ1bmQtcmV0cm8tcmVtaXNzaW9uYCwgYm9keSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
382
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC12aWV3LnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvY2NwYXktd2ViLWNvbXBvbmVudC8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9wYXltZW50LXZpZXcvcGF5bWVudC12aWV3LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBZSxNQUFNLHNCQUFzQixDQUFDO0FBSS9ELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFXaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7OztBQVF2QztJQVFFLDRCQUFvQixJQUFnQixFQUNoQixLQUE2QixFQUM3QixNQUFxQixFQUNyQixtQkFBd0MsRUFDeEMsaUJBQW9DO1FBSnBDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsVUFBSyxHQUFMLEtBQUssQ0FBd0I7UUFDN0IsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNyQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFSaEQsZUFBVSxHQUFJLG1CQUF1QyxJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsRUFBQSxDQUFDO0lBUXpCLENBQUM7Ozs7OztJQUU3RCw4Q0FBaUI7Ozs7O0lBQWpCLFVBQWtCLGdCQUF3QixFQUFFLGFBQXFCO1FBQy9ELElBQUksQ0FBQyxNQUFNLENBQUMs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QXBKWSxrQkFBa0I7Ozs7OztJQUM3Qix3Q0FBcUY7Ozs7O0lBRXJGLGtDQUFtQjs7Ozs7SUFFUCxrQ0FBd0I7Ozs7O0lBQ3hCLG1DQUFxQzs7Ozs7SUFDckMsb0NBQTZCOzs7OztJQUM3QixpREFBZ0Q7Ozs7O0lBQ2hELCtDQUE0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMvaW50ZXJuYWwvT2JzZXJ2YWJsZSc7XG5cbmltcG9ydCB7SVBheW1lbnR9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVBheW1lbnQnO1xuaW1wb3J0IHtQYXltZW50TGliU2VydmljZX0gZnJvbSAnLi4vLi4vcGF5bWVudC1saWIuc2VydmljZSc7XG5pbXBvcnQgeyBXZWJDb21wb25lbnRIdHRwQ2xpZW50IH0gZnJvbSAnLi4vc2hhcmVkL2h0dHBjbGllbnQvd2ViY29tcG9uZW50Lmh0dHAuY2xpZW50JztcbmltcG9ydCB7IEVycm9ySGFuZGxlclNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvZXJyb3ItaGFuZGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL2xvZ2dlci9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQge0lQYXltZW50R3JvdXB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVBheW1lbnRHcm91cCc7XG5pbXBvcnQgeyBBZGRSZW1pc3Npb25SZXF1ZXN0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9BZGRSZW1pc3Npb25SZXF1ZXN0JztcbmltcG9ydCB7IFBheW1lbnRUb1BheWh1YlJlcXVlc3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL1BheW1lbnRUb1BheWh1YlJlcXVlc3QnO1xuaW1wb3J0IHsgUGF5aHViQW50ZW5uYVJlcXVlc3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL1BheWh1YkFudGVubmFSZXF1ZXN0JztcbmltcG9ydCB7IFVuaWRlbnRpZmllZFBheW1lbnRzUmVxdWVzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvVW5pZGVudGlmaWVkUGF5bWVudHNSZXF1ZXN0JztcbmltcG9ydCB7IFVuc29saWNpdGVkUGF5bWVudHNSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9VbnNvbGljaXRlZFBheW1lbnRzUmVxdWVzdCc7XG5pbXBvcnQgeyBNZXRhIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBBbGxvY2F0ZVBheW1lbnRSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9BbGxvY2F0ZVBheW1lbnRSZXF1ZXN0JztcbmltcG9ydCB7IElBbGxvY2F0aW9uUGF5bWVudHNSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JQWxsb2NhdGlvblBheW1lbnRzUmVxdWVzdCc7XG5pbXBvcnQge0lPcmRlclJlZmVyZW5jZUZlZX0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JT3JkZXJSZWZlcmVuY2VGZWUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJc2VydmljZVJlcXVlc3RQYmFQYXltZW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9Jc2VydmljZVJlcXVlc3RQYmFQYXltZW50JztcbmltcG9ydCB7IElzZXJ2aWNlUmVxdWVzdENhcmRQYXltZW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9Jc2VydmljZVJlcXVlc3RDYXJkUGF5bWVudCc7XG5pbXBvcnQgeyBBZGRSZXRyb1JlbWlzc2lvblJlcXVlc3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0FkZFJldHJvUmVtaXNzaW9uUmVxdWVzdCc7XG5pbXBvcnQgeyBQb3N0UmVmdW5kUmV0cm9SZW1pc3Npb24gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL1Bvc3RSZWZ1bmRSZXRyb1JlbWlzc2lvbic7XG5pbXBvcnQgeyBQb3N0SXNzdWVSZWZ1bmRSZXRyb1JlbWlzc2lvbiB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvUG9zdElzc3VlUmVmdW5kUmV0cm9SZW1pc3Npb24nO1xuaW1wb3J0IHsgZXJyb3IgfSBmcm9tICdAYW5ndWxhci9jb21waWxlci9zcmMvdXRpbCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFBheW1lbnRWaWV3U2VydmljZSB7XG4gIHByaXZhdGUgb3JkZXJzTGlzdCAgPSA8QmVoYXZpb3JTdWJqZWN0PElPcmRlclJlZmVyZW5jZUZlZVtdPj5uZXcgQmVoYXZpb3JTdWJqZWN0KFtdKTtcblxuICBwcml2YXRlIG1ldGE6IE1ldGE7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgICAgICAgICAgICBwcml2YXRlIGh0dHBzOiBXZWJDb21wb25lbnRIdHRwQ2xpZW50LFxuICAgICAgICAgICAgICBwcml2YXRlIGxvZ2dlcjogTG9nZ2VyU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBlcnJvckhhbmRsZXJTZXJ2aWNlOiBFcnJvckhhbmRsZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIHBheW1lbnRMaWJTZXJ2aWNlOiBQYXltZW50TGliU2VydmljZSkgeyB9XG5cbiAgZ2V0UGF5bWVudERldGFpbHMocGF5bWVudFJlZmVyZW5jZTogc3RyaW5nLCBwYXltZW50TWV0aG9kOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElQYXltZW50PiB7XG4gICAgdGhpcy5sb2dnZXIuaW5mbygnUGF5bWVudC12aWV3LXNlcnZpY2UgZ2V0UGF5bWVudERldGFpbHMgZm9yOiAnLCBwYXltZW50UmVmZXJlbmNlKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PElQYXltZW50PihwYXltZW50TWV0aG9kID09PSAnY2FyZCcgfHwgcGF5bWVudE1ldGhvZCA9PT0gJ2Nhc2gnIHx8IHBheW1lbnRNZXRob2QgPT09ICdjaGVxdWUnIHx8IHBheW1lbnRNZXRob2QgPT09ICdwb3N0YWwgb3JkZXInID9cbiAgICAgICAgICBgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9jYXJkLXBheW1lbnRzLyR7cGF5bWVudFJlZmVyZW5jZX1gIDpcbiAgICAgICAgICBgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9jcmVkaXQtYWNjb3VudC1wYXltZW50cy8ke3BheW1lbnRSZWZlcmVuY2V9YCwge1xuICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWVcbiAgICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgICApO1xuICB9XG5cbiAgZ2V0UGF5bWVudEdyb3VwRGV0YWlscyhwYXltZW50R3JvdXBSZWZlcmVuY2U6IHN0cmluZyk6IE9ic2VydmFibGU8SVBheW1lbnRHcm91cD4ge1xuICAgIHRoaXMubG9nZ2VyLmluZm8oJ1BheW1lbnQtdmlldy1zZXJ2aWNlIGdldFBheW1lbnRHcm91cERldGFpbHMgZm9yOiAnLCBwYXltZW50R3JvdXBSZWZlcmVuY2UpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8SVBheW1lbnQ+KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3BheW1lbnQtZ3JvdXBzLyR7cGF5bWVudEdyb3VwUmVmZXJlbmNlfWAsIHtcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZVxuICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgICApO1xuICB9XG4gIGdldEFwcG9ydGlvblBheW1lbnREZXRhaWxzKHBheW1lbnRSZWZlcmVuY2U6IHN0cmluZyk6IE9ic2VydmFibGU8SVBheW1lbnRHcm91cD4ge1xuICAgIHRoaXMubG9nZ2VyLmluZm8oJ1BheW1lbnQtdmlldy1zZXJ2aWNlIGdldFBheW1lbnRHcm91cERldGFpbHMgZm9yOiAnLCBwYXltZW50UmVmZXJlbmNlKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PElQYXltZW50PihgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9wYXltZW50LWdyb3Vwcy9mZWUtcGF5LWFwcG9ydGlvbi8ke3BheW1lbnRSZWZlcmVuY2V9YCwge1xuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlXG4gICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICAgICk7XG4gIH1cblxuICBnZXRQQkFhY2NvdW50RGV0YWlscygpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3BiYS1hY2NvdW50c2A7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodXJsLCB7IHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KS5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICAgICk7XG4gIH1cblxuICBwb3N0V2F5czJQYXlDYXJkUGF5bWVudChzZXJ2aWNlUmVmOiBzdHJpbmcsIGJvZHk6IElzZXJ2aWNlUmVxdWVzdENhcmRQYXltZW50KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9zZXJ2aWNlLXJlcXVlc3QvJHtzZXJ2aWNlUmVmfS9jYXJkLXBheW1lbnRzYDtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5wb3N0KHVybCwgYm9keSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG4gIH1cbiAgXG4gIHBvc3RQQkFhY2NvdW50UGF5bWVudChzZXJ2aWNlUmVmOiBzdHJpbmcsIGJvZHk6IElzZXJ2aWNlUmVxdWVzdFBiYVBheW1lbnQpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3NlcnZpY2UtcmVxdWVzdC8ke3NlcnZpY2VSZWZ9L3BiYS1wYXltZW50c2A7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdCh1cmwsIGJvZHkpO1xuICB9XG4gIHBvc3RCU1BheW1lbnRzKGJvZHk6IEFsbG9jYXRlUGF5bWVudFJlcXVlc3QpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBzLnBvc3QoYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcGF5bWVudC1ncm91cHMvYnVsay1zY2FuLXBheW1lbnRzYCwgYm9keSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG4gIH1cbiAgcG9zdEJTVW5pZGVudGlmaWVkUGF5bWVudHMoYm9keTogVW5pZGVudGlmaWVkUGF5bWVudHNSZXF1ZXN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5wb3N0KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3BheW1lbnQtYWxsb2NhdGlvbnNgLCBib2R5KS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbiAgfVxuICBwb3N0QlNVbnNvbGljaXRlZFBheW1lbnRzKGJvZHk6IFVuc29saWNpdGVkUGF5bWVudHNSZXF1ZXN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5wb3N0KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3BheW1lbnQtYWxsb2NhdGlvbnNgLCBib2R5KS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbiAgfVxuICBwb3N0QlNBbGxvY2F0aW9uUGF5bWVudHMoYm9keTogSUFsbG9jYXRpb25QYXltZW50c1JlcXVlc3QpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBzLnBvc3QoYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcGF5bWVudC1hbGxvY2F0aW9uc2AsIGJvZHkpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICApO1xuICB9XG5cbiAgcG9zdFBheW1lbnRHcm91cFdpdGhSZW1pc3Npb25zKHBheW1lbnRHcm91cFJlZmVyZW5jZTogc3RyaW5nLCBmZWVJZDogbnVtYmVyLCBib2R5OiBBZGRSZW1pc3Npb25SZXF1ZXN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5wb3N0KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3BheW1lbnQtZ3JvdXBzLyR7cGF5bWVudEdyb3VwUmVmZXJlbmNlfS9mZWVzLyR7ZmVlSWR9L3JlbWlzc2lvbnNgLCBib2R5KS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbiAgfVxuXG4gIGRlbGV0ZUZlZUZyb21QYXltZW50R3JvdXAoZmVlSWQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmluZm8oJ1BheW1lbnQtdmlldy1zZXJ2aWNlIGRlbGV0ZUZlZUZyb21QYXltZW50R3JvdXAgZm9yOiAnLCBmZWVJZCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMuZGVsZXRlKGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L2ZlZXMvJHtmZWVJZH1gKS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbiAgfVxuICBwb3N0UGF5bWVudFRvUGF5SHViKGJvZHk6IFBheW1lbnRUb1BheWh1YlJlcXVlc3QsIHBheW1lbnRHcm91cFJlZjogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5wb3N0KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3BheW1lbnQtZ3JvdXBzLyR7cGF5bWVudEdyb3VwUmVmfS9jYXJkLXBheW1lbnRzYCwgYm9keSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG4gIH1cblxuICBwb3N0UGF5bWVudEFudGVubmFUb1BheUh1Yihib2R5OiBQYXlodWJBbnRlbm5hUmVxdWVzdCwgcGF5bWVudEdyb3VwUmVmOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBzLnBvc3QoYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcGF5bWVudC1ncm91cHMvJHtwYXltZW50R3JvdXBSZWZ9L3RlbGVwaG9ueS1jYXJkLXBheW1lbnRzYCwgYm9keSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG4gIH1cbiAgZG93bmxvYWRTZWxlY3RlZFJlcG9ydChyZXBvcnROYW1lOiBzdHJpbmcsIHN0YXJ0RGF0ZTogc3RyaW5nLCBlbmREYXRlOnN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcmVwb3J0L2RhdGE/ZGF0ZV9mcm9tPSR7c3RhcnREYXRlfSZkYXRlX3RvPSR7ZW5kRGF0ZX0mcmVwb3J0X3R5cGU9JHtyZXBvcnROYW1lfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMuZ2V0KHVybCwgeyB3aXRoQ3JlZGVudGlhbHM6IHRydWUgfSkucGlwZSggY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpKTtcbiAgfVxuICBnZXRCU2ZlYXR1cmUoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5nZXQoJ2FwaS9wYXltZW50LWhpc3RvcnkvYnVsay1zY2FuLWZlYXR1cmUnLCB7IHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KS5waXBlKCBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcikpO1xuICB9XG4gIGdldFNpdGVJRCgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBzLmdldCgnYXBpL3BheW1lbnQtaGlzdG9yeS9yZWZkYXRhL2xlZ2FjeS1zaXRlcycsIHsgd2l0aENyZWRlbnRpYWxzOiB0cnVlIH0pLnBpcGUoIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKSk7XG4gIH1cbiAgZ2V0UGFydHlEZXRhaWxzKGNhc2VOdW1iZXI6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vY2FzZS1wYXltZW50LW9yZGVycz9jYXNlX2lkcz0ke2Nhc2VOdW1iZXJ9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5nZXQodXJsLCB7IHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KS5waXBlKCBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcikpO1xuICB9XG4gIFxuICBzZXRPcmRlcnNMaXN0KG9yZGVyTGV2ZWxGZWVzOiBJT3JkZXJSZWZlcmVuY2VGZWVbXSk6IHZvaWQge1xuICAgIHRoaXMub3JkZXJzTGlzdC5uZXh0KE9iamVjdC5hc3NpZ24oW10sIG9yZGVyTGV2ZWxGZWVzKSk7XG59XG4gIGdldE9yZGVyc0xpc3QoKSB7XG4gICAgcmV0dXJuIHRoaXMub3JkZXJzTGlzdDtcbiAgfVxuXG4gIC8vaXNzdWUgcmVmdW5kXG4gIHBvc3RSZWZ1bmRzUmVhc29uKGJvZHk6IFBvc3RSZWZ1bmRSZXRyb1JlbWlzc2lvbik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdChgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9yZWZ1bmQtZm9yLXBheW1lbnRgLCBib2R5KS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbiAgfVxuXG4gIC8vIHJldHJvIHJlbWlzc2lvbnNcbiAgcG9zdFBheW1lbnRHcm91cFdpdGhSZXRyb1JlbWlzc2lvbnMocGF5bWVudEdyb3VwUmVmZXJlbmNlOiBzdHJpbmcsIGZlZUlkOiBudW1iZXIsIGJvZHk6IEFkZFJldHJvUmVtaXNzaW9uUmVxdWVzdCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdChgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9wYXltZW50LWdyb3Vwcy8ke3BheW1lbnRHcm91cFJlZmVyZW5jZX0vZmVlcy8ke2ZlZUlkfS9yZXRyby1yZW1pc3Npb25gLCBib2R5KS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbiAgfVxuXG4gIHBvc3RSZWZ1bmRSZXRyb1JlbWlzc2lvbihib2R5OlBvc3RJc3N1ZVJlZnVuZFJldHJvUmVtaXNzaW9uKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdChgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9yZWZ1bmQtcmV0cm8tcmVtaXNzaW9uYCwgYm9keSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -89,7 +89,7 @@ var RefundsService = /** @class */ (function () {
89
89
  * @return {?}
90
90
  */
91
91
  function (refundstatus, selfexclusive) {
92
- return this.http.get(this.paymentLibService.REFUNDS_API_ROOT + "?status=" + refundstatus + "&selfExclusive=" + selfexclusive, {
92
+ return this.http.get(this.paymentLibService.REFUNDS_API_ROOT + "?status=" + refundstatus + "&excludeCurrentUser=" + selfexclusive, {
93
93
  withCredentials: true
94
94
  })
95
95
  .pipe(catchError(this.errorHandlerService.handleError));
@@ -240,4 +240,4 @@ if (false) {
240
240
  */
241
241
  RefundsService.prototype.meta;
242
242
  }
243
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmdW5kcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhtY3RzL2NjcGF5LXdlYi1jb21wb25lbnQvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvcmVmdW5kcy9yZWZ1bmRzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFDLFVBQVUsRUFBRSxXQUFXLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDdkYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFFNUQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBTzFDO0lBS0Usd0JBQW9CLElBQWdCLEVBQzFCLEtBQTZCLEVBQ25CLG1CQUF3QyxFQUN4QyxpQkFBb0MsRUFDcEMsSUFBVTtRQUpWLFNBQUksR0FBSixJQUFJLENBQVk7UUFDMUIsVUFBSyxHQUFMLEtBQUssQ0FBd0I7UUFDbkIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLFNBQUksR0FBSixJQUFJLENBQU07SUFDZCxDQUFDOzs7O0lBRWpCLHlDQUFnQjs7O0lBQWhCO1FBQ0ksT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBc0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixhQUFVLEVBQUU7WUFDN0YsZUFBZSxFQUFFLElBQUk7U0FDeEIsQ0FBQzthQUNHLElBQUksQ0FDSCxVQUFVLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdB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QyxDQUFDLENBQUM7U0FDN0c7YUFBTTtZQUNMLE9BQU8sQ0FBQyxZQUFZLENBQUMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDO1NBQzNDO1FBQ0QsT0FBTyxDQUFDLE9BQU8sR0FBRyxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQyxPQUFPLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQztRQUM5QixPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDOztnQkFuSEEsVUFBVSxTQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7OztnQkFmTyxVQUFVO2dCQUdULHNCQUFzQjtnQkFEdkIsbUJBQW1CO2dCQUVuQixpQkFBaUI7Z0JBSGhCLElBQUk7Ozt5QkFGYjtDQWtJQyxBQXBIRCxJQW9IQztTQWpIWSxjQUFjOzs7Ozs7SUFFYiw4QkFBd0I7Ozs7O0lBQ2xDLCtCQUFxQzs7Ozs7SUFDM0IsNkNBQWdEOzs7OztJQUNoRCwyQ0FBNEM7Ozs7O0lBQzVDLDhCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SHR0cENsaWVudCwgSHR0cEhlYWRlcnN9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE1ldGEgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7RXJyb3JIYW5kbGVyU2VydmljZX0gZnJvbSAnLi4vc2hhcmVkL2Vycm9yLWhhbmRsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBXZWJDb21wb25lbnRIdHRwQ2xpZW50IH0gZnJvbSAnLi4vc2hhcmVkL2h0dHBjbGllbnQvd2ViY29tcG9uZW50Lmh0dHAuY2xpZW50JztcbmltcG9ydCB7UGF5bWVudExpYlNlcnZpY2V9IGZyb20gJy4uLy4uL3BheW1lbnQtbGliLnNlcnZpY2UnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzL09ic2VydmFibGUnO1xuaW1wb3J0IHtjYXRjaEVycm9yfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBJUmVmdW5kUmVhc29ucyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVJlZnVuZFJlYXNvbnMnO1xuaW1wb3J0IHsgSVBhdGNoUmVmdW5kQWN0aW9uIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JUGF0Y2hSZWZ1bmRBY3Rpb24nO1xuaW1wb3J0IHsgSVJlZnVuZExpc3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lSZWZ1bmRMaXN0JztcbmltcG9ydCB7IElzc3VlUmVmdW5kUmVxdWVzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSXNzdWVSZWZ1bmRSZXF1ZXN0JztcbmltcG9ydCB7IElSZXN1Ym1pdFJlZnVuZFJlcXVlc3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lSZXN1Ym1pdFJlZnVuZFJlcXVlc3QnO1xuaW1wb3J0IHsgSVJlZnVuZFN0YXR1c0hpc3RvcnkgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lSZWZ1bmRTdGF0dXNIaXN0b3J5JztcbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFJlZnVuZHNTZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBodHRwczogV2ViQ29tcG9uZW50SHR0cENsaWVudCxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBlcnJvckhhbmRsZXJTZXJ2aWNlOiBFcnJvckhhbmRsZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIHBheW1lbnRMaWJTZXJ2aWNlOiBQYXltZW50TGliU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBtZXRhOiBNZXRhXG4gICAgICAgICAgICAgICkgeyB9XG5cbiAgZ2V0UmVmdW5kUmVhc29ucygpOiBPYnNlcnZhYmxlPElSZWZ1bmRSZWFzb25zW10+IHtcbiAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PElSZWZ1bmRSZWFzb25zW10+KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuUkVGVU5EU19BUElfUk9PVH0vcmVhc29uc2AsIHtcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZVxuICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICAgKTtcbiAgfVxuXG4gIGdldFJlZnVuZFJlamVjdFJlYXNvbnMoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnk+KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuUkVGVU5EU19BUElfUk9PVH0vcmVqZWN0aW9uLXJlYXNvbnNgLCB7XG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWVcbiAgICB9KVxuICAgIC5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbiAgfVxuXG4gIGdldFJlZnVuZEFjdGlvbnMocmVmdW5kUmVmZXJlbmNlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueT4oYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5SRUZVTkRTX0FQSV9ST09UfS8ke3JlZnVuZFJlZmVyZW5jZX0vYWN0aW9uc2AsIHtcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZVxuICAgICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICAgICk7XG4gIH1cblxucGF0Y2hSZWZ1bmRBY3Rpb25zKGJvZHk6SVBhdGNoUmVmdW5kQWN0aW9uLCByZWZ1bmRSZWZlcmVuY2U6IHN0cmluZywgcmV2aWV3ZXJBY3Rpb246IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gIC8vIGNvbnN0IG9wdHMgPSB0aGlzLmFkZEhlYWRlcnMoe30pO1xuICByZXR1cm4gdGhpcy5odHRwcy5wYXRjaChgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLlJFRlVORFNfQVBJX1JPT1R9LyR7cmVmdW5kUmVmZXJlbmNlfS9hY3Rpb24vJHtyZXZpZXdlckFjdGlvbn1gLCBib2R5KVxuICAucGlwZShcbiAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgKTtcbn1cblxuZ2V0UmVmdW5kTGlzdChyZWZ1bmRzdGF0dXM/OiBzdHJpbmcsIHNlbGZleGNsdXNpdmU/OmJvb2xlYW4pOiBPYnNlcnZhYmxlPElSZWZ1bmRMaXN0W10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxJUmVmdW5kTGlzdFtdPihgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLlJFRlVORFNfQVBJX1JPT1R9P3N0YXR1cz0ke3JlZnVuZHN0YXR1c30mc2VsZkV4Y2x1c2l2ZT0ke3NlbGZleGNsdXNpdmV9YCwgXG4gICAge1xuICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZVxufSlcbiAgICAucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG59XG5cbmdldFJlZnVuZFN0YXR1c0hpc3RvcnkocmVmZXJlbmNlPzogc3RyaW5nKSB7XG4gIHJldHVybiB0aGlzLmh0dHAuZ2V0PElSZWZ1bmRTdGF0dXNIaXN0b3J5PihgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLlJFRlVORFNfQVBJX1JPT1R9LyR7cmVmZXJlbmNlfS9zdGF0dXMtaGlzdG9yeWAsIFxuICB7XG4gIHdpdGhDcmVkZW50aWFsczogdHJ1ZVxufSlcbiAgLnBpcGUoXG4gICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICk7XG59XG5cbmdldFJlZnVuZFN0YXR1c0xpc3QoY2NkQ2FzZU51bWJlcjpzdHJpbmcpOiBPYnNlcnZhYmxlPElSZWZ1bmRMaXN0W10+IHtcbiAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8SVJlZnVuZExpc3RbXT4oYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5SRUZVTkRTX0FQSV9ST09UfT9jY2RDYXNlTnVtYmVyPSR7Y2NkQ2FzZU51bWJlcn1gLCB7XG4gIHdpdGhDcmVkZW50aWFsczogdHJ1ZVxufSlcbiAgLnBpcGUoXG4gICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICk7XG59XG5cbmdldFVzZXJEZXRhaWxzKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55PihgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLlJFRlVORFNfQVBJX1JPT1R9L2dldC11c2VyLWRldGFpbHNgLCB7XG4gICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlXG4gIH0pXG4gICAgLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICApO1xufVxuIFxucG9zdElzc3VlUmVmdW5kKGJvZHk6IElzc3VlUmVmdW5kUmVxdWVzdCk6IE9ic2VydmFibGU8YW55PiB7XG4gIHJldHVybiB0aGlzLmh0dHBzLnBvc3QoYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5SRUZVTkRTX0FQSV9ST09UfS9yZWZ1bmRgLCBib2R5KS5waXBlKFxuICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICApO1xufVxuXG5wYXRjaFJlc3VibWl0UmVmdW5kKGJvZHk6IElSZXN1Ym1pdFJlZnVuZFJlcXVlc3QsIHJlZnVuZF9yZWZlcmVuY2U6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gIC8vIGNvbnN0IG9wdHMgPSB0aGlzLmFkZEhlYWRlcnMoe30pO1xuICByZXR1cm4gdGhpcy5odHRwcy5wYXRjaChgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLlJFRlVORFNfQVBJX1JPT1R9L3Jlc3VibWl0LyR7cmVmdW5kX3JlZmVyZW5jZX1gLCBib2R5KS5waXBlKFxuICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICApO1xufVxuXG5hZGRIZWFkZXJzKG9wdGlvbnM6IGFueSk6IGFueSB7XG4gIGNvbnN0IGNzcmZUb2tlbiA9IHRoaXMubWV0YS5nZXRUYWcoJ25hbWU9Y3NyZi10b2tlbicpO1xuICBjb25zdCBoZWFkZXJzID0ge307XG4gIGlmIChvcHRpb25zLmhlYWRlcnMpIHtcbiAgICBvcHRpb25zLmhlYWRlcnMuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgIGhlYWRlcnNbZWxlbWVudF0gPSBvcHRpb25zLmhlYWRlcnMuZ2V0KGVsZW1lbnQpO1xuICAgIH0pO1xuICB9XG4gIGhlYWRlcnNbJ1gtUmVxdWVzdGVkLVdpdGgnXSA9ICdYTUxIdHRwUmVxdWVzdCc7XG4gIGlmIChjc3JmVG9rZW4uY29udGVudCA9PT0gbnVsbCkge1xuICAgIGhlYWRlcnNbJ0NTUkYtVG9rZW4nXSA9IGRvY3VtZW50LmNvb2tpZS5zcGxpdCgnOycpLmZpbmQocm93ID0+IHJvdy5zdGFydHNXaXRoKCcgWFNSRi1UT0tFTicpKS5zcGxpdCgnPScpWzFdO1xuICB9IGVsc2Uge1xuICAgIGhlYWRlcnNbJ0NTUkYtVG9rZW4nXSA9IGNzcmZUb2tlbi5jb250ZW50O1xuICB9XG4gIG9wdGlvbnMuaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycyhoZWFkZXJzKTtcbiAgb3B0aW9ucy5yZXNwb25zZVR5cGUgPSAndGV4dCc7XG4gIHJldHVybiBvcHRpb25zO1xufVxufVxuIl19
243
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmdW5kcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhtY3RzL2NjcGF5LXdlYi1jb21wb25lbnQvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvcmVmdW5kcy9yZWZ1bmRzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFDLFVBQVUsRUFBRSxXQUFXLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDdkYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFFNUQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBTzFDO0lBS0Usd0JBQW9CLElBQWdCLEVBQzFCLEtBQTZCLEVBQ25CLG1CQUF3QyxFQUN4QyxpQkFBb0MsRUFDcEMsSUFBVTtRQUpWLFNBQUksR0FBSixJQUFJLENBQVk7UUFDMUIsVUFBSyxHQUFMLEtBQUssQ0FBd0I7UUFDbkIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLFNBQUksR0FBSixJQUFJLENBQU07SUFDZCxDQUFDOzs7O0lBRWpCLHlDQUFnQjs7O0lBQWhCO1FBQ0ksT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBc0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixhQUFVLEVBQUU7WUFDN0YsZUFBZSxFQUFFLElBQUk7U0FDeEIsQ0FBQzthQUNHLElBQUksQ0FDSCxVQUFVLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdB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QyxDQUFDLENBQUM7U0FDN0c7YUFBTTtZQUNMLE9BQU8sQ0FBQyxZQUFZLENBQUMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDO1NBQzNDO1FBQ0QsT0FBTyxDQUFDLE9BQU8sR0FBRyxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQyxPQUFPLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQztRQUM5QixPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDOztnQkFuSEEsVUFBVSxTQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7OztnQkFmTyxVQUFVO2dCQUdULHNCQUFzQjtnQkFEdkIsbUJBQW1CO2dCQUVuQixpQkFBaUI7Z0JBSGhCLElBQUk7Ozt5QkFGYjtDQWtJQyxBQXBIRCxJQW9IQztTQWpIWSxjQUFjOzs7Ozs7SUFFYiw4QkFBd0I7Ozs7O0lBQ2xDLCtCQUFxQzs7Ozs7SUFDM0IsNkNBQWdEOzs7OztJQUNoRCwyQ0FBNEM7Ozs7O0lBQzVDLDhCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SHR0cENsaWVudCwgSHR0cEhlYWRlcnN9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE1ldGEgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7RXJyb3JIYW5kbGVyU2VydmljZX0gZnJvbSAnLi4vc2hhcmVkL2Vycm9yLWhhbmRsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBXZWJDb21wb25lbnRIdHRwQ2xpZW50IH0gZnJvbSAnLi4vc2hhcmVkL2h0dHBjbGllbnQvd2ViY29tcG9uZW50Lmh0dHAuY2xpZW50JztcbmltcG9ydCB7UGF5bWVudExpYlNlcnZpY2V9IGZyb20gJy4uLy4uL3BheW1lbnQtbGliLnNlcnZpY2UnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzL09ic2VydmFibGUnO1xuaW1wb3J0IHtjYXRjaEVycm9yfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBJUmVmdW5kUmVhc29ucyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVJlZnVuZFJlYXNvbnMnO1xuaW1wb3J0IHsgSVBhdGNoUmVmdW5kQWN0aW9uIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JUGF0Y2hSZWZ1bmRBY3Rpb24nO1xuaW1wb3J0IHsgSVJlZnVuZExpc3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lSZWZ1bmRMaXN0JztcbmltcG9ydCB7IElzc3VlUmVmdW5kUmVxdWVzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSXNzdWVSZWZ1bmRSZXF1ZXN0JztcbmltcG9ydCB7IElSZXN1Ym1pdFJlZnVuZFJlcXVlc3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lSZXN1Ym1pdFJlZnVuZFJlcXVlc3QnO1xuaW1wb3J0IHsgSVJlZnVuZFN0YXR1c0hpc3RvcnkgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lSZWZ1bmRTdGF0dXNIaXN0b3J5JztcbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFJlZnVuZHNTZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBodHRwczogV2ViQ29tcG9uZW50SHR0cENsaWVudCxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBlcnJvckhhbmRsZXJTZXJ2aWNlOiBFcnJvckhhbmRsZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIHBheW1lbnRMaWJTZXJ2aWNlOiBQYXltZW50TGliU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBtZXRhOiBNZXRhXG4gICAgICAgICAgICAgICkgeyB9XG5cbiAgZ2V0UmVmdW5kUmVhc29ucygpOiBPYnNlcnZhYmxlPElSZWZ1bmRSZWFzb25zW10+IHtcbiAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PElSZWZ1bmRSZWFzb25zW10+KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuUkVGVU5EU19BUElfUk9PVH0vcmVhc29uc2AsIHtcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZVxuICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICAgKTtcbiAgfVxuXG4gIGdldFJlZnVuZFJlamVjdFJlYXNvbnMoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnk+KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuUkVGVU5EU19BUElfUk9PVH0vcmVqZWN0aW9uLXJlYXNvbnNgLCB7XG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWVcbiAgICB9KVxuICAgIC5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbiAgfVxuXG4gIGdldFJlZnVuZEFjdGlvbnMocmVmdW5kUmVmZXJlbmNlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueT4oYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5SRUZVTkRTX0FQSV9ST09UfS8ke3JlZnVuZFJlZmVyZW5jZX0vYWN0aW9uc2AsIHtcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZVxuICAgICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICAgICk7XG4gIH1cblxucGF0Y2hSZWZ1bmRBY3Rpb25zKGJvZHk6SVBhdGNoUmVmdW5kQWN0aW9uLCByZWZ1bmRSZWZlcmVuY2U6IHN0cmluZywgcmV2aWV3ZXJBY3Rpb246IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gIC8vIGNvbnN0IG9wdHMgPSB0aGlzLmFkZEhlYWRlcnMoe30pO1xuICByZXR1cm4gdGhpcy5odHRwcy5wYXRjaChgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLlJFRlVORFNfQVBJX1JPT1R9LyR7cmVmdW5kUmVmZXJlbmNlfS9hY3Rpb24vJHtyZXZpZXdlckFjdGlvbn1gLCBib2R5KVxuICAucGlwZShcbiAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgKTtcbn1cblxuZ2V0UmVmdW5kTGlzdChyZWZ1bmRzdGF0dXM/OiBzdHJpbmcsIHNlbGZleGNsdXNpdmU/OmJvb2xlYW4pOiBPYnNlcnZhYmxlPElSZWZ1bmRMaXN0W10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxJUmVmdW5kTGlzdFtdPihgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLlJFRlVORFNfQVBJX1JPT1R9P3N0YXR1cz0ke3JlZnVuZHN0YXR1c30mZXhjbHVkZUN1cnJlbnRVc2VyPSR7c2VsZmV4Y2x1c2l2ZX1gLCBcbiAgICB7XG4gICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlXG59KVxuICAgIC5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbn1cblxuZ2V0UmVmdW5kU3RhdHVzSGlzdG9yeShyZWZlcmVuY2U/OiBzdHJpbmcpIHtcbiAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8SVJlZnVuZFN0YXR1c0hpc3Rvcnk+KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuUkVGVU5EU19BUElfUk9PVH0vJHtyZWZlcmVuY2V9L3N0YXR1cy1oaXN0b3J5YCwgXG4gIHtcbiAgd2l0aENyZWRlbnRpYWxzOiB0cnVlXG59KVxuICAucGlwZShcbiAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgKTtcbn1cblxuZ2V0UmVmdW5kU3RhdHVzTGlzdChjY2RDYXNlTnVtYmVyOnN0cmluZyk6IE9ic2VydmFibGU8SVJlZnVuZExpc3RbXT4ge1xuICByZXR1cm4gdGhpcy5odHRwLmdldDxJUmVmdW5kTGlzdFtdPihgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLlJFRlVORFNfQVBJX1JPT1R9P2NjZENhc2VOdW1iZXI9JHtjY2RDYXNlTnVtYmVyfWAsIHtcbiAgd2l0aENyZWRlbnRpYWxzOiB0cnVlXG59KVxuICAucGlwZShcbiAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgKTtcbn1cblxuZ2V0VXNlckRldGFpbHMoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnk+KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuUkVGVU5EU19BUElfUk9PVH0vZ2V0LXVzZXItZGV0YWlsc2AsIHtcbiAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWVcbiAgfSlcbiAgICAucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG59XG4gXG5wb3N0SXNzdWVSZWZ1bmQoYm9keTogSXNzdWVSZWZ1bmRSZXF1ZXN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdChgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLlJFRlVORFNfQVBJX1JPT1R9L3JlZnVuZGAsIGJvZHkpLnBpcGUoXG4gICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICk7XG59XG5cbnBhdGNoUmVzdWJtaXRSZWZ1bmQoYm9keTogSVJlc3VibWl0UmVmdW5kUmVxdWVzdCwgcmVmdW5kX3JlZmVyZW5jZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgLy8gY29uc3Qgb3B0cyA9IHRoaXMuYWRkSGVhZGVycyh7fSk7XG4gIHJldHVybiB0aGlzLmh0dHBzLnBhdGNoKGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuUkVGVU5EU19BUElfUk9PVH0vcmVzdWJtaXQvJHtyZWZ1bmRfcmVmZXJlbmNlfWAsIGJvZHkpLnBpcGUoXG4gICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICk7XG59XG5cbmFkZEhlYWRlcnMob3B0aW9uczogYW55KTogYW55IHtcbiAgY29uc3QgY3NyZlRva2VuID0gdGhpcy5tZXRhLmdldFRhZygnbmFtZT1jc3JmLXRva2VuJyk7XG4gIGNvbnN0IGhlYWRlcnMgPSB7fTtcbiAgaWYgKG9wdGlvbnMuaGVhZGVycykge1xuICAgIG9wdGlvbnMuaGVhZGVycy5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgaGVhZGVyc1tlbGVtZW50XSA9IG9wdGlvbnMuaGVhZGVycy5nZXQoZWxlbWVudCk7XG4gICAgfSk7XG4gIH1cbiAgaGVhZGVyc1snWC1SZXF1ZXN0ZWQtV2l0aCddID0gJ1hNTEh0dHBSZXF1ZXN0JztcbiAgaWYgKGNzcmZUb2tlbi5jb250ZW50ID09PSBudWxsKSB7XG4gICAgaGVhZGVyc1snQ1NSRi1Ub2tlbiddID0gZG9jdW1lbnQuY29va2llLnNwbGl0KCc7JykuZmluZChyb3cgPT4gcm93LnN0YXJ0c1dpdGgoJyBYU1JGLVRPS0VOJykpLnNwbGl0KCc9JylbMV07XG4gIH0gZWxzZSB7XG4gICAgaGVhZGVyc1snQ1NSRi1Ub2tlbiddID0gY3NyZlRva2VuLmNvbnRlbnQ7XG4gIH1cbiAgb3B0aW9ucy5oZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKGhlYWRlcnMpO1xuICBvcHRpb25zLnJlc3BvbnNlVHlwZSA9ICd0ZXh0JztcbiAgcmV0dXJuIG9wdGlvbnM7XG59XG59XG4iXX0=
@@ -35,7 +35,12 @@ var ErrorHandlerService = /** @class */ (function () {
35
35
  }
36
36
  else if (err.status === 400) {
37
37
  if (typeof err !== 'string') {
38
- errorMessage = JSON.parse(err.error)["error"];
38
+ if (JSON.parse(err.error)["error"] !== undefined) {
39
+ errorMessage = JSON.parse(err.error)["error"];
40
+ }
41
+ else {
42
+ JSON.parse(err.error)["err"].split('-')[1];
43
+ }
39
44
  }
40
45
  if (errorMessage === '') {
41
46
  errorMessage = err.error.toString().replace(/"/g, "");
@@ -84,4 +89,4 @@ var ErrorHandlerService = /** @class */ (function () {
84
89
  return ErrorHandlerService;
85
90
  }());
86
91
  export { ErrorHandlerService };
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItaGFuZGxlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhtY3RzL2NjcGF5LXdlYi1jb21wb25lbnQvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvc2hhcmVkL2Vycm9yLWhhbmRsZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBSS9DO0lBT0U7SUFBZ0IsQ0FBQzs7Ozs7SUFHakIseUNBQVc7Ozs7SUFBWCxVQUFZLEdBQXNCOztZQUM1QixZQUFvQjtRQUN4QixJQUFJLEdBQUcsQ0FBQyxLQUFLLFlBQVksS0FBSyxFQUFFO1lBQzlCLDJDQUEyQztZQUMzQyxZQUFZLEdBQUcsd0JBQXNCLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBUyxDQUFDO1NBQzFEO2FBQU07WUFDTCxzREFBc0Q7WUFDdEQsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRTtnQkFDdEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUU7b0JBQ2QsWUFBWSxHQUFHLFdBQVcsQ0FBQztpQkFDNUI7cUJBQU07b0JBQ0wsWUFBWSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUM7aUJBQzFCO2FBQ0Y7aUJBQU0sSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRTtnQkFDN0IsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLEVBQUU7b0JBQzNCLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztpQkFDL0M7Z0JBQ0QsSUFBSSxZQUFZLEtBQUssRUFBRSxFQUFFO29CQUNyQixZQUFZLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFDLEVBQUUsQ0FBQyxDQUFDO2lCQUN4RDthQUNGO2lCQUNJLElBQUksR0FBRyxDQUFDLEtBQUssRUFBRTtnQkFDbEIsSUFBSSxPQUFPLEdBQUcsQ0FBQyxLQUFLLEtBQUssUUFBUSxFQUFFO29CQUNqQyxZQUFZLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFDLEVBQUUsQ0FBQyxDQUFDO2lCQUN0RDtxQkFBTTtvQkFDTCxZQUFZLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksRUFBQyxFQUFFLENBQUMsQ0FBQztpQkFDeEU7YUFFRjtpQkFDSyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxLQUFLLFNBQVMsRUFBRTtnQkFDMUMsWUFBWSxHQUFHLGNBQWMsQ0FBQzthQUMvQjtpQkFBTTtnQkFDTCxZQUFZLEdBQUcsS0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQVMsQ0FBQzthQUN2QztTQUNGO1FBQ0QsT0FBTyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDOUIsQ0FBQzs7Ozs7SUFFRCxtREFBcUI7Ozs7SUFBckIsVUFBc0IsWUFBWTtRQUNoQyxPQUFPO1lBQ0wsS0FBSyxFQUFFLHFDQUFxQztZQUM1QyxJQUFJLEVBQUUsaUJBQWlCO1lBQ3ZCLFNBQVMsRUFBRSxZQUFZO1NBQ3hCLENBQUM7SUFDSixDQUFDOztnQkF0REYsVUFBVSxTQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7Ozs7OEJBUEQ7Q0E0REMsQUF2REQsSUF1REM7U0FsRFksbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgX3Rocm93IH0gZnJvbSAncnhqcy9vYnNlcnZhYmxlL3Rocm93JztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzL2ludGVybmFsL09ic2VydmFibGUnO1xuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuXG5cbmV4cG9ydCBjbGFzcyBFcnJvckhhbmRsZXJTZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG5cbiAgaGFuZGxlRXJyb3IoZXJyOiBIdHRwRXJyb3JSZXNwb25zZSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IGVycm9yTWVzc2FnZTogc3RyaW5nO1xuICAgIGlmIChlcnIuZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgLy8gQSBjbGllbnQtc2lkZSBvciBuZXR3b3JrIGVycm9yIG9jY3VycmVkLlxuICAgICAgZXJyb3JNZXNzYWdlID0gYEFuIGVycm9yIG9jY3VycmVkOiAke2Vyci5lcnJvci5tZXNzYWdlfWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFRoZSBiYWNrZW5kIHJldHVybmVkIGFuIHVuc3VjY2Vzc2Z1bCByZXNwb25zZSBjb2RlLlxuICAgICAgaWYgKGVyci5zdGF0dXMgPT09IDQwNCkge1xuICAgICAgICBpZiAoIWVyci5lcnJvcikge1xuICAgICAgICAgIGVycm9yTWVzc2FnZSA9ICdOb3QgZm91bmQnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGVycm9yTWVzc2FnZSA9IGVyci5lcnJvcjtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChlcnIuc3RhdHVzID09PSA0MDApIHtcbiAgICAgICAgaWYgKHR5cGVvZiBlcnIgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgZXJyb3JNZXNzYWdlID0gSlNPTi5wYXJzZShlcnIuZXJyb3IpW1wiZXJyb3JcIl07ICAgXG4gICAgICAgIH0gXG4gICAgICAgIGlmIChlcnJvck1lc3NhZ2UgPT09ICcnKSB7XG4gICAgICAgICAgICBlcnJvck1lc3NhZ2UgPSBlcnIuZXJyb3IudG9TdHJpbmcoKS5yZXBsYWNlKC9cIi9nLFwiXCIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBlbHNlIGlmIChlcnIuZXJyb3IpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBlcnIuZXJyb3IgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgZXJyb3JNZXNzYWdlID0gZXJyLmVycm9yLnRvU3RyaW5nKCkucmVwbGFjZSgvXCIvZyxcIlwiKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBlcnJvck1lc3NhZ2UgPSBPYmplY3QudmFsdWVzKGVyci5lcnJvcilbMF0udG9TdHJpbmcoKS5yZXBsYWNlKC9cIi9nLFwiXCIpO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgfVxuICAgICAgIGVsc2UgaWYgKGVyci5lcnJvci5tZXNzc2FnZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGVycm9yTWVzc2FnZSA9ICdTZXJ2ZXIgZXJyb3InO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZXJyb3JNZXNzYWdlID0gYCR7ZXJyLmVycm9yLm1lc3NhZ2V9YDtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIF90aHJvdyhlcnJvck1lc3NhZ2UpO1xuICB9XG5cbiAgZ2V0U2VydmVyRXJyb3JNZXNzYWdlKGlzRXJyb3JFeGlzdCkge1xuICAgIHJldHVybiB7XG4gICAgICB0aXRsZTogXCJUaGVyZSBpcyBhIHByb2JsZW0gd2l0aCB0aGUgc2VydmljZVwiLFxuICAgICAgYm9keTogXCJUcnkgYWdhaW4gbGF0ZXJcIixcbiAgICAgIHNob3dFcnJvcjogaXNFcnJvckV4aXN0XG4gICAgfTtcbiAgfVxufVxuIl19
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItaGFuZGxlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhtY3RzL2NjcGF5LXdlYi1jb21wb25lbnQvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvc2hhcmVkL2Vycm9yLWhhbmRsZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBSS9DO0lBT0U7SUFBZ0IsQ0FBQzs7Ozs7SUFHakIseUNBQVc7Ozs7SUFBWCxVQUFZLEdBQXNCOztZQUM1QixZQUFvQjtRQUN4QixJQUFJLEdBQUcsQ0FBQyxLQUFLLFlBQVksS0FBSyxFQUFFO1lBQzlCLDJDQUEyQztZQUMzQyxZQUFZLEdBQUcsd0JBQXNCLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBUyxDQUFDO1NBQzFEO2FBQU07WUFDTCxzREFBc0Q7WUFDdEQsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRTtnQkFDdEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUU7b0JBQ2QsWUFBWSxHQUFHLFdBQVcsQ0FBQztpQkFDNUI7cUJBQU07b0JBQ0wsWUFBWSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUM7aUJBQzFCO2FBQ0Y7aUJBQU0sSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRTtnQkFDN0IsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLEVBQUU7b0JBQzNCLElBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssU0FBUyxFQUFFO3dCQUMvQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7cUJBQy9DO3lCQUFNO3dCQUNMLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztxQkFDNUM7aUJBRUY7Z0JBQ0QsSUFBSSxZQUFZLEtBQUssRUFBRSxFQUFFO29CQUNyQixZQUFZLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFDLEVBQUUsQ0FBQyxDQUFDO2lCQUN4RDthQUNGO2lCQUFNLElBQUksR0FBRyxDQUFDLEtBQUssRUFBRTtnQkFDcEIsSUFBSSxPQUFPLEdBQUcsQ0FBQyxLQUFLLEtBQUssUUFBUSxFQUFFO29CQUNqQyxZQUFZLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFDLEVBQUUsQ0FBQyxDQUFDO2lCQUN0RDtxQkFBTTtvQkFDTCxZQUFZLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksRUFBQyxFQUFFLENBQUMsQ0FBQztpQkFDeEU7YUFDRjtpQkFDSyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxLQUFLLFNBQVMsRUFBRTtnQkFDMUMsWUFBWSxHQUFHLGNBQWMsQ0FBQzthQUMvQjtpQkFBTTtnQkFDTCxZQUFZLEdBQUcsS0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQVMsQ0FBQzthQUN2QztTQUNGO1FBQ0QsT0FBTyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDOUIsQ0FBQzs7Ozs7SUFFRCxtREFBcUI7Ozs7SUFBckIsVUFBc0IsWUFBWTtRQUNoQyxPQUFPO1lBQ0wsS0FBSyxFQUFFLHFDQUFxQztZQUM1QyxJQUFJLEVBQUUsaUJBQWlCO1lBQ3ZCLFNBQVMsRUFBRSxZQUFZO1NBQ3hCLENBQUM7SUFDSixDQUFDOztnQkF6REYsVUFBVSxTQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7Ozs7OEJBUEQ7Q0ErREMsQUExREQsSUEwREM7U0FyRFksbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgX3Rocm93IH0gZnJvbSAncnhqcy9vYnNlcnZhYmxlL3Rocm93JztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzL2ludGVybmFsL09ic2VydmFibGUnO1xuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuXG5cbmV4cG9ydCBjbGFzcyBFcnJvckhhbmRsZXJTZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG5cbiAgaGFuZGxlRXJyb3IoZXJyOiBIdHRwRXJyb3JSZXNwb25zZSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IGVycm9yTWVzc2FnZTogc3RyaW5nO1xuICAgIGlmIChlcnIuZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgLy8gQSBjbGllbnQtc2lkZSBvciBuZXR3b3JrIGVycm9yIG9jY3VycmVkLlxuICAgICAgZXJyb3JNZXNzYWdlID0gYEFuIGVycm9yIG9jY3VycmVkOiAke2Vyci5lcnJvci5tZXNzYWdlfWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFRoZSBiYWNrZW5kIHJldHVybmVkIGFuIHVuc3VjY2Vzc2Z1bCByZXNwb25zZSBjb2RlLlxuICAgICAgaWYgKGVyci5zdGF0dXMgPT09IDQwNCkge1xuICAgICAgICBpZiAoIWVyci5lcnJvcikge1xuICAgICAgICAgIGVycm9yTWVzc2FnZSA9ICdOb3QgZm91bmQnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGVycm9yTWVzc2FnZSA9IGVyci5lcnJvcjtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChlcnIuc3RhdHVzID09PSA0MDApIHtcbiAgICAgICAgaWYgKHR5cGVvZiBlcnIgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgaWYoSlNPTi5wYXJzZShlcnIuZXJyb3IpW1wiZXJyb3JcIl0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgZXJyb3JNZXNzYWdlID0gSlNPTi5wYXJzZShlcnIuZXJyb3IpW1wiZXJyb3JcIl07ICBcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgSlNPTi5wYXJzZShlcnIuZXJyb3IpW1wiZXJyXCJdLnNwbGl0KCctJylbMV07XG4gICAgICAgICAgfVxuXG4gICAgICAgIH0gXG4gICAgICAgIGlmIChlcnJvck1lc3NhZ2UgPT09ICcnKSB7XG4gICAgICAgICAgICBlcnJvck1lc3NhZ2UgPSBlcnIuZXJyb3IudG9TdHJpbmcoKS5yZXBsYWNlKC9cIi9nLFwiXCIpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGVyci5lcnJvcikge1xuICAgICAgICBpZiAodHlwZW9mIGVyci5lcnJvciA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICBlcnJvck1lc3NhZ2UgPSBlcnIuZXJyb3IudG9TdHJpbmcoKS5yZXBsYWNlKC9cIi9nLFwiXCIpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGVycm9yTWVzc2FnZSA9IE9iamVjdC52YWx1ZXMoZXJyLmVycm9yKVswXS50b1N0cmluZygpLnJlcGxhY2UoL1wiL2csXCJcIik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICBlbHNlIGlmIChlcnIuZXJyb3IubWVzc3NhZ2UgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBlcnJvck1lc3NhZ2UgPSAnU2VydmVyIGVycm9yJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGVycm9yTWVzc2FnZSA9IGAke2Vyci5lcnJvci5tZXNzYWdlfWA7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBfdGhyb3coZXJyb3JNZXNzYWdlKTtcbiAgfVxuXG4gIGdldFNlcnZlckVycm9yTWVzc2FnZShpc0Vycm9yRXhpc3QpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdGl0bGU6IFwiVGhlcmUgaXMgYSBwcm9ibGVtIHdpdGggdGhlIHNlcnZpY2VcIixcbiAgICAgIGJvZHk6IFwiVHJ5IGFnYWluIGxhdGVyXCIsXG4gICAgICBzaG93RXJyb3I6IGlzRXJyb3JFeGlzdFxuICAgIH07XG4gIH1cbn1cbiJdfQ==