@hmcts/ccpay-web-component 4.0.0-beta97 → 4.0.1-beta2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/hmcts-ccpay-web-component.umd.js +6480 -2353
- package/bundles/hmcts-ccpay-web-component.umd.js.map +1 -1
- package/bundles/hmcts-ccpay-web-component.umd.min.js +1 -1
- package/bundles/hmcts-ccpay-web-component.umd.min.js.map +1 -1
- package/esm2015/hmcts-ccpay-web-component.js +33 -25
- package/esm2015/lib/components/add-remission/add-remission.component.js +742 -138
- package/esm2015/lib/components/allocate-payments/allocate-payments.component.js +315 -310
- package/esm2015/lib/components/card-details/card-details.component.js +22 -57
- package/esm2015/lib/components/case-transactions/case-transactions.component.js +1081 -333
- package/esm2015/lib/components/error-banner/error-banner.component.js +5 -17
- package/esm2015/lib/components/fee-summary/fee-summary.component.js +245 -266
- package/esm2015/lib/components/mark-unidentified-payment/mark-unidentified-payment.component.js +137 -156
- package/esm2015/lib/components/mark-unsolicited-payment/mark-unsolicited-payment.component.js +178 -178
- package/esm2015/lib/components/page-not-found.component.js +3 -4
- package/esm2015/lib/components/payment-list/payment-list.component.js +22 -80
- package/esm2015/lib/components/payment-view/payment-view.component.js +269 -127
- package/esm2015/lib/components/pba-details/pba-details.component.js +5 -39
- package/esm2015/lib/components/process-refund/process-refund.component.js +314 -0
- package/esm2015/lib/components/processed-payments/processed-payments.component.js +72 -0
- package/esm2015/lib/components/refund-list/refund-list.component.js +140 -0
- package/esm2015/lib/components/refund-status/refund-status.component.js +487 -0
- package/esm2015/lib/components/refunds/refunds.component.js +23 -0
- package/esm2015/lib/components/reports/reports.component.js +89 -112
- package/esm2015/lib/components/status-history/status-history.component.js +28 -35
- package/esm2015/lib/components/table/table.component.js +158 -0
- package/esm2015/lib/components/unprocessed-payments/unprocessed-payments.component.js +178 -88
- package/esm2015/lib/interfaces/AddRemissionRequest.js +6 -7
- package/esm2015/lib/interfaces/AddRetroRemissionRequest.js +21 -0
- package/esm2015/lib/interfaces/AllocatePaymentRequest.js +11 -9
- package/esm2015/lib/interfaces/IAllocationPaymentsRequest.js +2 -3
- package/esm2015/lib/interfaces/IBSPayments.js +38 -35
- package/esm2015/lib/interfaces/ICardDetails.js +14 -13
- package/esm2015/lib/interfaces/IFee.js +44 -29
- package/esm2015/lib/interfaces/IOrderReferenceFee.js +25 -0
- package/esm2015/lib/interfaces/IPatchRefundAction.js +15 -0
- package/esm2015/lib/interfaces/IPayment.js +56 -55
- package/esm2015/lib/interfaces/IPaymentGroup.js +12 -11
- package/esm2015/lib/interfaces/IPaymentStatus.js +2 -3
- package/esm2015/lib/interfaces/IPaymentView.js +17 -0
- package/esm2015/lib/interfaces/IPayments.js +6 -5
- package/esm2015/lib/interfaces/IRefundAction.js +15 -0
- package/esm2015/lib/interfaces/IRefundList.js +29 -0
- package/esm2015/lib/interfaces/IRefundReasons.js +17 -0
- package/esm2015/lib/interfaces/IRefundRejectReason.js +15 -0
- package/esm2015/lib/interfaces/IRefundStatus.js +23 -0
- package/esm2015/lib/interfaces/IRemission.js +18 -17
- package/esm2015/lib/interfaces/IResubmitRefundRequest.js +21 -0
- package/esm2015/lib/interfaces/IStatusHistories.js +12 -11
- package/esm2015/lib/interfaces/IStatusHistory.js +14 -13
- package/esm2015/lib/interfaces/IssueRefundRequest.js +25 -0
- package/esm2015/lib/interfaces/PayhubAntennaRequest.js +28 -0
- package/esm2015/lib/interfaces/PaymentToPayhubRequest.js +7 -12
- package/esm2015/lib/interfaces/PostIssueRefundRetroRemission.js +17 -0
- package/esm2015/lib/interfaces/PostRefundRetroRemission.js +21 -0
- package/esm2015/lib/interfaces/RefundsRequest.js +21 -0
- package/esm2015/lib/interfaces/UnidentifiedPaymentsRequest.js +2 -3
- package/esm2015/lib/interfaces/UnsolicitedPaymentsRequest.js +2 -3
- package/esm2015/lib/payment-lib.component.js +112 -18
- package/esm2015/lib/payment-lib.module.js +33 -6
- package/esm2015/lib/payment-lib.service.js +18 -4
- package/esm2015/lib/pipes/capitalize.pipe.js +24 -0
- package/esm2015/lib/pipes/ccd-hyphens.pipe.js +3 -4
- package/esm2015/lib/pipes/key-value.pipe.js +3 -4
- package/esm2015/lib/pipes/sanitize-html.pipe.js +7 -5
- package/esm2015/lib/services/bulk-scaning-payment/bulk-scaning-payment.service.js +52 -14
- package/esm2015/lib/services/card-details/card-details.service.js +19 -8
- package/esm2015/lib/services/case-transactions/case-transactions.service.js +19 -8
- package/esm2015/lib/services/orderslist.service.js +211 -0
- package/esm2015/lib/services/payment-list/payment-list.service.js +19 -8
- package/esm2015/lib/services/payment-view/payment-view.service.js +100 -13
- package/esm2015/lib/services/refunds/refunds.service.js +196 -0
- package/esm2015/lib/services/shared/error-handler.service.js +6 -4
- package/esm2015/lib/services/shared/httpclient/webcomponent.http.client.js +17 -8
- package/esm2015/lib/services/shared/logger/console-logger.service.js +7 -5
- package/esm2015/lib/services/shared/logger/logger.service.js +7 -5
- package/esm2015/lib/services/status-history/status-history.service.js +19 -8
- package/esm2015/lib/services/xl-file/xl-file.service.js +57 -50
- package/esm2015/public_api.js +1 -2
- package/esm5/hmcts-ccpay-web-component.js +33 -25
- package/esm5/lib/components/add-remission/add-remission.component.js +807 -47
- package/esm5/lib/components/allocate-payments/allocate-payments.component.js +328 -107
- package/esm5/lib/components/card-details/card-details.component.js +22 -9
- package/esm5/lib/components/case-transactions/case-transactions.component.js +1183 -85
- package/esm5/lib/components/error-banner/error-banner.component.js +3 -4
- package/esm5/lib/components/fee-summary/fee-summary.component.js +252 -91
- package/esm5/lib/components/mark-unidentified-payment/mark-unidentified-payment.component.js +136 -45
- package/esm5/lib/components/mark-unsolicited-payment/mark-unsolicited-payment.component.js +179 -65
- package/esm5/lib/components/page-not-found.component.js +3 -4
- package/esm5/lib/components/payment-list/payment-list.component.js +21 -8
- package/esm5/lib/components/payment-view/payment-view.component.js +318 -17
- package/esm5/lib/components/pba-details/pba-details.component.js +5 -6
- package/esm5/lib/components/process-refund/process-refund.component.js +336 -0
- package/esm5/lib/components/processed-payments/processed-payments.component.js +83 -0
- package/esm5/lib/components/refund-list/refund-list.component.js +143 -0
- package/esm5/lib/components/refund-status/refund-status.component.js +545 -0
- package/esm5/lib/components/refunds/refunds.component.js +29 -0
- package/esm5/lib/components/reports/reports.component.js +92 -23
- package/esm5/lib/components/status-history/status-history.component.js +27 -9
- package/esm5/lib/components/table/table.component.js +188 -0
- package/esm5/lib/components/unprocessed-payments/unprocessed-payments.component.js +188 -24
- package/esm5/lib/interfaces/AddRemissionRequest.js +5 -6
- package/esm5/lib/interfaces/AddRetroRemissionRequest.js +19 -0
- package/esm5/lib/interfaces/AllocatePaymentRequest.js +9 -8
- package/esm5/lib/interfaces/IAllocationPaymentsRequest.js +2 -3
- package/esm5/lib/interfaces/IBSPayments.js +38 -35
- package/esm5/lib/interfaces/ICardDetails.js +14 -13
- package/esm5/lib/interfaces/IFee.js +44 -29
- package/esm5/lib/interfaces/IOrderReferenceFee.js +25 -0
- package/esm5/lib/interfaces/IPatchRefundAction.js +15 -0
- package/esm5/lib/interfaces/IPayment.js +56 -55
- package/esm5/lib/interfaces/IPaymentGroup.js +12 -11
- package/esm5/lib/interfaces/IPaymentStatus.js +2 -3
- package/esm5/lib/interfaces/IPaymentView.js +17 -0
- package/esm5/lib/interfaces/IPayments.js +6 -5
- package/esm5/lib/interfaces/IRefundAction.js +15 -0
- package/esm5/lib/interfaces/IRefundList.js +29 -0
- package/esm5/lib/interfaces/IRefundReasons.js +17 -0
- package/esm5/lib/interfaces/IRefundRejectReason.js +15 -0
- package/esm5/lib/interfaces/IRefundStatus.js +23 -0
- package/esm5/lib/interfaces/IRemission.js +18 -17
- package/esm5/lib/interfaces/IResubmitRefundRequest.js +19 -0
- package/esm5/lib/interfaces/IStatusHistories.js +12 -11
- package/esm5/lib/interfaces/IStatusHistory.js +14 -13
- package/esm5/lib/interfaces/IssueRefundRequest.js +22 -0
- package/esm5/lib/interfaces/PayhubAntennaRequest.js +25 -0
- package/esm5/lib/interfaces/PaymentToPayhubRequest.js +6 -10
- package/esm5/lib/interfaces/PostIssueRefundRetroRemission.js +16 -0
- package/esm5/lib/interfaces/PostRefundRetroRemission.js +19 -0
- package/esm5/lib/interfaces/RefundsRequest.js +19 -0
- package/esm5/lib/interfaces/UnidentifiedPaymentsRequest.js +2 -3
- package/esm5/lib/interfaces/UnsolicitedPaymentsRequest.js +2 -3
- package/esm5/lib/payment-lib.component.js +84 -12
- package/esm5/lib/payment-lib.module.js +33 -6
- package/esm5/lib/payment-lib.service.js +25 -4
- package/esm5/lib/pipes/capitalize.pipe.js +32 -0
- package/esm5/lib/pipes/ccd-hyphens.pipe.js +3 -4
- package/esm5/lib/pipes/key-value.pipe.js +3 -4
- package/esm5/lib/pipes/sanitize-html.pipe.js +7 -5
- package/esm5/lib/services/bulk-scaning-payment/bulk-scaning-payment.service.js +61 -14
- package/esm5/lib/services/card-details/card-details.service.js +19 -8
- package/esm5/lib/services/case-transactions/case-transactions.service.js +19 -8
- package/esm5/lib/services/orderslist.service.js +276 -0
- package/esm5/lib/services/payment-list/payment-list.service.js +19 -8
- package/esm5/lib/services/payment-view/payment-view.service.js +138 -14
- package/esm5/lib/services/refunds/refunds.service.js +236 -0
- package/esm5/lib/services/shared/error-handler.service.js +6 -4
- package/esm5/lib/services/shared/httpclient/webcomponent.http.client.js +17 -8
- package/esm5/lib/services/shared/logger/console-logger.service.js +7 -5
- package/esm5/lib/services/shared/logger/logger.service.js +7 -5
- package/esm5/lib/services/status-history/status-history.service.js +19 -8
- package/esm5/lib/services/xl-file/xl-file.service.js +63 -50
- package/esm5/public_api.js +1 -2
- package/fesm2015/hmcts-ccpay-web-component.js +4431 -2031
- package/fesm2015/hmcts-ccpay-web-component.js.map +1 -1
- package/fesm5/hmcts-ccpay-web-component.js +6613 -2320
- package/fesm5/hmcts-ccpay-web-component.js.map +1 -1
- package/hmcts-ccpay-web-component.d.ts +31 -22
- package/hmcts-ccpay-web-component.metadata.json +1 -1
- package/lib/components/add-remission/add-remission.component.d.ts +75 -3
- package/lib/components/allocate-payments/allocate-payments.component.d.ts +26 -9
- package/lib/components/case-transactions/case-transactions.component.d.ts +86 -4
- package/lib/components/fee-summary/fee-summary.component.d.ts +13 -2
- package/lib/components/mark-unidentified-payment/mark-unidentified-payment.component.d.ts +2 -0
- package/lib/components/mark-unsolicited-payment/mark-unsolicited-payment.component.d.ts +4 -0
- package/lib/components/payment-view/payment-view.component.d.ts +34 -1
- package/lib/components/process-refund/process-refund.component.d.ts +46 -0
- package/lib/components/processed-payments/processed-payments.component.d.ts +14 -0
- package/lib/components/refund-list/refund-list.component.d.ts +23 -0
- package/lib/components/refund-status/refund-status.component.d.ts +66 -0
- package/lib/components/refunds/refunds.component.d.ts +5 -0
- package/lib/components/reports/reports.component.d.ts +1 -0
- package/lib/components/status-history/status-history.component.d.ts +1 -0
- package/lib/components/table/table.component.d.ts +35 -0
- package/lib/components/unprocessed-payments/unprocessed-payments.component.d.ts +25 -4
- package/lib/interfaces/AddRemissionRequest.d.ts +2 -2
- package/lib/interfaces/AddRetroRemissionRequest.d.ts +5 -0
- package/lib/interfaces/AllocatePaymentRequest.d.ts +16 -3
- package/lib/interfaces/IBSPayments.d.ts +1 -0
- package/lib/interfaces/IFee.d.ts +7 -0
- package/lib/interfaces/IOrderReferenceFee.d.ts +9 -0
- package/lib/interfaces/IPatchRefundAction.d.ts +4 -0
- package/lib/interfaces/IPaymentView.d.ts +5 -0
- package/lib/interfaces/IRefundAction.d.ts +4 -0
- package/lib/interfaces/IRefundList.d.ts +14 -0
- package/lib/interfaces/IRefundReasons.d.ts +5 -0
- package/lib/interfaces/IRefundRejectReason.d.ts +4 -0
- package/lib/interfaces/IRefundStatus.d.ts +8 -0
- package/lib/interfaces/IResubmitRefundRequest.d.ts +5 -0
- package/lib/interfaces/IssueRefundRequest.d.ts +6 -0
- package/lib/interfaces/PayhubAntennaRequest.d.ts +7 -0
- package/lib/interfaces/PaymentToPayhubRequest.d.ts +2 -3
- package/lib/interfaces/PostIssueRefundRetroRemission.d.ts +4 -0
- package/lib/interfaces/PostRefundRetroRemission.d.ts +5 -0
- package/lib/interfaces/RefundsRequest.d.ts +5 -0
- package/lib/payment-lib.component.d.ts +28 -3
- package/lib/payment-lib.service.d.ts +3 -0
- package/lib/pipes/capitalize.pipe.d.ts +5 -0
- package/lib/services/bulk-scaning-payment/bulk-scaning-payment.service.d.ts +2 -0
- package/lib/services/orderslist.service.d.ts +40 -0
- package/lib/services/payment-view/payment-view.service.d.ts +17 -2
- package/lib/services/refunds/refunds.service.d.ts +30 -0
- package/lib/services/xl-file/xl-file.service.d.ts +6 -6
- package/package.json +1 -1
package/esm2015/lib/components/mark-unsolicited-payment/mark-unsolicited-payment.component.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
|
-
import { Component } from '@angular/core';
|
|
5
|
+
import { Component, Input } from '@angular/core';
|
|
6
6
|
import { FormBuilder, Validators, FormControl } from '@angular/forms';
|
|
7
7
|
import { PaymentLibComponent } from '../../payment-lib.component';
|
|
8
8
|
import { BulkScaningPaymentService } from '../../services/bulk-scaning-payment/bulk-scaning-payment.service';
|
|
@@ -30,8 +30,10 @@ export class MarkUnsolicitedPaymentComponent {
|
|
|
30
30
|
this.errorMessage = this.getErrorMessage(false);
|
|
31
31
|
this.siteID = null;
|
|
32
32
|
this.isConfirmButtondisabled = false;
|
|
33
|
+
this.isContinueButtondisabled = false;
|
|
33
34
|
this.ccdReference = null;
|
|
34
35
|
this.exceptionReference = null;
|
|
36
|
+
this.isStrategicFixEnable = true;
|
|
35
37
|
}
|
|
36
38
|
/**
|
|
37
39
|
* @return {?}
|
|
@@ -41,9 +43,25 @@ export class MarkUnsolicitedPaymentComponent {
|
|
|
41
43
|
this.viewStatus = 'mainForm';
|
|
42
44
|
this.ccdCaseNumber = this.paymentLibComponent.CCD_CASE_NUMBER;
|
|
43
45
|
this.bspaymentdcn = this.paymentLibComponent.bspaymentdcn;
|
|
46
|
+
this.isStrategicFixEnable = this.paymentLibComponent.ISSFENABLE;
|
|
44
47
|
this.getUnassignedPayment();
|
|
45
|
-
/**
|
|
46
|
-
|
|
48
|
+
this.paymentViewService.getSiteID().subscribe((/**
|
|
49
|
+
* @param {?} siteids
|
|
50
|
+
* @return {?}
|
|
51
|
+
*/
|
|
52
|
+
siteids => {
|
|
53
|
+
this.isContinueButtondisabled = false;
|
|
54
|
+
this.errorMessage = this.getErrorMessage(false);
|
|
55
|
+
this.siteIDList = JSON.parse(siteids);
|
|
56
|
+
}), (/**
|
|
57
|
+
* @param {?} err
|
|
58
|
+
* @return {?}
|
|
59
|
+
*/
|
|
60
|
+
err => {
|
|
61
|
+
window.scrollTo(0, 0);
|
|
62
|
+
this.isContinueButtondisabled = true;
|
|
63
|
+
this.errorMessage = this.getErrorMessage(true);
|
|
64
|
+
}));
|
|
47
65
|
this.markPaymentUnsolicitedForm = this.formBuilder.group({
|
|
48
66
|
reason: new FormControl('', Validators.compose([
|
|
49
67
|
Validators.required,
|
|
@@ -73,42 +91,102 @@ export class MarkUnsolicitedPaymentComponent {
|
|
|
73
91
|
this.isConfirmButtondisabled = true;
|
|
74
92
|
/** @type {?} */
|
|
75
93
|
const controls = this.markPaymentUnsolicitedForm.controls;
|
|
76
|
-
|
|
77
|
-
this.bulkScaningPaymentService.patchBSChangeStatus(this.unassignedRecord.dcn_reference, 'PROCESSED').subscribe(res1 => {
|
|
78
|
-
this.errorMessage = this.getErrorMessage(false);
|
|
94
|
+
if (!this.isStrategicFixEnable) {
|
|
79
95
|
/** @type {?} */
|
|
80
|
-
|
|
96
|
+
let allocatedRequest = {
|
|
97
|
+
allocation_status: 'Transferred',
|
|
98
|
+
payment_allocation_status: {
|
|
99
|
+
description: '',
|
|
100
|
+
name: 'Transferred'
|
|
101
|
+
},
|
|
102
|
+
unidentified_reason: controls.reason.value,
|
|
103
|
+
receiving_office: this.selectedSiteId,
|
|
104
|
+
user_id: this.caseType,
|
|
105
|
+
};
|
|
81
106
|
/** @type {?} */
|
|
82
|
-
const
|
|
83
|
-
this.
|
|
107
|
+
const postStrategicBody = new AllocatePaymentRequest(this.ccdReference, this.unassignedRecord, this.caseType, this.exceptionReference, allocatedRequest);
|
|
108
|
+
this.bulkScaningPaymentService.postBSWoPGStrategic(postStrategicBody).subscribe((/**
|
|
109
|
+
* @param {?} res
|
|
110
|
+
* @return {?}
|
|
111
|
+
*/
|
|
112
|
+
res => {
|
|
84
113
|
this.errorMessage = this.getErrorMessage(false);
|
|
85
114
|
/** @type {?} */
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
if (response2.success) {
|
|
90
|
-
this.paymentViewService.postBSUnsolicitedPayments(reqBody).subscribe(res3 => {
|
|
91
|
-
this.errorMessage = this.getErrorMessage(false);
|
|
92
|
-
/** @type {?} */
|
|
93
|
-
const response3 = JSON.parse(res3);
|
|
94
|
-
if (response3.success) {
|
|
95
|
-
this.gotoCasetransationPage();
|
|
96
|
-
}
|
|
97
|
-
}, (error) => {
|
|
98
|
-
this.bulkScaningPaymentService.patchBSChangeStatus(this.unassignedRecord.dcn_reference, 'COMPLETE').subscribe();
|
|
99
|
-
this.errorMessage = this.getErrorMessage(true);
|
|
100
|
-
this.isConfirmButtondisabled = false;
|
|
101
|
-
});
|
|
115
|
+
let response = JSON.parse(res);
|
|
116
|
+
if (response.success) {
|
|
117
|
+
this.gotoCasetransationPage();
|
|
102
118
|
}
|
|
103
|
-
}, (
|
|
104
|
-
|
|
119
|
+
}), (/**
|
|
120
|
+
* @param {?} error
|
|
121
|
+
* @return {?}
|
|
122
|
+
*/
|
|
123
|
+
(error) => {
|
|
105
124
|
this.errorMessage = this.getErrorMessage(true);
|
|
106
125
|
this.isConfirmButtondisabled = false;
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
126
|
+
}));
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
// controls.responsibleOffice.setValue('P219');
|
|
130
|
+
this.bulkScaningPaymentService.patchBSChangeStatus(this.unassignedRecord.dcn_reference, 'PROCESSED').subscribe((/**
|
|
131
|
+
* @param {?} res1
|
|
132
|
+
* @return {?}
|
|
133
|
+
*/
|
|
134
|
+
res1 => {
|
|
135
|
+
this.errorMessage = this.getErrorMessage(false);
|
|
136
|
+
/** @type {?} */
|
|
137
|
+
const response1 = JSON.parse(res1);
|
|
138
|
+
/** @type {?} */
|
|
139
|
+
const requestBody = new AllocatePaymentRequest(this.ccdReference, this.unassignedRecord, this.siteID, this.exceptionReference);
|
|
140
|
+
this.paymentViewService.postBSPayments(requestBody).subscribe((/**
|
|
141
|
+
* @param {?} res2
|
|
142
|
+
* @return {?}
|
|
143
|
+
*/
|
|
144
|
+
res2 => {
|
|
145
|
+
this.errorMessage = this.getErrorMessage(false);
|
|
146
|
+
/** @type {?} */
|
|
147
|
+
const response2 = JSON.parse(res2);
|
|
148
|
+
/** @type {?} */
|
|
149
|
+
const reqBody = new UnsolicitedPaymentsRequest(response2['data'].payment_group_reference, response2['data'].reference, controls.reason.value, this.selectedSiteId, controls.responsiblePerson.value, controls.emailId.value);
|
|
150
|
+
if (response2.success) {
|
|
151
|
+
this.paymentViewService.postBSUnsolicitedPayments(reqBody).subscribe((/**
|
|
152
|
+
* @param {?} res3
|
|
153
|
+
* @return {?}
|
|
154
|
+
*/
|
|
155
|
+
res3 => {
|
|
156
|
+
this.errorMessage = this.getErrorMessage(false);
|
|
157
|
+
/** @type {?} */
|
|
158
|
+
const response3 = JSON.parse(res3);
|
|
159
|
+
if (response3.success) {
|
|
160
|
+
this.gotoCasetransationPage();
|
|
161
|
+
}
|
|
162
|
+
}), (/**
|
|
163
|
+
* @param {?} error
|
|
164
|
+
* @return {?}
|
|
165
|
+
*/
|
|
166
|
+
(error) => {
|
|
167
|
+
this.bulkScaningPaymentService.patchBSChangeStatus(this.unassignedRecord.dcn_reference, 'COMPLETE').subscribe();
|
|
168
|
+
this.errorMessage = this.getErrorMessage(true);
|
|
169
|
+
this.isConfirmButtondisabled = false;
|
|
170
|
+
}));
|
|
171
|
+
}
|
|
172
|
+
}), (/**
|
|
173
|
+
* @param {?} error
|
|
174
|
+
* @return {?}
|
|
175
|
+
*/
|
|
176
|
+
(error) => {
|
|
177
|
+
this.bulkScaningPaymentService.patchBSChangeStatus(this.unassignedRecord.dcn_reference, 'COMPLETE').subscribe();
|
|
178
|
+
this.errorMessage = this.getErrorMessage(true);
|
|
179
|
+
this.isConfirmButtondisabled = false;
|
|
180
|
+
}));
|
|
181
|
+
}), (/**
|
|
182
|
+
* @param {?} error
|
|
183
|
+
* @return {?}
|
|
184
|
+
*/
|
|
185
|
+
(error) => {
|
|
186
|
+
this.errorMessage = this.getErrorMessage(true);
|
|
187
|
+
this.isConfirmButtondisabled = false;
|
|
188
|
+
}));
|
|
189
|
+
}
|
|
112
190
|
}
|
|
113
191
|
/**
|
|
114
192
|
* @return {?}
|
|
@@ -116,39 +194,40 @@ export class MarkUnsolicitedPaymentComponent {
|
|
|
116
194
|
saveAndContinue() {
|
|
117
195
|
this.resetForm([false, false, false, false, false, false], 'all');
|
|
118
196
|
/** @type {?} */
|
|
119
|
-
const formerror = this.markPaymentUnsolicitedForm.controls
|
|
197
|
+
const formerror = this.markPaymentUnsolicitedForm.controls.reason.errors;
|
|
120
198
|
/** @type {?} */
|
|
121
|
-
const reasonField = this.markPaymentUnsolicitedForm.controls
|
|
199
|
+
const reasonField = this.markPaymentUnsolicitedForm.controls.reason;
|
|
200
|
+
//const officeIdField = this.selectedSiteId;
|
|
122
201
|
/** @type {?} */
|
|
123
|
-
const officeIdField = this.
|
|
202
|
+
const officeIdField = this.markPaymentUnsolicitedForm.controls.responsibleOffice;
|
|
124
203
|
if (this.markPaymentUnsolicitedForm.dirty && this.markPaymentUnsolicitedForm.valid) {
|
|
125
204
|
/** @type {?} */
|
|
126
205
|
const controls = this.markPaymentUnsolicitedForm.controls;
|
|
127
|
-
this.emailId = controls
|
|
128
|
-
this.responsibleOffice = officeIdField;
|
|
129
|
-
this.responsiblePerson = controls
|
|
130
|
-
this.reason = controls
|
|
206
|
+
this.emailId = controls.emailId.value;
|
|
207
|
+
this.responsibleOffice = officeIdField.value;
|
|
208
|
+
this.responsiblePerson = controls.responsiblePerson.value;
|
|
209
|
+
this.reason = controls.reason.value;
|
|
131
210
|
this.viewStatus = 'unsolicitedContinueConfirm';
|
|
132
211
|
}
|
|
133
212
|
else {
|
|
134
213
|
if (reasonField.value == '') {
|
|
135
214
|
this.resetForm([true, false, false, false, false, false], 'reason');
|
|
136
215
|
}
|
|
137
|
-
if (reasonField.value != '' && this.markPaymentUnsolicitedForm.controls
|
|
216
|
+
if (reasonField.value != '' && this.markPaymentUnsolicitedForm.controls.reason.invalid) {
|
|
138
217
|
this.resetForm([false, true, false, false, false, false], 'reason');
|
|
139
218
|
}
|
|
140
|
-
if (formerror && formerror
|
|
219
|
+
if (formerror && formerror.minlength && formerror.minlength.actualLength < 3) {
|
|
141
220
|
this.resetForm([false, false, true, false, false, false], 'reason');
|
|
142
221
|
}
|
|
143
|
-
if (formerror && formerror
|
|
222
|
+
if (formerror && formerror.maxlength && formerror.maxlength.actualLength > 255) {
|
|
144
223
|
this.resetForm([false, false, false, true, false, false], 'reason');
|
|
145
224
|
}
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
225
|
+
if (officeIdField.value == '') {
|
|
226
|
+
this.resetForm([false, false, false, false, true, false], 'responsibleOffice');
|
|
227
|
+
}
|
|
228
|
+
if (officeIdField.value != '' && officeIdField.invalid) {
|
|
229
|
+
this.resetForm([false, false, false, false, false, true], 'responsibleOffice');
|
|
230
|
+
}
|
|
152
231
|
}
|
|
153
232
|
}
|
|
154
233
|
/**
|
|
@@ -182,7 +261,7 @@ export class MarkUnsolicitedPaymentComponent {
|
|
|
182
261
|
}
|
|
183
262
|
}
|
|
184
263
|
else {
|
|
185
|
-
this.markPaymentUnsolicitedForm.controls
|
|
264
|
+
this.markPaymentUnsolicitedForm.controls.responsibleOffice.setValue('');
|
|
186
265
|
this.viewStatus = 'mainForm';
|
|
187
266
|
}
|
|
188
267
|
}
|
|
@@ -214,10 +293,18 @@ export class MarkUnsolicitedPaymentComponent {
|
|
|
214
293
|
* @return {?}
|
|
215
294
|
*/
|
|
216
295
|
getUnassignedPayment() {
|
|
217
|
-
this.bulkScaningPaymentService.getBSPaymentsByDCN(this.bspaymentdcn).subscribe(
|
|
218
|
-
|
|
296
|
+
this.bulkScaningPaymentService.getBSPaymentsByDCN(this.bspaymentdcn).subscribe((/**
|
|
297
|
+
* @param {?} unassignedPayments
|
|
298
|
+
* @return {?}
|
|
299
|
+
*/
|
|
300
|
+
unassignedPayments => {
|
|
301
|
+
this.unassignedRecord = unassignedPayments['data'].payments.filter((/**
|
|
302
|
+
* @param {?} payment
|
|
303
|
+
* @return {?}
|
|
304
|
+
*/
|
|
305
|
+
payment => {
|
|
219
306
|
return payment && payment.dcn_reference == this.bspaymentdcn;
|
|
220
|
-
})[0];
|
|
307
|
+
}))[0];
|
|
221
308
|
this.siteID = unassignedPayments['data'].responsible_service_id;
|
|
222
309
|
/** @type {?} */
|
|
223
310
|
const beCcdNumber = unassignedPayments['data'].ccd_reference;
|
|
@@ -227,9 +314,13 @@ export class MarkUnsolicitedPaymentComponent {
|
|
|
227
314
|
const exceptionReference = beCcdNumber ? beCcdNumber === this.ccdCaseNumber ? null : this.ccdCaseNumber : this.ccdCaseNumber;
|
|
228
315
|
this.ccdReference = beCcdNumber ? beCcdNumber : null;
|
|
229
316
|
this.exceptionReference = beExceptionNumber ? beExceptionNumber : exceptionReference;
|
|
230
|
-
}, (
|
|
317
|
+
}), (/**
|
|
318
|
+
* @param {?} error
|
|
319
|
+
* @return {?}
|
|
320
|
+
*/
|
|
321
|
+
(error) => {
|
|
231
322
|
this.errorMessage = this.getErrorMessage(true);
|
|
232
|
-
});
|
|
323
|
+
}));
|
|
233
324
|
}
|
|
234
325
|
/**
|
|
235
326
|
* @param {?} isErrorExist
|
|
@@ -237,8 +328,8 @@ export class MarkUnsolicitedPaymentComponent {
|
|
|
237
328
|
*/
|
|
238
329
|
getErrorMessage(isErrorExist) {
|
|
239
330
|
return {
|
|
240
|
-
title: "
|
|
241
|
-
body: "
|
|
331
|
+
title: "Something went wrong.",
|
|
332
|
+
body: "Please try again later.",
|
|
242
333
|
showError: isErrorExist
|
|
243
334
|
};
|
|
244
335
|
}
|
|
@@ -254,122 +345,9 @@ export class MarkUnsolicitedPaymentComponent {
|
|
|
254
345
|
MarkUnsolicitedPaymentComponent.decorators = [
|
|
255
346
|
{ type: Component, args: [{
|
|
256
347
|
selector: 'app-mark-unsolicited-payment',
|
|
257
|
-
template:
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
<div class="govuk-grid-column-full govuk-!-padding-bottom-3">
|
|
261
|
-
<hr class="govuk-section-break govuk-section-break--visible">
|
|
262
|
-
<table class="govuk-table">
|
|
263
|
-
<thead class="govuk-table__head">
|
|
264
|
-
<tr class="govuk-table__row">
|
|
265
|
-
<td class="govuk-table__header" scope="col">Payment asset number (DCN)</td>
|
|
266
|
-
<td class="govuk-table__header" scope="col">Banked date</td>
|
|
267
|
-
<td class="govuk-table__header" scope="col">Amount</td>
|
|
268
|
-
<td class="govuk-table__header" scope="col">Method</td>
|
|
269
|
-
</tr>
|
|
270
|
-
</thead>
|
|
271
|
-
<tbody class="govuk-table__body">
|
|
272
|
-
<tr class="govuk-table__row">
|
|
273
|
-
<td class="govuk-table__cell">{{unassignedRecord.dcn_reference}}</td>
|
|
274
|
-
<td class="govuk-table__cell"> {{unassignedRecord.date_banked | date:'dd MMM yyyy'}}</td>
|
|
275
|
-
<td class="govuk-table__cell"> {{unassignedRecord.amount | currency :'GBP':'symbol':'1.2-2'}}</td>
|
|
276
|
-
<td class="capitalize govuk-table__cell"> {{trimUnderscore(unassignedRecord.payment_method) | lowercase}} </td>
|
|
277
|
-
</tr>
|
|
278
|
-
</tbody>
|
|
279
|
-
</table>
|
|
280
|
-
</div>
|
|
281
|
-
|
|
282
|
-
<form [formGroup]="markPaymentUnsolicitedForm" novalidate>
|
|
283
|
-
<div class="govuk-form-group">
|
|
284
|
-
<label class="govuk-label custom-govuk-label custom-govuk-label" for="reason">
|
|
285
|
-
Reason for payment being marked as transferred
|
|
286
|
-
</label>
|
|
287
|
-
<textarea class="form-control form-control-3-4" [ngClass]="{'inline-error-class': reasonHasError || reasonMinHasError || reasonMaxHasError}" name="reason" id="reason" rows="5" formControlName="reason">
|
|
288
|
-
</textarea>
|
|
289
|
-
<p class="inline-error-message" *ngIf="isReasonEmpty || reasonHasError || reasonMinHasError || reasonMaxHasError">
|
|
290
|
-
<span *ngIf="isReasonEmpty">Enter a reason for marking this payment as transferred.</span>
|
|
291
|
-
<span *ngIf="reasonHasError">Enter a valid reason</span>
|
|
292
|
-
<span *ngIf="reasonMinHasError">Reason should be at least 3 characters.</span>
|
|
293
|
-
<span *ngIf="reasonMaxHasError">Reason should be 255 characters or under.</span>
|
|
294
|
-
</p>
|
|
295
|
-
</div>
|
|
296
|
-
<div class="govuk-form-group">
|
|
297
|
-
<label class="govuk-label custom-govuk-label" for="responsibleOffice">
|
|
298
|
-
Receiving Site ID (Receiving court/Bulk centre site ID)
|
|
299
|
-
</label>
|
|
300
|
-
<select class="form-control short-input" id="responsibleOffice" formControlName="responsibleOffice" (change)="selectchange($event)">
|
|
301
|
-
<option value="P219">Manchester District Probate Registry (P219)</option>
|
|
302
|
-
<option value="Y694">South West Regional Divorce Centre (Y694)</option>
|
|
303
|
-
</select>
|
|
304
|
-
</div>
|
|
305
|
-
<div class="govuk-button--group">
|
|
306
|
-
<button type="submit" class="button" (click)="saveAndContinue()">
|
|
307
|
-
Confirm
|
|
308
|
-
</button>
|
|
309
|
-
<button type="button" class="button govuk-button--secondary" (click)="cancelMarkUnsolicitedPayments('cancel')">
|
|
310
|
-
Cancel
|
|
311
|
-
</button>
|
|
312
|
-
</div>
|
|
313
|
-
</form>
|
|
314
|
-
|
|
315
|
-
</div>
|
|
316
|
-
<ng-container *ngIf="viewStatus === 'unsolicitedContinueConfirm'">
|
|
317
|
-
<ccpay-error-banner *ngIf="errorMessage.showError" [errorMessage]="errorMessage"></ccpay-error-banner>
|
|
318
|
-
<div class="govuk-warning-text">
|
|
319
|
-
<span class="govuk-warning-text__icon" aria-hidden="true">!</span>
|
|
320
|
-
<strong class="govuk-warning-text__text">
|
|
321
|
-
<span class="govuk-warning-text__assistive">Warning</span>
|
|
322
|
-
<h1 class="heading-small"> Are you sure you want to mark this payment as transferred? </h1>
|
|
323
|
-
</strong>
|
|
324
|
-
|
|
325
|
-
<div class="govuk-grid-column-full govuk-!-padding-bottom-3">
|
|
326
|
-
<hr class="govuk-section-break govuk-section-break--visible">
|
|
327
|
-
<table class="govuk-table">
|
|
328
|
-
<thead class="govuk-table__head">
|
|
329
|
-
<tr class="govuk-table__row">
|
|
330
|
-
<td class="govuk-table__header" scope="col">Reason</td>
|
|
331
|
-
<td class="govuk-table__header" scope="col">Receiving site ID</td>
|
|
332
|
-
</tr>
|
|
333
|
-
</thead>
|
|
334
|
-
<tbody class="govuk-table__body">
|
|
335
|
-
<tr class="govuk-table__row">
|
|
336
|
-
<td class="govuk-table__cell">{{reason}}</td>
|
|
337
|
-
<td class="govuk-table__cell">{{selectedSiteName}}</td>
|
|
338
|
-
</tr>
|
|
339
|
-
</tbody>
|
|
340
|
-
</table>
|
|
341
|
-
</div>
|
|
342
|
-
|
|
343
|
-
</div>
|
|
344
|
-
<div class="govuk-button--group">
|
|
345
|
-
<button type="submit" class="button" [disabled]="isConfirmButtondisabled" (click)="confirmPayments()">
|
|
346
|
-
Confirm
|
|
347
|
-
</button>
|
|
348
|
-
<button type="button" class="button govuk-button--secondary" (click)="cancelMarkUnsolicitedPayments()">
|
|
349
|
-
Cancel
|
|
350
|
-
</button>
|
|
351
|
-
</div>
|
|
352
|
-
</ng-container>
|
|
353
|
-
<ng-container *ngIf="viewStatus === 'unsolicitedCancelConfirm'">
|
|
354
|
-
<div class="govuk-warning-text">
|
|
355
|
-
<span class="govuk-warning-text__icon" aria-hidden="true">!</span>
|
|
356
|
-
<strong class="govuk-warning-text__text">
|
|
357
|
-
<span class="govuk-warning-text__assistive">Warning</span>
|
|
358
|
-
Are you sure you want to cancel?
|
|
359
|
-
</strong>
|
|
360
|
-
</div>
|
|
361
|
-
<div class="govuk-button--group">
|
|
362
|
-
<button type="submit" class="button" (click)="gotoCasetransationPage()">
|
|
363
|
-
Yes
|
|
364
|
-
</button>
|
|
365
|
-
<button type="button" class="button govuk-button--secondary" (click)="cancelMarkUnsolicitedPayments()">
|
|
366
|
-
No
|
|
367
|
-
</button>
|
|
368
|
-
</div>
|
|
369
|
-
</ng-container>
|
|
370
|
-
</div>`,
|
|
371
|
-
styles: [`.mkpay-unidentified{margin:10px 0 20px}.mkpay-unidentified .govuk-button--secondary{margin-left:10px;background-color:#b3b8bdf2}.mkpay-unidentified .inline-error-class{outline:#a71414 solid 3px;outline-offset:0}.mkpay-unidentified .inline-error-message{color:#a71414;font-weight:700;margin-top:10px}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.custom-govuk-label,.govuk-warning-text__text{font-size:19px}#responsibleOffice{color:#000;font-weight:#fff}select option{background:#fff}`]
|
|
372
|
-
},] },
|
|
348
|
+
template: "<div class=\"mkpay-unidentified\">\n <div *ngIf=\"viewStatus === 'mainForm'\">\n <ccpay-error-banner *ngIf=\"errorMessage.showError\" [errorMessage]=\"errorMessage\"></ccpay-error-banner>\n <h1 class=\"heading-large\">Mark payment as transferred</h1>\n <div class=\"govuk-grid-column-full govuk-!-padding-bottom-3\">\n <hr class=\"govuk-section-break govuk-section-break--visible\">\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header\" scope=\"col\">Payment asset number (DCN)</td>\n <td class=\"govuk-table__header\" scope=\"col\">Banked date</td>\n <td class=\"govuk-table__header\" scope=\"col\">Amount</td>\n <td class=\"govuk-table__header\" scope=\"col\">Method</td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell\">{{unassignedRecord.dcn_reference}}</td>\n <td class=\"govuk-table__cell\"> {{unassignedRecord.date_banked | date:'dd MMM yyyy'}}</td>\n <td class=\"govuk-table__cell\"> {{unassignedRecord.amount | currency :'GBP':'symbol':'1.2-2'}}</td>\n <td class=\"capitalize govuk-table__cell\"> {{trimUnderscore(unassignedRecord.payment_method) | lowercase}} </td>\n </tr>\n </tbody>\n </table>\n </div>\n \n <form [formGroup]=\"markPaymentUnsolicitedForm\" novalidate>\n <input #myInput type='hidden' id='iFrameDrivenImageValue' value='MARKTRANSFERRED'>\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label custom-govuk-label custom-govuk-label\" for=\"reason\">\n Reason for payment being marked as transferred \n </label>\n <textarea class=\"form-control form-control-3-4\" [ngClass]=\"{'inline-error-class': reasonHasError || reasonMinHasError || reasonMaxHasError}\" name=\"reason\" id=\"reason\" rows=\"5\" formControlName=\"reason\">\n </textarea>\n <p class=\"inline-error-message\" *ngIf=\"isReasonEmpty || reasonHasError || reasonMinHasError || reasonMaxHasError\">\n <span *ngIf=\"isReasonEmpty\">Enter a reason for marking this payment as transferred.</span>\n <span *ngIf=\"reasonHasError\">Enter a valid reason</span>\n <span *ngIf=\"reasonMinHasError\">Reason should be at least 3 characters.</span>\n <span *ngIf=\"reasonMaxHasError\">Reason should be 255 characters or under.</span>\n </p>\n </div>\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label custom-govuk-label\" for=\"responsibleOffice\">\n Receiving Site ID (Receiving court/Bulk centre site ID) \n </label>\n <select class=\"form-control short-input\" id=\"responsibleOffice\" formControlName=\"responsibleOffice\" (change)=\"selectchange($event)\">\n <option value=\"\" selected='selected'>Please select</option>\n <option *ngFor=\"let siteID of siteIDList;\" value=\"{{siteID.siteId}}\">{{siteID.siteName}} ({{siteID.siteId}})</option>\n </select>\n <p class=\"inline-error-message\" *ngIf=\"isResponsibleOfficeEmpty || responsibleOfficeHasError\">\n <span *ngIf=\"isResponsibleOfficeEmpty\">Please select Receiving Site ID</span>\n <span *ngIf=\"responsibleOfficeHasError\">Please select a valid Receiving Site ID</span>\n </p>\n </div>\n <div class=\"govuk-button--group\">\n <button type=\"submit\" [disabled]=\"isContinueButtondisabled\" class=\"button\" (click)=\"saveAndContinue()\">\n Confirm\n </button>\n <button type=\"button\" class=\"button govuk-button--secondary\" (click)=\"cancelMarkUnsolicitedPayments('cancel')\">\n Cancel\n </button>\n </div>\n </form>\n \n</div>\n <ng-container *ngIf=\"viewStatus === 'unsolicitedContinueConfirm'\">\n <ccpay-error-banner *ngIf=\"errorMessage.showError\" [errorMessage]=\"errorMessage\"></ccpay-error-banner>\n <div class=\"govuk-warning-text\">\n <span class=\"govuk-warning-text__icon\" aria-hidden=\"true\">!</span>\n <strong class=\"govuk-warning-text__text\">\n <span class=\"govuk-warning-text__assistive\">Warning</span>\n <h1 class=\"heading-small\"> Are you sure you want to mark this payment as transferred? </h1>\n </strong>\n <input #myInput type='hidden' id='iFrameDrivenImageValue' value='TRANSFERREDCONFIRMATION'>\n <div class=\"govuk-grid-column-full govuk-!-padding-bottom-3\">\n <hr class=\"govuk-section-break govuk-section-break--visible\">\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header\" scope=\"col\">Reason</td>\n <td class=\"govuk-table__header\" scope=\"col\">Receiving site ID</td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell\">{{reason}}</td>\n <td class=\"govuk-table__cell\">{{selectedSiteName}}</td>\n </tr>\n </tbody>\n </table>\n </div>\n\n </div>\n <div class=\"govuk-button--group\">\n <button type=\"submit\" class=\"button\" [disabled]=\"isConfirmButtondisabled\" (click)=\"confirmPayments()\">\n Confirm\n </button>\n <button type=\"button\" class=\"button govuk-button--secondary\" (click)=\"cancelMarkUnsolicitedPayments()\">\n Cancel\n </button>\n </div>\n </ng-container>\n <ng-container *ngIf=\"viewStatus === 'unsolicitedCancelConfirm'\">\n <input #myInput type='hidden' id='iFrameDrivenImageValue' value='CANCELTRANSFERRED'>\n <div class=\"govuk-warning-text\">\n <span class=\"govuk-warning-text__icon\" aria-hidden=\"true\">!</span>\n <strong class=\"govuk-warning-text__text\">\n <span class=\"govuk-warning-text__assistive\">Warning</span>\n Are you sure you want to cancel?\n </strong>\n </div>\n <div class=\"govuk-button--group\">\n <button type=\"submit\" class=\"button\" (click)=\"gotoCasetransationPage()\">\n Yes\n </button>\n <button type=\"button\" class=\"button govuk-button--secondary\" (click)=\"cancelMarkUnsolicitedPayments()\">\n No\n </button>\n </div>\n </ng-container>\n</div>",
|
|
349
|
+
styles: [".mkpay-unidentified{margin:10px 0 20px}.mkpay-unidentified .govuk-button--secondary{margin-left:10px;background-color:#b3b8bdf2}.mkpay-unidentified .inline-error-class{outline:#a71414 solid 3px;outline-offset:0}.mkpay-unidentified .inline-error-message{color:#a71414;font-weight:700;margin-top:10px}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.custom-govuk-label,.govuk-warning-text__text{font-size:19px}#responsibleOffice{color:#000;width:75%;font-weight:#fff}select option{background:#fff}"]
|
|
350
|
+
}] }
|
|
373
351
|
];
|
|
374
352
|
/** @nocollapse */
|
|
375
353
|
MarkUnsolicitedPaymentComponent.ctorParameters = () => [
|
|
@@ -378,7 +356,12 @@ MarkUnsolicitedPaymentComponent.ctorParameters = () => [
|
|
|
378
356
|
{ type: PaymentLibComponent },
|
|
379
357
|
{ type: BulkScaningPaymentService }
|
|
380
358
|
];
|
|
359
|
+
MarkUnsolicitedPaymentComponent.propDecorators = {
|
|
360
|
+
caseType: [{ type: Input }]
|
|
361
|
+
};
|
|
381
362
|
if (false) {
|
|
363
|
+
/** @type {?} */
|
|
364
|
+
MarkUnsolicitedPaymentComponent.prototype.caseType;
|
|
382
365
|
/** @type {?} */
|
|
383
366
|
MarkUnsolicitedPaymentComponent.prototype.markPaymentUnsolicitedForm;
|
|
384
367
|
/** @type {?} */
|
|
@@ -416,6 +399,8 @@ if (false) {
|
|
|
416
399
|
/** @type {?} */
|
|
417
400
|
MarkUnsolicitedPaymentComponent.prototype.isConfirmButtondisabled;
|
|
418
401
|
/** @type {?} */
|
|
402
|
+
MarkUnsolicitedPaymentComponent.prototype.isContinueButtondisabled;
|
|
403
|
+
/** @type {?} */
|
|
419
404
|
MarkUnsolicitedPaymentComponent.prototype.ccdReference;
|
|
420
405
|
/** @type {?} */
|
|
421
406
|
MarkUnsolicitedPaymentComponent.prototype.exceptionReference;
|
|
@@ -424,13 +409,28 @@ if (false) {
|
|
|
424
409
|
/** @type {?} */
|
|
425
410
|
MarkUnsolicitedPaymentComponent.prototype.selectedSiteName;
|
|
426
411
|
/** @type {?} */
|
|
427
|
-
MarkUnsolicitedPaymentComponent.prototype.
|
|
412
|
+
MarkUnsolicitedPaymentComponent.prototype.isStrategicFixEnable;
|
|
428
413
|
/** @type {?} */
|
|
414
|
+
MarkUnsolicitedPaymentComponent.prototype.siteIDList;
|
|
415
|
+
/**
|
|
416
|
+
* @type {?}
|
|
417
|
+
* @private
|
|
418
|
+
*/
|
|
419
|
+
MarkUnsolicitedPaymentComponent.prototype.formBuilder;
|
|
420
|
+
/**
|
|
421
|
+
* @type {?}
|
|
422
|
+
* @private
|
|
423
|
+
*/
|
|
429
424
|
MarkUnsolicitedPaymentComponent.prototype.paymentViewService;
|
|
430
|
-
/**
|
|
425
|
+
/**
|
|
426
|
+
* @type {?}
|
|
427
|
+
* @private
|
|
428
|
+
*/
|
|
431
429
|
MarkUnsolicitedPaymentComponent.prototype.paymentLibComponent;
|
|
432
|
-
/**
|
|
430
|
+
/**
|
|
431
|
+
* @type {?}
|
|
432
|
+
* @private
|
|
433
|
+
*/
|
|
433
434
|
MarkUnsolicitedPaymentComponent.prototype.bulkScaningPaymentService;
|
|
434
435
|
}
|
|
435
|
-
|
|
436
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFyay11bnNvbGljaXRlZC1wYXltZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BobWN0cy9jY3BheS13ZWItY29tcG9uZW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvbWFyay11bnNvbGljaXRlZC1wYXltZW50L21hcmstdW5zb2xpY2l0ZWQtcGF5bWVudC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBYSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0VBQWtFLENBQUM7QUFFN0csT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDekYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDdEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUEwSGpGLE1BQU07Ozs7Ozs7SUF3QkosWUFBb0IsV0FBd0IsRUFDcEMsb0JBQ0EscUJBQ0E7UUFIWSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUNwQyx1QkFBa0IsR0FBbEIsa0JBQWtCO1FBQ2xCLHdCQUFtQixHQUFuQixtQkFBbUI7UUFDbkIsOEJBQXlCLEdBQXpCLHlCQUF5Qjs4QkF4QlAsS0FBSzs2QkFDTixLQUFLO2lDQUNELEtBQUs7aUNBQ0wsS0FBSzt5Q0FDRyxLQUFLO3dDQUNOLEtBQUs7NEJBQzFCLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDO3NCQUl6QixJQUFJO3VDQUthLEtBQUs7NEJBQ2hCLElBQUk7a0NBQ0UsSUFBSTtLQU9nQzs7OztJQUVqRSxRQUFRO1FBQ04sSUFBSSxDQUFDLFNB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IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzLCBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFBheW1lbnRMaWJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9wYXltZW50LWxpYi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnVsa1NjYW5pbmdQYXltZW50U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2J1bGstc2NhbmluZy1wYXltZW50L2J1bGstc2NhbmluZy1wYXltZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgSUJTUGF5bWVudHMgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lCU1BheW1lbnRzJztcbmltcG9ydCB7IFVuc29saWNpdGVkUGF5bWVudHNSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9VbnNvbGljaXRlZFBheW1lbnRzUmVxdWVzdCc7XG5pbXBvcnQgeyBQYXltZW50Vmlld1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wYXltZW50LXZpZXcvcGF5bWVudC12aWV3LnNlcnZpY2UnO1xuaW1wb3J0IHsgQWxsb2NhdGVQYXltZW50UmVxdWVzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvQWxsb2NhdGVQYXltZW50UmVxdWVzdCc7XG5pbXBvcnQgeyBzdHJpbmdMaXRlcmFsIH0gZnJvbSAnYmFiZWwtdHlwZXMnO1xuaW1wb3J0IHsgVEhJU19FWFBSIH0gZnJvbSAnQGFuZ3VsYXIvY29tcGlsZXIvc3JjL291dHB1dC9vdXRwdXRfYXN0JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLW1hcmstdW5zb2xpY2l0ZWQtcGF5bWVudCcsXG4gIHRlbXBsYXRlOiBgPGRpdiBjbGFzcz1cIm1rcGF5LXVuaWRlbnRpZmllZFwiPlxuICA8ZGl2ICpuZ0lmPVwidmlld1N0YXR1cyA9PT0gJ21haW5Gb3JtJ1wiPlxuICA8aDEgY2xhc3M9XCJoZWFkaW5nLWxhcmdlXCI+TWFyayBwYXltZW50IGFzIHRyYW5zZmVycmVkPC9oMT5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLWdyaWQtY29sdW1uLWZ1bGwgZ292dWstIS1wYWRkaW5nLWJvdHRvbS0zXCI+XG4gICAgPGhyIGNsYXNzPVwiZ292dWstc2VjdGlvbi1icmVhayBnb3Z1ay1zZWN0aW9uLWJyZWFrLS12aXNpYmxlXCI+XG4gICAgPHRhYmxlIGNsYXNzPVwiZ292dWstdGFibGVcIj5cbiAgICAgIDx0aGVhZCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkXCI+XG4gICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIiBzY29wZT1cImNvbFwiPlBheW1lbnQgYXNzZXQgbnVtYmVyIChEQ04pPC90ZD5cbiAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIiBzY29wZT1cImNvbFwiPkJhbmtlZCBkYXRlPC90ZD5cbiAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIiBzY29wZT1cImNvbFwiPkFtb3VudDwvdGQ+XG4gICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCIgc2NvcGU9XCJjb2xcIj5NZXRob2Q8L3RkPlxuICAgICAgICA8L3RyPlxuICAgICAgPC90aGVhZD5cbiAgICAgIDx0Ym9keSBjbGFzcz1cImdvdnVrLXRhYmxlX19ib2R5XCI+XG4gICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+e3t1bmFzc2lnbmVkUmVjb3JkLmRjbl9yZWZlcmVuY2V9fTwvdGQ+XG4gICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPiB7e3VuYXNzaWduZWRSZWNvcmQuZGF0ZV9iYW5rZWQgfCBkYXRlOidkZCBNTU0geXl5eSd9fTwvdGQ+XG4gICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPiB7e3VuYXNzaWduZWRSZWNvcmQuYW1vdW50IHwgY3VycmVuY3kgOidHQlAnOidzeW1ib2wnOicxLjItMid9fTwvdGQ+XG4gICAgICAgICAgICA8dGQgY2xhc3M9XCJjYXBpdGFsaXplIGdvdnVrLXRhYmxlX19jZWxsXCI+IHt7dHJpbVVuZGVyc2NvcmUodW5hc3NpZ25lZFJlY29yZC5wYXltZW50X21ldGhvZCkgfCBsb3dlcmNhc2V9fSAgPC90ZD5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvdGJvZHk+XG4gICAgPC90YWJsZT5cbiAgPC9kaXY+XG4gIFxuICA8Zm9ybSBbZm9ybUdyb3VwXT1cIm1hcmtQYXltZW50VW5zb2xpY2l0ZWRGb3JtXCIgbm92YWxpZGF0ZT5cbiAgICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cFwiPlxuICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgY3VzdG9tLWdvdnVrLWxhYmVsIGN1c3RvbS1nb3Z1ay1sYWJlbFwiIGZvcj1cInJlYXNvblwiPlxuICAgICAgICBSZWFzb24gZm9yIHBheW1lbnQgYmVpbmcgbWFya2VkIGFzIHRyYW5zZmVycmVkICAgXG4gICAgICA8L2xhYmVsPlxuICAgICAgICA8dGV4dGFyZWEgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZm9ybS1jb250cm9sLTMtNFwiIFtuZ0NsYXNzXT1cInsnaW5saW5lLWVycm9yLWNsYXNzJzogcmVhc29uSGFzRXJyb3IgfHwgcmVhc29uTWluSGFzRXJyb3IgfHwgcmVhc29uTWF4SGFzRXJyb3J9XCIgbmFtZT1cInJlYXNvblwiIGlkPVwicmVhc29uXCIgcm93cz1cIjVcIiBmb3JtQ29udHJvbE5hbWU9XCJyZWFzb25cIj5cbiAgICAgICAgPC90ZXh0YXJlYT5cbiAgICAgICAgPHAgY2xhc3M9XCJpbmxpbmUtZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwiaXNSZWFzb25FbXB0eSB8fCByZWFzb25IYXNFcnJvciB8fCByZWFzb25NaW5IYXNFcnJvciB8fCByZWFzb25NYXhIYXNFcnJvclwiPlxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXNSZWFzb25FbXB0eVwiPkVudGVyIGEgcmVhc29uIGZvciBtYXJraW5nIHRoaXMgcGF5bWVudCBhcyB0cmFuc2ZlcnJlZC48L3NwYW4+XG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCJyZWFzb25IYXNFcnJvclwiPkVudGVyIGEgdmFsaWQgcmVhc29uPC9zcGFuPlxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwicmVhc29uTWluSGFzRXJyb3JcIj5SZWFzb24gc2hvdWxkIGJlIGF0IGxlYXN0IDMgY2hhcmFjdGVycy48L3NwYW4+XG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCJyZWFzb25NYXhIYXNFcnJvclwiPlJlYXNvbiBzaG91bGQgYmUgMjU1IGNoYXJhY3RlcnMgb3IgdW5kZXIuPC9zcGFuPlxuICAgICAgICA8L3A+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIj5cbiAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIGN1c3RvbS1nb3Z1ay1sYWJlbFwiIGZvcj1cInJlc3BvbnNpYmxlT2ZmaWNlXCI+XG4gICAgICAgIFJlY2VpdmluZyBTaXRlIElEIChSZWNlaXZpbmcgY291cnQvQnVsayBjZW50cmUgc2l0ZSBJRCkgICAgXG4gICAgICA8L2xhYmVsPlxuICAgICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tY29udHJvbCBzaG9ydC1pbnB1dFwiIGlkPVwicmVzcG9uc2libGVPZmZpY2VcIiBmb3JtQ29udHJvbE5hbWU9XCJyZXNwb25zaWJsZU9mZmljZVwiIChjaGFuZ2UpPVwic2VsZWN0Y2hhbmdlKCRldmVudClcIj5cbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIlAyMTlcIj5NYW5jaGVzdGVyIERpc3RyaWN0IFByb2JhdGUgUmVnaXN0cnkgKFAyMTkpPC9vcHRpb24+XG4gICAgICAgIDxvcHRpb24gdmFsdWU9XCJZNjk0XCI+U291dGggV2VzdCBSZWdpb25hbCBEaXZvcmNlIENlbnRyZSAoWTY5NCk8L29wdGlvbj5cbiAgICAgIDwvc2VsZWN0PlxuICAgIDwvZGl2PlxuICAgPGRpdiBjbGFzcz1cImdvdnVrLWJ1dHRvbi0tZ3JvdXBcIj5cbiAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwiYnV0dG9uXCIgKGNsaWNrKT1cInNhdmVBbmRDb250aW51ZSgpXCI+XG4gICAgICAgIENvbmZpcm1cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidXR0b24gZ292dWstYnV0dG9uLS1zZWNvbmRhcnlcIiAoY2xpY2spPVwiY2FuY2VsTWFya1Vuc29saWNpdGVkUGF5bWVudHMoJ2NhbmNlbCcpXCI+XG4gICAgICAgIENhbmNlbFxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZm9ybT5cbiAgXG48L2Rpdj5cbiAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidmlld1N0YXR1cyA9PT0gJ3Vuc29saWNpdGVkQ29udGludWVDb25maXJtJ1wiPlxuICAgICAgICAgIDxjY3BheS1lcnJvci1iYW5uZXIgKm5nSWY9XCJlcnJvck1lc3NhZ2Uuc2hvd0Vycm9yXCIgW2Vycm9yTWVzc2FnZV09XCJlcnJvck1lc3NhZ2VcIj48L2NjcGF5LWVycm9yLWJhbm5lcj5cbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay13YXJuaW5nLXRleHRcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay13YXJuaW5nLXRleHRfX2ljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj4hPC9zcGFuPlxuICAgICAgICA8c3Ryb25nIGNsYXNzPVwiZ292dWstd2FybmluZy10ZXh0X190ZXh0XCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstd2FybmluZy10ZXh0X19hc3Npc3RpdmVcIj5XYXJuaW5nPC9zcGFuPlxuICAgICAgICA8aDEgY2xhc3M9XCJoZWFkaW5nLXNtYWxsXCI+IEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBtYXJrIHRoaXMgcGF5bWVudCBhcyB0cmFuc2ZlcnJlZD8gPC9oMT5cbiAgICAgICAgPC9zdHJvbmc+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWdyaWQtY29sdW1uLWZ1bGwgZ292dWstIS1wYWRkaW5nLWJvdHRvbS0zXCI+XG4gICAgICAgICAgPGhyIGNsYXNzPVwiZ292dWstc2VjdGlvbi1icmVhayBnb3Z1ay1zZWN0aW9uLWJyZWFrLS12aXNpYmxlXCI+XG4gICAgICAgICAgPHRhYmxlIGNsYXNzPVwiZ292dWstdGFibGVcIj5cbiAgICAgICAgICAgIDx0aGVhZCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkXCI+XG4gICAgICAgICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCI+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIiBzY29wZT1cImNvbFwiPlJlYXNvbjwvdGQ+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIiBzY29wZT1cImNvbFwiPlJlY2VpdmluZyBzaXRlIElEPC90ZD5cbiAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICA8L3RoZWFkPlxuICAgICAgICAgICAgPHRib2R5IGNsYXNzPVwiZ292dWstdGFibGVfX2JvZHlcIj5cbiAgICAgICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+e3tyZWFzb259fTwvdGQ+XG4gICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPnt7c2VsZWN0ZWRTaXRlTmFtZX19PC90ZD5cbiAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICAgIDwvdGFibGU+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1idXR0b24tLWdyb3VwXCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwiYnV0dG9uXCIgW2Rpc2FibGVkXT1cImlzQ29uZmlybUJ1dHRvbmRpc2FibGVkXCIgKGNsaWNrKT1cImNvbmZpcm1QYXltZW50cygpXCI+XG4gICAgICAgICAgQ29uZmlybVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidXR0b24gZ292dWstYnV0dG9uLS1zZWNvbmRhcnlcIiAoY2xpY2spPVwiY2FuY2VsTWFya1Vuc29saWNpdGVkUGF5bWVudHMoKVwiPlxuICAgICAgICAgIENhbmNlbFxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInZpZXdTdGF0dXMgPT09ICd1bnNvbGljaXRlZENhbmNlbENvbmZpcm0nXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZ292dWstd2FybmluZy10ZXh0XCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstd2FybmluZy10ZXh0X19pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+ITwvc3Bhbj5cbiAgICAgICAgPHN0cm9uZyBjbGFzcz1cImdvdnVrLXdhcm5pbmctdGV4dF9fdGV4dFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXdhcm5pbmctdGV4dF9fYXNzaXN0aXZlXCI+V2FybmluZzwvc3Bhbj5cbiAgICAgICAgICBBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gY2FuY2VsP1xuICAgICAgICA8L3N0cm9uZz5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWJ1dHRvbi0tZ3JvdXBcIj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJidXR0b25cIiAoY2xpY2spPVwiZ290b0Nhc2V0cmFuc2F0aW9uUGFnZSgpXCI+XG4gICAgICAgICAgWWVzXG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ1dHRvbiBnb3Z1ay1idXR0b24tLXNlY29uZGFyeVwiIChjbGljayk9XCJjYW5jZWxNYXJrVW5zb2xpY2l0ZWRQYXltZW50cygpXCI+XG4gICAgICAgICAgTm9cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PmAsXG4gIHN0eWxlczogW2AubWtwYXktdW5pZGVudGlmaWVke21hcmdpbjoxMHB4IDAgMjBweH0ubWtwYXktdW5pZGVudGlmaWVkIC5nb3Z1ay1idXR0b24tLXNlY29uZGFyeXttYXJnaW4tbGVmdDoxMHB4O2JhY2tncm91bmQtY29sb3I6I2IzYjhiZGYyfS5ta3BheS11bmlkZW50aWZpZWQgLmlubGluZS1lcnJvci1jbGFzc3tvdXRsaW5lOiNhNzE0MTQgc29saWQgM3B4O291dGxpbmUtb2Zmc2V0OjB9Lm1rcGF5LXVuaWRlbnRpZmllZCAuaW5saW5lLWVycm9yLW1lc3NhZ2V7Y29sb3I6I2E3MTQxNDtmb250LXdlaWdodDo3MDA7bWFyZ2luLXRvcDoxMHB4fS5sb3dlcmNhc2V7dGV4dC10cmFuc2Zvcm06bG93ZXJjYXNlfS5jYXBpdGFsaXple3RleHQtdHJhbnNmb3JtOmNhcGl0YWxpemV9LmN1c3RvbS1nb3Z1ay1sYWJlbCwuZ292dWstd2FybmluZy10ZXh0X190ZXh0e2ZvbnQtc2l6ZToxOXB4fSNyZXNwb25zaWJsZU9mZmljZXtjb2xvcjojMDAwO2ZvbnQtd2VpZ2h0OiNmZmZ9c2VsZWN0IG9wdGlvbntiYWNrZ3JvdW5kOiNmZmZ9YF1cbn0pXG5leHBvcnQgY2xhc3MgTWFya1Vuc29saWNpdGVkUGF5bWVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIG1hcmtQYXltZW50VW5zb2xpY2l0ZWRGb3JtOiBGb3JtR3JvdXA7XG4gIHZpZXdTdGF0dXM6IHN0cmluZztcbiAgcmVhc29uSGFzRXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNSZWFzb25FbXB0eTogYm9vbGVhbiA9IGZhbHNlO1xuICByZWFzb25NaW5IYXNFcnJvcjogYm9vbGVhbiA9IGZhbHNlO1xuICByZWFzb25NYXhIYXNFcnJvcjogYm9vbGVhbiA9IGZhbHNlO1xuICByZXNwb25zaWJsZU9mZmljZUhhc0Vycm9yOiBib29sZWFuID0gZmFsc2U7XG4gIGlzUmVzcG9uc2libGVPZmZpY2VFbXB0eTogYm9vbGVhbiA9IGZhbHNlO1xuICBlcnJvck1lc3NhZ2UgPSB0aGlzLmdldEVycm9yTWVzc2FnZShmYWxzZSk7XG4gIGNjZENhc2VOdW1iZXI6IHN0cmluZztcbiAgYnNwYXltZW50ZGNuOiBzdHJpbmc7XG4gIHVuYXNzaWduZWRSZWNvcmQ6IElCU1BheW1lbnRzO1xuICBzaXRlSUQ6IHN0cmluZyA9IG51bGw7XG4gIHJlYXNvbjogc3RyaW5nO1xuICByZXNwb25zaWJsZVBlcnNvbjogc3RyaW5nO1xuICByZXNwb25zaWJsZU9mZmljZTogc3RyaW5nO1xuICBlbWFpbElkOiBzdHJpbmc7XG4gIGlzQ29uZmlybUJ1dHRvbmRpc2FibGVkOkJvb2xlYW4gPSBmYWxzZTtcbiAgY2NkUmVmZXJlbmNlOiBzdHJpbmcgPSBudWxsO1xuICBleGNlcHRpb25SZWZlcmVuY2U6IHN0cmluZyA9IG51bGw7XG4gIHNlbGVjdGVkU2l0ZUlkOiBzdHJpbmc7XG4gIHNlbGVjdGVkU2l0ZU5hbWU6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcbiAgcHJpdmF0ZSBwYXltZW50Vmlld1NlcnZpY2U6IFBheW1lbnRWaWV3U2VydmljZSxcbiAgcHJpdmF0ZSBwYXltZW50TGliQ29tcG9uZW50OiBQYXltZW50TGliQ29tcG9uZW50LFxuICBwcml2YXRlIGJ1bGtTY2FuaW5nUGF5bWVudFNlcnZpY2U6IEJ1bGtTY2FuaW5nUGF5bWVudFNlcnZpY2UpIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMucmVzZXRGb3JtKFtmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZV0sICdhbGwnKTtcbiAgICB0aGlzLnZpZXdTdGF0dXMgPSAnbWFpbkZvcm0nO1xuICAgIHRoaXMuY2NkQ2FzZU51bWJlciA9IHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5DQ0RfQ0FTRV9OVU1CRVI7XG4gICAgdGhpcy5ic3BheW1lbnRkY24gPSB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuYnNwYXltZW50ZGNuO1xuICAgIHRoaXMuZ2V0VW5hc3NpZ25lZFBheW1lbnQoKTtcblxuICAgIGNvbnN0IGVtYWlsUGF0dGVybiA9ICdeW2EtejAtOV0oXFxcXC4/W2EtejAtOV8tXSl7MCx9QFthLXowLTktXStcXFxcLihbYS16XXsxLDZ9XFxcXC4pP1thLXpdezIsNn0kJztcbiAgICBcbiAgICB0aGlzLm1hcmtQYXltZW50VW5zb2xpY2l0ZWRGb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICByZWFzb246IG5ldyBGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5jb21wb3NlKFtcbiAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgVmFsaWRhdG9ycy5taW5MZW5ndGgoMyksXG4gICAgICAgIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDI1NSksXG4gICAgICAgIFZhbGlkYXRvcnMucGF0dGVybignXihbYS16QS1aMC05XFxcXHMsXFxcXC5dKikkJylcbiAgICAgIF0pKSxcbiAgICAgIHJlc3BvbnNpYmxlT2ZmaWNlOiBuZXcgRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMuY29tcG9zZShbXG4gICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgIFZhbGlkYXRvcnMucGF0dGVybignXihbYS16QS1aMC05XFxcXHNcXFxcbixcXFxcLi06XSopJCcpXG4gICAgICBdKSksXG4gICAgICByZXNwb25zaWJsZVBlcnNvbjogbmV3IEZvcm1Db250cm9sKCcnKSxcbiAgICAgIGVtYWlsSWQ6IG5ldyBGb3JtQ29udHJvbCgnJylcbiAgICB9KTtcbiAgfVxuICB0cmltVW5kZXJzY29yZShtZXRob2Q6IHN0cmluZyl7XG4gICAgcmV0dXJuIHRoaXMuYnVsa1NjYW5pbmdQYXltZW50U2VydmljZS5yZW1vdmVVbndhbnRlZFN0cmluZyhtZXRob2QsJyAnKTtcbiAgfVxuICBjb25maXJtUGF5bWVudHMoKSB7XG4gICAgdGhpcy5pc0NvbmZpcm1CdXR0b25kaXNhYmxlZCA9IHRydWU7XG4gICAgY29uc3QgY29udHJvbHMgPSB0aGlzLm1hcmtQYXltZW50VW5zb2xpY2l0ZWRGb3JtLmNvbnRyb2xzO1xuICAgIC8vIGNvbnRyb2xzLnJlc3BvbnNpYmxlT2ZmaWNlLnNldFZhbHVlKCdQMjE5Jyk7XG4gICAgdGhpcy5idWxrU2NhbmluZ1BheW1lbnRTZXJ2aWNlLnBhdGNoQlNDaGFuZ2VTdGF0dXModGhpcy51bmFzc2lnbmVkUmVjb3JkLmRjbl9yZWZlcmVuY2UsICdQUk9DRVNTRUQnKS5zdWJzY3JpYmUoXG4gICAgICByZXMxID0+IHtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSB0aGlzLmdldEVycm9yTWVzc2FnZShmYWxzZSk7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlMSA9IEpTT04ucGFyc2UocmVzMSksXG4gICAgICAgICByZXF1ZXN0Qm9keSA9IG5ldyBBbGxvY2F0ZVBheW1lbnRSZXF1ZXN0XG4gICAgICAgICAodGhpcy5jY2RSZWZlcmVuY2UsIHRoaXMudW5hc3NpZ25lZFJlY29yZCwgdGhpcy5zaXRlSUQsIHRoaXMuZXhjZXB0aW9uUmVmZXJlbmNlKVxuICAgICAgICB0aGlzLnBheW1lbnRWaWV3U2VydmljZS5wb3N0QlNQYXltZW50cyhyZXF1ZXN0Qm9keSkuc3Vic2NyaWJlKFxuICAgICAgICAgIHJlczIgPT4ge1xuICAgICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSB0aGlzLmdldEVycm9yTWVzc2FnZShmYWxzZSk7XG4gICAgICAgICAgICBjb25zdCByZXNwb25zZTIgPSBKU09OLnBhcnNlKHJlczIpLFxuICAgICAgICAgICAgcmVxQm9keSA9IG5ldyBVbnNvbGljaXRlZFBheW1lbnRzUmVxdWVzdFxuICAgICAgICAgICAgKHJlc3BvbnNlMlsnZGF0YSddLnBheW1lbnRfZ3JvdXBfcmVmZXJlbmNlLCByZXNwb25zZTJbJ2RhdGEnXS5yZWZlcmVuY2UsIGNvbnRyb2xzLnJlYXNvbi52YWx1ZSwgdGhpcy5zZWxlY3RlZFNpdGVJZCwgY29udHJvbHMucmVzcG9uc2libGVQZXJzb24udmFsdWUsIGNvbnRyb2xzLmVtYWlsSWQudmFsdWUpO1xuICAgICAgICAgICAgIGlmIChyZXNwb25zZTIuc3VjY2Vzcykge1xuICAgICAgICAgICAgICB0aGlzLnBheW1lbnRWaWV3U2VydmljZS5wb3N0QlNVbnNvbGljaXRlZFBheW1lbnRzKHJlcUJvZHkpLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgICByZXMzID0+IHtcbiAgICAgICAgICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gdGhpcy5nZXRFcnJvck1lc3NhZ2UoZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgY29uc3QgcmVzcG9uc2UzID0gSlNPTi5wYXJzZShyZXMzKTtcbiAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZTMuc3VjY2Vzcykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmdvdG9DYXNldHJhbnNhdGlvblBhZ2UoKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIChlcnJvcjogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICB0aGlzLmJ1bGtTY2FuaW5nUGF5bWVudFNlcnZpY2UucGF0Y2hCU0NoYW5nZVN0YXR1cyh0aGlzLnVuYXNzaWduZWRSZWNvcmQuZGNuX3JlZmVyZW5jZSwgJ0NPTVBMRVRFJykuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHRoaXMuZ2V0RXJyb3JNZXNzYWdlKHRydWUpO1xuICAgICAgICAgICAgICAgICAgdGhpcy5pc0NvbmZpcm1CdXR0b25kaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIChlcnJvcjogYW55KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmJ1bGtTY2FuaW5nUGF5bWVudFNlcnZpY2UucGF0Y2hCU0NoYW5nZVN0YXR1cyh0aGlzLnVuYXNzaWduZWRSZWNvcmQuZGNuX3JlZmVyZW5jZSwgJ0NPTVBMRVRFJykuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHRoaXMuZ2V0RXJyb3JNZXNzYWdlKHRydWUpO1xuICAgICAgICAgICAgdGhpcy5pc0NvbmZpcm1CdXR0b25kaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICAgIH0sXG4gICAgICAoZXJyb3I6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHRoaXMuZ2V0RXJyb3JNZXNzYWdlKHRydWUpO1xuICAgICAgICB0aGlzLmlzQ29uZmlybUJ1dHRvbmRpc2FibGVkID0gZmFsc2U7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuIHNhdmVBbmRDb250aW51ZSgpIHtcbiAgICB0aGlzLnJlc2V0Rm9ybShbZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2VdLCAnYWxsJyk7XG4gICAgICAgIGNvbnN0IGZvcm1lcnJvciA9IHRoaXMubWFya1BheW1lbnRVbnNvbGljaXRlZEZvcm0uY29udHJvbHMucmVhc29uLmVycm9ycztcbiAgICAgICAgY29uc3QgcmVhc29uRmllbGQgPSB0aGlzLm1hcmtQYXltZW50VW5zb2xpY2l0ZWRGb3JtLmNvbnRyb2xzLnJlYXNvbjtcbiAgICAgICAgLy8gdGhpcy5tYXJrUGF5bWVudFVuc29saWNpdGVkRm9ybS5jb250cm9scy5yZXNwb25zaWJsZU9mZmljZS5zZXRWYWx1ZSgnUDIxOScpO1xuICAgICAgICBjb25zdCBvZmZpY2VJZEZpZWxkID0gdGhpcy5zZWxlY3RlZFNpdGVJZDtcbiAgICBpZiAodGhpcy5tYXJrUGF5bWVudFVuc29saWNpdGVkRm9ybS5kaXJ0eSAmJiB0aGlzLm1hcmtQYXltZW50VW5zb2xpY2l0ZWRGb3JtLnZhbGlkKSB7XG4gICAgICBjb25zdCBjb250cm9scyA9IHRoaXMubWFya1BheW1lbnRVbnNvbGljaXRlZEZvcm0uY29udHJvbHM7XG4gICAgICB0aGlzLmVtYWlsSWQgPSBjb250cm9scy5lbWFpbElkLnZhbHVlO1xuICAgICAgdGhpcy5yZXNwb25zaWJsZU9mZmljZSA9IG9mZmljZUlkRmllbGQ7XG4gICAgICB0aGlzLnJlc3BvbnNpYmxlUGVyc29uID0gY29udHJvbHMucmVzcG9uc2libGVQZXJzb24udmFsdWU7XG4gICAgICB0aGlzLnJlYXNvbiA9IGNvbnRyb2xzLnJlYXNvbi52YWx1ZTtcbiAgICAgIHRoaXMudmlld1N0YXR1cyA9ICd1bnNvbGljaXRlZENvbnRpbnVlQ29uZmlybSc7XG4gICAgfWVsc2Uge1xuICAgICAgaWYoIHJlYXNvbkZpZWxkLnZhbHVlID09ICcnICkge1xuICAgICAgICB0aGlzLnJlc2V0Rm9ybShbdHJ1ZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZV0sICdyZWFzb24nKTtcbiAgICAgIH1cbiAgICAgIGlmKHJlYXNvbkZpZWxkLnZhbHVlICE9ICcnICYmIHRoaXMubWFya1BheW1lbnRVbnNvbGljaXRlZEZvcm0uY29udHJvbHMucmVhc29uLmludmFsaWQgKSB7XG4gICAgICAgIHRoaXMucmVzZXRGb3JtKFtmYWxzZSx0cnVlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlXSwgJ3JlYXNvbicpO1xuICAgICAgfVxuICAgICAgaWYoZm9ybWVycm9yICYmIGZvcm1lcnJvci5taW5sZW5ndGggJiYgZm9ybWVycm9yLm1pbmxlbmd0aC5hY3R1YWxMZW5ndGggPCAzICkge1xuICAgICAgICB0aGlzLnJlc2V0Rm9ybShbZmFsc2UsZmFsc2UsdHJ1ZSxmYWxzZSxmYWxzZSxmYWxzZV0sICdyZWFzb24nKTtcbiAgICAgIH1cbiAgICAgIGlmKGZvcm1lcnJvciAmJiBmb3JtZXJyb3IubWF4bGVuZ3RoICYmIGZvcm1lcnJvci5tYXhsZW5ndGguYWN0dWFsTGVuZ3RoID4gMjU1ICkge1xuICAgICAgICB0aGlzLnJlc2V0Rm9ybShbZmFsc2UsZmFsc2UsZmFsc2UsdHJ1ZSxmYWxzZSxmYWxzZV0sICdyZWFzb24nKTtcbiAgICAgIH1cbiAgICAgIC8vIGlmKG9mZmljZUlkRmllbGQudmFsdWUgPT0gJycpIHtcbiAgICAgIC8vICAgdGhpcy5yZXNldEZvcm0oW2ZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLHRydWUsZmFsc2VdLCAncmVzcG9uc2libGVPZmZpY2UnKTtcbiAgICAgIC8vIH1cbiAgICAgIC8vIGlmKG9mZmljZUlkRmllbGQudmFsdWUgIT0gJycgJiYgb2ZmaWNlSWRGaWVsZC5pbnZhbGlkKSB7XG4gICAgICAvLyAgIHRoaXMucmVzZXRGb3JtKFtmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSx0cnVlXSwncmVzcG9uc2libGVPZmZpY2UnKTtcbiAgICAgIC8vIH1cbiAgICB9XG4gIH1cbiAgcmVzZXRGb3JtKHZhbCwgZmllbGQpIHtcbiAgICBpZihmaWVsZD09PSdyZWFzb24nIHx8IGZpZWxkPT09J2FsbCcpIHtcbiAgICAgIHRoaXMuaXNSZWFzb25FbXB0eSA9IHZhbFswXTtcbiAgICAgIHRoaXMucmVhc29uSGFzRXJyb3IgPSB2YWxbMV07XG4gICAgICB0aGlzLnJlYXNvbk1pbkhhc0Vycm9yID0gdmFsWzJdO1xuICAgICAgdGhpcy5yZWFzb25NYXhIYXNFcnJvciA9IHZhbFszXTtcbiAgICB9XG4gICAgaWYoZmllbGQ9PT0ncmVzcG9uc2libGVPZmZpY2UnIHx8IGZpZWxkPT09J2FsbCcpIHtcbiAgICAgIHRoaXMuaXNSZXNwb25zaWJsZU9mZmljZUVtcHR5ID0gdmFsWzRdO1xuICAgICAgdGhpcy5yZXNwb25zaWJsZU9mZmljZUhhc0Vycm9yID0gdmFsWzVdO1xuICAgIH1cbiAgfVxuXG5jYW5jZWxNYXJrVW5zb2xpY2l0ZWRQYXltZW50cyh0eXBlPzpzdHJpbmcpe1xuICAgIGlmKHR5cGUgJiYgdHlwZSA9PT0gJ2NhbmNlbCcpIHtcbiAgICAgIGlmKHRoaXMuY2hlY2tpbmdGb3JtVmFsdWUoKSl7XG4gICAgICAgIHRoaXMudmlld1N0YXR1cyA9ICd1bnNvbGljaXRlZENhbmNlbENvbmZpcm0nO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5nb3RvQ2FzZXRyYW5zYXRpb25QYWdlKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubWFya1BheW1lbnRVbnNvbGljaXRlZEZvcm0uY29udHJvbHMucmVzcG9uc2libGVPZmZpY2Uuc2V0VmFsdWUoJycpO1xuICAgICAgdGhpcy52aWV3U3RhdHVzID0gJ21haW5Gb3JtJztcbiAgICB9XG4gIH1cbiAgY2hlY2tpbmdGb3JtVmFsdWUoKXtcbiAgICBjb25zdCBmb3JtRmllbGRzID0gdGhpcy5tYXJrUGF5bWVudFVuc29saWNpdGVkRm9ybS52YWx1ZTtcbiAgICBsZXQgdmFsdWVFeGlzdHMgPSBmYWxzZTtcblxuICAgIGZvciAodmFyIGZpZWxkIGluIGZvcm1GaWVsZHMpIHtcbiAgICAgIGlmIChmb3JtRmllbGRzLmhhc093blByb3BlcnR5KGZpZWxkKSAmJiBmb3JtRmllbGRzW2ZpZWxkXSAhPT1cIlwiKSB7XG4gICAgICAgIHZhbHVlRXhpc3RzID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB2YWx1ZUV4aXN0cztcbiAgfVxuICBnb3RvQ2FzZXRyYW5zYXRpb25QYWdlKCkge1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC52aWV3TmFtZSA9ICdjYXNlLXRyYW5zYWN0aW9ucyc7XG4gICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LlRBS0VQQVlNRU5UID0gdHJ1ZTtcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuSVNCU0VOQUJMRSA9IHRydWU7XG4gIH1cbiAgIGdldFVuYXNzaWduZWRQYXltZW50KCkge1xuICAgIHRoaXMuYnVsa1NjYW5pbmdQYXltZW50U2VydmljZS5nZXRCU1BheW1lbnRzQnlEQ04odGhpcy5ic3BheW1lbnRkY24pLnN1YnNjcmliZShcbiAgICAgIHVuYXNzaWduZWRQYXltZW50cyA9PiB7XG4gICAgICAgIFxuICAgICAgdGhpcy51bmFzc2lnbmVkUmVjb3JkID0gdW5hc3NpZ25lZFBheW1lbnRzWydkYXRhJ10ucGF5bWVudHMuZmlsdGVyKHBheW1lbnQgPT4ge1xuICAgICAgICByZXR1cm4gcGF5bWVudCAmJiBwYXltZW50LmRjbl9yZWZlcmVuY2UgPT0gdGhpcy5ic3BheW1lbnRkY247XG4gICAgICB9KVswXTtcbiAgICAgICB0aGlzLnNpdGVJRCA9IHVuYXNzaWduZWRQYXltZW50c1snZGF0YSddLnJlc3BvbnNpYmxlX3NlcnZpY2VfaWQ7XG4gICAgICAgIGNvbnN0IGJlQ2NkTnVtYmVyID0gdW5hc3NpZ25lZFBheW1lbnRzWydkYXRhJ10uY2NkX3JlZmVyZW5jZSxcbiAgICAgICAgIGJlRXhjZXB0aW9uTnVtYmVyID0gdW5hc3NpZ25lZFBheW1lbnRzWydkYXRhJ10uZXhjZXB0aW9uX3JlY29yZF9yZWZlcmVuY2UsXG4gICAgICAgICBleGNlcHRpb25SZWZlcmVuY2UgPSBiZUNjZE51bWJlciA/IGJlQ2NkTnVtYmVyID09PSB0aGlzLmNjZENhc2VOdW1iZXIgPyBudWxsIDogdGhpcy5jY2RDYXNlTnVtYmVyIDogdGhpcy5jY2RDYXNlTnVtYmVyO1xuICAgICAgICB0aGlzLmNjZFJlZmVyZW5jZSA9IGJlQ2NkTnVtYmVyID8gYmVDY2ROdW1iZXIgOiBudWxsO1xuICAgICAgICB0aGlzLmV4Y2VwdGlvblJlZmVyZW5jZSA9IGJlRXhjZXB0aW9uTnVtYmVyID8gYmVFeGNlcHRpb25OdW1iZXIgOiBleGNlcHRpb25SZWZlcmVuY2U7XG4gICAgfSxcbiAgICAgIChlcnJvcjogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gdGhpcy5nZXRFcnJvck1lc3NhZ2UodHJ1ZSk7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIGdldEVycm9yTWVzc2FnZShpc0Vycm9yRXhpc3QpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdGl0bGU6IFwiVGhlcmUgaXMgYSBwcm9ibGVtIHdpdGggdGhlIHNlcnZpY2VcIixcbiAgICAgIGJvZHk6IFwiVHJ5IGFnYWluIGxhdGVyXCIsXG4gICAgICBzaG93RXJyb3I6IGlzRXJyb3JFeGlzdFxuICAgIH07XG4gIH1cblxuICBzZWxlY3RjaGFuZ2UoYXJncyl7IFxuICAgIHRoaXMuc2VsZWN0ZWRTaXRlSWQgPSBhcmdzLnRhcmdldC52YWx1ZTsgXG4gICAgdGhpcy5zZWxlY3RlZFNpdGVOYW1lID0gYXJncy50YXJnZXQub3B0aW9uc1thcmdzLnRhcmdldC5zZWxlY3RlZEluZGV4XS50ZXh0OyBcbiAgfSBcblxufVxuIl19
|
|
436
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFyay11bnNvbGljaXRlZC1wYXltZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BobWN0cy9jY3BheS13ZWItY29tcG9uZW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvbWFyay11bnNvbGljaXRlZC1wYXltZW50L21hcmstdW5zb2xpY2l0ZWQtcGF5bWVudC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQWEsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGtFQUFrRSxDQUFDO0FBRTdHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBU2pGLE1BQU0sT0FBTywrQkFBK0I7Ozs7Ozs7SUE0QjFDLFlBQW9CLFdBQXdCLEVBQ3BDLGtCQUFzQyxFQUN0QyxtQkFBd0MsRUFDeEMseUJBQW9EO1FBSHhDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3BDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4Qyw4QkFBeUIsR0FBekIseUJBQXlCLENBQTJCO1FBM0I1RCxtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUNoQyxrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUMvQixzQkFBaUIsR0FBWSxLQUFLLENBQUM7UUFDbkMsc0JBQWlCLEdBQVksS0FBSyxDQUFDO1FBQ25DLDhCQUF5QixH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QzlCLGlEQUFzQjs7SUFDdEIsaURBQWU7O0lBQ2YsNERBQTBCOztJQUMxQiw0REFBMEI7O0lBQzFCLGtEQUFnQjs7SUFDaEIsa0VBQXlDOztJQUN6QyxtRUFBMEM7O0lBQzFDLHVEQUE0Qjs7SUFDNUIsNkRBQWtDOztJQUNsQyx5REFBdUI7O0lBQ3ZCLDJEQUF5Qjs7SUFDekIsK0RBQXFDOztJQUNyQyxxREFBVzs7Ozs7SUFFQyxzREFBZ0M7Ozs7O0lBQzVDLDZEQUE4Qzs7Ozs7SUFDOUMsOERBQWdEOzs7OztJQUNoRCxvRUFBNEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMsIEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUGF5bWVudExpYkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3BheW1lbnQtbGliLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCdWxrU2NhbmluZ1BheW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYnVsay1zY2FuaW5nLXBheW1lbnQvYnVsay1zY2FuaW5nLXBheW1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBJQlNQYXltZW50cyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSUJTUGF5bWVudHMnO1xuaW1wb3J0IHsgVW5zb2xpY2l0ZWRQYXltZW50c1JlcXVlc3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL1Vuc29saWNpdGVkUGF5bWVudHNSZXF1ZXN0JztcbmltcG9ydCB7IFBheW1lbnRWaWV3U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3BheW1lbnQtdmlldy9wYXltZW50LXZpZXcuc2VydmljZSc7XG5pbXBvcnQgeyBBbGxvY2F0ZVBheW1lbnRSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9BbGxvY2F0ZVBheW1lbnRSZXF1ZXN0JztcbmltcG9ydCB7IEVycm9ySGFuZGxlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zaGFyZWQvZXJyb3ItaGFuZGxlci5zZXJ2aWNlJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtbWFyay11bnNvbGljaXRlZC1wYXltZW50JyxcbiAgdGVtcGxhdGVVcmw6ICcuL21hcmstdW5zb2xpY2l0ZWQtcGF5bWVudC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21hcmstdW5zb2xpY2l0ZWQtcGF5bWVudC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIE1hcmtVbnNvbGljaXRlZFBheW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBjYXNlVHlwZTogc3RyaW5nO1xuICBtYXJrUGF5bWVudFVuc29saWNpdGVkRm9ybTogRm9ybUdyb3VwO1xuICB2aWV3U3RhdHVzOiBzdHJpbmc7XG4gIHJlYXNvbkhhc0Vycm9yOiBib29sZWFuID0gZmFsc2U7XG4gIGlzUmVhc29uRW1wdHk6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcmVhc29uTWluSGFzRXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcmVhc29uTWF4SGFzRXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcmVzcG9uc2libGVPZmZpY2VIYXNFcnJvcjogYm9vbGVhbiA9IGZhbHNlO1xuICBpc1Jlc3BvbnNpYmxlT2ZmaWNlRW1wdHk6IGJvb2xlYW4gPSBmYWxzZTtcbiAgZXJyb3JNZXNzYWdlID0gdGhpcy5nZXRFcnJvck1lc3NhZ2UoZmFsc2UpO1xuICBjY2RDYXNlTnVtYmVyOiBzdHJpbmc7XG4gIGJzcGF5bWVudGRjbjogc3RyaW5nO1xuICB1bmFzc2lnbmVkUmVjb3JkOiBJQlNQYXltZW50cztcbiAgc2l0ZUlEOiBzdHJpbmcgPSBudWxsO1xuICByZWFzb246IHN0cmluZztcbiAgcmVzcG9uc2libGVQZXJzb246IHN0cmluZztcbiAgcmVzcG9uc2libGVPZmZpY2U6IHN0cmluZztcbiAgZW1haWxJZDogc3RyaW5nO1xuICBpc0NvbmZpcm1CdXR0b25kaXNhYmxlZDogQm9vbGVhbiA9IGZhbHNlO1xuICBpc0NvbnRpbnVlQnV0dG9uZGlzYWJsZWQ6IEJvb2xlYW4gPSBmYWxzZTtcbiAgY2NkUmVmZXJlbmNlOiBzdHJpbmcgPSBudWxsO1xuICBleGNlcHRpb25SZWZlcmVuY2U6IHN0cmluZyA9IG51bGw7XG4gIHNlbGVjdGVkU2l0ZUlkOiBzdHJpbmc7XG4gIHNlbGVjdGVkU2l0ZU5hbWU6IHN0cmluZztcbiAgaXNTdHJhdGVnaWNGaXhFbmFibGU6IGJvb2xlYW4gPSB0cnVlO1xuICBzaXRlSURMaXN0O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxuICBwcml2YXRlIHBheW1lbnRWaWV3U2VydmljZTogUGF5bWVudFZpZXdTZXJ2aWNlLFxuICBwcml2YXRlIHBheW1lbnRMaWJDb21wb25lbnQ6IFBheW1lbnRMaWJDb21wb25lbnQsXG4gIHByaXZhdGUgYnVsa1NjYW5pbmdQYXltZW50U2VydmljZTogQnVsa1NjYW5pbmdQYXltZW50U2VydmljZSkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5yZXNldEZvcm0oW2ZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlXSwgJ2FsbCcpO1xuICAgIHRoaXMudmlld1N0YXR1cyA9ICdtYWluRm9ybSc7XG4gICAgdGhpcy5jY2RDYXNlTnVtYmVyID0gdGhpcy5wYXltZW50TGliQ29tcG9uZW50LkNDRF9DQVNFX05VTUJFUjtcbiAgICB0aGlzLmJzcGF5bWVudGRjbiA9IHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5ic3BheW1lbnRkY247XG4gICAgdGhpcy5pc1N0cmF0ZWdpY0ZpeEVuYWJsZSA9IHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5JU1NGRU5BQkxFO1xuICAgIHRoaXMuZ2V0VW5hc3NpZ25lZFBheW1lbnQoKTtcblxuICAgIHRoaXMucGF5bWVudFZpZXdTZXJ2aWNlLmdldFNpdGVJRCgpLnN1YnNjcmliZShcbiAgICAgIHNpdGVpZHMgPT4ge1xuICAgICAgICB0aGlzLmlzQ29udGludWVCdXR0b25kaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHRoaXMuZ2V0RXJyb3JNZXNzYWdlKGZhbHNlKTtcbiAgICAgICAgdGhpcy5zaXRlSURMaXN0ID0gSlNPTi5wYXJzZShzaXRlaWRzKTtcbiAgICAgIH0sXG4gICAgICBlcnIgPT4ge1xuICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oMCwgMCk7XG4gICAgICAgIHRoaXMuaXNDb250aW51ZUJ1dHRvbmRpc2FibGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSB0aGlzLmdldEVycm9yTWVzc2FnZSh0cnVlKTtcbiAgICAgIH1cbiAgICApO1xuICAgIFxuICAgIHRoaXMubWFya1BheW1lbnRVbnNvbGljaXRlZEZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgIHJlYXNvbjogbmV3IEZvcm1Db250cm9sKCcnLCBWYWxpZGF0b3JzLmNvbXBvc2UoW1xuICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgICBWYWxpZGF0b3JzLm1pbkxlbmd0aCgzKSxcbiAgICAgICAgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMjU1KSxcbiAgICAgICAgVmFsaWRhdG9ycy5wYXR0ZXJuKCdeKFthLXpBLVowLTlcXFxccyxcXFxcLl0qKSQnKVxuICAgICAgXSkpLFxuICAgICAgcmVzcG9uc2libGVPZmZpY2U6IG5ldyBGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5jb21wb3NlKFtcbiAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgVmFsaWRhdG9ycy5wYXR0ZXJuKCdeKFthLXpBLVowLTlcXFxcc1xcXFxuLFxcXFwuLTpdKikkJylcbiAgICAgIF0pKSxcbiAgICAgIHJlc3BvbnNpYmxlUGVyc29uOiBuZXcgRm9ybUNvbnRyb2woJycpLFxuICAgICAgZW1haWxJZDogbmV3IEZvcm1Db250cm9sKCcnKVxuICAgIH0pO1xuICB9XG4gIHRyaW1VbmRlcnNjb3JlKG1ldGhvZDogc3RyaW5nKXtcbiAgICByZXR1cm4gdGhpcy5idWxrU2NhbmluZ1BheW1lbnRTZXJ2aWNlLnJlbW92ZVVud2FudGVkU3RyaW5nKG1ldGhvZCwnICcpO1xuICB9XG4gIGNvbmZpcm1QYXltZW50cygpIHtcbiAgICB0aGlzLmlzQ29uZmlybUJ1dHRvbmRpc2FibGVkID0gdHJ1ZTtcbiAgICBjb25zdCBjb250cm9scyA9IHRoaXMubWFya1BheW1lbnRVbnNvbGljaXRlZEZvcm0uY29udHJvbHM7XG4gICAgaWYoIXRoaXMuaXNTdHJhdGVnaWNGaXhFbmFibGUpIHtcbiAgICAgIGxldCBhbGxvY2F0ZWRSZXF1ZXN0ID0ge1xuICAgICAgICBhbGxvY2F0aW9uX3N0YXR1czonVHJhbnNmZXJyZWQnLFxuICAgICAgICBwYXltZW50X2FsbG9jYXRpb25fc3RhdHVzOiB7XG4gICAgICAgICAgZGVzY3JpcHRpb246ICcnLFxuICAgICAgICAgIG5hbWU6ICdUcmFuc2ZlcnJlZCdcbiAgICAgICAgfSxcbiAgICAgICAgdW5pZGVudGlmaWVkX3JlYXNvbjogY29udHJvbHMucmVhc29uLnZhbHVlLFxuICAgICAgICByZWNlaXZpbmdfb2ZmaWNlOiB0aGlzLnNlbGVjdGVkU2l0ZUlkLFxuICAgICAgICB1c2VyX2lkOiB0aGlzLmNhc2VUeXBlLFxuICAgICAgfVxuICAgICAgY29uc3QgcG9zdFN0cmF0ZWdpY0JvZHkgPSBuZXcgQWxsb2NhdGVQYXltZW50UmVxdWVzdFxuICAgICAgKHRoaXMuY2NkUmVmZXJlbmNlLCB0aGlzLnVuYXNzaWduZWRSZWNvcmQsIHRoaXMuY2FzZVR5cGUsIHRoaXMuZXhjZXB0aW9uUmVmZXJlbmNlLCBhbGxvY2F0ZWRSZXF1ZXN0KTtcbiAgICAgIHRoaXMuYnVsa1NjYW5pbmdQYXltZW50U2VydmljZS5wb3N0QlNXb1BHU3RyYXRlZ2ljKHBvc3RTdHJhdGVnaWNCb2R5KS5zdWJzY3JpYmUoXG4gICAgICAgIHJlcyA9PiB7XG4gICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSB0aGlzLmdldEVycm9yTWVzc2FnZShmYWxzZSk7XG4gICAgICAgICAgbGV0IHJlc3BvbnNlID0gSlNPTi5wYXJzZShyZXMpO1xuICAgICAgICAgIGlmIChyZXNwb25zZS5zdWNjZXNzKSB7XG4gICAgICAgICAgIHRoaXMuZ290b0Nhc2V0cmFuc2F0aW9uUGFnZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgKGVycm9yOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHRoaXMuZ2V0RXJyb3JNZXNzYWdlKHRydWUpO1xuICAgICAgICAgIHRoaXMuaXNDb25maXJtQnV0dG9uZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAvLyBjb250cm9scy5yZXNwb25zaWJsZU9mZmljZS5zZXRWYWx1ZSgnUDIxOScpO1xuICAgIHRoaXMuYnVsa1NjYW5pbmdQYXltZW50U2VydmljZS5wYXRjaEJTQ2hhbmdlU3RhdHVzKHRoaXMudW5hc3NpZ25lZFJlY29yZC5kY25fcmVmZXJlbmNlLCAnUFJPQ0VTU0VEJykuc3Vic2NyaWJlKFxuICAgICAgcmVzMSA9PiB7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gdGhpcy5nZXRFcnJvck1lc3NhZ2UoZmFsc2UpO1xuICAgICAgICBjb25zdCByZXNwb25zZTEgPSBKU09OLnBhcnNlKHJlczEpLFxuICAgICAgICAgcmVxdWVzdEJvZHkgPSBuZXcgQWxsb2NhdGVQYXltZW50UmVxdWVzdFxuICAgICAgICAgKHRoaXMuY2NkUmVmZXJlbmNlLCB0aGlzLnVuYXNzaWduZWRSZWNvcmQsIHRoaXMuc2l0ZUlELCB0aGlzLmV4Y2VwdGlvblJlZmVyZW5jZSlcbiAgICAgICAgdGhpcy5wYXltZW50Vmlld1NlcnZpY2UucG9zdEJTUGF5bWVudHMocmVxdWVzdEJvZHkpLnN1YnNjcmliZShcbiAgICAgICAgICByZXMyID0+IHtcbiAgICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gdGhpcy5nZXRFcnJvck1lc3NhZ2UoZmFsc2UpO1xuICAgICAgICAgICAgY29uc3QgcmVzcG9uc2UyID0gSlNPTi5wYXJzZShyZXMyKSxcbiAgICAgICAgICAgIHJlcUJvZHkgPSBuZXcgVW5zb2xpY2l0ZWRQYXltZW50c1JlcXVlc3RcbiAgICAgICAgICAgIChyZXNwb25zZTJbJ2RhdGEnXS5wYXltZW50X2dyb3VwX3JlZmVyZW5jZSwgcmVzcG9uc2UyWydkYXRhJ10ucmVmZXJlbmNlLCBjb250cm9scy5yZWFzb24udmFsdWUsIHRoaXMuc2VsZWN0ZWRTaXRlSWQsIGNvbnRyb2xzLnJlc3BvbnNpYmxlUGVyc29uLnZhbHVlLCBjb250cm9scy5lbWFpbElkLnZhbHVlKTtcbiAgICAgICAgICAgICBpZiAocmVzcG9uc2UyLnN1Y2Nlc3MpIHtcbiAgICAgICAgICAgICAgdGhpcy5wYXltZW50Vmlld1NlcnZpY2UucG9zdEJTVW5zb2xpY2l0ZWRQYXltZW50cyhyZXFCb2R5KS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgcmVzMyA9PiB7XG4gICAgICAgICAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHRoaXMuZ2V0RXJyb3JNZXNzYWdlKGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlMyA9IEpTT04ucGFyc2UocmVzMyk7XG4gICAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2UzLnN1Y2Nlc3MpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5nb3RvQ2FzZXRyYW5zYXRpb25QYWdlKCk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAoZXJyb3I6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgdGhpcy5idWxrU2NhbmluZ1BheW1lbnRTZXJ2aWNlLnBhdGNoQlNDaGFuZ2VTdGF0dXModGhpcy51bmFzc2lnbmVkUmVjb3JkLmRjbl9yZWZlcmVuY2UsICdDT01QTEVURScpLnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSB0aGlzLmdldEVycm9yTWVzc2FnZSh0cnVlKTtcbiAgICAgICAgICAgICAgICAgIHRoaXMuaXNDb25maXJtQnV0dG9uZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICAoZXJyb3I6IGFueSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5idWxrU2NhbmluZ1BheW1lbnRTZXJ2aWNlLnBhdGNoQlNDaGFuZ2VTdGF0dXModGhpcy51bmFzc2lnbmVkUmVjb3JkLmRjbl9yZWZlcmVuY2UsICdDT01QTEVURScpLnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSB0aGlzLmdldEVycm9yTWVzc2FnZSh0cnVlKTtcbiAgICAgICAgICAgIHRoaXMuaXNDb25maXJtQnV0dG9uZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgICB9LFxuICAgICAgKGVycm9yOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSB0aGlzLmdldEVycm9yTWVzc2FnZSh0cnVlKTtcbiAgICAgICAgdGhpcy5pc0NvbmZpcm1CdXR0b25kaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgfVxuICAgICk7XG4gICAgfVxuICB9XG4gc2F2ZUFuZENvbnRpbnVlKCkge1xuICAgIHRoaXMucmVzZXRGb3JtKFtmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZV0sICdhbGwnKTtcbiAgICAgICAgY29uc3QgZm9ybWVycm9yID0gdGhpcy5tYXJrUGF5bWVudFVuc29saWNpdGVkRm9ybS5jb250cm9scy5yZWFzb24uZXJyb3JzO1xuICAgICAgICBjb25zdCByZWFzb25GaWVsZCA9IHRoaXMubWFya1BheW1lbnRVbnNvbGljaXRlZEZvcm0uY29udHJvbHMucmVhc29uO1xuICAgICAgICAvL2NvbnN0IG9mZmljZUlkRmllbGQgPSB0aGlzLnNlbGVjdGVkU2l0ZUlkO1xuICAgICAgICBjb25zdCBvZmZpY2VJZEZpZWxkICA9IHRoaXMubWFya1BheW1lbnRVbnNvbGljaXRlZEZvcm0uY29udHJvbHMucmVzcG9uc2libGVPZmZpY2U7XG4gICAgaWYgKHRoaXMubWFya1BheW1lbnRVbnNvbGljaXRlZEZvcm0uZGlydHkgJiYgdGhpcy5tYXJrUGF5bWVudFVuc29saWNpdGVkRm9ybS52YWxpZCkge1xuICAgICAgY29uc3QgY29udHJvbHMgPSB0aGlzLm1hcmtQYXltZW50VW5zb2xpY2l0ZWRGb3JtLmNvbnRyb2xzO1xuICAgICAgdGhpcy5lbWFpbElkID0gY29udHJvbHMuZW1haWxJZC52YWx1ZTtcbiAgICAgIHRoaXMucmVzcG9uc2libGVPZmZpY2UgPSBvZmZpY2VJZEZpZWxkLnZhbHVlO1xuICAgICAgdGhpcy5yZXNwb25zaWJsZVBlcnNvbiA9IGNvbnRyb2xzLnJlc3BvbnNpYmxlUGVyc29uLnZhbHVlO1xuICAgICAgdGhpcy5yZWFzb24gPSBjb250cm9scy5yZWFzb24udmFsdWU7XG4gICAgICB0aGlzLnZpZXdTdGF0dXMgPSAndW5zb2xpY2l0ZWRDb250aW51ZUNvbmZpcm0nO1xuICAgIH1lbHNlIHtcbiAgICAgIGlmKCByZWFzb25GaWVsZC52YWx1ZSA9PSAnJyApIHtcbiAgICAgICAgdGhpcy5yZXNldEZvcm0oW3RydWUsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2VdLCAncmVhc29uJyk7XG4gICAgICB9XG4gICAgICBpZihyZWFzb25GaWVsZC52YWx1ZSAhPSAnJyAmJiB0aGlzLm1hcmtQYXltZW50VW5zb2xpY2l0ZWRGb3JtLmNvbnRyb2xzLnJlYXNvbi5pbnZhbGlkICkge1xuICAgICAgICB0aGlzLnJlc2V0Rm9ybShbZmFsc2UsdHJ1ZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZV0sICdyZWFzb24nKTtcbiAgICAgIH1cbiAgICAgIGlmKGZvcm1lcnJvciAmJiBmb3JtZXJyb3IubWlubGVuZ3RoICYmIGZvcm1lcnJvci5taW5sZW5ndGguYWN0dWFsTGVuZ3RoIDwgMyApIHtcbiAgICAgICAgdGhpcy5yZXNldEZvcm0oW2ZhbHNlLGZhbHNlLHRydWUsZmFsc2UsZmFsc2UsZmFsc2VdLCAncmVhc29uJyk7XG4gICAgICB9XG4gICAgICBpZihmb3JtZXJyb3IgJiYgZm9ybWVycm9yLm1heGxlbmd0aCAmJiBmb3JtZXJyb3IubWF4bGVuZ3RoLmFjdHVhbExlbmd0aCA+IDI1NSApIHtcbiAgICAgICAgdGhpcy5yZXNldEZvcm0oW2ZhbHNlLGZhbHNlLGZhbHNlLHRydWUsZmFsc2UsZmFsc2VdLCAncmVhc29uJyk7XG4gICAgICB9XG4gICAgICBpZihvZmZpY2VJZEZpZWxkLnZhbHVlID09ICcnKSB7XG4gICAgICAgIHRoaXMucmVzZXRGb3JtKFtmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSx0cnVlLGZhbHNlXSwgJ3Jlc3BvbnNpYmxlT2ZmaWNlJyk7XG4gICAgICB9XG4gICAgICBpZihvZmZpY2VJZEZpZWxkLnZhbHVlICE9ICcnICYmIG9mZmljZUlkRmllbGQuaW52YWxpZCkge1xuICAgICAgICB0aGlzLnJlc2V0Rm9ybShbZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsdHJ1ZV0sJ3Jlc3BvbnNpYmxlT2ZmaWNlJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJlc2V0Rm9ybSh2YWwsIGZpZWxkKSB7XG4gICAgaWYoZmllbGQ9PT0ncmVhc29uJyB8fCBmaWVsZD09PSdhbGwnKSB7XG4gICAgICB0aGlzLmlzUmVhc29uRW1wdHkgPSB2YWxbMF07XG4gICAgICB0aGlzLnJlYXNvbkhhc0Vycm9yID0gdmFsWzFdO1xuICAgICAgdGhpcy5yZWFzb25NaW5IYXNFcnJvciA9IHZhbFsyXTtcbiAgICAgIHRoaXMucmVhc29uTWF4SGFzRXJyb3IgPSB2YWxbM107XG4gICAgfVxuICAgIGlmKGZpZWxkPT09J3Jlc3BvbnNpYmxlT2ZmaWNlJyB8fCBmaWVsZD09PSdhbGwnKSB7XG4gICAgICB0aGlzLmlzUmVzcG9uc2libGVPZmZpY2VFbXB0eSA9IHZhbFs0XTtcbiAgICAgIHRoaXMucmVzcG9uc2libGVPZmZpY2VIYXNFcnJvciA9IHZhbFs1XTtcbiAgICB9XG4gIH1cblxuY2FuY2VsTWFya1Vuc29saWNpdGVkUGF5bWVudHModHlwZT86c3RyaW5nKXtcbiAgICBpZih0eXBlICYmIHR5cGUgPT09ICdjYW5jZWwnKSB7XG4gICAgICBpZih0aGlzLmNoZWNraW5nRm9ybVZhbHVlKCkpe1xuICAgICAgICB0aGlzLnZpZXdTdGF0dXMgPSAndW5zb2xpY2l0ZWRDYW5jZWxDb25maXJtJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZ290b0Nhc2V0cmFuc2F0aW9uUGFnZSgpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm1hcmtQYXltZW50VW5zb2xpY2l0ZWRGb3JtLmNvbnRyb2xzLnJlc3BvbnNpYmxlT2ZmaWNlLnNldFZhbHVlKCcnKTtcbiAgICAgIHRoaXMudmlld1N0YXR1cyA9ICdtYWluRm9ybSc7XG4gICAgfVxuICB9XG4gIGNoZWNraW5nRm9ybVZhbHVlKCl7XG4gICAgY29uc3QgZm9ybUZpZWxkcyA9IHRoaXMubWFya1BheW1lbnRVbnNvbGljaXRlZEZvcm0udmFsdWU7XG4gICAgbGV0IHZhbHVlRXhpc3RzID0gZmFsc2U7XG5cbiAgICBmb3IgKHZhciBmaWVsZCBpbiBmb3JtRmllbGRzKSB7XG4gICAgICBpZiAoZm9ybUZpZWxkcy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkgJiYgZm9ybUZpZWxkc1tmaWVsZF0gIT09XCJcIikge1xuICAgICAgICB2YWx1ZUV4aXN0cyA9IHRydWU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdmFsdWVFeGlzdHM7XG4gIH1cbiAgZ290b0Nhc2V0cmFuc2F0aW9uUGFnZSgpIHtcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQudmlld05hbWUgPSAnY2FzZS10cmFuc2FjdGlvbnMnO1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5UQUtFUEFZTUVOVCA9IHRydWU7XG4gICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LklTQlNFTkFCTEUgPSB0cnVlO1xuICB9XG4gICBnZXRVbmFzc2lnbmVkUGF5bWVudCgpIHtcbiAgICB0aGlzLmJ1bGtTY2FuaW5nUGF5bWVudFNlcnZpY2UuZ2V0QlNQYXltZW50c0J5RENOKHRoaXMuYnNwYXltZW50ZGNuKS5zdWJzY3JpYmUoXG4gICAgICB1bmFzc2lnbmVkUGF5bWVudHMgPT4ge1xuICAgICAgICBcbiAgICAgIHRoaXMudW5hc3NpZ25lZFJlY29yZCA9IHVuYXNzaWduZWRQYXltZW50c1snZGF0YSddLnBheW1lbnRzLmZpbHRlcihwYXltZW50ID0+IHtcbiAgICAgICAgcmV0dXJuIHBheW1lbnQgJiYgcGF5bWVudC5kY25fcmVmZXJlbmNlID09IHRoaXMuYnNwYXltZW50ZGNuO1xuICAgICAgfSlbMF07XG4gICAgICAgdGhpcy5zaXRlSUQgPSB1bmFzc2lnbmVkUGF5bWVudHNbJ2RhdGEnXS5yZXNwb25zaWJsZV9zZXJ2aWNlX2lkO1xuICAgICAgICBjb25zdCBiZUNjZE51bWJlciA9IHVuYXNzaWduZWRQYXltZW50c1snZGF0YSddLmNjZF9yZWZlcmVuY2UsXG4gICAgICAgICBiZUV4Y2VwdGlvbk51bWJlciA9IHVuYXNzaWduZWRQYXltZW50c1snZGF0YSddLmV4Y2VwdGlvbl9yZWNvcmRfcmVmZXJlbmNlLFxuICAgICAgICAgZXhjZXB0aW9uUmVmZXJlbmNlID0gYmVDY2ROdW1iZXIgPyBiZUNjZE51bWJlciA9PT0gdGhpcy5jY2RDYXNlTnVtYmVyID8gbnVsbCA6IHRoaXMuY2NkQ2FzZU51bWJlciA6IHRoaXMuY2NkQ2FzZU51bWJlcjtcbiAgICAgICAgdGhpcy5jY2RSZWZlcmVuY2UgPSBiZUNjZE51bWJlciA/IGJlQ2NkTnVtYmVyIDogbnVsbDtcbiAgICAgICAgdGhpcy5leGNlcHRpb25SZWZlcmVuY2UgPSBiZUV4Y2VwdGlvbk51bWJlciA/IGJlRXhjZXB0aW9uTnVtYmVyIDogZXhjZXB0aW9uUmVmZXJlbmNlO1xuICAgIH0sXG4gICAgICAoZXJyb3I6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHRoaXMuZ2V0RXJyb3JNZXNzYWdlKHRydWUpO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBnZXRFcnJvck1lc3NhZ2UoaXNFcnJvckV4aXN0KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRpdGxlOiBcIlNvbWV0aGluZyB3ZW50IHdyb25nLlwiLFxuICAgICAgYm9keTogXCJQbGVhc2UgdHJ5IGFnYWluIGxhdGVyLlwiLFxuICAgICAgc2hvd0Vycm9yOiBpc0Vycm9yRXhpc3RcbiAgICB9O1xuICB9XG5cbiAgc2VsZWN0Y2hhbmdlKGFyZ3MpeyBcbiAgICB0aGlzLnNlbGVjdGVkU2l0ZUlkID0gYXJncy50YXJnZXQudmFsdWU7IFxuICAgIHRoaXMuc2VsZWN0ZWRTaXRlTmFtZSA9IGFyZ3MudGFyZ2V0Lm9wdGlvbnNbYXJncy50YXJnZXQuc2VsZWN0ZWRJbmRleF0udGV4dDsgXG4gIH0gXG5cbn1cbiJdfQ==
|