@hmcts/ccpay-web-component 5.0.1 → 5.0.2
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 +4596 -3753
- 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 +11 -10
- package/esm2015/lib/components/add-remission/add-remission.component.js +216 -166
- package/esm2015/lib/components/case-transactions/case-transactions.component.js +39 -40
- package/esm2015/lib/components/fee-summary/fee-summary.component.js +1 -3
- package/esm2015/lib/components/payment-view/payment-view.component.js +95 -19
- package/esm2015/lib/components/process-refund/process-refund.component.js +72 -9
- package/esm2015/lib/components/refund-list/refund-list.component.js +6 -10
- package/esm2015/lib/components/refund-status/refund-status.component.js +29 -43
- package/esm2015/lib/components/service-request/service-request.component.js +607 -0
- package/esm2015/lib/components/status-history/status-history.component.js +2 -2
- package/esm2015/lib/components/table/table.component.js +27 -10
- package/esm2015/lib/components/unprocessed-payments/unprocessed-payments.component.js +1 -2
- package/esm2015/lib/interfaces/IFee.js +3 -1
- package/esm2015/lib/interfaces/IPayment.js +3 -1
- package/esm2015/lib/payment-lib.component.js +51 -5
- package/esm2015/lib/payment-lib.module.js +6 -2
- package/esm2015/lib/services/orderslist.service.js +193 -1
- package/esm2015/lib/services/payment-view/payment-view.service.js +2 -2
- package/esm2015/lib/services/shared/error-handler.service.js +49 -22
- package/esm5/hmcts-ccpay-web-component.js +11 -10
- package/esm5/lib/components/add-remission/add-remission.component.js +220 -167
- package/esm5/lib/components/case-transactions/case-transactions.component.js +39 -44
- package/esm5/lib/components/fee-summary/fee-summary.component.js +1 -3
- package/esm5/lib/components/payment-view/payment-view.component.js +99 -19
- package/esm5/lib/components/process-refund/process-refund.component.js +76 -9
- package/esm5/lib/components/refund-list/refund-list.component.js +6 -10
- package/esm5/lib/components/refund-status/refund-status.component.js +32 -44
- package/esm5/lib/components/service-request/service-request.component.js +679 -0
- package/esm5/lib/components/status-history/status-history.component.js +2 -2
- package/esm5/lib/components/table/table.component.js +26 -11
- package/esm5/lib/components/unprocessed-payments/unprocessed-payments.component.js +1 -2
- package/esm5/lib/interfaces/IFee.js +3 -1
- package/esm5/lib/interfaces/IPayment.js +3 -1
- package/esm5/lib/payment-lib.component.js +49 -5
- package/esm5/lib/payment-lib.module.js +6 -2
- package/esm5/lib/services/orderslist.service.js +256 -1
- package/esm5/lib/services/payment-view/payment-view.service.js +2 -2
- package/esm5/lib/services/shared/error-handler.service.js +49 -22
- package/fesm2015/hmcts-ccpay-web-component.js +1191 -468
- package/fesm2015/hmcts-ccpay-web-component.js.map +1 -1
- package/fesm5/hmcts-ccpay-web-component.js +4624 -3762
- package/fesm5/hmcts-ccpay-web-component.js.map +1 -1
- package/hmcts-ccpay-web-component.d.ts +10 -9
- package/hmcts-ccpay-web-component.metadata.json +1 -1
- package/lib/components/add-remission/add-remission.component.d.ts +14 -1
- package/lib/components/case-transactions/case-transactions.component.d.ts +2 -3
- package/lib/components/payment-view/payment-view.component.d.ts +13 -3
- package/lib/components/process-refund/process-refund.component.d.ts +8 -1
- package/lib/components/refund-status/refund-status.component.d.ts +2 -0
- package/lib/components/service-request/service-request.component.d.ts +103 -0
- package/lib/components/table/table.component.d.ts +5 -2
- package/lib/interfaces/IFee.d.ts +1 -0
- package/lib/interfaces/IPayment.d.ts +1 -0
- package/lib/payment-lib.component.d.ts +16 -1
- package/lib/services/orderslist.service.d.ts +34 -0
- package/package.json +1 -1
|
@@ -0,0 +1,679 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview added by tsickle
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
+
*/
|
|
5
|
+
import * as tslib_1 from "tslib";
|
|
6
|
+
import { Component, Input } from '@angular/core';
|
|
7
|
+
import { PaymentLibComponent } from '../../payment-lib.component';
|
|
8
|
+
import { Router } from '@angular/router';
|
|
9
|
+
import { PaymentViewService } from '../../services/payment-view/payment-view.service';
|
|
10
|
+
import { OrderslistService } from '../../services/orderslist.service';
|
|
11
|
+
var ServiceRequestComponent = /** @class */ (function () {
|
|
12
|
+
function ServiceRequestComponent(paymentLibComponent, paymentViewService, OrderslistService, router) {
|
|
13
|
+
var _this = this;
|
|
14
|
+
this.paymentLibComponent = paymentLibComponent;
|
|
15
|
+
this.paymentViewService = paymentViewService;
|
|
16
|
+
this.OrderslistService = OrderslistService;
|
|
17
|
+
this.router = router;
|
|
18
|
+
this.paymentGroups = [];
|
|
19
|
+
this.payments = [];
|
|
20
|
+
this.nonPayments = [];
|
|
21
|
+
this.allPayments = [];
|
|
22
|
+
this.remissions = [];
|
|
23
|
+
this.fees = [];
|
|
24
|
+
this.isRefundRemission = true;
|
|
25
|
+
this.isAddFeeBtnEnabled = true;
|
|
26
|
+
this.isExceptionRecord = false;
|
|
27
|
+
this.isUnprocessedRecordSelected = false;
|
|
28
|
+
this.isAnyFeeGroupAvilable = true;
|
|
29
|
+
this.isHistoricGroupAvailable = false;
|
|
30
|
+
this.isRemoveBtnDisabled = false;
|
|
31
|
+
this.clAmountDue = 0;
|
|
32
|
+
this.isFeeRecordsExist = false;
|
|
33
|
+
this.isGrpOutstandingAmtPositive = false;
|
|
34
|
+
this.isAddRemissionEnable = false;
|
|
35
|
+
this.orderRemissionDetails = [];
|
|
36
|
+
this.orderLevelFees = [];
|
|
37
|
+
this.cpoDetails = null;
|
|
38
|
+
this.isPBA = false;
|
|
39
|
+
this.isIssueRefunfBtnEnable = false;
|
|
40
|
+
this.isAddRemissionBtnEnabled = false;
|
|
41
|
+
this.isRefundRemissionBtnEnable = false;
|
|
42
|
+
this.allowedRolesToAccessRefund = ['payments-refund-approver', 'payments-refund'];
|
|
43
|
+
this.check4AllowedRoles2AccessRefund = (/**
|
|
44
|
+
* @return {?}
|
|
45
|
+
*/
|
|
46
|
+
function () {
|
|
47
|
+
return _this.allowedRolesToAccessRefund.some((/**
|
|
48
|
+
* @param {?} role
|
|
49
|
+
* @return {?}
|
|
50
|
+
*/
|
|
51
|
+
function (role) {
|
|
52
|
+
return _this.LOGGEDINUSERROLES.indexOf(role) !== -1;
|
|
53
|
+
}));
|
|
54
|
+
});
|
|
55
|
+
this.allowFurtherAccessAfter4Days = (/**
|
|
56
|
+
* @param {?} payment
|
|
57
|
+
* @return {?}
|
|
58
|
+
*/
|
|
59
|
+
function (payment) {
|
|
60
|
+
if (payment !== null && payment !== undefined) {
|
|
61
|
+
/** @type {?} */
|
|
62
|
+
var tmp4DayAgo = new Date();
|
|
63
|
+
tmp4DayAgo.setDate(tmp4DayAgo.getDate() - 4);
|
|
64
|
+
return tmp4DayAgo >= new Date(payment.date_created);
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* @return {?}
|
|
70
|
+
*/
|
|
71
|
+
ServiceRequestComponent.prototype.ngOnInit = /**
|
|
72
|
+
* @return {?}
|
|
73
|
+
*/
|
|
74
|
+
function () {
|
|
75
|
+
var _this = this;
|
|
76
|
+
if (this.viewStatus === undefined) {
|
|
77
|
+
this.viewStatus = this.paymentLibComponent.viewName;
|
|
78
|
+
}
|
|
79
|
+
if (this.paymentLibComponent.isFromServiceRequestPage && this.paymentLibComponent.isFromPaymentDetailPage) {
|
|
80
|
+
if (this.paymentLibComponent.isFromPaymentDetailPage && this.paymentLibComponent.isFromServiceRequestPage) {
|
|
81
|
+
this.OrderslistService.getorderRefs().subscribe((/**
|
|
82
|
+
* @param {?} data
|
|
83
|
+
* @return {?}
|
|
84
|
+
*/
|
|
85
|
+
function (data) { return _this.orderRef = data; }));
|
|
86
|
+
this.OrderslistService.getorderCCDEvents().subscribe((/**
|
|
87
|
+
* @param {?} data
|
|
88
|
+
* @return {?}
|
|
89
|
+
*/
|
|
90
|
+
function (data) { return _this.orderCCDEvent = data; }));
|
|
91
|
+
this.OrderslistService.getorderCreateds().subscribe((/**
|
|
92
|
+
* @param {?} data
|
|
93
|
+
* @return {?}
|
|
94
|
+
*/
|
|
95
|
+
function (data) { return _this.orderCreated = data; }));
|
|
96
|
+
this.OrderslistService.getorderDetail().subscribe((/**
|
|
97
|
+
* @param {?} data
|
|
98
|
+
* @return {?}
|
|
99
|
+
*/
|
|
100
|
+
function (data) { return _this.orderDetail = data; }));
|
|
101
|
+
this.OrderslistService.getorderPartys().subscribe((/**
|
|
102
|
+
* @param {?} data
|
|
103
|
+
* @return {?}
|
|
104
|
+
*/
|
|
105
|
+
function (data) { return _this.orderParty = data; }));
|
|
106
|
+
this.OrderslistService.getorderRemissionTotals().subscribe((/**
|
|
107
|
+
* @param {?} data
|
|
108
|
+
* @return {?}
|
|
109
|
+
*/
|
|
110
|
+
function (data) { return _this.orderRemissionTotal = data; }));
|
|
111
|
+
this.OrderslistService.getorderFeesTotals().subscribe((/**
|
|
112
|
+
* @param {?} data
|
|
113
|
+
* @return {?}
|
|
114
|
+
*/
|
|
115
|
+
function (data) { return _this.orderFeesTotal = data; }));
|
|
116
|
+
this.OrderslistService.getoorderTotalPaymentss().subscribe((/**
|
|
117
|
+
* @param {?} data
|
|
118
|
+
* @return {?}
|
|
119
|
+
*/
|
|
120
|
+
function (data) { return _this.orderTotalPayments = data; }));
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
// if (this.takePayment) {
|
|
124
|
+
// this.paymentLibComponent.TAKEPAYMENT = this.takePayment;
|
|
125
|
+
// }
|
|
126
|
+
};
|
|
127
|
+
/**
|
|
128
|
+
* @param {?} event
|
|
129
|
+
* @return {?}
|
|
130
|
+
*/
|
|
131
|
+
ServiceRequestComponent.prototype.goToCaseTransationPage = /**
|
|
132
|
+
* @param {?} event
|
|
133
|
+
* @return {?}
|
|
134
|
+
*/
|
|
135
|
+
function (event) {
|
|
136
|
+
event.preventDefault();
|
|
137
|
+
this.OrderslistService.setnavigationPage('servicerequestpage');
|
|
138
|
+
this.OrderslistService.setisFromServiceRequestPage(false);
|
|
139
|
+
this.paymentLibComponent.viewName = 'case-transactions';
|
|
140
|
+
this.paymentLibComponent.ISBSENABLE = true;
|
|
141
|
+
this.paymentLibComponent.isTakePayment = this.paymentLibComponent.TAKEPAYMENT;
|
|
142
|
+
if (this.takePayment) {
|
|
143
|
+
this.paymentLibComponent.isTakePayment = this.takePayment;
|
|
144
|
+
}
|
|
145
|
+
this.paymentLibComponent.SERVICEREQUEST = "true";
|
|
146
|
+
this.paymentLibComponent.isFromServiceRequestPage = false;
|
|
147
|
+
this.paymentLibComponent.isFromRefundStatusPage = false;
|
|
148
|
+
this.paymentLibComponent.viewName = 'case-transactions';
|
|
149
|
+
this.resetOrderData();
|
|
150
|
+
// this.OrderslistService.setisFromServiceRequestPage(false);
|
|
151
|
+
// this.OrderslistService.setnavigationPage('servicerequestpage');
|
|
152
|
+
// this.OrderslistService.setpaymentPageView({ method: this.payment.method, payment_group_reference: this.paymentGroupRef, reference: this.payment.reference });
|
|
153
|
+
// this.OrderslistService.setnavigationPage('servicerequestpage');
|
|
154
|
+
// let partUrl = this.bsPaymentDcnNumber ? `&dcn=${this.bsPaymentDcnNumber}` : '';
|
|
155
|
+
/** @type {?} */
|
|
156
|
+
var partUrl = this.paymentLibComponent.ISBSENABLE ? '&isBulkScanning=Enable' : '&isBulkScanning=Disable';
|
|
157
|
+
partUrl += this.paymentLibComponent.ISTURNOFF ? '&isTurnOff=Enable' : '&isTurnOff=Disable';
|
|
158
|
+
partUrl += this.paymentLibComponent.TAKEPAYMENT ? '&takePayment=true' : '&takePayment=false';
|
|
159
|
+
partUrl += this.isStrategicFixEnable ? '&isStFixEnable=Enable' : '&isStFixEnable=Disable';
|
|
160
|
+
partUrl += "&caseType=" + this.paymentLibComponent.CASETYPE;
|
|
161
|
+
partUrl += this.paymentLibComponent.ISNEWPCIPALOFF ? '&isNewPcipalOff=Enable' : '&isNewPcipalOff=Disable';
|
|
162
|
+
partUrl += this.paymentLibComponent.ISOLDPCIPALOFF ? '&isOldPcipalOff=Enable' : '&isOldPcipalOff=Disable';
|
|
163
|
+
/** @type {?} */
|
|
164
|
+
var url = "/payment-history/" + this.paymentLibComponent.CCD_CASE_NUMBER + "?view=case-transactions&selectedOption=" + this.paymentLibComponent.SELECTED_OPTION + partUrl;
|
|
165
|
+
this.router.routeReuseStrategy.shouldReuseRoute = (/**
|
|
166
|
+
* @return {?}
|
|
167
|
+
*/
|
|
168
|
+
function () { return false; });
|
|
169
|
+
this.router.onSameUrlNavigation = 'reload';
|
|
170
|
+
this.router.navigateByUrl(url);
|
|
171
|
+
};
|
|
172
|
+
/**
|
|
173
|
+
* @param {?} feeCode
|
|
174
|
+
* @return {?}
|
|
175
|
+
*/
|
|
176
|
+
ServiceRequestComponent.prototype.chkForAddRemission = /**
|
|
177
|
+
* @param {?} feeCode
|
|
178
|
+
* @return {?}
|
|
179
|
+
*/
|
|
180
|
+
function (feeCode) {
|
|
181
|
+
var e_1, _a;
|
|
182
|
+
if (this.chkForPBAPayment() && this.check4AllowedRoles2AccessRefund()) {
|
|
183
|
+
if (this.orderDetail[0]['remissions'].length > 0) {
|
|
184
|
+
try {
|
|
185
|
+
for (var _b = tslib_1.__values(this.orderDetail[0]['remissions']), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
186
|
+
var remission = _c.value;
|
|
187
|
+
if (remission.fee_code === feeCode) {
|
|
188
|
+
return false;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
193
|
+
finally {
|
|
194
|
+
try {
|
|
195
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
196
|
+
}
|
|
197
|
+
finally { if (e_1) throw e_1.error; }
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
return true;
|
|
201
|
+
}
|
|
202
|
+
else {
|
|
203
|
+
return false;
|
|
204
|
+
}
|
|
205
|
+
};
|
|
206
|
+
/**
|
|
207
|
+
* @return {?}
|
|
208
|
+
*/
|
|
209
|
+
ServiceRequestComponent.prototype.chkForPBAPayment = /**
|
|
210
|
+
* @return {?}
|
|
211
|
+
*/
|
|
212
|
+
function () {
|
|
213
|
+
var _this = this;
|
|
214
|
+
if (this.orderDetail !== null && this.orderDetail !== undefined) {
|
|
215
|
+
this.orderDetail.forEach((/**
|
|
216
|
+
* @param {?} orderDetail
|
|
217
|
+
* @return {?}
|
|
218
|
+
*/
|
|
219
|
+
function (orderDetail) {
|
|
220
|
+
if (orderDetail.payments) {
|
|
221
|
+
orderDetail.payments.forEach((/**
|
|
222
|
+
* @param {?} payment
|
|
223
|
+
* @return {?}
|
|
224
|
+
*/
|
|
225
|
+
function (payment) {
|
|
226
|
+
if (payment.method.toLocaleLowerCase() === 'payment by account' && _this.allowFurtherAccessAfter4Days(payment)) {
|
|
227
|
+
_this.paymentLibComponent.paymentReference = payment.reference;
|
|
228
|
+
_this.isPBA = true;
|
|
229
|
+
}
|
|
230
|
+
}));
|
|
231
|
+
}
|
|
232
|
+
}));
|
|
233
|
+
if (this.isPBA) {
|
|
234
|
+
return true;
|
|
235
|
+
}
|
|
236
|
+
else {
|
|
237
|
+
return false;
|
|
238
|
+
}
|
|
239
|
+
;
|
|
240
|
+
}
|
|
241
|
+
};
|
|
242
|
+
/**
|
|
243
|
+
* @param {?} fee
|
|
244
|
+
* @return {?}
|
|
245
|
+
*/
|
|
246
|
+
ServiceRequestComponent.prototype.addRemission = /**
|
|
247
|
+
* @param {?} fee
|
|
248
|
+
* @return {?}
|
|
249
|
+
*/
|
|
250
|
+
function (fee) {
|
|
251
|
+
var _this = this;
|
|
252
|
+
if (this.chkForAddRemission(fee.code)) {
|
|
253
|
+
this.feeId = fee;
|
|
254
|
+
this.viewStatus = 'addremission';
|
|
255
|
+
this.payment = this.orderDetail[0].payments[0];
|
|
256
|
+
this.paymentViewService.getApportionPaymentDetails(this.orderDetail[0].payments[0].reference).subscribe((/**
|
|
257
|
+
* @param {?} paymentGroup
|
|
258
|
+
* @return {?}
|
|
259
|
+
*/
|
|
260
|
+
function (paymentGroup) {
|
|
261
|
+
_this.paymentGroup = paymentGroup;
|
|
262
|
+
_this.paymentGroup.payments = _this.paymentGroup.payments.filter((/**
|
|
263
|
+
* @param {?} paymentGroupObj
|
|
264
|
+
* @return {?}
|
|
265
|
+
*/
|
|
266
|
+
function (paymentGroupObj) { return paymentGroupObj['reference'].includes(_this.paymentLibComponent.paymentReference); }));
|
|
267
|
+
_this.payment = _this.paymentGroup.payments[0];
|
|
268
|
+
// const paymentAllocation = this.paymentGroup.payments[0].payment_allocation;
|
|
269
|
+
// this.isStatusAllocated = paymentAllocation.length > 0 && paymentAllocation[0].allocation_status === 'Allocated' || paymentAllocation.length === 0;
|
|
270
|
+
}), (/**
|
|
271
|
+
* @param {?} error
|
|
272
|
+
* @return {?}
|
|
273
|
+
*/
|
|
274
|
+
function (error) { return _this.errorMessage = error.replace(/"/g, ""); }));
|
|
275
|
+
}
|
|
276
|
+
};
|
|
277
|
+
/**
|
|
278
|
+
* @param {?} payment
|
|
279
|
+
* @param {?} remission
|
|
280
|
+
* @param {?} fees
|
|
281
|
+
* @return {?}
|
|
282
|
+
*/
|
|
283
|
+
ServiceRequestComponent.prototype.addRefundForRemission = /**
|
|
284
|
+
* @param {?} payment
|
|
285
|
+
* @param {?} remission
|
|
286
|
+
* @param {?} fees
|
|
287
|
+
* @return {?}
|
|
288
|
+
*/
|
|
289
|
+
function (payment, remission, fees) {
|
|
290
|
+
var _this = this;
|
|
291
|
+
this.viewStatus = 'addrefundforremission';
|
|
292
|
+
this.payment = payment;
|
|
293
|
+
this.paymentViewService.getApportionPaymentDetails(this.payment.reference).subscribe((/**
|
|
294
|
+
* @param {?} paymentGroup
|
|
295
|
+
* @return {?}
|
|
296
|
+
*/
|
|
297
|
+
function (paymentGroup) {
|
|
298
|
+
_this.paymentGroup = paymentGroup;
|
|
299
|
+
_this.paymentGroup.payments = _this.paymentGroup.payments.filter((/**
|
|
300
|
+
* @param {?} paymentGroupObj
|
|
301
|
+
* @return {?}
|
|
302
|
+
*/
|
|
303
|
+
function (paymentGroupObj) { return paymentGroupObj['reference'].includes(_this.payment.reference); }));
|
|
304
|
+
_this.payment = _this.paymentGroup.payments[0];
|
|
305
|
+
_this.remissions = remission;
|
|
306
|
+
_this.remissionFeeAmt = fees.filter((/**
|
|
307
|
+
* @param {?} data
|
|
308
|
+
* @return {?}
|
|
309
|
+
*/
|
|
310
|
+
function (data) { return data.code === _this.remissions['fee_code']; }))[0].net_amount;
|
|
311
|
+
// const paymentAllocation = this.paymentGroup.payments[0].payment_allocation;
|
|
312
|
+
// this.isStatusAllocated = paymentAllocation.length > 0 && paymentAllocation[0].allocation_status === 'Allocated' || paymentAllocation.length === 0;
|
|
313
|
+
}), (/**
|
|
314
|
+
* @param {?} error
|
|
315
|
+
* @return {?}
|
|
316
|
+
*/
|
|
317
|
+
function (error) { return _this.errorMessage = error; }));
|
|
318
|
+
};
|
|
319
|
+
/**
|
|
320
|
+
* @return {?}
|
|
321
|
+
*/
|
|
322
|
+
ServiceRequestComponent.prototype.cancelRemoval = /**
|
|
323
|
+
* @return {?}
|
|
324
|
+
*/
|
|
325
|
+
function () {
|
|
326
|
+
this.viewStatus = 'main';
|
|
327
|
+
};
|
|
328
|
+
/**
|
|
329
|
+
* @param {?} fee
|
|
330
|
+
* @return {?}
|
|
331
|
+
*/
|
|
332
|
+
ServiceRequestComponent.prototype.removeFee = /**
|
|
333
|
+
* @param {?} fee
|
|
334
|
+
* @return {?}
|
|
335
|
+
*/
|
|
336
|
+
function (fee) {
|
|
337
|
+
var _this = this;
|
|
338
|
+
this.isRemoveBtnDisabled = true;
|
|
339
|
+
this.paymentViewService.deleteFeeFromPaymentGroup(fee).subscribe((/**
|
|
340
|
+
* @param {?} success
|
|
341
|
+
* @return {?}
|
|
342
|
+
*/
|
|
343
|
+
function (success) {
|
|
344
|
+
window.location.reload();
|
|
345
|
+
}), (/**
|
|
346
|
+
* @param {?} error
|
|
347
|
+
* @return {?}
|
|
348
|
+
*/
|
|
349
|
+
function (error) {
|
|
350
|
+
_this.errorMessage = error;
|
|
351
|
+
_this.isRemoveBtnDisabled = false;
|
|
352
|
+
}));
|
|
353
|
+
};
|
|
354
|
+
/**
|
|
355
|
+
* @param {?} payment
|
|
356
|
+
* @return {?}
|
|
357
|
+
*/
|
|
358
|
+
ServiceRequestComponent.prototype.chkIssueRefundBtnEnable = /**
|
|
359
|
+
* @param {?} payment
|
|
360
|
+
* @return {?}
|
|
361
|
+
*/
|
|
362
|
+
function (payment) {
|
|
363
|
+
if (this.check4AllowedRoles2AccessRefund() && this.allowFurtherAccessAfter4Days(payment) &&
|
|
364
|
+
payment.method === 'payment by account' && payment.status.toLocaleLowerCase() === 'success') {
|
|
365
|
+
this.isIssueRefunfBtnEnable = true;
|
|
366
|
+
}
|
|
367
|
+
if (this.isIssueRefunfBtnEnable) {
|
|
368
|
+
return true;
|
|
369
|
+
}
|
|
370
|
+
else {
|
|
371
|
+
return false;
|
|
372
|
+
}
|
|
373
|
+
;
|
|
374
|
+
};
|
|
375
|
+
/**
|
|
376
|
+
* @return {?}
|
|
377
|
+
*/
|
|
378
|
+
ServiceRequestComponent.prototype.chkIsRefundRemissionBtnEnable = /**
|
|
379
|
+
* @return {?}
|
|
380
|
+
*/
|
|
381
|
+
function () {
|
|
382
|
+
var _this = this;
|
|
383
|
+
if (this.orderDetail !== null && this.orderDetail !== undefined) {
|
|
384
|
+
this.paymentLibComponent.isFromServiceRequestPage = true;
|
|
385
|
+
this.orderDetail.forEach((/**
|
|
386
|
+
* @param {?} orderDetail
|
|
387
|
+
* @return {?}
|
|
388
|
+
*/
|
|
389
|
+
function (orderDetail) {
|
|
390
|
+
if (orderDetail.payments) {
|
|
391
|
+
orderDetail.payments.forEach((/**
|
|
392
|
+
* @param {?} payment
|
|
393
|
+
* @return {?}
|
|
394
|
+
*/
|
|
395
|
+
function (payment) {
|
|
396
|
+
if (payment.method.toLocaleLowerCase() === 'payment by account' && payment.status.toLocaleLowerCase() === 'success' && _this.allowFurtherAccessAfter4Days(payment)) {
|
|
397
|
+
_this.isRefundRemissionBtnEnable = true;
|
|
398
|
+
}
|
|
399
|
+
}));
|
|
400
|
+
}
|
|
401
|
+
}));
|
|
402
|
+
if (this.isRefundRemissionBtnEnable) {
|
|
403
|
+
return true;
|
|
404
|
+
}
|
|
405
|
+
else {
|
|
406
|
+
return false;
|
|
407
|
+
}
|
|
408
|
+
;
|
|
409
|
+
}
|
|
410
|
+
};
|
|
411
|
+
/**
|
|
412
|
+
* @param {?} payment
|
|
413
|
+
* @return {?}
|
|
414
|
+
*/
|
|
415
|
+
ServiceRequestComponent.prototype.issueRefund = /**
|
|
416
|
+
* @param {?} payment
|
|
417
|
+
* @return {?}
|
|
418
|
+
*/
|
|
419
|
+
function (payment) {
|
|
420
|
+
if (payment !== null && payment !== undefined) {
|
|
421
|
+
if (this.chkIssueRefundBtnEnable(payment)) {
|
|
422
|
+
this.viewStatus = 'issuerefund';
|
|
423
|
+
this.payment = payment;
|
|
424
|
+
this.paymentLibComponent.isFromServiceRequestPage = true;
|
|
425
|
+
this.isRefundRemission = true;
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
};
|
|
429
|
+
/**
|
|
430
|
+
* @param {?} paymentGroupReference
|
|
431
|
+
* @param {?} paymentReference
|
|
432
|
+
* @param {?} paymentMethod
|
|
433
|
+
* @return {?}
|
|
434
|
+
*/
|
|
435
|
+
ServiceRequestComponent.prototype.goToPayementView = /**
|
|
436
|
+
* @param {?} paymentGroupReference
|
|
437
|
+
* @param {?} paymentReference
|
|
438
|
+
* @param {?} paymentMethod
|
|
439
|
+
* @return {?}
|
|
440
|
+
*/
|
|
441
|
+
function (paymentGroupReference, paymentReference, paymentMethod) {
|
|
442
|
+
this.goToPaymentViewComponent({ paymentGroupReference: paymentGroupReference, paymentReference: paymentReference, paymentMethod: paymentMethod });
|
|
443
|
+
};
|
|
444
|
+
/**
|
|
445
|
+
* @param {?} paymentGroup
|
|
446
|
+
* @return {?}
|
|
447
|
+
*/
|
|
448
|
+
ServiceRequestComponent.prototype.goToPaymentViewComponent = /**
|
|
449
|
+
* @param {?} paymentGroup
|
|
450
|
+
* @return {?}
|
|
451
|
+
*/
|
|
452
|
+
function (paymentGroup) {
|
|
453
|
+
this.paymentLibComponent.paymentMethod = paymentGroup.paymentMethod;
|
|
454
|
+
this.paymentLibComponent.isFromServiceRequestPage = true;
|
|
455
|
+
this.paymentLibComponent.paymentGroupReference = paymentGroup.paymentGroupReference;
|
|
456
|
+
this.paymentLibComponent.paymentReference = paymentGroup.paymentReference;
|
|
457
|
+
this.OrderslistService.setOrderRef(this.orderRef);
|
|
458
|
+
this.OrderslistService.setorderCCDEvent(this.orderCCDEvent);
|
|
459
|
+
this.OrderslistService.setorderCreated(this.orderCreated);
|
|
460
|
+
this.OrderslistService.setorderDetail(this.orderDetail);
|
|
461
|
+
this.OrderslistService.setorderParty(this.orderParty);
|
|
462
|
+
this.OrderslistService.setorderTotalPayments(this.orderTotalPayments);
|
|
463
|
+
this.OrderslistService.setorderRemissionTotal(this.orderRemissionTotal);
|
|
464
|
+
this.OrderslistService.setorderFeesTotal(this.orderFeesTotal);
|
|
465
|
+
this.viewStatus = 'payment-view';
|
|
466
|
+
};
|
|
467
|
+
/**
|
|
468
|
+
* @return {?}
|
|
469
|
+
*/
|
|
470
|
+
ServiceRequestComponent.prototype.resetOrderData = /**
|
|
471
|
+
* @return {?}
|
|
472
|
+
*/
|
|
473
|
+
function () {
|
|
474
|
+
this.OrderslistService.setOrderRef(null);
|
|
475
|
+
this.OrderslistService.setorderCCDEvent(null);
|
|
476
|
+
this.OrderslistService.setorderCreated(null);
|
|
477
|
+
this.OrderslistService.setorderDetail(null);
|
|
478
|
+
this.OrderslistService.setorderParty(null);
|
|
479
|
+
this.OrderslistService.setorderTotalPayments(null);
|
|
480
|
+
this.OrderslistService.setorderRemissionTotal(null);
|
|
481
|
+
this.OrderslistService.setorderFeesTotal(null);
|
|
482
|
+
};
|
|
483
|
+
ServiceRequestComponent.decorators = [
|
|
484
|
+
{ type: Component, args: [{
|
|
485
|
+
selector: 'ccpay-service-request',
|
|
486
|
+
template: "<!-- Order Full View Details-->\n<ng-container *ngIf=\"viewStatus === 'order-full-view'\">\n <div class=\"govuk-breadcrumbs\">\n <ol class=\"govuk-breadcrumbs__list\">\n <li class=\"govuk-breadcrumbs__list-item\">\n <a href=\"javascript:void(0)\" (click)=\"goToCaseTransationPage($event)\" class=\"govuk-back-link\">Back</a>\n </li>\n </ol>\n </div>\n <div class=\"govuk-grid-column-full\">\n <div class=\"column\">\n <h1 class=\"heading-large govuk-!-margin-top-0\">Service request</h1>\n </div>\n <table >\n <tbody>\n <tr class=\"section\">\n <td class=\"bold tb-col-w\">Service request reference</td>\n <td>{{orderRef}}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold tb-col-w\">Status</td>\n <td>{{orderStatus}}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold tb-col-w\">Date created</td>\n <td>{{orderCreated | date:'dd MMMM yyyy'}}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold tb-col-w\">Party</td>\n <td>{{orderParty}}</td>\n </tr>\n\n\n <tr class=\"section\">\n <td class=\"bold tb-col-w\">CCD event</td>\n <td>{{orderCCDEvent}}</td>\n </tr>\n </tbody>\n </table>\n </div>\n\n <div class=\"govuk-grid-column-full order-class\">\n <div class=\"column\">\n <table class=\"govuk-table \">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header col-51\" scope=\"col\">Fee</td>\n <td class=\"govuk-table__header\" scope=\"col\">Amount</td>\n <td class=\"govuk-table__header\" scope=\"col\">Total</td>\n <td class=\"govuk-table__header\" scope=\"col\"></td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\" *ngFor=\"let order of orderDetail;\">\n <tr class=\"govuk-table__row\" *ngFor=\"let fee of order.fees; let i = index;\">\n <td class=\"govuk-table__cell col-60 whitespace-inherit\">{{fee.description}}</td>\n <td class=\"govuk-table__cell\">{{fee.volume? fee.volume : '-'}} X {{ fee.calculated_amount/fee.volume| currency:'GBP':'symbol-narrow':'1.2-2' }}</td>\n <td class=\"govuk-table__cell\">{{ fee?.net_amount | currency:'GBP':'symbol-narrow':'1.2-2' }}</td>\n <td class=\"govuk-table__cell alignright\">\n <button [disabled]=\"!chkForAddRemission(fee.code)\" (click)=\"addRemission(fee)\" class=\"govuk-button govuk-button--secondary\"> Add remission</button>\n </td>\n \n </tr>\n </tbody>\n <tbody class=\"govuk-table__body\" *ngFor=\"let order of orderDetail;\">\n <tr class=\"govuk-table__row\" *ngIf=\"order.fees?.length === 0\" >\n <td class=\"govuk-table__cell alignleft\" colspan=\"7\">No fees recorded</td>\n </tr>\n </tbody>\n </table>\n\n </div>\n <div class=\"maxwidth\"> \n <p class=\"totalfees\">Total fees: {{orderFeesTotal | currency:'GBP':'symbol-narrow':'1.2-2' }}</p>\n </div>\n </div>\n <!-- <div class=\"hmcts-banner\" *ngIf=\"isHistoricGroupAvailable\">\n <svg class=\"hmcts-banner__icon\" fill=\"currentColor\" role=\"presentation\" focusable=\"false\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 25 25\" height=\"25\" width=\"25\">\n <path d=\"M13.7,18.5h-2.4v-2.4h2.4V18.5z M12.5,13.7c-0.7,0-1.2-0.5-1.2-1.2V7.7c0-0.7,0.5-1.2,1.2-1.2s1.2,0.5,1.2,1.2v4.8\n C13.7,13.2,13.2,13.7,12.5,13.7z M12.5,0.5c-6.6,0-12,5.4-12,12s5.4,12,12,12s12-5.4,12-12S19.1,0.5,12.5,0.5z\"></path>\n </svg>\n <div class=\"hmcts-banner__message\">\n <span class=\"hmcts-banner__assistive\">information</span>\n * These fees have already been processed offline. Check the notes in CCD for more information.\n </div>\n </div> -->\n\n <!-- remissions -->\n<ng-container *ngFor=\"let order of orderDetail;\" >\n <div class=\"govuk-grid-column-full order-class\" *ngIf=\"order.remissions\"> \n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header col-24 whitespace-inherit\" scope=\"col\">Help with fees or remission code</td>\n <td class=\"govuk-table__header col-27 whitespace-inherit\" scope=\"col\">Reference</td>\n <td class=\"govuk-table__header whitespace-inherit\" scope=\"col\">Fee</td>\n <td class=\"govuk-table__header whitespace-inherit\" scope=\"col\">Amount</td>\n <td class=\"govuk-table__header whitespace-inherit refundBtn\" scope=\"col\"></td>\n </tr>\n </thead>\n <tbody *ngIf=\"order.remissions?.length > 0\" class=\"govuk-table__body\" >\n <tr class=\"govuk-table__row\" *ngFor=\"let remission of order.remissions\">\n <td class=\"govuk-table__cell whitespace-inherit\">{{ remission?.hwf_reference }}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ remission?.remission_reference }}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ remission?.fee_code }}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ remission?.hwf_amount | currency:'GBP':'symbol-narrow':'1.2-2'}}</td>\n <td class=\"govuk-table__cell refundBtn whitespace-inherit\" >\n <button [disabled]=\"!chkIsRefundRemissionBtnEnable()\" (click)=\"addRefundForRemission(order.payments[0],remission,order.fees)\" class=\"govuk-button govuk-button--secondary\"> Add refund</button>\n </td>\n <!-- <td class=\"govuk-table__cell refundBtn whitespace-inherit\" >\n \n </td> -->\n </tr>\n </tbody>\n \n\n </table>\n <div *ngIf=\"order.remissions?.length === 0\">\n <span >No help with fees or remissions.</span>\n </div>\n <div class=\"summarypagealign\">\n <p>Total reductions: {{orderRemissionTotal | currency:'GBP':'symbol-narrow':'1.2-2' }}</p>\n </div>\n <div class=\"summarypagealign\">\n <p class=\"summarypage\">Total fees to pay: {{(orderFeesTotal - orderRemissionTotal) | currency:'GBP':'symbol-narrow':'1.2-2' }}</p>\n </div>\n </div>\n \n \n</ng-container>\n \n \n <!--Payments-->\n <ng-container *ngFor=\"let order of orderDetail;\" >\n <div class=\"govuk-grid-column-full\" *ngIf=\"order.payments\"> \n <h3 class=\"heading-medium\">Payments</h3>\n <table class=\"govuk-table \">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header col-25\" scope=\"col\"></td>\n <td class=\"govuk-table__header\" scope=\"col\">Date created</td>\n <td class=\"govuk-table__header\" scope=\"col\">Amount</td>\n <td class=\"govuk-table__header\" scope=\"col\"></td>\n </tr>\n </thead>\n <tbody *ngIf=\"order.payments?.length > 0\" class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\" *ngFor=\"let payment of order.payments\">\n <td class=\"govuk-table__cell whitespace-inherit\">\n <a href=\"javascript:void(0)\" (click)=\"goToPayementView(payment.paymentGroupReference, payment.reference, payment.method)\">Review</a>\n </td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ payment?.date_created | date:'dd MMM yyyy' }}</td>\n <td class=\"govuk-table__cell whitespace-inherit\">{{ payment?.amount | currency:'GBP':'symbol-narrow':'1.2-2' }}</td>\n <td class=\"govuk-table__cell alignright\">\n <button [disabled] = \"!chkIssueRefundBtnEnable(payment)\" (click)=\"issueRefund(payment)\" class=\"govuk-button govuk-button--secondary\">Issue refund</button>\n </td>\n <!-- <td *ngIf=\"!chkIssueRefundBtnEnable(payment)\" class=\"govuk-table__cell\" style=\"text-align: right;\">\n </td> -->\n </tr>\n </tbody>\n </table>\n \n <div *ngIf=\"order.payments === undefined || order.payments === null\">\n <!-- <h3 class=\"heading-medium mar-17\">Payments</h3> -->\n <span class=\"mar-17\" >No Payments recorded</span>\n </div>\n</div>\n</ng-container>\n <div *ngIf=\"((orderFeesTotal - orderRemissionTotal)- orderTotalPayments) > 0\" >\n <p class=\"totalPay\">Total left to pay: <b>{{((orderFeesTotal - orderRemissionTotal)- orderTotalPayments )| currency:'GBP':'symbol-narrow':'1.2-2' }}</b> </p>\n </div>\n <div *ngIf=\"((orderFeesTotal - orderRemissionTotal)- orderTotalPayments) < 0\" >\n <p class=\"totalPay\">Total left to pay: <b>0</b> </p>\n </div>\n\n \n</ng-container>\n<ccpay-add-remission *ngIf=\"viewStatus === 'addremission' && feeId\"\n[isTurnOff]=\"isTurnOff\"\n[isStrategicFixEnable]=\"isStrategicFixEnable\" \n[isOldPcipalOff]=\"isOldPcipalOff\" \n[viewCompStatus]= \"viewStatus\"\n[isNewPcipalOff]=\"isNewPcipalOff\" \n[fee]=\"feeId\" \n[orderStatus] =\"orderStatus\"\n[paidAmount]= \"orderTotalPayments\"\n[isRefundRemission]=\"isRefundRemission\"\n[caseType]=\"caseType\" \n[paymentGroupRef]=\"orderRef\" \n[isFromServiceRequestPage] = \"true\"\n[payment] = \"payment\"\n[ccdCaseNumber]=\"ccdCaseNumber\"\n[orderRef] = \"orderRef\"\n[orderStatus] = \"orderStatus\"\n[orderCreated] = \"orderCreated\"\n[orderParty] = \"orderParty\"\n[orderCCDEvent] = \"orderCCDEvent\"\n[orderDetail] = \"orderDetail\"\n[LOGGEDINUSERROLES] = \"LOGGEDINUSERROLES\"\n[takepayment] = \"takePayment\"\n[orderFeesTotal] = \"orderFeesTotal\"\n[orderTotalPayments] = \"orderTotalPayments\"\n[orderRemissionTotal] = \"orderRemissionTotal\"\n></ccpay-add-remission>\n\n<ccpay-add-remission *ngIf=\"viewStatus === 'issuerefund' && payment\"\n[isTurnOff]=\"isTurnOff\"\n[isStrategicFixEnable]=\"isStrategicFixEnable\" \n[isOldPcipalOff]=\"isOldPcipalOff\" \n[viewCompStatus]= \"viewStatus\"\n[isNewPcipalOff]=\"isNewPcipalOff\" \n[isFromServiceRequestPage] = \"true\"\n[payment]=\"payment\" \n[orderStatus] =\"orderStatus\"\n[paidAmount]= \"orderTotalPayments\"\n[isRefundRemission]=\"isRefundRemission\"\n[caseType]=\"caseType\" \n[paymentGroupRef]=\"orderRef\" \n[ccdCaseNumber]=\"ccdCaseNumber\"\n[orderRef] = \"orderRef\"\n[orderStatus] = \"orderStatus\"\n[orderCreated] = \"orderCreated\"\n[orderParty] = \"orderParty\"\n[orderCCDEvent] = \"orderCCDEvent\"\n[orderDetail] = \"orderDetail\"\n[LOGGEDINUSERROLES] = \"LOGGEDINUSERROLES\"\n[takepayment] = \"takePayment\"\n[orderFeesTotal] = \"orderFeesTotal\"\n[orderTotalPayments] = \"orderTotalPayments\"\n[orderRemissionTotal] = \"orderRemissionTotal\"></ccpay-add-remission>\n\n<ccpay-add-remission *ngIf=\"viewStatus === 'addrefundforremission' && payment\"\n[isTurnOff]=\"isTurnOff\"\n[isStrategicFixEnable]=\"isStrategicFixEnable\" \n[isOldPcipalOff]=\"isOldPcipalOff\" \n[viewCompStatus]= \"viewStatus\"\n[isNewPcipalOff]=\"isNewPcipalOff\" \n[payment]=\"payment\" \n[orderStatus] =\"orderStatus\"\n[paidAmount]= \"orderTotalPayments\"\n[isRefundRemission]=\"isRefundRemission\"\n[caseType]=\"caseType\" \n[feeamount]=\"remissionFeeAmt\"\n[remission] = \"remissions\"\n[isFromServiceRequestPage]=\"true\" \n[ccdCaseNumber]=\"ccdCaseNumber\"\n[orderRef] = \"orderRef\"\n[orderStatus] = \"orderStatus\"\n[orderCreated] = \"orderCreated\"\n[orderParty] = \"orderParty\"\n[orderCCDEvent] = \"orderCCDEvent\"\n[orderDetail] = \"orderDetail\"\n[LOGGEDINUSERROLES] = \"LOGGEDINUSERROLES\"\n[takepayment] = \"takePayment\"\n[orderFeesTotal] = \"orderFeesTotal\"\n[orderTotalPayments] = \"orderTotalPayments\"\n[orderRemissionTotal] = \"orderRemissionTotal\"></ccpay-add-remission>\n\n<ccpay-payment-view *ngIf=\"viewStatus === 'payment-view'\"\n[LOGGEDINUSERROLES] = \"LOGGEDINUSERROLES\"\n[isTurnOff] = \"isTurnOff\" \n[isTakePayment] = \"takePayment\" \n[caseType] = \"caseType\"\n[orderRef] = \"orderRef\"\n[orderStatus] = \"orderStatus\"\n[orderCreated] = \"orderCreated\"\n[orderParty] = \"orderParty\"\n[orderCCDEvent] = \"orderCCDEvent\"\n[orderDetail] = \"orderDetail\"\n[isOldPcipalOff] = \"isOldPcipalOff\"\n[isNewPcipalOff] = \"isNewPcipalOff\"\n[orderFeesTotal] = \"orderFeesTotal\"\n[orderTotalPayments] = \"orderTotalPayments\"\n[orderRemissionTotal] = \"orderRemissionTotal\">\n</ccpay-payment-view>\n\n<ng-container *ngIf=\"viewStatus === 'feeRemovalConfirmation'\">\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 delete this fee?\n </strong>\n</div>\n<div class=\"govuk-button-grb\">\n <form novalidate>\n <button type=\"submit\" class=\"button govuk-button--secondary\" (click)=\"cancelRemoval()\">\n Cancel\n </button>\n <button type=\"submit\" class=\"button\"\n [disabled]=\"isRemoveBtnDisabled\"\n [ngClass]='isRemoveBtnDisabled ? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"'\n (click)=\"removeFee(feeId)\">\n Remove\n </button>\n </form>\n</div>\n</ng-container>",
|
|
487
|
+
styles: [".govuk-grid-column-full--gr{position:relative;margin-bottom:10px}.disable{text-decoration:none;cursor:default;color:#fff;background-color:grey;pointer-events:none}.govuk-grid__surplus-payments{margin:20px 0}.govuk-grid__surplus-payments>.govuk-grid-column-full{padding:0}.govuk-grid__surplus-payments-col1{margin-bottom:10px}.govuk-inset-text__no-border{border-left:0}.govuk-hidetext{font-size:22px;padding-bottom:10px}.lowercase{text-transform:lowercase}.channel::first-letter{text-transform:uppercase}.govuk-heading-xl{font-size:48px;margin-bottom:1px}.govuk-section-break--visible{border-bottom:2px solid #000}.totalpayments.govuk-table__row{border-bottom:2px solid #000!important}.govuk-inset-text{margin-left:1em}.govuk-button{font-size:19px;margin-bottom:0!important}.govuk-table__cell.govuk-table__cell--col6.govuk-table__custom--col6,.groupamount.govuk-table__header{text-align:right}.feeclass{padding-left:.7em}.align-center{text-align:center}details summary{display:list-item}.case-transaction__color{color:#a71414;font-weight:700;text-align:center}.capitalize::first-letter{text-transform:uppercase}.govuk-inset-text__no-left-margin{margin-left:0;padding-left:0}.whitespace-inherit{white-space:inherit!important}.govuk-section-records-break{margin:10px;border-bottom:2px solid #000!important}.exisitng-fees{margin-left:12px}.add-telephony-payment{margin-top:-2em;margin-left:-2em}.govuk-table__header--custom{text-align:center}.disable-link{cursor:default;pointer-events:none;color:#8e8c8c}.panel-no--style{border-left-style:none}.col-28{width:28%!important}.col-8{width:8%!important}.col-60{width:60%!important}.col-32{width:32%!important}.col-34{width:34%!important}.col-15{width:15%!important;padding-right:0!important;padding-left:0!important}.col-16{width:16%!important}.col-14{width:14%!important}.col-17{width:17%!important}.col-12{width:12%!important}.col-9{width:9%!important}.col-10{width:10%!important}.col-11{width:11%!important}.col-13{width:13%!important}.col-21{width:21%!important}.col-20{width:20%!important}.col-24{width:24%!important}.govuk-table__cell,.govuk-table__header{padding:10px 10px 10px 0}.col-27{width:27%!important}td{white-space:nowrap;overflow:hidden!important}.col-19{width:19%!important;padding-left:0!important}.col-18{width:18%!important;padding-left:0!important;padding-right:0!important}.col-37{width:37%!important}.col-55{width:55%!important}.govuk-table{margin-bottom:1px}.hmcts-banner>.hmcts-banner__message{font-size:19px;line-height:1.25}.summary-table-font{font-size:36px}.order-class{padding-top:3em}.govuk-table__cell:last-child,.govuk-table__header:last-child{text-align:right}.govuk-grid-column-two-thirds{width:64%!important;padding:0!important}.govuk-heading-l{font-size:36px;margin-bottom:10px}.paymentrequest{margin-top:1em}.mar-17{margin-left:17px}.col-61{width:61px!important;padding:0!important}.error{width:960px;margin:auto}.summarypage{padding-left:36em;margin-top:2em}.summarypagealign{width:100%;text-align:right;margin-top:2em}.govuk-inset-text{font-size:2.1875rem}table{table-layout:fixed;width:100%}td,th{word-wrap:break-word}.totalPay{padding-right:14px;float:right;margin-top:2em}.govuk-back-link{font-size:1.5rem!important}.totalfees{float:right;margin-top:2em}.refundBtn{text-align:right;width:18%}.col-25{width:25%!important}.col-51{width:51%!important}.alignright{text-align:right}.alignleft{text-align:left}.alignself{align-self:flex-end}.maxwidth{width:100%}"]
|
|
488
|
+
}] }
|
|
489
|
+
];
|
|
490
|
+
/** @nocollapse */
|
|
491
|
+
ServiceRequestComponent.ctorParameters = function () { return [
|
|
492
|
+
{ type: PaymentLibComponent },
|
|
493
|
+
{ type: PaymentViewService },
|
|
494
|
+
{ type: OrderslistService },
|
|
495
|
+
{ type: Router }
|
|
496
|
+
]; };
|
|
497
|
+
ServiceRequestComponent.propDecorators = {
|
|
498
|
+
LOGGEDINUSERROLES: [{ type: Input, args: ['LOGGEDINUSERROLES',] }],
|
|
499
|
+
viewStatus: [{ type: Input, args: ['viewStatus',] }],
|
|
500
|
+
orderDetail: [{ type: Input, args: ['orderDetail',] }],
|
|
501
|
+
orderRef: [{ type: Input, args: ['orderRef',] }],
|
|
502
|
+
orderStatus: [{ type: Input, args: ['orderStatus',] }],
|
|
503
|
+
orderParty: [{ type: Input, args: ['orderParty',] }],
|
|
504
|
+
orderCreated: [{ type: Input, args: ['orderCreated',] }],
|
|
505
|
+
orderCCDEvent: [{ type: Input, args: ['orderCCDEvent',] }],
|
|
506
|
+
orderFeesTotal: [{ type: Input, args: ['orderFeesTotal',] }],
|
|
507
|
+
orderTotalPayments: [{ type: Input, args: ['orderTotalPayments',] }],
|
|
508
|
+
orderRemissionTotal: [{ type: Input, args: ['orderRemissionTotal',] }],
|
|
509
|
+
takePayment: [{ type: Input, args: ['takePayment',] }],
|
|
510
|
+
ccdCaseNumber: [{ type: Input, args: ['ccdCaseNumber',] }]
|
|
511
|
+
};
|
|
512
|
+
return ServiceRequestComponent;
|
|
513
|
+
}());
|
|
514
|
+
export { ServiceRequestComponent };
|
|
515
|
+
if (false) {
|
|
516
|
+
/** @type {?} */
|
|
517
|
+
ServiceRequestComponent.prototype.LOGGEDINUSERROLES;
|
|
518
|
+
/** @type {?} */
|
|
519
|
+
ServiceRequestComponent.prototype.viewStatus;
|
|
520
|
+
/** @type {?} */
|
|
521
|
+
ServiceRequestComponent.prototype.orderDetail;
|
|
522
|
+
/** @type {?} */
|
|
523
|
+
ServiceRequestComponent.prototype.orderRef;
|
|
524
|
+
/** @type {?} */
|
|
525
|
+
ServiceRequestComponent.prototype.orderStatus;
|
|
526
|
+
/** @type {?} */
|
|
527
|
+
ServiceRequestComponent.prototype.orderParty;
|
|
528
|
+
/** @type {?} */
|
|
529
|
+
ServiceRequestComponent.prototype.orderCreated;
|
|
530
|
+
/** @type {?} */
|
|
531
|
+
ServiceRequestComponent.prototype.orderCCDEvent;
|
|
532
|
+
/** @type {?} */
|
|
533
|
+
ServiceRequestComponent.prototype.orderFeesTotal;
|
|
534
|
+
/** @type {?} */
|
|
535
|
+
ServiceRequestComponent.prototype.orderTotalPayments;
|
|
536
|
+
/** @type {?} */
|
|
537
|
+
ServiceRequestComponent.prototype.orderRemissionTotal;
|
|
538
|
+
/** @type {?} */
|
|
539
|
+
ServiceRequestComponent.prototype.takePayment;
|
|
540
|
+
/** @type {?} */
|
|
541
|
+
ServiceRequestComponent.prototype.ccdCaseNumber;
|
|
542
|
+
/** @type {?} */
|
|
543
|
+
ServiceRequestComponent.prototype.servicerequest;
|
|
544
|
+
/** @type {?} */
|
|
545
|
+
ServiceRequestComponent.prototype.excReference;
|
|
546
|
+
/** @type {?} */
|
|
547
|
+
ServiceRequestComponent.prototype.paymentGroups;
|
|
548
|
+
/** @type {?} */
|
|
549
|
+
ServiceRequestComponent.prototype.payments;
|
|
550
|
+
/** @type {?} */
|
|
551
|
+
ServiceRequestComponent.prototype.nonPayments;
|
|
552
|
+
/** @type {?} */
|
|
553
|
+
ServiceRequestComponent.prototype.allPayments;
|
|
554
|
+
/** @type {?} */
|
|
555
|
+
ServiceRequestComponent.prototype.remissions;
|
|
556
|
+
/** @type {?} */
|
|
557
|
+
ServiceRequestComponent.prototype.fees;
|
|
558
|
+
/** @type {?} */
|
|
559
|
+
ServiceRequestComponent.prototype.errorMessage;
|
|
560
|
+
/** @type {?} */
|
|
561
|
+
ServiceRequestComponent.prototype.totalFees;
|
|
562
|
+
/** @type {?} */
|
|
563
|
+
ServiceRequestComponent.prototype.totalPayments;
|
|
564
|
+
/** @type {?} */
|
|
565
|
+
ServiceRequestComponent.prototype.totalNonOffPayments;
|
|
566
|
+
/** @type {?} */
|
|
567
|
+
ServiceRequestComponent.prototype.totalRemissions;
|
|
568
|
+
/** @type {?} */
|
|
569
|
+
ServiceRequestComponent.prototype.selectedOption;
|
|
570
|
+
/** @type {?} */
|
|
571
|
+
ServiceRequestComponent.prototype.dcnNumber;
|
|
572
|
+
/** @type {?} */
|
|
573
|
+
ServiceRequestComponent.prototype.paymentRef;
|
|
574
|
+
/** @type {?} */
|
|
575
|
+
ServiceRequestComponent.prototype.isTurnOff;
|
|
576
|
+
/** @type {?} */
|
|
577
|
+
ServiceRequestComponent.prototype.isNewPcipalOff;
|
|
578
|
+
/** @type {?} */
|
|
579
|
+
ServiceRequestComponent.prototype.isRefundRemission;
|
|
580
|
+
/** @type {?} */
|
|
581
|
+
ServiceRequestComponent.prototype.isOldPcipalOff;
|
|
582
|
+
/** @type {?} */
|
|
583
|
+
ServiceRequestComponent.prototype.isStrategicFixEnable;
|
|
584
|
+
/** @type {?} */
|
|
585
|
+
ServiceRequestComponent.prototype.isAddFeeBtnEnabled;
|
|
586
|
+
/** @type {?} */
|
|
587
|
+
ServiceRequestComponent.prototype.isExceptionRecord;
|
|
588
|
+
/** @type {?} */
|
|
589
|
+
ServiceRequestComponent.prototype.isUnprocessedRecordSelected;
|
|
590
|
+
/** @type {?} */
|
|
591
|
+
ServiceRequestComponent.prototype.exceptionRecordReference;
|
|
592
|
+
/** @type {?} */
|
|
593
|
+
ServiceRequestComponent.prototype.isAnyFeeGroupAvilable;
|
|
594
|
+
/** @type {?} */
|
|
595
|
+
ServiceRequestComponent.prototype.isHistoricGroupAvailable;
|
|
596
|
+
/** @type {?} */
|
|
597
|
+
ServiceRequestComponent.prototype.isBulkScanEnable;
|
|
598
|
+
/** @type {?} */
|
|
599
|
+
ServiceRequestComponent.prototype.isRemissionsMatch;
|
|
600
|
+
/** @type {?} */
|
|
601
|
+
ServiceRequestComponent.prototype.isRemoveBtnDisabled;
|
|
602
|
+
/** @type {?} */
|
|
603
|
+
ServiceRequestComponent.prototype.feeId;
|
|
604
|
+
/** @type {?} */
|
|
605
|
+
ServiceRequestComponent.prototype.clAmountDue;
|
|
606
|
+
/** @type {?} */
|
|
607
|
+
ServiceRequestComponent.prototype.unprocessedRecordCount;
|
|
608
|
+
/** @type {?} */
|
|
609
|
+
ServiceRequestComponent.prototype.isFeeRecordsExist;
|
|
610
|
+
/** @type {?} */
|
|
611
|
+
ServiceRequestComponent.prototype.isGrpOutstandingAmtPositive;
|
|
612
|
+
/** @type {?} */
|
|
613
|
+
ServiceRequestComponent.prototype.totalRefundAmount;
|
|
614
|
+
/** @type {?} */
|
|
615
|
+
ServiceRequestComponent.prototype.caseType;
|
|
616
|
+
/** @type {?} */
|
|
617
|
+
ServiceRequestComponent.prototype.payment;
|
|
618
|
+
/** @type {?} */
|
|
619
|
+
ServiceRequestComponent.prototype.paymentGroup;
|
|
620
|
+
/** @type {?} */
|
|
621
|
+
ServiceRequestComponent.prototype.paymentView;
|
|
622
|
+
/** @type {?} */
|
|
623
|
+
ServiceRequestComponent.prototype.isAddRemissionEnable;
|
|
624
|
+
/** @type {?} */
|
|
625
|
+
ServiceRequestComponent.prototype.orderRemissionDetails;
|
|
626
|
+
/** @type {?} */
|
|
627
|
+
ServiceRequestComponent.prototype.orderLevelFees;
|
|
628
|
+
/** @type {?} */
|
|
629
|
+
ServiceRequestComponent.prototype.cpoDetails;
|
|
630
|
+
/** @type {?} */
|
|
631
|
+
ServiceRequestComponent.prototype.serviceRequestValue;
|
|
632
|
+
/** @type {?} */
|
|
633
|
+
ServiceRequestComponent.prototype.orderAddBtnEnable;
|
|
634
|
+
/** @type {?} */
|
|
635
|
+
ServiceRequestComponent.prototype.isCPODown;
|
|
636
|
+
/** @type {?} */
|
|
637
|
+
ServiceRequestComponent.prototype.test;
|
|
638
|
+
/** @type {?} */
|
|
639
|
+
ServiceRequestComponent.prototype.isPBA;
|
|
640
|
+
/** @type {?} */
|
|
641
|
+
ServiceRequestComponent.prototype.isIssueRefunfBtnEnable;
|
|
642
|
+
/** @type {?} */
|
|
643
|
+
ServiceRequestComponent.prototype.isAddRemissionBtnEnabled;
|
|
644
|
+
/** @type {?} */
|
|
645
|
+
ServiceRequestComponent.prototype.isRefundRemissionBtnEnable;
|
|
646
|
+
/** @type {?} */
|
|
647
|
+
ServiceRequestComponent.prototype.allowedRolesToAccessRefund;
|
|
648
|
+
/** @type {?} */
|
|
649
|
+
ServiceRequestComponent.prototype.isFromServiceRequestPage;
|
|
650
|
+
/** @type {?} */
|
|
651
|
+
ServiceRequestComponent.prototype.navigationpage;
|
|
652
|
+
/** @type {?} */
|
|
653
|
+
ServiceRequestComponent.prototype.remissionFeeAmt;
|
|
654
|
+
/** @type {?} */
|
|
655
|
+
ServiceRequestComponent.prototype.check4AllowedRoles2AccessRefund;
|
|
656
|
+
/** @type {?} */
|
|
657
|
+
ServiceRequestComponent.prototype.allowFurtherAccessAfter4Days;
|
|
658
|
+
/**
|
|
659
|
+
* @type {?}
|
|
660
|
+
* @private
|
|
661
|
+
*/
|
|
662
|
+
ServiceRequestComponent.prototype.paymentLibComponent;
|
|
663
|
+
/**
|
|
664
|
+
* @type {?}
|
|
665
|
+
* @private
|
|
666
|
+
*/
|
|
667
|
+
ServiceRequestComponent.prototype.paymentViewService;
|
|
668
|
+
/**
|
|
669
|
+
* @type {?}
|
|
670
|
+
* @private
|
|
671
|
+
*/
|
|
672
|
+
ServiceRequestComponent.prototype.OrderslistService;
|
|
673
|
+
/**
|
|
674
|
+
* @type {?}
|
|
675
|
+
* @private
|
|
676
|
+
*/
|
|
677
|
+
ServiceRequestComponent.prototype.router;
|
|
678
|
+
}
|
|
679
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1yZXF1ZXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BobWN0cy9jY3BheS13ZWItY29tcG9uZW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvc2VydmljZS1yZXF1ZXN0L3NlcnZpY2UtcmVxdWVzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQU9sRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDdEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFdEU7SUFrRkUsaUNBQ1UsbUJBQXdDLEVBQ3hDLGtCQUFzQyxFQUN0QyxpQkFBb0MsRUFDcEMsTUFBYztRQUp4QixpQkFJNkI7UUFIbkIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQS9EeEIsa0JBQWEsR0FBVSxFQUFFLENBQUM7UUFDMUIsYUFBUSxHQUFlLEVBQUUsQ0FBQztRQUMxQixnQkFBVyxHQUFlLEVBQUUsQ0FBQztRQUM3QixnQkFBVyxHQUFlLEVBQUUsQ0FBQztRQUM3QixlQUFVLEdBQWlCLEVBQUUsQ0FBQztRQUM5QixTQUFJLEdBQVcsRUFBRSxDQUFDO1FBV2xCLHNCQUFpQixHQUFZLElBQUksQ0FBQztRQUdsQyx1QkFBa0IsR0FBWSxJQUFJLENBQUM7UUFDbkMsc0JBQWlCLEdBQVksS0FBSyxDQUFDO1FBQ25DLGdDQUEyQixHQUFZLEtBQUssQ0FBQztR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O0lBQzFDLG1EQUFpQjs7SUFDakIsb0RBQTJCOztJQUMzQixzREFBcUM7O0lBQ3JDLHdDQUFZOztJQUNaLDhDQUF3Qjs7SUFDeEIseURBQStCOztJQUMvQixvREFBbUM7O0lBQ25DLDhEQUE2Qzs7SUFDN0Msb0RBQTBCOztJQUMxQiwyQ0FBaUI7O0lBRWpCLDBDQUFrQjs7SUFDbEIsK0NBQTRCOztJQUM1Qiw4Q0FBMEI7O0lBRzFCLHVEQUFzQzs7SUFDdEMsd0RBQWtDOztJQUNsQyxpREFBMEM7O0lBQzFDLDZDQUF1Qjs7SUFDdkIsc0RBQTRCOztJQUM1QixvREFBMkI7O0lBRTNCLDRDQUFtQjs7SUFDbkIsdUNBQWM7O0lBQ2Qsd0NBQXVCOztJQUN2Qix5REFBd0M7O0lBQ3hDLDJEQUEwQzs7SUFDMUMsNkRBQTRDOztJQUM1Qyw2REFBNkU7O0lBQzdFLDJEQUFrQzs7SUFDbEMsaURBQXVCOztJQUN2QixrREFBd0I7O0lBMEx4QixrRUFJQzs7SUFFRCwrREFNQzs7Ozs7SUFuTUMsc0RBQWdEOzs7OztJQUNoRCxxREFBOEM7Ozs7O0lBQzlDLG9EQUE0Qzs7Ozs7SUFDNUMseUNBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVEhJU19FWFBSIH0gZnJvbSAnQGFuZ3VsYXIvY29tcGlsZXIvc3JjL291dHB1dC9vdXRwdXRfYXN0JztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGF5bWVudExpYkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3BheW1lbnQtbGliLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJUGF5bWVudCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVBheW1lbnQnO1xuaW1wb3J0IHsgSVJlbWlzc2lvbiB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVJlbWlzc2lvbic7XG5pbXBvcnQgeyBJUGF5bWVudFZpZXcgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lQYXltZW50Vmlldyc7XG5pbXBvcnQgeyBJT3JkZXJSZWZlcmVuY2VGZWUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lPcmRlclJlZmVyZW5jZUZlZSc7XG5pbXBvcnQgeyBJRmVlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JRmVlJztcbmltcG9ydCB7IElQYXltZW50R3JvdXAgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lQYXltZW50R3JvdXAnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFBheW1lbnRWaWV3U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3BheW1lbnQtdmlldy9wYXltZW50LXZpZXcuc2VydmljZSc7XG5pbXBvcnQgeyBPcmRlcnNsaXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL29yZGVyc2xpc3Quc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjcGF5LXNlcnZpY2UtcmVxdWVzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZXJ2aWNlLXJlcXVlc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZXJ2aWNlLXJlcXVlc3QuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNlcnZpY2VSZXF1ZXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCdMT0dHRURJTlVTRVJST0xFUycpIExPR0dFRElOVVNFUlJPTEVTOiBzdHJpbmdbXTtcbiAgQElucHV0KCd2aWV3U3RhdHVzJykgdmlld1N0YXR1czogc3RyaW5nO1xuICBASW5wdXQoJ29yZGVyRGV0YWlsJykgb3JkZXJEZXRhaWw6IGFueVtdO1xuICBASW5wdXQoJ29yZGVyUmVmJykgb3JkZXJSZWY6IHN0cmluZztcbiAgQElucHV0KCdvcmRlclN0YXR1cycpIG9yZGVyU3RhdHVzOiBzdHJpbmc7XG4gIEBJbnB1dCgnb3JkZXJQYXJ0eScpIG9yZGVyUGFydHk6IHN0cmluZztcbiAgQElucHV0KCdvcmRlckNyZWF0ZWQnKSBvcmRlckNyZWF0ZWQ6IERhdGU7XG4gIEBJbnB1dCgnb3JkZXJDQ0RFdmVudCcpIG9yZGVyQ0NERXZlbnQ6IHN0cmluZztcbiAgQElucHV0KCdvcmRlckZlZXNUb3RhbCcpIG9yZGVyRmVlc1RvdGFsOiBudW1iZXI7XG4gIEBJbnB1dCgnb3JkZXJUb3RhbFBheW1lbnRzJykgb3JkZXJUb3RhbFBheW1lbnRzOiBudW1iZXI7XG4gIEBJbnB1dCgnb3JkZXJSZW1pc3Npb25Ub3RhbCcpIG9yZGVyUmVtaXNzaW9uVG90YWw6IG51bWJlcjtcbiAgQElucHV0KCd0YWtlUGF5bWVudCcpIHRha2VQYXltZW50OiBib29sZWFuO1xuICBASW5wdXQoJ2NjZENhc2VOdW1iZXInKSBjY2RDYXNlTnVtYmVyOiBib29sZWFuO1xuXG4gIHNlcnZpY2VyZXF1ZXN0OiBzdHJpbmc7XG4gIC8vIGNjZENhc2VOdW1iZXI6IHN0cmluZztcbiAgZXhjUmVmZXJlbmNlOiBzdHJpbmc7XG4gIHBheW1lbnRHcm91cHM6IGFueVtdID0gW107XG4gIHBheW1lbnRzOiBJUGF5bWVudFtdID0gW107XG4gIG5vblBheW1lbnRzOiBJUGF5bWVudFtdID0gW107XG4gIGFsbFBheW1lbnRzOiBJUGF5bWVudFtdID0gW107XG4gIHJlbWlzc2lvbnM6IElSZW1pc3Npb25bXSA9IFtdO1xuICBmZWVzOiBJRmVlW10gPSBbXTtcbiAgZXJyb3JNZXNzYWdlOiBzdHJpbmc7XG4gIHRvdGFsRmVlczogbnVtYmVyO1xuICB0b3RhbFBheW1lbnRzOiBudW1iZXI7XG4gIHRvdGFsTm9uT2ZmUGF5bWVudHM6IG51bWJlcjtcbiAgdG90YWxSZW1pc3Npb25zOiBudW1iZXI7XG4gIHNlbGVjdGVkT3B0aW9uOiBzdHJpbmc7XG4gIGRjbk51bWJlcjogc3RyaW5nO1xuICBwYXltZW50UmVmOiBzdHJpbmc7XG4gIGlzVHVybk9mZjogYm9vbGVhbjtcbiAgaXNOZXdQY2lwYWxPZmY6IGJvb2xlYW47XG4gIGlzUmVmdW5kUmVtaXNzaW9uOiBib29sZWFuID0gdHJ1ZTtcbiAgaXNPbGRQY2lwYWxPZmY6IGJvb2xlYW47XG4gIGlzU3RyYXRlZ2ljRml4RW5hYmxlOiBib29sZWFuO1xuICBpc0FkZEZlZUJ0bkVuYWJsZWQ6IGJvb2xlYW4gPSB0cnVlO1xuICBpc0V4Y2VwdGlvblJlY29yZDogYm9vbGVhbiA9IGZhbHNlO1xuICBpc1VucHJvY2Vzc2VkUmVjb3JkU2VsZWN0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgZXhjZXB0aW9uUmVjb3JkUmVmZXJlbmNlOiBzdHJpbmc7XG4gIGlzQW55RmVlR3JvdXBBdmlsYWJsZTogYm9vbGVhbiA9IHRydWU7XG4gIGlzSGlzdG9yaWNHcm91cEF2YWlsYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuICBpc0J1bGtTY2FuRW5hYmxlO1xuICBpc1JlbWlzc2lvbnNNYXRjaDogYm9vbGVhbjtcbiAgaXNSZW1vdmVCdG5EaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBmZWVJZDogSUZlZTtcbiAgY2xBbW91bnREdWU6IG51bWJlciA9IDA7XG4gIHVucHJvY2Vzc2VkUmVjb3JkQ291bnQ6IG51bWJlcjtcbiAgaXNGZWVSZWNvcmRzRXhpc3Q6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNHcnBPdXRzdGFuZGluZ0FtdFBvc2l0aXZlOiBib29sZWFuID0gZmFsc2U7XG4gIHRvdGFsUmVmdW5kQW1vdW50OiBOdW1iZXI7XG4gIGNhc2VUeXBlOiBTdHJpbmc7XG4gIC8vIGxzQ2NkTnVtYmVyOiBhbnkgPSBscy5nZXQ8YW55PignY2NkTnVtYmVyJyk7XG4gIHBheW1lbnQ6IElQYXltZW50O1xuICBwYXltZW50R3JvdXA6IElQYXltZW50R3JvdXA7XG4gIHBheW1lbnRWaWV3OiBJUGF5bWVudFZpZXc7XG5cblxuICBpc0FkZFJlbWlzc2lvbkVuYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuICBvcmRlclJlbWlzc2lvbkRldGFpbHM6IGFueVtdID0gW107XG4gIG9yZGVyTGV2ZWxGZWVzOiBJT3JkZXJSZWZlcmVuY2VGZWVbXSA9IFtdO1xuICBjcG9EZXRhaWxzOiBhbnkgPSBudWxsO1xuICBzZXJ2aWNlUmVxdWVzdFZhbHVlOiBzdHJpbmc7XG4gIG9yZGVyQWRkQnRuRW5hYmxlOiBib29sZWFuO1xuXG4gIGlzQ1BPRG93bjogYm9vbGVhbjtcbiAgdGVzdDogYm9vbGVhbjtcbiAgaXNQQkE6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNJc3N1ZVJlZnVuZkJ0bkVuYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuICBpc0FkZFJlbWlzc2lvbkJ0bkVuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNSZWZ1bmRSZW1pc3Npb25CdG5FbmFibGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgYWxsb3dlZFJvbGVzVG9BY2Nlc3NSZWZ1bmQgPSBbJ3BheW1lbnRzLXJlZnVuZC1hcHByb3ZlcicsICdwYXltZW50cy1yZWZ1bmQnXTtcbiAgaXNGcm9tU2VydmljZVJlcXVlc3RQYWdlOiBib29sZWFuO1xuICBuYXZpZ2F0aW9ucGFnZTogc3RyaW5nO1xuICByZW1pc3Npb25GZWVBbXQ6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHBheW1lbnRMaWJDb21wb25lbnQ6IFBheW1lbnRMaWJDb21wb25lbnQsXG4gICAgcHJpdmF0ZSBwYXltZW50Vmlld1NlcnZpY2U6IFBheW1lbnRWaWV3U2VydmljZSxcbiAgICBwcml2YXRlIE9yZGVyc2xpc3RTZXJ2aWNlOiBPcmRlcnNsaXN0U2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy52aWV3U3RhdHVzID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMudmlld1N0YXR1cyA9IHRoaXMucGF5bWVudExpYkNvbXBvbmVudC52aWV3TmFtZTtcbiAgICB9XG4gICAgaWYodGhpcy5wYXltZW50TGliQ29tcG9uZW50LmlzRnJvbVNlcnZpY2VSZXF1ZXN0UGFnZSAmJiB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuaXNGcm9tUGF5bWVudERldGFpbFBhZ2UpIHtcbiAgICAgIGlmKHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5pc0Zyb21QYXltZW50RGV0YWlsUGFnZSAmJiB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuaXNGcm9tU2VydmljZVJlcXVlc3RQYWdlKSB7XG4gICAgICB0aGlzLk9yZGVyc2xpc3RTZXJ2aWNlLmdldG9yZGVyUmVmcygpLnN1YnNjcmliZSgoZGF0YSkgPT4gdGhpcy5vcmRlclJlZiA9IGRhdGEpO1xuICAgICAgdGhpcy5PcmRlcnNsaXN0U2VydmljZS5nZXRvcmRlckNDREV2ZW50cygpLnN1YnNjcmliZSgoZGF0YSkgPT4gdGhpcy5vcmRlckNDREV2ZW50ID0gZGF0YSk7XG4gICAgICB0aGlzLk9yZGVyc2xpc3RTZXJ2aWNlLmdldG9yZGVyQ3JlYXRlZHMoKS5zdWJzY3JpYmUoKGRhdGEpID0+IHRoaXMub3JkZXJDcmVhdGVkID0gZGF0YSk7XG4gICAgICB0aGlzLk9yZGVyc2xpc3RTZXJ2aWNlLmdldG9yZGVyRGV0YWlsKCkuc3Vic2NyaWJlKChkYXRhKSA9PiB0aGlzLm9yZGVyRGV0YWlsID0gZGF0YSk7XG4gICAgICB0aGlzLk9yZGVyc2xpc3RTZXJ2aWNlLmdldG9yZGVyUGFydHlzKCkuc3Vic2NyaWJlKChkYXRhKSA9PiB0aGlzLm9yZGVyUGFydHkgPSBkYXRhKTtcbiAgICAgIHRoaXMuT3JkZXJzbGlzdFNlcnZpY2UuZ2V0b3JkZXJSZW1pc3Npb25Ub3RhbHMoKS5zdWJzY3JpYmUoKGRhdGEpID0+IHRoaXMub3JkZXJSZW1pc3Npb25Ub3RhbCA9IGRhdGEpO1xuICAgICAgdGhpcy5PcmRlcnNsaXN0U2VydmljZS5nZXRvcmRlckZlZXNUb3RhbHMoKS5zdWJzY3JpYmUoKGRhdGEpID0+IHRoaXMub3JkZXJGZWVzVG90YWwgPSBkYXRhKTtcbiAgICAgIHRoaXMuT3JkZXJzbGlzdFNlcnZpY2UuZ2V0b29yZGVyVG90YWxQYXltZW50c3MoKS5zdWJzY3JpYmUoKGRhdGEpID0+IHRoaXMub3JkZXJUb3RhbFBheW1lbnRzID0gZGF0YSk7XG4gICAgfVxuICAgIH1cbiAgICAvLyBpZiAodGhpcy50YWtlUGF5bWVudCkge1xuICAgIC8vICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LlRBS0VQQVlNRU5UID0gdGhpcy50YWtlUGF5bWVudDtcbiAgICAvLyB9XG4gIH1cblxuICBnb1RvQ2FzZVRyYW5zYXRpb25QYWdlKGV2ZW50OiBhbnkpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMuT3JkZXJzbGlzdFNlcnZpY2Uuc2V0bmF2aWdhdGlvblBhZ2UoJ3NlcnZpY2VyZXF1ZXN0cGFnZScpO1xuICAgIHRoaXMuT3JkZXJzbGlzdFNlcnZpY2Uuc2V0aXNGcm9tU2VydmljZVJlcXVlc3RQYWdlKGZhbHNlKTtcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQudmlld05hbWUgPSAnY2FzZS10cmFuc2FjdGlvbnMnO1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5JU0JTRU5BQkxFID0gdHJ1ZTtcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuaXNUYWtlUGF5bWVudCA9IHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5UQUtFUEFZTUVOVDtcbiAgICBpZiAodGhpcy50YWtlUGF5bWVudCkge1xuICAgICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LmlzVGFrZVBheW1lbnQgPSB0aGlzLnRha2VQYXltZW50O1xuICAgIH1cbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuU0VSVklDRVJFUVVFU1QgPSBcInRydWVcIjtcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuaXNGcm9tU2VydmljZVJlcXVlc3RQYWdlID0gZmFsc2U7XG4gICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LmlzRnJvbVJlZnVuZFN0YXR1c1BhZ2UgPSBmYWxzZTtcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQudmlld05hbWUgPSAnY2FzZS10cmFuc2FjdGlvbnMnO1xuICAgIHRoaXMucmVzZXRPcmRlckRhdGEoKTtcbiAgICAvLyB0aGlzLk9yZGVyc2xpc3RTZXJ2aWNlLnNldGlzRnJvbVNlcnZpY2VSZXF1ZXN0UGFnZShmYWxzZSk7XG4gICAgLy8gdGhpcy5PcmRlcnNsaXN0U2VydmljZS5zZXRuYXZpZ2F0aW9uUGFnZSgnc2VydmljZXJlcXVlc3RwYWdlJyk7XG4gICAgLy8gIHRoaXMuT3JkZXJzbGlzdFNlcnZpY2Uuc2V0cGF5bWVudFBhZ2VWaWV3KHsgbWV0aG9kOiB0aGlzLnBheW1lbnQubWV0aG9kLCBwYXltZW50X2dyb3VwX3JlZmVyZW5jZTogdGhpcy5wYXltZW50R3JvdXBSZWYsIHJlZmVyZW5jZTogdGhpcy5wYXltZW50LnJlZmVyZW5jZSB9KTtcbiAgICAvLyB0aGlzLk9yZGVyc2xpc3RTZXJ2aWNlLnNldG5hdmlnYXRpb25QYWdlKCdzZXJ2aWNlcmVxdWVzdHBhZ2UnKTtcbiAgICAvLyBsZXQgcGFydFVybCA9IHRoaXMuYnNQYXltZW50RGNuTnVtYmVyID8gYCZkY249JHt0aGlzLmJzUGF5bWVudERjbk51bWJlcn1gIDogJyc7XG4gICBsZXQgIHBhcnRVcmwgPSB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuSVNCU0VOQUJMRSA/ICcmaXNCdWxrU2Nhbm5pbmc9RW5hYmxlJyA6ICcmaXNCdWxrU2Nhbm5pbmc9RGlzYWJsZSc7XG4gICAgcGFydFVybCArPSB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuSVNUVVJOT0ZGID8gJyZpc1R1cm5PZmY9RW5hYmxlJyA6ICcmaXNUdXJuT2ZmPURpc2FibGUnO1xuICAgIHBhcnRVcmwgKz0gdGhpcy5wYXltZW50TGliQ29tcG9uZW50LlRBS0VQQVlNRU5UID8gJyZ0YWtlUGF5bWVudD10cnVlJyA6ICcmdGFrZVBheW1lbnQ9ZmFsc2UnO1xuICAgIHBhcnRVcmwgKz0gdGhpcy5pc1N0cmF0ZWdpY0ZpeEVuYWJsZSA/ICcmaXNTdEZpeEVuYWJsZT1FbmFibGUnIDogJyZpc1N0Rml4RW5hYmxlPURpc2FibGUnO1xuICAgIHBhcnRVcmwgKz0gYCZjYXNlVHlwZT0ke3RoaXMucGF5bWVudExpYkNvbXBvbmVudC5DQVNFVFlQRX1gO1xuICAgIHBhcnRVcmwgKz0gdGhpcy5wYXltZW50TGliQ29tcG9uZW50LklTTkVXUENJUEFMT0ZGID8gJyZpc05ld1BjaXBhbE9mZj1FbmFibGUnIDogJyZpc05ld1BjaXBhbE9mZj1EaXNhYmxlJztcbiAgICBwYXJ0VXJsICs9IHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5JU09MRFBDSVBBTE9GRiA/ICcmaXNPbGRQY2lwYWxPZmY9RW5hYmxlJyA6ICcmaXNPbGRQY2lwYWxPZmY9RGlzYWJsZSc7XG4gICAgY29uc3QgdXJsID0gYC9wYXltZW50LWhpc3RvcnkvJHt0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuQ0NEX0NBU0VfTlVNQkVSfT92aWV3PWNhc2UtdHJhbnNhY3Rpb25zJnNlbGVjdGVkT3B0aW9uPSR7dGhpcy5wYXltZW50TGliQ29tcG9uZW50LlNFTEVDVEVEX09QVElPTn0ke3BhcnRVcmx9YDtcbiAgICAgIHRoaXMucm91dGVyLnJvdXRlUmV1c2VTdHJhdGVneS5zaG91bGRSZXVzZVJvdXRlID0gKCkgPT4gZmFsc2U7XG4gICAgICB0aGlzLnJvdXRlci5vblNhbWVVcmxOYXZpZ2F0aW9uID0gJ3JlbG9hZCc7XG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHVybCk7XG4gIH1cblxuICBjaGtGb3JBZGRSZW1pc3Npb24oZmVlQ29kZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuY2hrRm9yUEJBUGF5bWVudCgpICYmIHRoaXMuY2hlY2s0QWxsb3dlZFJvbGVzMkFjY2Vzc1JlZnVuZCgpKSB7XG4gICAgICBpZiAodGhpcy5vcmRlckRldGFpbFswXVsncmVtaXNzaW9ucyddLmxlbmd0aCA+IDApIHtcbiAgICAgICAgZm9yIChjb25zdCByZW1pc3Npb24gb2YgdGhpcy5vcmRlckRldGFpbFswXVsncmVtaXNzaW9ucyddKSB7XG4gICAgICAgICAgaWYgKHJlbWlzc2lvbi5mZWVfY29kZSA9PT0gZmVlQ29kZSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBjaGtGb3JQQkFQYXltZW50KCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLm9yZGVyRGV0YWlsICE9PSBudWxsICYmICB0aGlzLm9yZGVyRGV0YWlsICE9PSB1bmRlZmluZWQpIHtcbiAgICB0aGlzLm9yZGVyRGV0YWlsLmZvckVhY2gob3JkZXJEZXRhaWwgPT4ge1xuICAgICAgaWYgKG9yZGVyRGV0YWlsLnBheW1lbnRzKSB7XG4gICAgICAgIG9yZGVyRGV0YWlsLnBheW1lbnRzLmZvckVhY2gocGF5bWVudCA9PiB7XG4gICAgICAgICAgaWYgKHBheW1lbnQubWV0aG9kLnRvTG9jYWxlTG93ZXJDYXNlKCkgPT09ICdwYXltZW50IGJ5IGFjY291bnQnICYmIHRoaXMuYWxsb3dGdXJ0aGVyQWNjZXNzQWZ0ZXI0RGF5cyhwYXltZW50KSkge1xuICAgICAgICAgICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LnBheW1lbnRSZWZlcmVuY2UgPSBwYXltZW50LnJlZmVyZW5jZTtcbiAgICAgICAgICAgIHRoaXMuaXNQQkEgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgaWYgKHRoaXMuaXNQQkEpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfTtcbiAgfVxuICB9XG5cbiAgYWRkUmVtaXNzaW9uKGZlZTogSUZlZSkge1xuICAgaWYodGhpcy5jaGtGb3JBZGRSZW1pc3Npb24oZmVlLmNvZGUpKSB7XG4gICAgdGhpcy5mZWVJZCA9IGZlZTtcbiAgICB0aGlzLnZpZXdTdGF0dXMgPSAnYWRkcmVtaXNzaW9uJztcbiAgICB0aGlzLnBheW1lbnQgPSB0aGlzLm9yZGVyRGV0YWlsWzBdLnBheW1lbnRzWzBdO1xuICAgIHRoaXMucGF5bWVudFZpZXdTZXJ2aWNlLmdldEFwcG9ydGlvblBheW1lbnREZXRhaWxzKHRoaXMub3JkZXJEZXRhaWxbMF0ucGF5bWVudHNbMF0ucmVmZXJlbmNlKS5zdWJzY3JpYmUoXG4gICAgICBwYXltZW50R3JvdXAgPT4ge1xuICAgICAgICB0aGlzLnBheW1lbnRHcm91cCA9IHBheW1lbnRHcm91cDtcblxuICAgICAgICB0aGlzLnBheW1lbnRHcm91cC5wYXltZW50cyA9IHRoaXMucGF5bWVudEdyb3VwLnBheW1lbnRzLmZpbHRlclxuICAgICAgICAgIChwYXltZW50R3JvdXBPYmogPT4gcGF5bWVudEdyb3VwT2JqWydyZWZlcmVuY2UnXS5pbmNsdWRlcyh0aGlzLnBheW1lbnRMaWJDb21wb25lbnQucGF5bWVudFJlZmVyZW5jZSkpO1xuICAgICAgICB0aGlzLnBheW1lbnQgPSB0aGlzLnBheW1lbnRHcm91cC5wYXltZW50c1swXTtcbiAgICAgICAgLy8gY29uc3QgcGF5bWVudEFsbG9jYXRpb24gPSB0aGlzLnBheW1lbnRHcm91cC5wYXltZW50c1swXS5wYXltZW50X2FsbG9jYXRpb247XG4gICAgICAgIC8vIHRoaXMuaXNTdGF0dXNBbGxvY2F0ZWQgPSBwYXltZW50QWxsb2NhdGlvbi5sZW5ndGggPiAwICYmIHBheW1lbnRBbGxvY2F0aW9uWzBdLmFsbG9jYXRpb25fc3RhdHVzID09PSAnQWxsb2NhdGVkJyB8fCBwYXltZW50QWxsb2NhdGlvbi5sZW5ndGggPT09IDA7XG4gICAgICB9LFxuICAgICAgKGVycm9yOiBhbnkpID0+IHRoaXMuZXJyb3JNZXNzYWdlID0gZXJyb3IucmVwbGFjZSgvXCIvZyxcIlwiKVxuICAgICk7XG4gICB9XG4gIH1cblxuICBhZGRSZWZ1bmRGb3JSZW1pc3Npb24ocGF5bWVudDogSVBheW1lbnQsIHJlbWlzc2lvbjogSVJlbWlzc2lvbltdLGZlZXM6YW55KSB7XG4gICAgdGhpcy52aWV3U3RhdHVzID0gJ2FkZHJlZnVuZGZvcnJlbWlzc2lvbic7XG4gXG4gICAgdGhpcy5wYXltZW50ID0gcGF5bWVudDtcbiAgICB0aGlzLnBheW1lbnRWaWV3U2VydmljZS5nZXRBcHBvcnRpb25QYXltZW50RGV0YWlscyh0aGlzLnBheW1lbnQucmVmZXJlbmNlKS5zdWJzY3JpYmUoXG4gICAgICBwYXltZW50R3JvdXAgPT4ge1xuICAgICAgICB0aGlzLnBheW1lbnRHcm91cCA9IHBheW1lbnRHcm91cDtcblxuICAgICAgICB0aGlzLnBheW1lbnRHcm91cC5wYXltZW50cyA9IHRoaXMucGF5bWVudEdyb3VwLnBheW1lbnRzLmZpbHRlclxuICAgICAgICAgIChwYXltZW50R3JvdXBPYmogPT4gcGF5bWVudEdyb3VwT2JqWydyZWZlcmVuY2UnXS5pbmNsdWRlcyh0aGlzLnBheW1lbnQucmVmZXJlbmNlKSk7XG4gICAgICAgIHRoaXMucGF5bWVudCA9IHRoaXMucGF5bWVudEdyb3VwLnBheW1lbnRzWzBdO1xuICAgICAgICB0aGlzLnJlbWlzc2lvbnMgPSByZW1pc3Npb247XG4gICAgICAgIHRoaXMucmVtaXNzaW9uRmVlQW10ID0gZmVlcy5maWx0ZXIoZGF0YT0+ZGF0YS5jb2RlID09PSB0aGlzLnJlbWlzc2lvbnNbJ2ZlZV9jb2RlJ10pWzBdLm5ldF9hbW91bnQ7XG4gICAgICAgIC8vIGNvbnN0IHBheW1lbnRBbGxvY2F0aW9uID0gdGhpcy5wYXltZW50R3JvdXAucGF5bWVudHNbMF0ucGF5bWVudF9hbGxvY2F0aW9uO1xuICAgICAgICAvLyB0aGlzLmlzU3RhdHVzQWxsb2NhdGVkID0gcGF5bWVudEFsbG9jYXRpb24ubGVuZ3RoID4gMCAmJiBwYXltZW50QWxsb2NhdGlvblswXS5hbGxvY2F0aW9uX3N0YXR1cyA9PT0gJ0FsbG9jYXRlZCcgfHwgcGF5bWVudEFsbG9jYXRpb24ubGVuZ3RoID09PSAwO1xuICAgICAgfSxcbiAgICAgIChlcnJvcjogYW55KSA9PiB0aGlzLmVycm9yTWVzc2FnZSA9IGVycm9yXG4gICAgKTtcbiAgfVxuICBjYW5jZWxSZW1vdmFsKCkge1xuICAgIHRoaXMudmlld1N0YXR1cyA9ICdtYWluJztcbiAgfVxuXG4gIHJlbW92ZUZlZShmZWU6IGFueSkge1xuICAgIHRoaXMuaXNSZW1vdmVCdG5EaXNhYmxlZCA9IHRydWU7XG4gICAgdGhpcy5wYXltZW50Vmlld1NlcnZpY2UuZGVsZXRlRmVlRnJvbVBheW1lbnRHcm91cChmZWUpLnN1YnNjcmliZShcbiAgICAgIChzdWNjZXNzOiBhbnkpID0+IHtcbiAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xuICAgICAgfSxcbiAgICAgIChlcnJvcjogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gZXJyb3I7XG4gICAgICAgIHRoaXMuaXNSZW1vdmVCdG5EaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuXG4gIGNoa0lzc3VlUmVmdW5kQnRuRW5hYmxlKHBheW1lbnQ6IElQYXltZW50KTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuY2hlY2s0QWxsb3dlZFJvbGVzMkFjY2Vzc1JlZnVuZCgpICYmIHRoaXMuYWxsb3dGdXJ0aGVyQWNjZXNzQWZ0ZXI0RGF5cyhwYXltZW50KSAmJlxuICAgICAgcGF5bWVudC5tZXRob2QgPT09ICdwYXltZW50IGJ5IGFjY291bnQnICYmIHBheW1lbnQuc3RhdHVzLnRvTG9jYWxlTG93ZXJDYXNlKCkgPT09ICdzdWNjZXNzJykge1xuICAgICAgdGhpcy5pc0lzc3VlUmVmdW5mQnRuRW5hYmxlID0gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKHRoaXMuaXNJc3N1ZVJlZnVuZkJ0bkVuYWJsZSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9O1xuICB9XG5cbiAgY2hrSXNSZWZ1bmRSZW1pc3Npb25CdG5FbmFibGUoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMub3JkZXJEZXRhaWwgIT09IG51bGwgJiYgIHRoaXMub3JkZXJEZXRhaWwgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LmlzRnJvbVNlcnZpY2VSZXF1ZXN0UGFnZSA9IHRydWU7XG4gICAgdGhpcy5vcmRlckRldGFpbC5mb3JFYWNoKG9yZGVyRGV0YWlsID0+IHtcbiAgICAgIGlmIChvcmRlckRldGFpbC5wYXltZW50cykge1xuICAgICAgICBvcmRlckRldGFpbC5wYXltZW50cy5mb3JFYWNoKHBheW1lbnQgPT4ge1xuICAgICAgICAgIGlmIChwYXltZW50Lm1ldGhvZC50b0xvY2FsZUxvd2VyQ2FzZSgpID09PSAncGF5bWVudCBieSBhY2NvdW50JyAmJiBwYXltZW50LnN0YXR1cy50b0xvY2FsZUxvd2VyQ2FzZSgpID09PSAnc3VjY2VzcycgJiYgdGhpcy5hbGxvd0Z1cnRoZXJBY2Nlc3NBZnRlcjREYXlzKHBheW1lbnQpKSB7XG4gICAgICAgICAgICB0aGlzLmlzUmVmdW5kUmVtaXNzaW9uQnRuRW5hYmxlID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGlmICh0aGlzLmlzUmVmdW5kUmVtaXNzaW9uQnRuRW5hYmxlKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH07XG4gIH1cbiAgfVxuXG4gIGNoZWNrNEFsbG93ZWRSb2xlczJBY2Nlc3NSZWZ1bmQgPSAoKTogYm9vbGVhbiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYWxsb3dlZFJvbGVzVG9BY2Nlc3NSZWZ1bmQuc29tZShyb2xlID0+XG4gICAgICB0aGlzLkxPR0dFRElOVVNFUlJPTEVTLmluZGV4T2Yocm9sZSkgIT09IC0xXG4gICAgKTtcbiAgfVxuXG4gIGFsbG93RnVydGhlckFjY2Vzc0FmdGVyNERheXMgPSAocGF5bWVudDogSVBheW1lbnQpOiBib29sZWFuID0+IHtcbiAgICBpZiAocGF5bWVudCAhPT0gbnVsbCAmJiBwYXltZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICBsZXQgdG1wNERheUFnbyA9IG5ldyBEYXRlKCk7XG4gICAgdG1wNERheUFnby5zZXREYXRlKHRtcDREYXlBZ28uZ2V0RGF0ZSgpIC0gNCk7XG4gICAgcmV0dXJuIHRtcDREYXlBZ28gPj0gbmV3IERhdGUocGF5bWVudC5kYXRlX2NyZWF0ZWQpO1xuICAgIH1cbiAgfVxuXG4gIGlzc3VlUmVmdW5kKHBheW1lbnQ6IElQYXltZW50KSB7XG4gICAgaWYgKHBheW1lbnQgIT09IG51bGwgJiYgcGF5bWVudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgaWYodGhpcy5jaGtJc3N1ZVJlZnVuZEJ0bkVuYWJsZShwYXltZW50KSkge1xuICAgIHRoaXMudmlld1N0YXR1cyA9ICdpc3N1ZXJlZnVuZCc7XG4gICAgdGhpcy5wYXltZW50ID0gcGF5bWVudDtcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuaXNGcm9tU2VydmljZVJlcXVlc3RQYWdlID0gdHJ1ZTtcbiAgICB0aGlzLmlzUmVmdW5kUmVtaXNzaW9uID0gdHJ1ZTtcbiAgICB9XG4gIH1cbiAgfVxuXG4gIGdvVG9QYXllbWVudFZpZXcocGF5bWVudEdyb3VwUmVmZXJlbmNlOiBzdHJpbmcsIHBheW1lbnRSZWZlcmVuY2U6IHN0cmluZywgcGF5bWVudE1ldGhvZDogc3RyaW5nKSB7XG4gICAgdGhpcy5nb1RvUGF5bWVudFZpZXdDb21wb25lbnQoeyBwYXltZW50R3JvdXBSZWZlcmVuY2UsIHBheW1lbnRSZWZlcmVuY2UsIHBheW1lbnRNZXRob2QgfSk7XG4gIH1cblxuICBnb1RvUGF5bWVudFZpZXdDb21wb25lbnQocGF5bWVudEdyb3VwOiBhbnkpIHtcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQucGF5bWVudE1ldGhvZCA9IHBheW1lbnRHcm91cC5wYXltZW50TWV0aG9kO1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5pc0Zyb21TZXJ2aWNlUmVxdWVzdFBhZ2UgPSB0cnVlO1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5wYXltZW50R3JvdXBSZWZlcmVuY2UgPSBwYXltZW50R3JvdXAucGF5bWVudEdyb3VwUmVmZXJlbmNlO1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5wYXltZW50UmVmZXJlbmNlID0gcGF5bWVudEdyb3VwLnBheW1lbnRSZWZlcmVuY2U7XG4gICAgdGhpcy5PcmRlcnNsaXN0U2VydmljZS5zZXRPcmRlclJlZih0aGlzLm9yZGVyUmVmKTtcbiAgICB0aGlzLk9yZGVyc2xpc3RTZXJ2aWNlLnNldG9yZGVyQ0NERXZlbnQodGhpcy5vcmRlckNDREV2ZW50KTtcbiAgICB0aGlzLk9yZGVyc2xpc3RTZXJ2aWNlLnNldG9yZGVyQ3JlYXRlZCh0aGlzLm9yZGVyQ3JlYXRlZCk7XG4gICAgdGhpcy5PcmRlcnNsaXN0U2VydmljZS5zZXRvcmRlckRldGFpbCh0aGlzLm9yZGVyRGV0YWlsKTtcbiAgICB0aGlzLk9yZGVyc2xpc3RTZXJ2aWNlLnNldG9yZGVyUGFydHkodGhpcy5vcmRlclBhcnR5KTtcbiAgICB0aGlzLk9yZGVyc2xpc3RTZXJ2aWNlLnNldG9yZGVyVG90YWxQYXltZW50cyh0aGlzLm9yZGVyVG90YWxQYXltZW50cyk7XG4gICAgdGhpcy5PcmRlcnNsaXN0U2VydmljZS5zZXRvcmRlclJlbWlzc2lvblRvdGFsKHRoaXMub3JkZXJSZW1pc3Npb25Ub3RhbCk7XG4gICAgdGhpcy5PcmRlcnNsaXN0U2VydmljZS5zZXRvcmRlckZlZXNUb3RhbCh0aGlzLm9yZGVyRmVlc1RvdGFsKTtcbiAgICB0aGlzLnZpZXdTdGF0dXMgPSAncGF5bWVudC12aWV3JztcbiAgfVxuXG4gIHJlc2V0T3JkZXJEYXRhKCkge1xuICAgIHRoaXMuT3JkZXJzbGlzdFNlcnZpY2Uuc2V0T3JkZXJSZWYobnVsbCk7XG4gICAgdGhpcy5PcmRlcnNsaXN0U2VydmljZS5zZXRvcmRlckNDREV2ZW50KG51bGwpO1xuICAgIHRoaXMuT3JkZXJzbGlzdFNlcnZpY2Uuc2V0b3JkZXJDcmVhdGVkKG51bGwpO1xuICAgIHRoaXMuT3JkZXJzbGlzdFNlcnZpY2Uuc2V0b3JkZXJEZXRhaWwobnVsbCk7XG4gICAgdGhpcy5PcmRlcnNsaXN0U2VydmljZS5zZXRvcmRlclBhcnR5KG51bGwpO1xuICAgIHRoaXMuT3JkZXJzbGlzdFNlcnZpY2Uuc2V0b3JkZXJUb3RhbFBheW1lbnRzKG51bGwpO1xuICAgIHRoaXMuT3JkZXJzbGlzdFNlcnZpY2Uuc2V0b3JkZXJSZW1pc3Npb25Ub3RhbChudWxsKTtcbiAgICB0aGlzLk9yZGVyc2xpc3RTZXJ2aWNlLnNldG9yZGVyRmVlc1RvdGFsKG51bGwpO1xuICB9XG59XG4iXX0=
|