@hmcts/ccpay-web-component 6.0.0-beta9 → 6.0.0
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/esm2022/hmcts-ccpay-web-component.mjs +5 -0
- package/esm2022/lib/components/add-remission/add-remission.component.mjs +1189 -0
- package/esm2022/lib/components/allocate-payments/allocate-payments.component.mjs +407 -0
- package/esm2022/lib/components/card-details/card-details.component.mjs +32 -0
- package/esm2022/lib/components/case-transactions/case-transactions.component.mjs +798 -0
- package/esm2022/lib/components/contact-details/contact-details.component.mjs +338 -0
- package/esm2022/lib/components/error-banner/error-banner.component.mjs +18 -0
- package/esm2022/lib/components/fee-summary/fee-summary.component.mjs +247 -0
- package/esm2022/lib/components/mark-unidentified-payment/mark-unidentified-payment.component.mjs +195 -0
- package/esm2022/lib/components/mark-unsolicited-payment/mark-unsolicited-payment.component.mjs +255 -0
- package/esm2022/lib/components/notification-preview/notification-preview.component.mjs +79 -0
- package/esm2022/lib/components/page-not-found.component.mjs +17 -0
- package/esm2022/lib/components/payment-list/payment-list.component.mjs +36 -0
- package/esm2022/lib/components/payment-view/payment-view.component.mjs +416 -0
- package/esm2022/lib/components/pba-details/pba-details.component.mjs +18 -0
- package/esm2022/lib/components/pba-payment/pba-payment.component.mjs +151 -0
- package/esm2022/lib/components/process-refund/process-refund.component.mjs +417 -0
- package/esm2022/lib/components/processed-payments/processed-payments.component.mjs +37 -0
- package/esm2022/lib/components/refund-list/refund-list.component.mjs +73 -0
- package/esm2022/lib/components/refund-status/refund-status.component.mjs +453 -0
- package/esm2022/lib/components/reports/reports.component.mjs +291 -0
- package/esm2022/lib/components/service-request/service-request.component.mjs +456 -0
- package/esm2022/lib/components/status-history/status-history.component.mjs +33 -0
- package/esm2022/lib/components/table/table.component.mjs +128 -0
- package/esm2022/lib/components/unprocessed-payments/unprocessed-payments.component.mjs +236 -0
- package/esm2022/lib/interfaces/AddRemissionRequest.mjs +17 -0
- package/esm2022/lib/interfaces/AddRetroRemissionRequest.mjs +9 -0
- package/esm2022/lib/interfaces/AllocatePaymentRequest.mjs +41 -0
- package/esm2022/lib/interfaces/IAllocationPaymentsRequest.mjs +20 -0
- package/esm2022/lib/interfaces/IBSPayments.mjs +2 -0
- package/esm2022/lib/interfaces/ICardDetails.mjs +2 -0
- package/esm2022/lib/interfaces/IFee.mjs +2 -0
- package/esm2022/lib/interfaces/INotificationPreview.mjs +2 -0
- package/esm2022/lib/interfaces/IOrderReferenceFee.mjs +2 -0
- package/esm2022/lib/interfaces/IPatchRefundAction.mjs +2 -0
- package/esm2022/lib/interfaces/IPayment.mjs +2 -0
- package/esm2022/lib/interfaces/IPaymentFailure.mjs +2 -0
- package/esm2022/lib/interfaces/IPaymentGroup.mjs +2 -0
- package/esm2022/lib/interfaces/IPaymentStatus.mjs +12 -0
- package/esm2022/lib/interfaces/IPaymentView.mjs +2 -0
- package/esm2022/lib/interfaces/IPayments.mjs +2 -0
- package/esm2022/lib/interfaces/IPutNotificationRequest.mjs +13 -0
- package/esm2022/lib/interfaces/IRefundAction.mjs +2 -0
- package/esm2022/lib/interfaces/IRefundContactDetails.mjs +2 -0
- package/esm2022/lib/interfaces/IRefundFee.mjs +2 -0
- package/esm2022/lib/interfaces/IRefundList.mjs +2 -0
- package/esm2022/lib/interfaces/IRefundReasons.mjs +2 -0
- package/esm2022/lib/interfaces/IRefundRejectReason.mjs +2 -0
- package/esm2022/lib/interfaces/IRefundStatus.mjs +2 -0
- package/esm2022/lib/interfaces/IRefundStatusHistory.mjs +2 -0
- package/esm2022/lib/interfaces/IRefundsNotifications.mjs +2 -0
- package/esm2022/lib/interfaces/IRemission.mjs +2 -0
- package/esm2022/lib/interfaces/IResubmitRefundRequest.mjs +13 -0
- package/esm2022/lib/interfaces/IStatusHistories.mjs +2 -0
- package/esm2022/lib/interfaces/IStatusHistory.mjs +2 -0
- package/esm2022/lib/interfaces/IserviceRequestCardPayment.mjs +11 -0
- package/esm2022/lib/interfaces/IserviceRequestPbaPayment.mjs +15 -0
- package/esm2022/lib/interfaces/IssueRefundRequest.mjs +11 -0
- package/esm2022/lib/interfaces/NotificationPreviewRequest.mjs +45 -0
- package/esm2022/lib/interfaces/PayhubAntennaRequest.mjs +12 -0
- package/esm2022/lib/interfaces/PaymentToPayhubRequest.mjs +15 -0
- package/esm2022/lib/interfaces/PostIssueRefundRetroRemission.mjs +9 -0
- package/esm2022/lib/interfaces/PostRefundRetroRemission.mjs +18 -0
- package/esm2022/lib/interfaces/RefundsRequest.mjs +9 -0
- package/esm2022/lib/interfaces/UnidentifiedPaymentsRequest.mjs +16 -0
- package/esm2022/lib/interfaces/UnsolicitedPaymentsRequest.mjs +22 -0
- package/esm2022/lib/payment-lib.component.mjs +288 -0
- package/esm2022/lib/payment-lib.module.mjs +187 -0
- package/esm2022/lib/payment-lib.service.mjs +49 -0
- package/esm2022/lib/pipes/capitalize.pipe.mjs +18 -0
- package/esm2022/lib/pipes/ccd-hyphens.pipe.mjs +22 -0
- package/esm2022/lib/pipes/key-value.pipe.mjs +23 -0
- package/esm2022/lib/pipes/sanitize-html.pipe.mjs +20 -0
- package/esm2022/lib/services/bulk-scaning-payment/bulk-scaning-payment.service.mjs +87 -0
- package/esm2022/lib/services/card-details/card-details.service.mjs +39 -0
- package/esm2022/lib/services/case-transactions/case-transactions.service.mjs +39 -0
- package/esm2022/lib/services/notification/notification.service.mjs +70 -0
- package/esm2022/lib/services/orderslist.service.mjs +154 -0
- package/esm2022/lib/services/payment-list/payment-list.service.mjs +40 -0
- package/esm2022/lib/services/payment-view/payment-view.service.mjs +152 -0
- package/esm2022/lib/services/refunds/refunds.service.mjs +117 -0
- package/esm2022/lib/services/shared/error-handler.service.mjs +96 -0
- package/esm2022/lib/services/shared/httpclient/webcomponent.http.client.mjs +64 -0
- package/esm2022/lib/services/shared/logger/console-logger.service.mjs +43 -0
- package/esm2022/lib/services/shared/logger/logger.service.mjs +23 -0
- package/{esm2015/lib/services/status-history/status-history.service.js → esm2022/lib/services/status-history/status-history.service.mjs} +13 -51
- package/esm2022/lib/services/xl-file/xl-file.service.mjs +153 -0
- package/esm2022/public_api.mjs +7 -0
- package/fesm2022/hmcts-ccpay-web-component.mjs +7874 -0
- package/fesm2022/hmcts-ccpay-web-component.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/components/add-remission/add-remission.component.d.ts +59 -7
- package/lib/components/allocate-payments/allocate-payments.component.d.ts +5 -6
- package/lib/components/card-details/card-details.component.d.ts +4 -1
- package/lib/components/case-transactions/case-transactions.component.d.ts +9 -7
- package/lib/components/contact-details/contact-details.component.d.ts +52 -0
- package/lib/components/error-banner/error-banner.component.d.ts +3 -0
- package/lib/components/fee-summary/fee-summary.component.d.ts +4 -3
- package/lib/components/mark-unidentified-payment/mark-unidentified-payment.component.d.ts +4 -1
- package/lib/components/mark-unsolicited-payment/mark-unsolicited-payment.component.d.ts +4 -1
- package/lib/components/notification-preview/notification-preview.component.d.ts +30 -0
- package/lib/components/page-not-found.component.d.ts +3 -0
- package/lib/components/payment-list/payment-list.component.d.ts +4 -1
- package/lib/components/payment-view/payment-view.component.d.ts +46 -12
- package/lib/components/pba-details/pba-details.component.d.ts +3 -0
- package/lib/components/pba-payment/pba-payment.component.d.ts +9 -1
- package/lib/components/process-refund/process-refund.component.d.ts +22 -2
- package/lib/components/processed-payments/processed-payments.component.d.ts +3 -0
- package/lib/components/refund-list/refund-list.component.d.ts +3 -0
- package/lib/components/refund-status/refund-status.component.d.ts +50 -10
- package/lib/components/reports/reports.component.d.ts +10 -5
- package/lib/components/service-request/service-request.component.d.ts +42 -14
- package/lib/components/status-history/status-history.component.d.ts +4 -1
- package/lib/components/table/table.component.d.ts +5 -1
- package/lib/components/unprocessed-payments/unprocessed-payments.component.d.ts +4 -5
- package/lib/interfaces/IFee.d.ts +6 -0
- package/lib/interfaces/INotificationPreview.d.ts +27 -0
- package/lib/interfaces/IPayment.d.ts +3 -0
- package/lib/interfaces/IPaymentFailure.d.ts +13 -0
- package/lib/interfaces/IPutNotificationRequest.d.ts +6 -0
- package/lib/interfaces/IRefundContactDetails.d.ts +9 -0
- package/lib/interfaces/IRefundFee.d.ts +7 -0
- package/lib/interfaces/IRefundList.d.ts +5 -0
- package/lib/interfaces/IRefundsNotifications.d.ts +16 -0
- package/lib/interfaces/IRemission.d.ts +3 -0
- package/lib/interfaces/IResubmitRefundRequest.d.ts +5 -1
- package/lib/interfaces/IserviceRequestPbaPayment.d.ts +2 -1
- package/lib/interfaces/NotificationPreviewRequest.d.ts +24 -0
- package/lib/interfaces/PostIssueRefundRetroRemission.d.ts +3 -1
- package/lib/interfaces/PostRefundRetroRemission.d.ts +7 -1
- package/lib/payment-lib.component.d.ts +7 -5
- package/lib/payment-lib.module.d.ts +40 -0
- package/lib/payment-lib.service.d.ts +9 -3
- package/lib/pipes/capitalize.pipe.d.ts +3 -0
- package/lib/pipes/ccd-hyphens.pipe.d.ts +3 -0
- package/lib/pipes/key-value.pipe.d.ts +3 -0
- package/lib/pipes/sanitize-html.pipe.d.ts +3 -0
- package/lib/services/bulk-scaning-payment/bulk-scaning-payment.service.d.ts +4 -1
- package/lib/services/card-details/card-details.service.d.ts +3 -0
- package/lib/services/case-transactions/case-transactions.service.d.ts +4 -1
- package/lib/services/notification/notification.service.d.ts +21 -0
- package/lib/services/orderslist.service.d.ts +3 -0
- package/lib/services/payment-list/payment-list.service.d.ts +3 -0
- package/lib/services/payment-view/payment-view.service.d.ts +6 -1
- package/lib/services/refunds/refunds.service.d.ts +6 -1
- package/lib/services/shared/error-handler.service.d.ts +5 -2
- package/lib/services/shared/httpclient/webcomponent.http.client.d.ts +3 -0
- package/lib/services/shared/logger/console-logger.service.d.ts +6 -3
- package/lib/services/shared/logger/logger.service.d.ts +3 -0
- package/lib/services/status-history/status-history.service.d.ts +3 -0
- package/lib/services/xl-file/xl-file.service.d.ts +4 -0
- package/package.json +18 -14
- package/bundles/hmcts-ccpay-web-component.umd.js +0 -9664
- package/bundles/hmcts-ccpay-web-component.umd.js.map +0 -1
- package/bundles/hmcts-ccpay-web-component.umd.min.js +0 -2
- package/bundles/hmcts-ccpay-web-component.umd.min.js.map +0 -1
- package/esm2015/hmcts-ccpay-web-component.js +0 -48
- package/esm2015/lib/components/add-remission/add-remission.component.js +0 -1083
- package/esm2015/lib/components/allocate-payments/allocate-payments.component.js +0 -692
- package/esm2015/lib/components/card-details/card-details.component.js +0 -71
- package/esm2015/lib/components/case-transactions/case-transactions.component.js +0 -1298
- package/esm2015/lib/components/error-banner/error-banner.component.js +0 -30
- package/esm2015/lib/components/fee-summary/fee-summary.component.js +0 -482
- package/esm2015/lib/components/mark-unidentified-payment/mark-unidentified-payment.component.js +0 -342
- package/esm2015/lib/components/mark-unsolicited-payment/mark-unsolicited-payment.component.js +0 -436
- package/esm2015/lib/components/page-not-found.component.js +0 -15
- package/esm2015/lib/components/payment-list/payment-list.component.js +0 -75
- package/esm2015/lib/components/payment-view/payment-view.component.js +0 -514
- package/esm2015/lib/components/pba-details/pba-details.component.js +0 -30
- package/esm2015/lib/components/pba-payment/pba-payment.component.js +0 -205
- package/esm2015/lib/components/process-refund/process-refund.component.js +0 -455
- package/esm2015/lib/components/processed-payments/processed-payments.component.js +0 -72
- package/esm2015/lib/components/refund-list/refund-list.component.js +0 -127
- package/esm2015/lib/components/refund-status/refund-status.component.js +0 -497
- package/esm2015/lib/components/reports/reports.component.js +0 -357
- package/esm2015/lib/components/service-request/service-request.component.js +0 -626
- package/esm2015/lib/components/status-history/status-history.component.js +0 -68
- package/esm2015/lib/components/table/table.component.js +0 -196
- package/esm2015/lib/components/unprocessed-payments/unprocessed-payments.component.js +0 -385
- package/esm2015/lib/interfaces/AddRemissionRequest.js +0 -37
- package/esm2015/lib/interfaces/AddRetroRemissionRequest.js +0 -21
- package/esm2015/lib/interfaces/AllocatePaymentRequest.js +0 -68
- package/esm2015/lib/interfaces/IAllocationPaymentsRequest.js +0 -39
- package/esm2015/lib/interfaces/IBSPayments.js +0 -45
- package/esm2015/lib/interfaces/ICardDetails.js +0 -21
- package/esm2015/lib/interfaces/IFee.js +0 -53
- package/esm2015/lib/interfaces/IOrderReferenceFee.js +0 -25
- package/esm2015/lib/interfaces/IPatchRefundAction.js +0 -15
- package/esm2015/lib/interfaces/IPayment.js +0 -65
- package/esm2015/lib/interfaces/IPaymentGroup.js +0 -19
- package/esm2015/lib/interfaces/IPaymentStatus.js +0 -27
- package/esm2015/lib/interfaces/IPaymentView.js +0 -17
- package/esm2015/lib/interfaces/IPayments.js +0 -13
- package/esm2015/lib/interfaces/IRefundAction.js +0 -15
- package/esm2015/lib/interfaces/IRefundList.js +0 -29
- package/esm2015/lib/interfaces/IRefundReasons.js +0 -19
- package/esm2015/lib/interfaces/IRefundRejectReason.js +0 -15
- package/esm2015/lib/interfaces/IRefundStatus.js +0 -23
- package/esm2015/lib/interfaces/IRefundStatusHistory.js +0 -15
- package/esm2015/lib/interfaces/IRemission.js +0 -25
- package/esm2015/lib/interfaces/IResubmitRefundRequest.js +0 -21
- package/esm2015/lib/interfaces/IStatusHistories.js +0 -19
- package/esm2015/lib/interfaces/IStatusHistory.js +0 -21
- package/esm2015/lib/interfaces/IserviceRequestCardPayment.js +0 -23
- package/esm2015/lib/interfaces/IserviceRequestPbaPayment.js +0 -28
- package/esm2015/lib/interfaces/IssueRefundRequest.js +0 -25
- package/esm2015/lib/interfaces/PayhubAntennaRequest.js +0 -28
- package/esm2015/lib/interfaces/PaymentToPayhubRequest.js +0 -37
- package/esm2015/lib/interfaces/PostIssueRefundRetroRemission.js +0 -17
- package/esm2015/lib/interfaces/PostRefundRetroRemission.js +0 -21
- package/esm2015/lib/interfaces/RefundsRequest.js +0 -21
- package/esm2015/lib/interfaces/UnidentifiedPaymentsRequest.js +0 -31
- package/esm2015/lib/interfaces/UnsolicitedPaymentsRequest.js +0 -43
- package/esm2015/lib/payment-lib.component.js +0 -275
- package/esm2015/lib/payment-lib.module.js +0 -99
- package/esm2015/lib/payment-lib.service.js +0 -80
- package/esm2015/lib/pipes/capitalize.pipe.js +0 -24
- package/esm2015/lib/pipes/ccd-hyphens.pipe.js +0 -29
- package/esm2015/lib/pipes/key-value.pipe.js +0 -30
- package/esm2015/lib/pipes/sanitize-html.pipe.js +0 -36
- package/esm2015/lib/services/bulk-scaning-payment/bulk-scaning-payment.service.js +0 -180
- package/esm2015/lib/services/card-details/card-details.service.js +0 -76
- package/esm2015/lib/services/case-transactions/case-transactions.service.js +0 -76
- package/esm2015/lib/services/orderslist.service.js +0 -403
- package/esm2015/lib/services/payment-list/payment-list.service.js +0 -79
- package/esm2015/lib/services/payment-view/payment-view.service.js +0 -285
- package/esm2015/lib/services/refunds/refunds.service.js +0 -203
- package/esm2015/lib/services/shared/error-handler.service.js +0 -108
- package/esm2015/lib/services/shared/httpclient/webcomponent.http.client.js +0 -124
- package/esm2015/lib/services/shared/logger/console-logger.service.js +0 -67
- package/esm2015/lib/services/shared/logger/logger.service.js +0 -49
- package/esm2015/lib/services/xl-file/xl-file.service.js +0 -181
- package/esm2015/public_api.js +0 -11
- package/esm5/hmcts-ccpay-web-component.js +0 -48
- package/esm5/lib/components/add-remission/add-remission.component.js +0 -1168
- package/esm5/lib/components/allocate-payments/allocate-payments.component.js +0 -745
- package/esm5/lib/components/card-details/card-details.component.js +0 -77
- package/esm5/lib/components/case-transactions/case-transactions.component.js +0 -1443
- package/esm5/lib/components/error-banner/error-banner.component.js +0 -36
- package/esm5/lib/components/fee-summary/fee-summary.component.js +0 -542
- package/esm5/lib/components/mark-unidentified-payment/mark-unidentified-payment.component.js +0 -371
- package/esm5/lib/components/mark-unsolicited-payment/mark-unsolicited-payment.component.js +0 -474
- package/esm5/lib/components/page-not-found.component.js +0 -17
- package/esm5/lib/components/payment-list/payment-list.component.js +0 -83
- package/esm5/lib/components/payment-view/payment-view.component.js +0 -602
- package/esm5/lib/components/pba-details/pba-details.component.js +0 -36
- package/esm5/lib/components/pba-payment/pba-payment.component.js +0 -222
- package/esm5/lib/components/process-refund/process-refund.component.js +0 -536
- package/esm5/lib/components/processed-payments/processed-payments.component.js +0 -83
- package/esm5/lib/components/refund-list/refund-list.component.js +0 -130
- package/esm5/lib/components/refund-status/refund-status.component.js +0 -558
- package/esm5/lib/components/reports/reports.component.js +0 -398
- package/esm5/lib/components/service-request/service-request.component.js +0 -702
- package/esm5/lib/components/status-history/status-history.component.js +0 -70
- package/esm5/lib/components/table/table.component.js +0 -229
- package/esm5/lib/components/unprocessed-payments/unprocessed-payments.component.js +0 -434
- package/esm5/lib/interfaces/AddRemissionRequest.js +0 -32
- package/esm5/lib/interfaces/AddRetroRemissionRequest.js +0 -19
- package/esm5/lib/interfaces/AllocatePaymentRequest.js +0 -63
- package/esm5/lib/interfaces/IAllocationPaymentsRequest.js +0 -34
- package/esm5/lib/interfaces/IBSPayments.js +0 -45
- package/esm5/lib/interfaces/ICardDetails.js +0 -21
- package/esm5/lib/interfaces/IFee.js +0 -53
- package/esm5/lib/interfaces/IOrderReferenceFee.js +0 -25
- package/esm5/lib/interfaces/IPatchRefundAction.js +0 -15
- package/esm5/lib/interfaces/IPayment.js +0 -65
- package/esm5/lib/interfaces/IPaymentGroup.js +0 -19
- package/esm5/lib/interfaces/IPaymentStatus.js +0 -31
- package/esm5/lib/interfaces/IPaymentView.js +0 -17
- package/esm5/lib/interfaces/IPayments.js +0 -13
- package/esm5/lib/interfaces/IRefundAction.js +0 -15
- package/esm5/lib/interfaces/IRefundList.js +0 -29
- package/esm5/lib/interfaces/IRefundReasons.js +0 -19
- package/esm5/lib/interfaces/IRefundRejectReason.js +0 -15
- package/esm5/lib/interfaces/IRefundStatus.js +0 -23
- package/esm5/lib/interfaces/IRefundStatusHistory.js +0 -15
- package/esm5/lib/interfaces/IRemission.js +0 -25
- package/esm5/lib/interfaces/IResubmitRefundRequest.js +0 -19
- package/esm5/lib/interfaces/IStatusHistories.js +0 -19
- package/esm5/lib/interfaces/IStatusHistory.js +0 -21
- package/esm5/lib/interfaces/IserviceRequestCardPayment.js +0 -22
- package/esm5/lib/interfaces/IserviceRequestPbaPayment.js +0 -25
- package/esm5/lib/interfaces/IssueRefundRequest.js +0 -22
- package/esm5/lib/interfaces/PayhubAntennaRequest.js +0 -25
- package/esm5/lib/interfaces/PaymentToPayhubRequest.js +0 -34
- package/esm5/lib/interfaces/PostIssueRefundRetroRemission.js +0 -16
- package/esm5/lib/interfaces/PostRefundRetroRemission.js +0 -19
- package/esm5/lib/interfaces/RefundsRequest.js +0 -19
- package/esm5/lib/interfaces/UnidentifiedPaymentsRequest.js +0 -28
- package/esm5/lib/interfaces/UnsolicitedPaymentsRequest.js +0 -37
- package/esm5/lib/payment-lib.component.js +0 -244
- package/esm5/lib/payment-lib.module.js +0 -103
- package/esm5/lib/payment-lib.service.js +0 -111
- package/esm5/lib/pipes/capitalize.pipe.js +0 -32
- package/esm5/lib/pipes/ccd-hyphens.pipe.js +0 -37
- package/esm5/lib/pipes/key-value.pipe.js +0 -37
- package/esm5/lib/pipes/sanitize-html.pipe.js +0 -39
- package/esm5/lib/services/bulk-scaning-payment/bulk-scaning-payment.service.js +0 -218
- package/esm5/lib/services/card-details/card-details.service.js +0 -76
- package/esm5/lib/services/case-transactions/case-transactions.service.js +0 -76
- package/esm5/lib/services/orderslist.service.js +0 -531
- package/esm5/lib/services/payment-list/payment-list.service.js +0 -80
- package/esm5/lib/services/payment-view/payment-view.service.js +0 -385
- package/esm5/lib/services/refunds/refunds.service.js +0 -243
- package/esm5/lib/services/shared/error-handler.service.js +0 -119
- package/esm5/lib/services/shared/httpclient/webcomponent.http.client.js +0 -154
- package/esm5/lib/services/shared/logger/console-logger.service.js +0 -88
- package/esm5/lib/services/shared/logger/logger.service.js +0 -68
- package/esm5/lib/services/status-history/status-history.service.js +0 -80
- package/esm5/lib/services/xl-file/xl-file.service.js +0 -221
- package/esm5/public_api.js +0 -11
- package/fesm2015/hmcts-ccpay-web-component.js +0 -8525
- package/fesm2015/hmcts-ccpay-web-component.js.map +0 -1
- package/fesm5/hmcts-ccpay-web-component.js +0 -9773
- package/fesm5/hmcts-ccpay-web-component.js.map +0 -1
- package/hmcts-ccpay-web-component.d.ts +0 -43
- package/hmcts-ccpay-web-component.metadata.json +0 -1
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
export class PbaDetailsComponent {
|
|
5
|
+
payment;
|
|
6
|
+
constructor() { }
|
|
7
|
+
ngOnInit() {
|
|
8
|
+
}
|
|
9
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: PbaDetailsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: PbaDetailsComponent, selector: "ccpay-pba-details", inputs: { payment: "payment" }, ngImport: i0, template: "\n <h2 class=\"heading-large\">Payment method</h2>\n <table>\n <tbody>\n <tr>\n <td class=\"bold tb-col-w\">Method</td>\n <td class=\"capitalize\">{{ payment.method | lowercase}}</td>\n </tr>\n <tr>\n <td class=\"bold tb-col-w\">Type</td>\n <td>Credit</td>\n </tr>\n <tr *ngIf=\"payment.organisation_name\">\n <td class=\"bold tb-col-w\">PBA account name</td>\n <td>{{ payment.organisation_name }}</td>\n </tr>\n <tr *ngIf=\"payment.account_number\">\n <td class=\"bold tb-col-w\">PBA number</td>\n <td>{{ payment.account_number }}</td>\n </tr>\n <tr *ngIf=\"payment.customer_reference\">\n <td class=\"bold tb-col-w\">Customer internal reference</td>\n <td>{{ payment.customer_reference }}</td>\n </tr>\n </tbody>\n </table>\n", styles: [".capitalize:first-letter{text-transform:uppercase}.tb-col-w{width:330px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.LowerCasePipe, name: "lowercase" }] });
|
|
11
|
+
}
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: PbaDetailsComponent, decorators: [{
|
|
13
|
+
type: Component,
|
|
14
|
+
args: [{ selector: 'ccpay-pba-details', template: "\n <h2 class=\"heading-large\">Payment method</h2>\n <table>\n <tbody>\n <tr>\n <td class=\"bold tb-col-w\">Method</td>\n <td class=\"capitalize\">{{ payment.method | lowercase}}</td>\n </tr>\n <tr>\n <td class=\"bold tb-col-w\">Type</td>\n <td>Credit</td>\n </tr>\n <tr *ngIf=\"payment.organisation_name\">\n <td class=\"bold tb-col-w\">PBA account name</td>\n <td>{{ payment.organisation_name }}</td>\n </tr>\n <tr *ngIf=\"payment.account_number\">\n <td class=\"bold tb-col-w\">PBA number</td>\n <td>{{ payment.account_number }}</td>\n </tr>\n <tr *ngIf=\"payment.customer_reference\">\n <td class=\"bold tb-col-w\">Customer internal reference</td>\n <td>{{ payment.customer_reference }}</td>\n </tr>\n </tbody>\n </table>\n", styles: [".capitalize:first-letter{text-transform:uppercase}.tb-col-w{width:330px}\n"] }]
|
|
15
|
+
}], ctorParameters: function () { return []; }, propDecorators: { payment: [{
|
|
16
|
+
type: Input
|
|
17
|
+
}] } });
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGJhLWRldGFpbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGF5bWVudC1saWIvc3JjL2xpYi9jb21wb25lbnRzL3BiYS1kZXRhaWxzL3BiYS1kZXRhaWxzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BheW1lbnQtbGliL3NyYy9saWIvY29tcG9uZW50cy9wYmEtZGV0YWlscy9wYmEtZGV0YWlscy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7O0FBUXpELE1BQU0sT0FBTyxtQkFBbUI7SUFDckIsT0FBTyxDQUFXO0lBRTNCLGdCQUFnQixDQUFDO0lBRWpCLFFBQVE7SUFDUixDQUFDO3VHQU5VLG1CQUFtQjsyRkFBbkIsbUJBQW1CLHlGQ1JoQyxrekJBMEJBOzsyRkRsQmEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLG1CQUFtQjswRUFLcEIsT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJUGF5bWVudCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVBheW1lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY3BheS1wYmEtZGV0YWlscycsXG4gIHRlbXBsYXRlVXJsOiAnLi9wYmEtZGV0YWlscy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BiYS1kZXRhaWxzLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBQYmFEZXRhaWxzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcGF5bWVudDogSVBheW1lbnQ7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgfVxuXG59XG4iLCJcbiAgPGgyIGNsYXNzPVwiaGVhZGluZy1sYXJnZVwiPlBheW1lbnQgbWV0aG9kPC9oMj5cbiAgPHRhYmxlPlxuICAgIDx0Ym9keT5cbiAgICA8dHI+XG4gICAgICA8dGQgY2xhc3M9XCJib2xkIHRiLWNvbC13XCI+TWV0aG9kPC90ZD5cbiAgICAgIDx0ZCBjbGFzcz1cImNhcGl0YWxpemVcIj57eyBwYXltZW50Lm1ldGhvZCB8IGxvd2VyY2FzZX19PC90ZD5cbiAgICA8L3RyPlxuICAgIDx0cj5cbiAgICAgIDx0ZCBjbGFzcz1cImJvbGQgdGItY29sLXdcIj5UeXBlPC90ZD5cbiAgICAgIDx0ZD5DcmVkaXQ8L3RkPlxuICAgIDwvdHI+XG4gICAgPHRyICpuZ0lmPVwicGF5bWVudC5vcmdhbmlzYXRpb25fbmFtZVwiPlxuICAgICAgPHRkIGNsYXNzPVwiYm9sZCB0Yi1jb2wtd1wiPlBCQSBhY2NvdW50IG5hbWU8L3RkPlxuICAgICAgPHRkPnt7IHBheW1lbnQub3JnYW5pc2F0aW9uX25hbWUgfX08L3RkPlxuICAgIDwvdHI+XG4gICAgPHRyICpuZ0lmPVwicGF5bWVudC5hY2NvdW50X251bWJlclwiPlxuICAgICAgPHRkIGNsYXNzPVwiYm9sZCB0Yi1jb2wtd1wiPlBCQSBudW1iZXI8L3RkPlxuICAgICAgPHRkPnt7IHBheW1lbnQuYWNjb3VudF9udW1iZXIgfX08L3RkPlxuICAgIDwvdHI+XG4gICAgPHRyICpuZ0lmPVwicGF5bWVudC5jdXN0b21lcl9yZWZlcmVuY2VcIj5cbiAgICAgIDx0ZCBjbGFzcz1cImJvbGQgdGItY29sLXdcIj5DdXN0b21lciBpbnRlcm5hbCByZWZlcmVuY2U8L3RkPlxuICAgICAgPHRkPnt7IHBheW1lbnQuY3VzdG9tZXJfcmVmZXJlbmNlIH19PC90ZD5cbiAgICA8L3RyPlxuICAgIDwvdGJvZHk+XG4gIDwvdGFibGU+XG4iXX0=
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { Component, Input, Inject } from '@angular/core';
|
|
2
|
+
import { PaymentViewService } from '../../services/payment-view/payment-view.service';
|
|
3
|
+
import { IserviceRequestCardPayment } from '../../interfaces/IserviceRequestCardPayment';
|
|
4
|
+
import { IserviceRequestPbaPayment } from '../../interfaces/IserviceRequestPbaPayment';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "../../services/payment-view/payment-view.service";
|
|
7
|
+
import * as i2 from "@angular/common";
|
|
8
|
+
import * as i3 from "@angular/forms";
|
|
9
|
+
const BS_ENABLE_FLAG = 'bulk-scan-enabling-fe';
|
|
10
|
+
export class PbaPaymentComponent {
|
|
11
|
+
paymentLibComponent;
|
|
12
|
+
paymentViewService;
|
|
13
|
+
pbaPayOrderRef;
|
|
14
|
+
viewStatus;
|
|
15
|
+
pbaAccountList;
|
|
16
|
+
isPBAAccountHold = false;
|
|
17
|
+
errorMsg;
|
|
18
|
+
isCardPaymentSuccess = true;
|
|
19
|
+
isInSufficiantFund = false;
|
|
20
|
+
isPBAAccountNotExist = false;
|
|
21
|
+
isPBAServerError = false;
|
|
22
|
+
isGetPBAAccountSucceed = false;
|
|
23
|
+
selectedPbaAccount = '';
|
|
24
|
+
pbaAccountRef = '';
|
|
25
|
+
isPbaAccountSelected = false;
|
|
26
|
+
isCardPaymentSelected = false;
|
|
27
|
+
isPBADropdownSelected = false;
|
|
28
|
+
isContinueButtondisabled = true;
|
|
29
|
+
isPBAAccountPaymentSuccess = false;
|
|
30
|
+
pbaAccountrPaymentResult;
|
|
31
|
+
orgName = '';
|
|
32
|
+
constructor(paymentLibComponent, paymentViewService) {
|
|
33
|
+
this.paymentLibComponent = paymentLibComponent;
|
|
34
|
+
this.paymentViewService = paymentViewService;
|
|
35
|
+
}
|
|
36
|
+
ngOnInit() {
|
|
37
|
+
this.pbaPayOrderRef = this.paymentLibComponent.pbaPayOrderRef;
|
|
38
|
+
this.viewStatus = 'pba-payment';
|
|
39
|
+
this.errorMsg = null;
|
|
40
|
+
this.paymentViewService.getPBAaccountDetails()
|
|
41
|
+
.subscribe(result => {
|
|
42
|
+
this.isGetPBAAccountSucceed = true;
|
|
43
|
+
this.orgName = result.organisationEntityResponse.name;
|
|
44
|
+
this.pbaAccountList = result.organisationEntityResponse.paymentAccount;
|
|
45
|
+
}, error => {
|
|
46
|
+
this.errorMsg = error;
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
selectpbaaccount(args) {
|
|
50
|
+
if (args.currentTarget.id === 'pbaAccountNumber') {
|
|
51
|
+
this.isPBADropdownSelected = true;
|
|
52
|
+
this.selectedPbaAccount = args.target.value;
|
|
53
|
+
}
|
|
54
|
+
if (args.currentTarget.id === 'pbaAccountRef') {
|
|
55
|
+
this.pbaAccountRef = args.target.value;
|
|
56
|
+
}
|
|
57
|
+
if (this.selectedPbaAccount !== '' && this.pbaAccountRef !== "") {
|
|
58
|
+
this.isContinueButtondisabled = false;
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
this.isContinueButtondisabled = true;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
saveAndContinue() {
|
|
65
|
+
if (this.isPbaAccountSelected) {
|
|
66
|
+
this.isInSufficiantFund = false;
|
|
67
|
+
this.isPBAAccountNotExist = false;
|
|
68
|
+
this.isPBAServerError = false;
|
|
69
|
+
this.isPBAAccountPaymentSuccess = false;
|
|
70
|
+
this.isContinueButtondisabled = true;
|
|
71
|
+
if (this.pbaAccountList.indexOf(this.selectedPbaAccount) !== -1) {
|
|
72
|
+
const requestBody = new IserviceRequestPbaPayment(this.selectedPbaAccount, this.pbaPayOrderRef.orderTotalFees, this.pbaAccountRef, this.orgName);
|
|
73
|
+
setTimeout(() => {
|
|
74
|
+
this.paymentViewService.postPBAaccountPayment(this.pbaPayOrderRef.orderRefId, requestBody)
|
|
75
|
+
.subscribe(r => {
|
|
76
|
+
try {
|
|
77
|
+
this.pbaAccountrPaymentResult = JSON.parse(r);
|
|
78
|
+
}
|
|
79
|
+
catch (e) {
|
|
80
|
+
this.pbaAccountrPaymentResult = r;
|
|
81
|
+
}
|
|
82
|
+
this.isPBAAccountPaymentSuccess = true;
|
|
83
|
+
}, e => {
|
|
84
|
+
if (e.status == '402') {
|
|
85
|
+
this.isInSufficiantFund = true;
|
|
86
|
+
}
|
|
87
|
+
else if (e.status == '410') {
|
|
88
|
+
this.isPBAAccountNotExist = true;
|
|
89
|
+
}
|
|
90
|
+
else if (e.status == '412') {
|
|
91
|
+
this.isPBAAccountHold = true;
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
this.isPBAServerError = true;
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
}, 5000);
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
this.isPBAServerError = true;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
else if (this.isCardPaymentSelected) {
|
|
104
|
+
this.cardPayment();
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
cardPayment() {
|
|
108
|
+
this.isCardPaymentSuccess = true;
|
|
109
|
+
const requestBody = new IserviceRequestCardPayment(this.pbaPayOrderRef.orderTotalFees);
|
|
110
|
+
this.paymentViewService.postWays2PayCardPayment(this.pbaPayOrderRef.orderRefId, requestBody)
|
|
111
|
+
.subscribe(result => {
|
|
112
|
+
const paymentUrl = JSON.parse(result).next_url;
|
|
113
|
+
window.location.href = paymentUrl;
|
|
114
|
+
}, error => {
|
|
115
|
+
this.isCardPaymentSuccess = false;
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
selectPaymentMethod(type) {
|
|
119
|
+
if (type === 'PBA') {
|
|
120
|
+
this.isPbaAccountSelected = true;
|
|
121
|
+
this.isCardPaymentSelected = false;
|
|
122
|
+
this.isPBADropdownSelected = false;
|
|
123
|
+
this.isContinueButtondisabled = true;
|
|
124
|
+
this.selectedPbaAccount = null;
|
|
125
|
+
}
|
|
126
|
+
else if (type === 'CARD') {
|
|
127
|
+
this.isPbaAccountSelected = false;
|
|
128
|
+
this.isCardPaymentSelected = true;
|
|
129
|
+
this.isPBADropdownSelected = false;
|
|
130
|
+
this.isContinueButtondisabled = false;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
gotoCasetransationPage() {
|
|
134
|
+
this.paymentLibComponent.viewName = 'case-transactions';
|
|
135
|
+
this.paymentLibComponent.TAKEPAYMENT = false;
|
|
136
|
+
this.paymentLibComponent.ISBSENABLE = true;
|
|
137
|
+
this.paymentLibComponent.isFromServiceRequestPage = true;
|
|
138
|
+
}
|
|
139
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: PbaPaymentComponent, deps: [{ token: 'PAYMENT_LIB' }, { token: i1.PaymentViewService }], target: i0.ɵɵFactoryTarget.Component });
|
|
140
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: PbaPaymentComponent, selector: "ccpay-pba-payment", inputs: { pbaPayOrderRef: "pbaPayOrderRef" }, ngImport: i0, template: "<ng-container *ngIf=\"viewStatus === 'pba-payment'\">\n\n <div class=\"govuk-breadcrumbs\" *ngIf=\"!errorMsg && !isPBAAccountPaymentSuccess && !isCardPaymentSuccess\">\n <ol class=\"govuk-breadcrumbs__list\">\n <li class=\"govuk-breadcrumbs__list-item\">\n <a href=\"javascript:void(0)\" (click)=\"gotoCasetransationPage()\" class=\"govuk-back-link pba-payments-16-font\">Back</a>\n </li>\n </ol>\n </div>\n <div class=\"pba-payment\" *ngIf=\"(pbaAccountList?.length > 0 || errorMsg) && !isInSufficiantFund && !isPBAAccountNotExist && !isPBAServerError && !isPBAAccountHold && !isPBAAccountPaymentSuccess && isCardPaymentSuccess\">\n \n <div *ngIf=\"errorMsg\" class=\"govuk-error-summary pba-payments-error-box--size\" aria-labelledby=\"error-summary-title\" >\n <h2 class=\"govuk-error-summary__title govuk-error-summary__title-custom pba-payments-24-font\" id=\"error-summary-title\">\n There is a problem\n </h2>\n <div class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li class=\"pba-payments-error-16-font\">\n Your PBA account cannot be found.\n </li>\n <li class=\"pba-payments-error-16-font\">\n If you know your organisation has a PBA, try again.\n </li>\n <li class=\"pba-payments-error-16-font\">\n You can also pay by credit or debit card.\n </li>\n </ul>\n </div>\n </div>\n <!-- <h1 class=\"heading-medium margin-top-10-px\">Pay fee using Payment by Account (PBA)</h1> -->\n <div class=\"govuk-form-group margin-top-10-px\">\n <label class=\"govuk-label pba-payments-govuk__label pba-payments-19-font\">\n Amount to pay \n </label>\n <span class=\"pba-payments-19-font\">{{pbaPayOrderRef.orderTotalFees | currency :'GBP':'symbol':'1.2-2'}}</span>\n </div>\n\n <div class=\"govuk-form-group\" *ngIf=\"!errorMsg\">\n <fieldset class=\"govuk-fieldset\" aria-describedby=\"contact-hint\">\n <div class=\"govuk-radios\" data-module=\"govuk-radios\">\n <div class=\"govuk-radios__item\">\n <input class=\"govuk-radios__input\" id=\"pbaAccount\" name=\"paymentSelection\" type=\"radio\" value=\"PBA\" (click)=\"selectPaymentMethod('PBA')\" data-aria-controls=\"pba-account\">\n <label class=\"govuk-label govuk-radios__label pba-payments-19-font pba-payments-font-bld\" for=\"pbaAccount\">\n Pay fee using Payment by Account (PBA)\n </label>\n </div>\n <div class=\"govuk-radios__conditional\" id=\"conditional-contact\" *ngIf=\"isPbaAccountSelected\">\n <div class=\"govuk-form-group pba-payments-select-box--size\">\n <label class=\"govuk-label pba-payments-govuk__label pba-payments-19-font\" for=\"pbaAccountNumber\">\n Select a PBA \n </label>\n <select class=\"form-control short-input\" id=\"pbaAccountNumber\" (change)=\"selectpbaaccount($event)\">\n <option value=\"\" selected='selected'>Select option</option>\n <option *ngFor=\"let pbaAccount of pbaAccountList;\" value=\"{{pbaAccount}}\">{{pbaAccount}}</option>\n </select>\n </div>\n <div class=\"govuk-form-group\" *ngIf=\"!errorMsg && selectedPbaAccount\">\n <label class=\"govuk-label pba-payments-govuk__label pba-payments-24-font\" for=\"pbaAccountNumber\">\n Enter a reference for your PBA account statements \n </label>\n <div id=\"event-name-hint\" class=\"govuk-hint pba-payments-19-font pba-payment-width\">\n This should be your own unique reference to identify the case. It will appear on your statements.\n </div>\n <input class=\"govuk-input pba-payments-ref-box--size pba-payments-19-font\" id=\"pbaAccountRef\" (change)=\"selectpbaaccount($event)\" name=\"pbaAccountRef\" type=\"text\" aria-describedby=\"pbaAccountRef-hint\">\n </div>\n \n </div>\n <div class=\"govuk-radios__item\">\n <input class=\"govuk-radios__input\" id=\"cardPayment\" name=\"paymentSelection\" type=\"radio\" value=\"card\" (click)=\"selectPaymentMethod('CARD')\" data-aria-controls=\"card-payment\">\n <label class=\"govuk-label govuk-radios__label pba-payments-19-font pba-payments-font-bld\" for=\"cardPayment\">\n Pay by credit or debit card\n </label>\n </div>\n </div>\n </fieldset>\n </div>\n\n <div class=\"govuk-button--group\" *ngIf=\"errorMsg\">\n <button type=\"button\" class=\"button pba-payments-19-font govuk-button--secondary pba-payments-margin-10\" (click)=\"gotoCasetransationPage()\">\n View Service Request\n </button>\n <button type=\"submit\" class=\"button pba-payments-19-font pba-payments-20-margin\" (click)=\"cardPayment()\">\n Pay by card\n </button>\n </div>\n <div class=\"govuk-button--group\" *ngIf=\"!errorMsg\">\n <button type=\"submit\" [disabled]=\"isContinueButtondisabled\" class=\"button pba-payments-19-font pba-payments-20-margin\" (click)=\"saveAndContinue()\">\n <span *ngIf=\"!isPBADropdownSelected\" class=\"white\">Continue</span>\n <span *ngIf=\"isPBADropdownSelected\" class=\"white\">Confirm payment</span>\n </button>\n </div>\n </div>\n<ng-container *ngIf=\"pbaAccountList?.length <= 0 && !errorMsg && isGetPBAAccountSucceed && isCardPaymentSuccess\">\n <div class=\"govuk-width-container\">\n <main class=\"govuk-main-wrapper govuk-main-wrapper--l\" id=\"main-content\" role=\"main\">\n <div class=\"govuk-grid-row\">\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 <h2 class=\"warning-heading-m\">You don\u2019t have a registered PBA.</h2>\n </strong>\n </div>\n <div class=\"pba-payments-margin-top-10\">\n <h2 class=\"heading-medium\">Pay by credit or debit card</h2>\n <p class=\"govuk-body pba-payments-19-font\">\n We recommend that you apply to get a new PBA to pay for fees.\n </p>\n <p class=\"govuk-bod ypba-payments-19-font\">\n you can also pay by credit or debit card if you need to pay now\n </p>\n <p class=\"govuk-body\">\n <button type=\"submit\" (click)=\"cardPayment()\" class=\"button pba-payments-19-font pba-payments-20-margin\">\n Pay by card\n </button>\n </p>\n \n </div>\n <div class=\"pba-payments-margin-top-10\">\n <h2 class=\"heading-medium\">Register an existing PBA with MyHMCTS</h2>\n <p class=\"govuk-body pba-payments-19-font\">\n You may find it easier in future to pay by PBA, your organisation administrator will need to \n email <a href=\"mailto: MyHMCTSsupport@justice.gov.uk\">MyHMCTSsupport@justice.gov.uk</a> to ask for your PBA to be registered with your \n MyHMCTS account. You should include your organisation name and PBA number.\n </p>\n <p class=\"govuk-body pba-payments-19-font\">\n It can then take up to 3 days for your account to be updated. You\u2019ll need to start your claim \n again to pay the fee.\n </p>\n </div>\n <div class=\"pba-payments-margin-top-10\">\n <h2 class=\"heading-medium\">Apply to get a new PBA </h2>\n <p class=\"govuk-body pba-payments-19-font\">\n You\u2019ll need to provide details for you and your organisation, including the required credit\n limit for your account.\n </p>\n <p class=\"govuk-body pba-payments-19-font\">\n Once your account has been registered, you\u2019ll need to start your claim again to pay the fee.\n </p>\n <p class=\"govuk-body pba-payments-19-font\">\n Read more information on <a target=\"_blank\" href=\"https://www.gov.uk/guidance/hmcts-payment-by-account-for-online-services\">registering for PBA</a>.\n </p>\n </div>\n </div>\n </main>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"isInSufficiantFund && isCardPaymentSuccess\">\n <div class=\"govuk-width-container\">\n <main class=\"govuk-main-wrapper govuk-main-wrapper--l\" id=\"main-content\" role=\"main\">\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-error-summary pba-payments-error-box--size\" aria-labelledby=\"error-summary-title\">\n <h2 class=\"govuk-error-summary__title govuk-error-summary__title-custom pba-payments-24-font\" id=\"error-summary-title\">\n There is a problem\n </h2>\n <div class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li class=\"pba-payments-error-16-font\">\n You don't have enough funds in your PBA account to pay for this fee.\n </li>\n <li class=\"pba-payments-error-16-font\">\n If you have already topped up your PBA account, wait up to 24 hours for the new balance to become available.\n </li>\n </ul>\n </div>\n </div>\n <div class=\"pba-payments-margin-top-10\">\n <h2 class=\"heading-medium\">Should you need any further advice</h2>\n <p class=\"govuk-body pba-payments-19-font\">\n Email <a href=\"mailto:MiddleOffice.DDservices@liberata.com\">MiddleOffice.DDservices@liberata.com</a> or call <a href=\"tel:01633-652-125\">01633 652 125</a> (option 3) to try to fix the issue.\n </p>\n <p class=\"govuk-body pba-payments-19-font\">\n you can also pay by credit or debit card.\n </p>\n <div class=\"govuk-button--group\">\n <button type=\"button\" class=\"button pba-payments-19-font govuk-button--secondary pba-payments-margin-10\" (click)=\"gotoCasetransationPage()\">\n View Service Request\n </button>\n <button type=\"submit\" class=\"button pba-payments-19-font pba-payments-20-margin\" (click)=\"cardPayment()\">\n Pay by card\n </button>\n </div>\n </div>\n </div>\n </main>\n </div>\n</ng-container>\n<ng-container *ngIf=\"isPBAAccountNotExist && isCardPaymentSuccess\">\n <div class=\"govuk-width-container\">\n <main class=\"govuk-main-wrapper govuk-main-wrapper--l\" id=\"main-content\" role=\"main\">\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-error-summary pba-payments-error-box--size\" aria-labelledby=\"error-summary-title\">\n <h2 class=\"govuk-error-summary__title govuk-error-summary__title-custom pba-payments-24-font\" id=\"error-summary-title\">\n There is a problem\n </h2>\n <div class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li class=\"pba-payments-error-16-font\">\n Your PBA account ({{selectedPbaAccount}}) no longer exists.\n </li>\n </ul>\n </div>\n </div>\n <div class=\"pba-payments-margin-top-10\">\n <h2 class=\"heading-medium\">Should you need any further advice</h2>\n <p class=\"govuk-body pba-payments-19-font govuk-body-width\">\n Email <a href=\"mailto:MiddleOffice.DDservices@liberata.com\">MiddleOffice.DDservices@liberata.com</a> or call <a href=\"tel:01633-652-125\">01633 652 125</a> (option 3) to try to fix the issue.\n </p>\n <p class=\"govuk-body pba-payments-19-font\">\n you can also pay by credit or debit card.\n </p>\n <div class=\"govuk-button--group\">\n <button type=\"button\" class=\"button pba-payments-19-font govuk-button--secondary pba-payments-margin-10\" (click)=\"gotoCasetransationPage()\">\n View Service Request\n </button>\n <button type=\"submit\" class=\"button pba-payments-19-font pba-payments-20-margin\" (click)=\"cardPayment()\">\n Pay by card\n </button>\n </div>\n </div>\n </div>\n </main>\n </div>\n</ng-container>\n<ng-container *ngIf=\"isPBAAccountHold && isCardPaymentSuccess\">\n <div class=\"govuk-width-container\">\n <main class=\"govuk-main-wrapper govuk-main-wrapper--l\" id=\"main-content\" role=\"main\">\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-error-summary pba-payments-error-box--size\" aria-labelledby=\"error-summary-title\">\n <h2 class=\"govuk-error-summary__title govuk-error-summary__title-custom pba-payments-24-font\" id=\"error-summary-title\">\n There is a problem\n </h2>\n <div class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li class=\"pba-payments-error-16-font\">\n Your PBA account ({{selectedPbaAccount}}) has been put on hold.\n </li>\n </ul>\n </div>\n </div>\n <div class=\"pba-payments-margin-top-10\">\n <h2 class=\"heading-medium\">Should you need any further advice</h2>\n <p class=\"govuk-body pba-payments-19-font govuk-body-width\">\n Email <a href=\"mailto:MiddleOffice.DDservices@liberata.com\">MiddleOffice.DDservices@liberata.com</a> or call <a href=\"tel:01633-652-125\">01633 652 125</a> (option 3) to try to fix the issue.\n </p>\n <p class=\"govuk-body pba-payments-19-font\">\n you can also pay by credit or debit card.\n </p>\n <div class=\"govuk-button--group\">\n <button type=\"button\" class=\"button pba-payments-19-font govuk-button--secondary pba-payments-margin-10\" (click)=\"gotoCasetransationPage()\">\n View Service Request\n </button>\n <button type=\"submit\" class=\"button pba-payments-19-font pba-payments-20-margin\" (click)=\"cardPayment()\">\n Pay by card\n </button>\n </div>\n </div>\n </div>\n </main>\n </div>\n</ng-container>\n<ng-container *ngIf=\"isPBAServerError && isCardPaymentSuccess\">\n <div class=\"govuk-width-container\">\n <main class=\"govuk-main-wrapper govuk-main-wrapper--l\" id=\"main-content\" role=\"main\">\n <div class=\"govuk-grid-row\">\n <div class=\"pba-payments-margin-top-10\">\n <h2 class=\"pba-payments-heading-lg\">Sorry, there is a problem with the service</h2>\n <p class=\"govuk-body pba-payments-19-font\">\n Try again later.\n </p>\n <p class=\"govuk-body pba-payments-19-font\">\n you can also pay by credit or debit card.\n </p>\n <div class=\"govuk-button--group\">\n <button type=\"button\" class=\"button pba-payments-19-font govuk-button--secondary pba-payments-margin-10\" (click)=\"gotoCasetransationPage()\">\n View Service Request\n </button>\n <button type=\"submit\" class=\"button pba-payments-19-font pba-payments-20-margin\" (click)=\"cardPayment()\">\n Pay by card\n </button>\n </div>\n </div>\n </div>\n </main>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"isPBAAccountPaymentSuccess && isCardPaymentSuccess\">\n <div class=\"govuk-width-container\">\n <main class=\"govuk-main-wrapper govuk-main-wrapper--l\" id=\"main-content\" role=\"main\">\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-panel govuk-panel--confirmation pba-payments--confirmation\">\n <h1 class=\"govuk-panel__title pba-payments--title white\">\n Payment successful\n </h1>\n <div class=\"govuk-panel__body pba-payments__body white\">\n Your payment reference is <br><strong class=\"white\">{{pbaAccountrPaymentResult.payment_reference}}</strong>\n </div>\n </div>\n <p class=\"govuk-body pba-payments-19-font\">\n <a href=\"javascript:void(0)\" (click)=\"gotoCasetransationPage()\">View service requests</a>\n </p>\n </div>\n </main>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"!isCardPaymentSuccess\">\n <div class=\"govuk-width-container\">\n <main class=\"govuk-main-wrapper govuk-main-wrapper--l\" id=\"main-content\" role=\"main\">\n <div class=\"govuk-grid-row\">\n <div class=\"pba-payments-margin-top-10\">\n <h2 class=\"pba-payments-heading-lg\">Sorry, there is a problem with the service</h2>\n <p class=\"govuk-body pba-payments-19-font\">\n Try again later.\n </p>\n <!-- <p class=\"govuk-body pba-payments-19-font\">\n you can also <a href=\"javascript:void(0)\" (click)=\"cardPayment()\" >pay by credit or debit card</a>.\n </p> -->\n <p class=\"govuk-body pba-payments-19-font\">\n <a href=\"javascript:void(0)\" (click)=\"gotoCasetransationPage()\">View service requests</a>\n </p>\n </div>\n </div>\n </main>\n </div>\n</ng-container>\n</ng-container>\n\n\n\n", styles: [".pba-payments-govuk__label{font-weight:700;line-height:1.31578947}.pba-payments-19-font{font-size:19px}.pba-payments-font-bld{font-weight:700}.pba-payments-16-font{font-size:16px}.pba-payments-24-font{font-size:24px}.pba-payments-20-margin{margin-bottom:20px}.pba-payments-select-box--size{width:40%}.pba-payments-error-box--size{width:80%}.pba-payments-ref-box--size{width:60%}.pba-payments-error-16-font{font-size:16px;line-height:34px}.pba-payments-margin-10{margin-right:10px}.pba-payments-margin-top-10{margin-top:15px}.pba-payments-heading-lg{font-size:40px;font-weight:700;line-height:72px}.pba-payments--confirmation{background:#00703c!important}.pba-payments__body{font-size:36px!important}.pba-payments--title{font-size:48px!important}.warning-heading-m{font-size:29px;font-weight:700}.pba-payment-width{width:75%}.margin-top-10-px{margin-top:10px}.govuk-error-summary:focus{outline:3px solid #ffdd00}.govuk-body-width{width:750px}.white{color:#fff}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "pipe", type: i2.CurrencyPipe, name: "currency" }] });
|
|
141
|
+
}
|
|
142
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: PbaPaymentComponent, decorators: [{
|
|
143
|
+
type: Component,
|
|
144
|
+
args: [{ selector: 'ccpay-pba-payment', template: "<ng-container *ngIf=\"viewStatus === 'pba-payment'\">\n\n <div class=\"govuk-breadcrumbs\" *ngIf=\"!errorMsg && !isPBAAccountPaymentSuccess && !isCardPaymentSuccess\">\n <ol class=\"govuk-breadcrumbs__list\">\n <li class=\"govuk-breadcrumbs__list-item\">\n <a href=\"javascript:void(0)\" (click)=\"gotoCasetransationPage()\" class=\"govuk-back-link pba-payments-16-font\">Back</a>\n </li>\n </ol>\n </div>\n <div class=\"pba-payment\" *ngIf=\"(pbaAccountList?.length > 0 || errorMsg) && !isInSufficiantFund && !isPBAAccountNotExist && !isPBAServerError && !isPBAAccountHold && !isPBAAccountPaymentSuccess && isCardPaymentSuccess\">\n \n <div *ngIf=\"errorMsg\" class=\"govuk-error-summary pba-payments-error-box--size\" aria-labelledby=\"error-summary-title\" >\n <h2 class=\"govuk-error-summary__title govuk-error-summary__title-custom pba-payments-24-font\" id=\"error-summary-title\">\n There is a problem\n </h2>\n <div class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li class=\"pba-payments-error-16-font\">\n Your PBA account cannot be found.\n </li>\n <li class=\"pba-payments-error-16-font\">\n If you know your organisation has a PBA, try again.\n </li>\n <li class=\"pba-payments-error-16-font\">\n You can also pay by credit or debit card.\n </li>\n </ul>\n </div>\n </div>\n <!-- <h1 class=\"heading-medium margin-top-10-px\">Pay fee using Payment by Account (PBA)</h1> -->\n <div class=\"govuk-form-group margin-top-10-px\">\n <label class=\"govuk-label pba-payments-govuk__label pba-payments-19-font\">\n Amount to pay \n </label>\n <span class=\"pba-payments-19-font\">{{pbaPayOrderRef.orderTotalFees | currency :'GBP':'symbol':'1.2-2'}}</span>\n </div>\n\n <div class=\"govuk-form-group\" *ngIf=\"!errorMsg\">\n <fieldset class=\"govuk-fieldset\" aria-describedby=\"contact-hint\">\n <div class=\"govuk-radios\" data-module=\"govuk-radios\">\n <div class=\"govuk-radios__item\">\n <input class=\"govuk-radios__input\" id=\"pbaAccount\" name=\"paymentSelection\" type=\"radio\" value=\"PBA\" (click)=\"selectPaymentMethod('PBA')\" data-aria-controls=\"pba-account\">\n <label class=\"govuk-label govuk-radios__label pba-payments-19-font pba-payments-font-bld\" for=\"pbaAccount\">\n Pay fee using Payment by Account (PBA)\n </label>\n </div>\n <div class=\"govuk-radios__conditional\" id=\"conditional-contact\" *ngIf=\"isPbaAccountSelected\">\n <div class=\"govuk-form-group pba-payments-select-box--size\">\n <label class=\"govuk-label pba-payments-govuk__label pba-payments-19-font\" for=\"pbaAccountNumber\">\n Select a PBA \n </label>\n <select class=\"form-control short-input\" id=\"pbaAccountNumber\" (change)=\"selectpbaaccount($event)\">\n <option value=\"\" selected='selected'>Select option</option>\n <option *ngFor=\"let pbaAccount of pbaAccountList;\" value=\"{{pbaAccount}}\">{{pbaAccount}}</option>\n </select>\n </div>\n <div class=\"govuk-form-group\" *ngIf=\"!errorMsg && selectedPbaAccount\">\n <label class=\"govuk-label pba-payments-govuk__label pba-payments-24-font\" for=\"pbaAccountNumber\">\n Enter a reference for your PBA account statements \n </label>\n <div id=\"event-name-hint\" class=\"govuk-hint pba-payments-19-font pba-payment-width\">\n This should be your own unique reference to identify the case. It will appear on your statements.\n </div>\n <input class=\"govuk-input pba-payments-ref-box--size pba-payments-19-font\" id=\"pbaAccountRef\" (change)=\"selectpbaaccount($event)\" name=\"pbaAccountRef\" type=\"text\" aria-describedby=\"pbaAccountRef-hint\">\n </div>\n \n </div>\n <div class=\"govuk-radios__item\">\n <input class=\"govuk-radios__input\" id=\"cardPayment\" name=\"paymentSelection\" type=\"radio\" value=\"card\" (click)=\"selectPaymentMethod('CARD')\" data-aria-controls=\"card-payment\">\n <label class=\"govuk-label govuk-radios__label pba-payments-19-font pba-payments-font-bld\" for=\"cardPayment\">\n Pay by credit or debit card\n </label>\n </div>\n </div>\n </fieldset>\n </div>\n\n <div class=\"govuk-button--group\" *ngIf=\"errorMsg\">\n <button type=\"button\" class=\"button pba-payments-19-font govuk-button--secondary pba-payments-margin-10\" (click)=\"gotoCasetransationPage()\">\n View Service Request\n </button>\n <button type=\"submit\" class=\"button pba-payments-19-font pba-payments-20-margin\" (click)=\"cardPayment()\">\n Pay by card\n </button>\n </div>\n <div class=\"govuk-button--group\" *ngIf=\"!errorMsg\">\n <button type=\"submit\" [disabled]=\"isContinueButtondisabled\" class=\"button pba-payments-19-font pba-payments-20-margin\" (click)=\"saveAndContinue()\">\n <span *ngIf=\"!isPBADropdownSelected\" class=\"white\">Continue</span>\n <span *ngIf=\"isPBADropdownSelected\" class=\"white\">Confirm payment</span>\n </button>\n </div>\n </div>\n<ng-container *ngIf=\"pbaAccountList?.length <= 0 && !errorMsg && isGetPBAAccountSucceed && isCardPaymentSuccess\">\n <div class=\"govuk-width-container\">\n <main class=\"govuk-main-wrapper govuk-main-wrapper--l\" id=\"main-content\" role=\"main\">\n <div class=\"govuk-grid-row\">\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 <h2 class=\"warning-heading-m\">You don\u2019t have a registered PBA.</h2>\n </strong>\n </div>\n <div class=\"pba-payments-margin-top-10\">\n <h2 class=\"heading-medium\">Pay by credit or debit card</h2>\n <p class=\"govuk-body pba-payments-19-font\">\n We recommend that you apply to get a new PBA to pay for fees.\n </p>\n <p class=\"govuk-bod ypba-payments-19-font\">\n you can also pay by credit or debit card if you need to pay now\n </p>\n <p class=\"govuk-body\">\n <button type=\"submit\" (click)=\"cardPayment()\" class=\"button pba-payments-19-font pba-payments-20-margin\">\n Pay by card\n </button>\n </p>\n \n </div>\n <div class=\"pba-payments-margin-top-10\">\n <h2 class=\"heading-medium\">Register an existing PBA with MyHMCTS</h2>\n <p class=\"govuk-body pba-payments-19-font\">\n You may find it easier in future to pay by PBA, your organisation administrator will need to \n email <a href=\"mailto: MyHMCTSsupport@justice.gov.uk\">MyHMCTSsupport@justice.gov.uk</a> to ask for your PBA to be registered with your \n MyHMCTS account. You should include your organisation name and PBA number.\n </p>\n <p class=\"govuk-body pba-payments-19-font\">\n It can then take up to 3 days for your account to be updated. You\u2019ll need to start your claim \n again to pay the fee.\n </p>\n </div>\n <div class=\"pba-payments-margin-top-10\">\n <h2 class=\"heading-medium\">Apply to get a new PBA </h2>\n <p class=\"govuk-body pba-payments-19-font\">\n You\u2019ll need to provide details for you and your organisation, including the required credit\n limit for your account.\n </p>\n <p class=\"govuk-body pba-payments-19-font\">\n Once your account has been registered, you\u2019ll need to start your claim again to pay the fee.\n </p>\n <p class=\"govuk-body pba-payments-19-font\">\n Read more information on <a target=\"_blank\" href=\"https://www.gov.uk/guidance/hmcts-payment-by-account-for-online-services\">registering for PBA</a>.\n </p>\n </div>\n </div>\n </main>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"isInSufficiantFund && isCardPaymentSuccess\">\n <div class=\"govuk-width-container\">\n <main class=\"govuk-main-wrapper govuk-main-wrapper--l\" id=\"main-content\" role=\"main\">\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-error-summary pba-payments-error-box--size\" aria-labelledby=\"error-summary-title\">\n <h2 class=\"govuk-error-summary__title govuk-error-summary__title-custom pba-payments-24-font\" id=\"error-summary-title\">\n There is a problem\n </h2>\n <div class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li class=\"pba-payments-error-16-font\">\n You don't have enough funds in your PBA account to pay for this fee.\n </li>\n <li class=\"pba-payments-error-16-font\">\n If you have already topped up your PBA account, wait up to 24 hours for the new balance to become available.\n </li>\n </ul>\n </div>\n </div>\n <div class=\"pba-payments-margin-top-10\">\n <h2 class=\"heading-medium\">Should you need any further advice</h2>\n <p class=\"govuk-body pba-payments-19-font\">\n Email <a href=\"mailto:MiddleOffice.DDservices@liberata.com\">MiddleOffice.DDservices@liberata.com</a> or call <a href=\"tel:01633-652-125\">01633 652 125</a> (option 3) to try to fix the issue.\n </p>\n <p class=\"govuk-body pba-payments-19-font\">\n you can also pay by credit or debit card.\n </p>\n <div class=\"govuk-button--group\">\n <button type=\"button\" class=\"button pba-payments-19-font govuk-button--secondary pba-payments-margin-10\" (click)=\"gotoCasetransationPage()\">\n View Service Request\n </button>\n <button type=\"submit\" class=\"button pba-payments-19-font pba-payments-20-margin\" (click)=\"cardPayment()\">\n Pay by card\n </button>\n </div>\n </div>\n </div>\n </main>\n </div>\n</ng-container>\n<ng-container *ngIf=\"isPBAAccountNotExist && isCardPaymentSuccess\">\n <div class=\"govuk-width-container\">\n <main class=\"govuk-main-wrapper govuk-main-wrapper--l\" id=\"main-content\" role=\"main\">\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-error-summary pba-payments-error-box--size\" aria-labelledby=\"error-summary-title\">\n <h2 class=\"govuk-error-summary__title govuk-error-summary__title-custom pba-payments-24-font\" id=\"error-summary-title\">\n There is a problem\n </h2>\n <div class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li class=\"pba-payments-error-16-font\">\n Your PBA account ({{selectedPbaAccount}}) no longer exists.\n </li>\n </ul>\n </div>\n </div>\n <div class=\"pba-payments-margin-top-10\">\n <h2 class=\"heading-medium\">Should you need any further advice</h2>\n <p class=\"govuk-body pba-payments-19-font govuk-body-width\">\n Email <a href=\"mailto:MiddleOffice.DDservices@liberata.com\">MiddleOffice.DDservices@liberata.com</a> or call <a href=\"tel:01633-652-125\">01633 652 125</a> (option 3) to try to fix the issue.\n </p>\n <p class=\"govuk-body pba-payments-19-font\">\n you can also pay by credit or debit card.\n </p>\n <div class=\"govuk-button--group\">\n <button type=\"button\" class=\"button pba-payments-19-font govuk-button--secondary pba-payments-margin-10\" (click)=\"gotoCasetransationPage()\">\n View Service Request\n </button>\n <button type=\"submit\" class=\"button pba-payments-19-font pba-payments-20-margin\" (click)=\"cardPayment()\">\n Pay by card\n </button>\n </div>\n </div>\n </div>\n </main>\n </div>\n</ng-container>\n<ng-container *ngIf=\"isPBAAccountHold && isCardPaymentSuccess\">\n <div class=\"govuk-width-container\">\n <main class=\"govuk-main-wrapper govuk-main-wrapper--l\" id=\"main-content\" role=\"main\">\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-error-summary pba-payments-error-box--size\" aria-labelledby=\"error-summary-title\">\n <h2 class=\"govuk-error-summary__title govuk-error-summary__title-custom pba-payments-24-font\" id=\"error-summary-title\">\n There is a problem\n </h2>\n <div class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li class=\"pba-payments-error-16-font\">\n Your PBA account ({{selectedPbaAccount}}) has been put on hold.\n </li>\n </ul>\n </div>\n </div>\n <div class=\"pba-payments-margin-top-10\">\n <h2 class=\"heading-medium\">Should you need any further advice</h2>\n <p class=\"govuk-body pba-payments-19-font govuk-body-width\">\n Email <a href=\"mailto:MiddleOffice.DDservices@liberata.com\">MiddleOffice.DDservices@liberata.com</a> or call <a href=\"tel:01633-652-125\">01633 652 125</a> (option 3) to try to fix the issue.\n </p>\n <p class=\"govuk-body pba-payments-19-font\">\n you can also pay by credit or debit card.\n </p>\n <div class=\"govuk-button--group\">\n <button type=\"button\" class=\"button pba-payments-19-font govuk-button--secondary pba-payments-margin-10\" (click)=\"gotoCasetransationPage()\">\n View Service Request\n </button>\n <button type=\"submit\" class=\"button pba-payments-19-font pba-payments-20-margin\" (click)=\"cardPayment()\">\n Pay by card\n </button>\n </div>\n </div>\n </div>\n </main>\n </div>\n</ng-container>\n<ng-container *ngIf=\"isPBAServerError && isCardPaymentSuccess\">\n <div class=\"govuk-width-container\">\n <main class=\"govuk-main-wrapper govuk-main-wrapper--l\" id=\"main-content\" role=\"main\">\n <div class=\"govuk-grid-row\">\n <div class=\"pba-payments-margin-top-10\">\n <h2 class=\"pba-payments-heading-lg\">Sorry, there is a problem with the service</h2>\n <p class=\"govuk-body pba-payments-19-font\">\n Try again later.\n </p>\n <p class=\"govuk-body pba-payments-19-font\">\n you can also pay by credit or debit card.\n </p>\n <div class=\"govuk-button--group\">\n <button type=\"button\" class=\"button pba-payments-19-font govuk-button--secondary pba-payments-margin-10\" (click)=\"gotoCasetransationPage()\">\n View Service Request\n </button>\n <button type=\"submit\" class=\"button pba-payments-19-font pba-payments-20-margin\" (click)=\"cardPayment()\">\n Pay by card\n </button>\n </div>\n </div>\n </div>\n </main>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"isPBAAccountPaymentSuccess && isCardPaymentSuccess\">\n <div class=\"govuk-width-container\">\n <main class=\"govuk-main-wrapper govuk-main-wrapper--l\" id=\"main-content\" role=\"main\">\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-panel govuk-panel--confirmation pba-payments--confirmation\">\n <h1 class=\"govuk-panel__title pba-payments--title white\">\n Payment successful\n </h1>\n <div class=\"govuk-panel__body pba-payments__body white\">\n Your payment reference is <br><strong class=\"white\">{{pbaAccountrPaymentResult.payment_reference}}</strong>\n </div>\n </div>\n <p class=\"govuk-body pba-payments-19-font\">\n <a href=\"javascript:void(0)\" (click)=\"gotoCasetransationPage()\">View service requests</a>\n </p>\n </div>\n </main>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"!isCardPaymentSuccess\">\n <div class=\"govuk-width-container\">\n <main class=\"govuk-main-wrapper govuk-main-wrapper--l\" id=\"main-content\" role=\"main\">\n <div class=\"govuk-grid-row\">\n <div class=\"pba-payments-margin-top-10\">\n <h2 class=\"pba-payments-heading-lg\">Sorry, there is a problem with the service</h2>\n <p class=\"govuk-body pba-payments-19-font\">\n Try again later.\n </p>\n <!-- <p class=\"govuk-body pba-payments-19-font\">\n you can also <a href=\"javascript:void(0)\" (click)=\"cardPayment()\" >pay by credit or debit card</a>.\n </p> -->\n <p class=\"govuk-body pba-payments-19-font\">\n <a href=\"javascript:void(0)\" (click)=\"gotoCasetransationPage()\">View service requests</a>\n </p>\n </div>\n </div>\n </main>\n </div>\n</ng-container>\n</ng-container>\n\n\n\n", styles: [".pba-payments-govuk__label{font-weight:700;line-height:1.31578947}.pba-payments-19-font{font-size:19px}.pba-payments-font-bld{font-weight:700}.pba-payments-16-font{font-size:16px}.pba-payments-24-font{font-size:24px}.pba-payments-20-margin{margin-bottom:20px}.pba-payments-select-box--size{width:40%}.pba-payments-error-box--size{width:80%}.pba-payments-ref-box--size{width:60%}.pba-payments-error-16-font{font-size:16px;line-height:34px}.pba-payments-margin-10{margin-right:10px}.pba-payments-margin-top-10{margin-top:15px}.pba-payments-heading-lg{font-size:40px;font-weight:700;line-height:72px}.pba-payments--confirmation{background:#00703c!important}.pba-payments__body{font-size:36px!important}.pba-payments--title{font-size:48px!important}.warning-heading-m{font-size:29px;font-weight:700}.pba-payment-width{width:75%}.margin-top-10-px{margin-top:10px}.govuk-error-summary:focus{outline:3px solid #ffdd00}.govuk-body-width{width:750px}.white{color:#fff}\n"] }]
|
|
145
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
146
|
+
type: Inject,
|
|
147
|
+
args: ['PAYMENT_LIB']
|
|
148
|
+
}] }, { type: i1.PaymentViewService }]; }, propDecorators: { pbaPayOrderRef: [{
|
|
149
|
+
type: Input
|
|
150
|
+
}] } });
|
|
151
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGJhLXBheW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGF5bWVudC1saWIvc3JjL2xpYi9jb21wb25lbnRzL3BiYS1wYXltZW50L3BiYS1wYXltZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BheW1lbnQtbGliL3NyYy9saWIvY29tcG9uZW50cy9wYmEtcGF5bWVudC9wYmEtcGF5bWVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFFdEYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDekYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNENBQTRDLENBQUM7Ozs7O0FBRXZGLE1BQU0sY0FBYyxHQUFHLHVCQUF1QixDQUFDO0FBTy9DLE1BQU0sT0FBTyxtQkFBbUI7SUFxQmE7SUFDakM7SUFyQkQsY0FBYyxDQUFNO0lBQzdCLFVBQVUsQ0FBUztJQUNuQixjQUFjLENBQVc7SUFDekIsZ0JBQWdCLEdBQVksS0FBSyxDQUFDO0lBQ2xDLFFBQVEsQ0FBTTtJQUNkLG9CQUFvQixHQUFZLElBQUksQ0FBQztJQUNyQyxrQkFBa0IsR0FBWSxLQUFLLENBQUM7SUFDcEMsb0JBQW9CLEdBQVksS0FBSyxDQUFDO0lBQ3RDLGdCQUFnQixHQUFZLEtBQUssQ0FBQztJQUNsQyxzQkFBc0IsR0FBWSxLQUFLLENBQUM7SUFDeEMsa0JBQWtCLEdBQVcsRUFBRSxDQUFDO0lBQ2hDLGFBQWEsR0FBVyxFQUFFLENBQUM7SUFDM0Isb0JBQW9CLEdBQVksS0FBSyxDQUFDO0lBQ3RDLHFCQUFxQixHQUFZLEtBQUssQ0FB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QUFhOzJGQXJCdEIsbUJBQW1CLHVHQ2JoQyx1b2lCQTRVQTs7MkZEL1RhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxtQkFBbUI7OzBCQXlCaEIsTUFBTTsyQkFBQyxhQUFhOzZFQXBCeEIsY0FBYztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQYXltZW50Vmlld1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wYXltZW50LXZpZXcvcGF5bWVudC12aWV3LnNlcnZpY2UnO1xuaW1wb3J0IHR5cGUgeyBQYXltZW50TGliQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vcGF5bWVudC1saWIuY29tcG9uZW50JztcbmltcG9ydCB7IElzZXJ2aWNlUmVxdWVzdENhcmRQYXltZW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9Jc2VydmljZVJlcXVlc3RDYXJkUGF5bWVudCc7XG5pbXBvcnQgeyBJc2VydmljZVJlcXVlc3RQYmFQYXltZW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9Jc2VydmljZVJlcXVlc3RQYmFQYXltZW50JztcblxuY29uc3QgQlNfRU5BQkxFX0ZMQUcgPSAnYnVsay1zY2FuLWVuYWJsaW5nLWZlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NwYXktcGJhLXBheW1lbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGJhLXBheW1lbnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wYmEtcGF5bWVudC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFBiYVBheW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBwYmFQYXlPcmRlclJlZjogYW55O1xuICB2aWV3U3RhdHVzOiBzdHJpbmc7XG4gIHBiYUFjY291bnRMaXN0OiBzdHJpbmdbXTtcbiAgaXNQQkFBY2NvdW50SG9sZDogYm9vbGVhbiA9IGZhbHNlO1xuICBlcnJvck1zZzogYW55O1xuICBpc0NhcmRQYXltZW50U3VjY2VzczogYm9vbGVhbiA9IHRydWU7XG4gIGlzSW5TdWZmaWNpYW50RnVuZDogYm9vbGVhbiA9IGZhbHNlO1xuICBpc1BCQUFjY291bnROb3RFeGlzdDogYm9vbGVhbiA9IGZhbHNlO1xuICBpc1BCQVNlcnZlckVycm9yOiBib29sZWFuID0gZmFsc2U7XG4gIGlzR2V0UEJBQWNjb3VudFN1Y2NlZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgc2VsZWN0ZWRQYmFBY2NvdW50OiBzdHJpbmcgPSAnJztcbiAgcGJhQWNjb3VudFJlZjogc3RyaW5nID0gJyc7XG4gIGlzUGJhQWNjb3VudFNlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XG4gIGlzQ2FyZFBheW1lbnRTZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBpc1BCQURyb3Bkb3duU2VsZWN0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNDb250aW51ZUJ1dHRvbmRpc2FibGVkOiBib29sZWFuID0gdHJ1ZTtcbiAgaXNQQkFBY2NvdW50UGF5bWVudFN1Y2Nlc3M6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcGJhQWNjb3VudHJQYXltZW50UmVzdWx0OiBhbnk7XG4gIG9yZ05hbWU6IHN0cmluZyA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoJ1BBWU1FTlRfTElCJykgcHJpdmF0ZSBwYXltZW50TGliQ29tcG9uZW50OiBQYXltZW50TGliQ29tcG9uZW50LFxuICAgIHByaXZhdGUgcGF5bWVudFZpZXdTZXJ2aWNlOiBQYXltZW50Vmlld1NlcnZpY2UpIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMucGJhUGF5T3JkZXJSZWYgPSB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQucGJhUGF5T3JkZXJSZWY7XG4gICAgdGhpcy52aWV3U3RhdHVzID0gJ3BiYS1wYXltZW50JztcbiAgICB0aGlzLmVycm9yTXNnID0gbnVsbDtcbiAgICB0aGlzLnBheW1lbnRWaWV3U2VydmljZS5nZXRQQkFhY2NvdW50RGV0YWlscygpXG4gICAgICAuc3Vic2NyaWJlKFxuICAgICAgICByZXN1bHQgPT4ge1xuICAgICAgICAgIHRoaXMuaXNHZXRQQkFBY2NvdW50U3VjY2VlZCA9IHRydWU7XG4gICAgICAgICAgdGhpcy5vcmdOYW1lID0gcmVzdWx0Lm9yZ2FuaXNhdGlvbkVudGl0eVJlc3BvbnNlLm5hbWU7XG4gICAgICAgICAgdGhpcy5wYmFBY2NvdW50TGlzdCA9IHJlc3VsdC5vcmdhbmlzYXRpb25FbnRpdHlSZXNwb25zZS5wYXltZW50QWNjb3VudDtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3IgPT4ge1xuICAgICAgICAgIHRoaXMuZXJyb3JNc2cgPSBlcnJvcjtcbiAgICAgICAgfVxuICAgICAgKTtcblxuICB9XG4gIHNlbGVjdHBiYWFjY291bnQoYXJncykge1xuICAgIGlmIChhcmdzLmN1cnJlbnRUYXJnZXQuaWQgPT09ICdwYmFBY2NvdW50TnVtYmVyJykge1xuICAgICAgdGhpcy5pc1BCQURyb3Bkb3duU2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgdGhpcy5zZWxlY3RlZFBiYUFjY291bnQgPSBhcmdzLnRhcmdldC52YWx1ZTtcbiAgICB9XG4gICAgaWYgKGFyZ3MuY3VycmVudFRhcmdldC5pZCA9PT0gJ3BiYUFjY291bnRSZWYnKSB7XG4gICAgICB0aGlzLnBiYUFjY291bnRSZWYgPSBhcmdzLnRhcmdldC52YWx1ZTtcbiAgICB9XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRQYmFBY2NvdW50ICE9PSAnJyAmJiB0aGlzLnBiYUFjY291bnRSZWYgIT09IFwiXCIpIHtcbiAgICAgIHRoaXMuaXNDb250aW51ZUJ1dHRvbmRpc2FibGVkID0gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaXNDb250aW51ZUJ1dHRvbmRpc2FibGVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBzYXZlQW5kQ29udGludWUoKSB7XG5cbiAgICBpZiAodGhpcy5pc1BiYUFjY291bnRTZWxlY3RlZCkge1xuICAgICAgdGhpcy5pc0luU3VmZmljaWFudEZ1bmQgPSBmYWxzZTtcbiAgICAgIHRoaXMuaXNQQkFBY2NvdW50Tm90RXhpc3QgPSBmYWxzZTtcbiAgICAgIHRoaXMuaXNQQkFTZXJ2ZXJFcnJvciA9IGZhbHNlO1xuICAgICAgdGhpcy5pc1BCQUFjY291bnRQYXltZW50U3VjY2VzcyA9IGZhbHNlO1xuICAgICAgdGhpcy5pc0NvbnRpbnVlQnV0dG9uZGlzYWJsZWQgPSB0cnVlO1xuICAgICAgaWYgKHRoaXMucGJhQWNjb3VudExpc3QuaW5kZXhPZih0aGlzLnNlbGVjdGVkUGJhQWNjb3VudCkgIT09IC0xKSB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3RCb2R5ID0gbmV3IElzZXJ2aWNlUmVxdWVzdFBiYVBheW1lbnQoXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZFBiYUFjY291bnQsIHRoaXMucGJhUGF5T3JkZXJSZWYub3JkZXJUb3RhbEZlZXMsIHRoaXMucGJhQWNjb3VudFJlZiwgdGhpcy5vcmdOYW1lKTtcblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICB0aGlzLnBheW1lbnRWaWV3U2VydmljZS5wb3N0UEJBYWNjb3VudFBheW1lbnQodGhpcy5wYmFQYXlPcmRlclJlZi5vcmRlclJlZklkLCByZXF1ZXN0Qm9keSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgIHIgPT4ge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICB0aGlzLnBiYUFjY291bnRyUGF5bWVudFJlc3VsdCA9IEpTT04ucGFyc2Uocik7XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgICAgdGhpcy5wYmFBY2NvdW50clBheW1lbnRSZXN1bHQgPSByO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmlzUEJBQWNjb3VudFBheW1lbnRTdWNjZXNzID0gdHJ1ZTtcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgZSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGUuc3RhdHVzID09ICc0MDInKSB7XG4gICAgICAgICAgICAgICAgICB0aGlzLmlzSW5TdWZmaWNpYW50RnVuZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChlLnN0YXR1cyA9PSAnNDEwJykge1xuICAgICAgICAgICAgICAgICAgdGhpcy5pc1BCQUFjY291bnROb3RFeGlzdCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChlLnN0YXR1cyA9PSAnNDEyJykge1xuICAgICAgICAgICAgICAgICAgdGhpcy5pc1BCQUFjY291bnRIb2xkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgdGhpcy5pc1BCQVNlcnZlckVycm9yID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgfSwgNTAwMCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmlzUEJBU2VydmVyRXJyb3IgPSB0cnVlO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy5pc0NhcmRQYXltZW50U2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMuY2FyZFBheW1lbnQoKTtcbiAgICB9XG5cbiAgfVxuICBjYXJkUGF5bWVudCgpIHtcbiAgICB0aGlzLmlzQ2FyZFBheW1lbnRTdWNjZXNzID0gdHJ1ZTtcbiAgICBjb25zdCByZXF1ZXN0Qm9keSA9IG5ldyBJc2VydmljZVJlcXVlc3RDYXJkUGF5bWVudChcbiAgICAgIHRoaXMucGJhUGF5T3JkZXJSZWYub3JkZXJUb3RhbEZlZXMpO1xuICAgIHRoaXMucGF5bWVudFZpZXdTZXJ2aWNlLnBvc3RXYXlzMlBheUNhcmRQYXltZW50KHRoaXMucGJhUGF5T3JkZXJSZWYub3JkZXJSZWZJZCwgcmVxdWVzdEJvZHkpXG4gICAgICAuc3Vic2NyaWJlKFxuICAgICAgICByZXN1bHQgPT4ge1xuICAgICAgICAgIGNvbnN0IHBheW1lbnRVcmwgPSBKU09OLnBhcnNlKHJlc3VsdCkubmV4dF91cmw7XG4gICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBwYXltZW50VXJsO1xuICAgICAgICB9LFxuICAgICAgICBlcnJvciA9PiB7XG4gICAgICAgICAgdGhpcy5pc0NhcmRQYXltZW50U3VjY2VzcyA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICApO1xuXG4gIH1cbiAgc2VsZWN0UGF5bWVudE1ldGhvZCh0eXBlOiBzdHJpbmcpIHtcbiAgICBpZiAodHlwZSA9PT0gJ1BCQScpIHtcbiAgICAgIHRoaXMuaXNQYmFBY2NvdW50U2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgdGhpcy5pc0NhcmRQYXltZW50U2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuaXNQQkFEcm9wZG93blNlbGVjdGVkID0gZmFsc2VcbiAgICAgIHRoaXMuaXNDb250aW51ZUJ1dHRvbmRpc2FibGVkID0gdHJ1ZTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRQYmFBY2NvdW50ID0gbnVsbDtcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdDQVJEJykge1xuICAgICAgdGhpcy5pc1BiYUFjY291bnRTZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5pc0NhcmRQYXltZW50U2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgdGhpcy5pc1BCQURyb3Bkb3duU2VsZWN0ZWQgPSBmYWxzZVxuICAgICAgdGhpcy5pc0NvbnRpbnVlQnV0dG9uZGlzYWJsZWQgPSBmYWxzZTtcbiAgICB9XG4gIH1cbiAgZ290b0Nhc2V0cmFuc2F0aW9uUGFnZSgpIHtcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQudmlld05hbWUgPSAnY2FzZS10cmFuc2FjdGlvbnMnO1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5UQUtFUEFZTUVOVCA9IGZhbHNlO1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5JU0JTRU5BQkxFID0gdHJ1ZTtcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuaXNGcm9tU2VydmljZVJlcXVlc3RQYWdlID0gdHJ1ZTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInZpZXdTdGF0dXMgPT09ICdwYmEtcGF5bWVudCdcIj5cblxuICA8ZGl2IGNsYXNzPVwiZ292dWstYnJlYWRjcnVtYnNcIiAqbmdJZj1cIiFlcnJvck1zZyAmJiAhaXNQQkFBY2NvdW50UGF5bWVudFN1Y2Nlc3MgJiYgIWlzQ2FyZFBheW1lbnRTdWNjZXNzXCI+XG4gICAgPG9sIGNsYXNzPVwiZ292dWstYnJlYWRjcnVtYnNfX2xpc3RcIj5cbiAgICAgIDxsaSBjbGFzcz1cImdvdnVrLWJyZWFkY3J1bWJzX19saXN0LWl0ZW1cIj5cbiAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIChjbGljayk9XCJnb3RvQ2FzZXRyYW5zYXRpb25QYWdlKClcIiBjbGFzcz1cImdvdnVrLWJhY2stbGluayBwYmEtcGF5bWVudHMtMTYtZm9udFwiPkJhY2s8L2E+XG4gICAgICA8L2xpPlxuICAgIDwvb2w+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwicGJhLXBheW1lbnRcIiAqbmdJZj1cIihwYmFBY2NvdW50TGlzdD8ubGVuZ3RoID4gMCB8fCBlcnJvck1zZykgJiYgIWlzSW5TdWZmaWNpYW50RnVuZCAmJiAhaXNQQkFBY2NvdW50Tm90RXhpc3QgJiYgIWlzUEJBU2VydmVyRXJyb3IgJiYgIWlzUEJBQWNjb3VudEhvbGQgJiYgIWlzUEJBQWNjb3VudFBheW1lbnRTdWNjZXNzICYmIGlzQ2FyZFBheW1lbnRTdWNjZXNzXCI+XG4gICAgXG4gICAgPGRpdiAqbmdJZj1cImVycm9yTXNnXCIgY2xhc3M9XCJnb3Z1ay1lcnJvci1zdW1tYXJ5IHBiYS1wYXltZW50cy1lcnJvci1ib3gtLXNpemVcIiBhcmlhLWxhYmVsbGVkYnk9XCJlcnJvci1zdW1tYXJ5LXRpdGxlXCIgPlxuICAgICAgPGgyIGNsYXNzPVwiZ292dWstZXJyb3Itc3VtbWFyeV9fdGl0bGUgZ292dWstZXJyb3Itc3VtbWFyeV9fdGl0bGUtY3VzdG9tIHBiYS1wYXltZW50cy0yNC1mb250XCIgaWQ9XCJlcnJvci1zdW1tYXJ5LXRpdGxlXCI+XG4gICAgICAgIFRoZXJlIGlzIGEgcHJvYmxlbVxuICAgICAgPC9oMj5cbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1lcnJvci1zdW1tYXJ5X19ib2R5XCI+XG4gICAgICAgIDx1bCBjbGFzcz1cImdvdnVrLWxpc3QgZ292dWstZXJyb3Itc3VtbWFyeV9fbGlzdFwiPlxuICAgICAgICAgIDxsaSBjbGFzcz1cInBiYS1wYXltZW50cy1lcnJvci0xNi1mb250XCI+XG4gICAgICAgICAgICBZb3VyIFBCQSBhY2NvdW50IGNhbm5vdCBiZSBmb3VuZC5cbiAgICAgICAgICA8L2xpPlxuICAgICAgICAgIDxsaSBjbGFzcz1cInBiYS1wYXltZW50cy1lcnJvci0xNi1mb250XCI+XG4gICAgICAgICAgICBJZiB5b3Uga25vdyB5b3VyIG9yZ2FuaXNhdGlvbiBoYXMgYSBQQkEsIHRyeSBhZ2Fpbi5cbiAgICAgICAgICA8L2xpPlxuICAgICAgICAgIDxsaSBjbGFzcz1cInBiYS1wYXltZW50cy1lcnJvci0xNi1mb250XCI+XG4gICAgICAgICAgICBZb3UgY2FuIGFsc28gcGF5IGJ5IGNyZWRpdCBvciBkZWJpdCBjYXJkLlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgIDwvdWw+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8IS0tIDxoMSBjbGFzcz1cImhlYWRpbmctbWVkaXVtIG1hcmdpbi10b3AtMTAtcHhcIj5QYXkgZmVlIHVzaW5nIFBheW1lbnQgYnkgQWNjb3VudCAoUEJBKTwvaDE+IC0tPlxuICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwIG1hcmdpbi10b3AtMTAtcHhcIj5cbiAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIHBiYS1wYXltZW50cy1nb3Z1a19fbGFiZWwgcGJhLXBheW1lbnRzLTE5LWZvbnRcIj5cbiAgICAgICAgQW1vdW50IHRvIHBheSBcbiAgICAgIDwvbGFiZWw+XG4gICAgICA8c3BhbiBjbGFzcz1cInBiYS1wYXltZW50cy0xOS1mb250XCI+e3twYmFQYXlPcmRlclJlZi5vcmRlclRvdGFsRmVlcyB8IGN1cnJlbmN5IDonR0JQJzonc3ltYm9sJzonMS4yLTInfX08L3NwYW4+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cFwiICpuZ0lmPVwiIWVycm9yTXNnXCI+XG4gICAgICA8ZmllbGRzZXQgY2xhc3M9XCJnb3Z1ay1maWVsZHNldFwiIGFyaWEtZGVzY3JpYmVkYnk9XCJjb250YWN0LWhpbnRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXJhZGlvc1wiIGRhdGEtbW9kdWxlPVwiZ292dWstcmFkaW9zXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXJhZGlvc19faXRlbVwiPlxuICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZ292dWstcmFkaW9zX19pbnB1dFwiIGlkPVwicGJhQWNjb3VudFwiIG5hbWU9XCJwYXltZW50U2VsZWN0aW9uXCIgdHlwZT1cInJhZGlvXCIgdmFsdWU9XCJQQkFcIiAoY2xpY2spPVwic2VsZWN0UGF5bWVudE1ldGhvZCgnUEJBJylcIiBkYXRhLWFyaWEtY29udHJvbHM9XCJwYmEtYWNjb3VudFwiPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstcmFkaW9zX19sYWJlbCBwYmEtcGF5bWVudHMtMTktZm9udCBwYmEtcGF5bWVudHMtZm9udC1ibGRcIiBmb3I9XCJwYmFBY2NvdW50XCI+XG4gICAgICAgICAgICAgIFBheSBmZWUgdXNpbmcgUGF5bWVudCBieSBBY2NvdW50IChQQkEpXG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1yYWRpb3NfX2NvbmRpdGlvbmFsXCIgaWQ9XCJjb25kaXRpb25hbC1jb250YWN0XCIgKm5nSWY9XCJpc1BiYUFjY291bnRTZWxlY3RlZFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXAgcGJhLXBheW1lbnRzLXNlbGVjdC1ib3gtLXNpemVcIj5cbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgcGJhLXBheW1lbnRzLWdvdnVrX19sYWJlbCBwYmEtcGF5bWVudHMtMTktZm9udFwiIGZvcj1cInBiYUFjY291bnROdW1iZXJcIj5cbiAgICAgICAgICAgICAgICBTZWxlY3QgYSBQQkEgIFxuICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1jb250cm9sIHNob3J0LWlucHV0XCIgaWQ9XCJwYmFBY2NvdW50TnVtYmVyXCIgKGNoYW5nZSk9XCJzZWxlY3RwYmFhY2NvdW50KCRldmVudClcIj5cbiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiXCIgc2VsZWN0ZWQ9J3NlbGVjdGVkJz5TZWxlY3Qgb3B0aW9uPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgPG9wdGlvbiAgKm5nRm9yPVwibGV0IHBiYUFjY291bnQgb2YgcGJhQWNjb3VudExpc3Q7XCIgdmFsdWU9XCJ7e3BiYUFjY291bnR9fVwiPnt7cGJhQWNjb3VudH19PC9vcHRpb24+XG4gICAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cFwiICpuZ0lmPVwiIWVycm9yTXNnICYmIHNlbGVjdGVkUGJhQWNjb3VudFwiPlxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCBwYmEtcGF5bWVudHMtZ292dWtfX2xhYmVsIHBiYS1wYXltZW50cy0yNC1mb250XCIgZm9yPVwicGJhQWNjb3VudE51bWJlclwiPlxuICAgICAgICAgICAgICAgIEVudGVyIGEgcmVmZXJlbmNlIGZvciB5b3VyIFBCQSBhY2NvdW50IHN0YXRlbWVudHMgXG4gICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgIDxkaXYgaWQ9XCJldmVudC1uYW1lLWhpbnRcIiBjbGFzcz1cImdvdnVrLWhpbnQgcGJhLXBheW1lbnRzLTE5LWZvbnQgcGJhLXBheW1lbnQtd2lkdGhcIj5cbiAgICAgICAgICAgICAgICBUaGlzIHNob3VsZCBiZSB5b3VyIG93biB1bmlxdWUgcmVmZXJlbmNlIHRvIGlkZW50aWZ5IHRoZSBjYXNlLiBJdCB3aWxsIGFwcGVhciBvbiB5b3VyIHN0YXRlbWVudHMuXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImdvdnVrLWlucHV0IHBiYS1wYXltZW50cy1yZWYtYm94LS1zaXplIHBiYS1wYXltZW50cy0xOS1mb250XCIgaWQ9XCJwYmFBY2NvdW50UmVmXCIgKGNoYW5nZSk9XCJzZWxlY3RwYmFhY2NvdW50KCRldmVudClcIiBuYW1lPVwicGJhQWNjb3VudFJlZlwiIHR5cGU9XCJ0ZXh0XCIgYXJpYS1kZXNjcmliZWRieT1cInBiYUFjY291bnRSZWYtaGludFwiPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgXG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXJhZGlvc19faXRlbVwiPlxuICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZ292dWstcmFkaW9zX19pbnB1dFwiIGlkPVwiY2FyZFBheW1lbnRcIiBuYW1lPVwicGF5bWVudFNlbGVjdGlvblwiIHR5cGU9XCJyYWRpb1wiIHZhbHVlPVwiY2FyZFwiIChjbGljayk9XCJzZWxlY3RQYXltZW50TWV0aG9kKCdDQVJEJylcIiBkYXRhLWFyaWEtY29udHJvbHM9XCJjYXJkLXBheW1lbnRcIj5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIGdvdnVrLXJhZGlvc19fbGFiZWwgcGJhLXBheW1lbnRzLTE5LWZvbnQgcGJhLXBheW1lbnRzLWZvbnQtYmxkXCIgZm9yPVwiY2FyZFBheW1lbnRcIj5cbiAgICAgICAgICAgICAgUGF5IGJ5IGNyZWRpdCBvciBkZWJpdCBjYXJkXG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZmllbGRzZXQ+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZ292dWstYnV0dG9uLS1ncm91cFwiICAqbmdJZj1cImVycm9yTXNnXCI+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ1dHRvbiBwYmEtcGF5bWVudHMtMTktZm9udCBnb3Z1ay1idXR0b24tLXNlY29uZGFyeSBwYmEtcGF5bWVudHMtbWFyZ2luLTEwXCIgKGNsaWNrKT1cImdvdG9DYXNldHJhbnNhdGlvblBhZ2UoKVwiPlxuICAgICAgICBWaWV3IFNlcnZpY2UgUmVxdWVzdFxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIiBjbGFzcz1cImJ1dHRvbiBwYmEtcGF5bWVudHMtMTktZm9udCBwYmEtcGF5bWVudHMtMjAtbWFyZ2luXCIgKGNsaWNrKT1cImNhcmRQYXltZW50KClcIj5cbiAgICAgICAgUGF5IGJ5IGNhcmRcbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1idXR0b24tLWdyb3VwXCIgICpuZ0lmPVwiIWVycm9yTXNnXCI+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIiBbZGlzYWJsZWRdPVwiaXNDb250aW51ZUJ1dHRvbmRpc2FibGVkXCIgY2xhc3M9XCJidXR0b24gcGJhLXBheW1lbnRzLTE5LWZvbnQgcGJhLXBheW1lbnRzLTIwLW1hcmdpblwiIChjbGljayk9XCJzYXZlQW5kQ29udGludWUoKVwiPlxuICAgICAgICA8c3BhbiAqbmdJZj1cIiFpc1BCQURyb3Bkb3duU2VsZWN0ZWRcIiBjbGFzcz1cIndoaXRlXCI+Q29udGludWU8L3NwYW4+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwiaXNQQkFEcm9wZG93blNlbGVjdGVkXCIgY2xhc3M9XCJ3aGl0ZVwiPkNvbmZpcm0gcGF5bWVudDwvc3Bhbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJwYmFBY2NvdW50TGlzdD8ubGVuZ3RoIDw9IDAgJiYgIWVycm9yTXNnICYmIGlzR2V0UEJBQWNjb3VudFN1Y2NlZWQgJiYgaXNDYXJkUGF5bWVudFN1Y2Nlc3NcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLXdpZHRoLWNvbnRhaW5lclwiPlxuICAgIDxtYWluIGNsYXNzPVwiZ292dWstbWFpbi13cmFwcGVyIGdvdnVrLW1haW4td3JhcHBlci0tbFwiIGlkPVwibWFpbi1jb250ZW50XCIgcm9sZT1cIm1haW5cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1ncmlkLXJvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstd2FybmluZy10ZXh0XCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay13YXJuaW5nLXRleHRfX2ljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj4hPC9zcGFuPlxuICAgICAgICAgIDxzdHJvbmcgY2xhc3M9XCJnb3Z1ay13YXJuaW5nLXRleHRfX3RleHRcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstd2FybmluZy10ZXh0X19hc3Npc3RpdmVcIj5XYXJuaW5nPC9zcGFuPlxuICAgICAgICAgICAgPGgyIGNsYXNzPVwid2FybmluZy1oZWFkaW5nLW1cIj5Zb3UgZG9u4oCZdCBoYXZlIGEgcmVnaXN0ZXJlZCBQQkEuPC9oMj5cbiAgICAgICAgICA8L3N0cm9uZz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwYmEtcGF5bWVudHMtbWFyZ2luLXRvcC0xMFwiPlxuICAgICAgICAgIDxoMiBjbGFzcz1cImhlYWRpbmctbWVkaXVtXCI+UGF5IGJ5IGNyZWRpdCBvciBkZWJpdCBjYXJkPC9oMj5cbiAgICAgICAgICA8cCBjbGFzcz1cImdvdnVrLWJvZHkgcGJhLXBheW1lbnRzLTE5LWZvbnRcIj5cbiAgICAgICAgICAgIFdlIHJlY29tbWVuZCB0aGF0IHlvdSBhcHBseSB0byBnZXQgYSBuZXcgUEJBIHRvIHBheSBmb3IgZmVlcy5cbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPHAgY2xhc3M9XCJnb3Z1ay1ib2QgeXBiYS1wYXltZW50cy0xOS1mb250XCI+XG4gICAgICAgICAgICB5b3UgY2FuIGFsc28gcGF5IGJ5IGNyZWRpdCBvciBkZWJpdCBjYXJkIGlmIHlvdSBuZWVkIHRvIHBheSBub3dcbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPHAgY2xhc3M9XCJnb3Z1ay1ib2R5XCI+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIiAoY2xpY2spPVwiY2FyZFBheW1lbnQoKVwiIGNsYXNzPVwiYnV0dG9uIHBiYS1wYXltZW50cy0xOS1mb250IHBiYS1wYXltZW50cy0yMC1tYXJnaW5cIj5cbiAgICAgICAgICAgICAgUGF5IGJ5IGNhcmRcbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvcD5cbiAgICAgICAgICBcbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwYmEtcGF5bWVudHMtbWFyZ2luLXRvcC0xMFwiPlxuICAgICAgICAgIDxoMiBjbGFzcz1cImhlYWRpbmctbWVkaXVtXCI+UmVnaXN0ZXIgYW4gZXhpc3RpbmcgUEJBIHdpdGggTXlITUNUUzwvaDI+XG4gICAgICAgICAgPHAgY2xhc3M9XCJnb3Z1ay1ib2R5IHBiYS1wYXltZW50cy0xOS1mb250XCI+XG4gICAgICAgICAgICBZb3UgbWF5IGZpbmQgaXQgZWFzaWVyIGluIGZ1dHVyZSB0byBwYXkgYnkgUEJBLCB5b3VyIG9yZ2FuaXNhdGlvbiBhZG1pbmlzdHJhdG9yIHdpbGwgbmVlZCB0byBcbiAgICAgICAgICAgIGVtYWlsIDxhIGhyZWY9XCJtYWlsdG86IE15SE1DVFNzdXBwb3J0QGp1c3RpY2UuZ292LnVrXCI+TXlITUNUU3N1cHBvcnRAanVzdGljZS5nb3YudWs8L2E+IHRvIGFzayBmb3IgeW91ciBQQkEgdG8gYmUgcmVnaXN0ZXJlZCB3aXRoIHlvdXIgXG4gICAgICAgICAgICBNeUhNQ1RTIGFjY291bnQuIFlvdSBzaG91bGQgaW5jbHVkZSB5b3VyIG9yZ2FuaXNhdGlvbiBuYW1lIGFuZCBQQkEgbnVtYmVyLlxuICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8cCBjbGFzcz1cImdvdnVrLWJvZHkgcGJhLXBheW1lbnRzLTE5LWZvbnRcIj5cbiAgICAgICAgICAgIEl0IGNhbiB0aGVuIHRha2UgdXAgdG8gMyBkYXlzIGZvciB5b3VyIGFjY291bnQgdG8gYmUgdXBkYXRlZC4gWW914oCZbGwgbmVlZCB0byBzdGFydCB5b3VyIGNsYWltIFxuICAgICAgICAgICAgYWdhaW4gdG8gcGF5IHRoZSBmZWUuXG4gICAgICAgICAgPC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBiYS1wYXltZW50cy1tYXJnaW4tdG9wLTEwXCI+XG4gICAgICAgICAgPGgyIGNsYXNzPVwiaGVhZGluZy1tZWRpdW1cIj5BcHBseSB0byBnZXQgYSBuZXcgUEJBIDwvaDI+XG4gICAgICAgICAgPHAgY2xhc3M9XCJnb3Z1ay1ib2R5IHBiYS1wYXltZW50cy0xOS1mb250XCI+XG4gICAgICAgICAgICBZb3XigJlsbCBuZWVkIHRvIHByb3ZpZGUgZGV0YWlscyBmb3IgeW91IGFuZCB5b3VyIG9yZ2FuaXNhdGlvbiwgaW5jbHVkaW5nIHRoZSByZXF1aXJlZCBjcmVkaXRcbiAgICAgICAgICAgICBsaW1pdCBmb3IgeW91ciBhY2NvdW50LlxuICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8cCBjbGFzcz1cImdvdnVrLWJvZHkgcGJhLXBheW1lbnRzLTE5LWZvbnRcIj5cbiAgICAgICAgICAgIE9uY2UgeW91ciBhY2NvdW50IGhhcyBiZWVuIHJlZ2lzdGVyZWQsIHlvdeKAmWxsIG5lZWQgdG8gc3RhcnQgeW91ciBjbGFpbSBhZ2FpbiB0byBwYXkgdGhlIGZlZS5cbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPHAgY2xhc3M9XCJnb3Z1ay1ib2R5IHBiYS1wYXltZW50cy0xOS1mb250XCI+XG4gICAgICAgICAgICBSZWFkIG1vcmUgaW5mb3JtYXRpb24gb24gPGEgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cImh0dHBzOi8vd3d3Lmdvdi51ay9ndWlkYW5jZS9obWN0cy1wYXltZW50LWJ5LWFjY291bnQtZm9yLW9ubGluZS1zZXJ2aWNlc1wiPnJlZ2lzdGVyaW5nIGZvciBQQkE8L2E+LlxuICAgICAgICAgIDwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L21haW4+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJpc0luU3VmZmljaWFudEZ1bmQgJiYgaXNDYXJkUGF5bWVudFN1Y2Nlc3NcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLXdpZHRoLWNvbnRhaW5lclwiPlxuICAgIDxtYWluIGNsYXNzPVwiZ292dWstbWFpbi13cmFwcGVyIGdvdnVrLW1haW4td3JhcHBlci0tbFwiIGlkPVwibWFpbi1jb250ZW50XCIgcm9sZT1cIm1haW5cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1ncmlkLXJvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstZXJyb3Itc3VtbWFyeSBwYmEtcGF5bWVudHMtZXJyb3ItYm94LS1zaXplXCIgYXJpYS1sYWJlbGxlZGJ5PVwiZXJyb3Itc3VtbWFyeS10aXRsZVwiPlxuICAgICAgICAgIDxoMiBjbGFzcz1cImdvdnVrLWVycm9yLXN1bW1hcnlfX3RpdGxlIGdvdnVrLWVycm9yLXN1bW1hcnlfX3RpdGxlLWN1c3RvbSBwYmEtcGF5bWVudHMtMjQtZm9udFwiIGlkPVwiZXJyb3Itc3VtbWFyeS10aXRsZVwiPlxuICAgICAgICAgICAgVGhlcmUgaXMgYSBwcm9ibGVtXG4gICAgICAgICAgPC9oMj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstZXJyb3Itc3VtbWFyeV9fYm9keVwiPlxuICAgICAgICAgICAgPHVsIGNsYXNzPVwiZ292dWstbGlzdCBnb3Z1ay1lcnJvci1zdW1tYXJ5X19saXN0XCI+XG4gICAgICAgICAgICAgIDxsaSBjbGFzcz1cInBiYS1wYXltZW50cy1lcnJvci0xNi1mb250XCI+XG4gICAgICAgICAgICAgICAgWW91IGRvbid0IGhhdmUgZW5vdWdoIGZ1bmRzIGluIHlvdXIgUEJBIGFjY291bnQgdG8gcGF5IGZvciB0aGlzIGZlZS5cbiAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgPGxpIGNsYXNzPVwicGJhLXBheW1lbnRzLWVycm9yLTE2LWZvbnRcIj5cbiAgICAgICAgICAgICAgICBJZiB5b3UgaGF2ZSBhbHJlYWR5IHRvcHBlZCB1cCB5b3VyIFBCQSBhY2NvdW50LCB3YWl0IHVwIHRvIDI0IGhvdXJzIGZvciB0aGUgbmV3IGJhbGFuY2UgdG8gYmVjb21lIGF2YWlsYWJsZS5cbiAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwicGJhLXBheW1lbnRzLW1hcmdpbi10b3AtMTBcIj5cbiAgICAgICAgICA8aDIgY2xhc3M9XCJoZWFkaW5nLW1lZGl1bVwiPlNob3VsZCB5b3UgbmVlZCBhbnkgZnVydGhlciBhZHZpY2U8L2gyPlxuICAgICAgICAgIDxwIGNsYXNzPVwiZ292dWstYm9keSBwYmEtcGF5bWVudHMtMTktZm9udFwiPlxuICAgICAgICAgICAgRW1haWwgPGEgaHJlZj1cIm1haWx0bzpNaWRkbGVPZmZpY2UuRERzZXJ2aWNlc0BsaWJlcmF0YS5jb21cIj5NaWRkbGVPZmZpY2UuRERzZXJ2aWNlc0BsaWJlcmF0YS5jb208L2E+IG9yIGNhbGwgPGEgaHJlZj1cInRlbDowMTYzMy02NTItMTI1XCI+MDE2MzMgNjUyIDEyNTwvYT4gKG9wdGlvbiAzKSB0byB0cnkgdG8gZml4IHRoZSBpc3N1ZS5cbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPHAgY2xhc3M9XCJnb3Z1ay1ib2R5IHBiYS1wYXltZW50cy0xOS1mb250XCI+XG4gICAgICAgICAgICB5b3UgY2FuIGFsc28gcGF5IGJ5IGNyZWRpdCBvciBkZWJpdCBjYXJkLlxuICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstYnV0dG9uLS1ncm91cFwiPlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidXR0b24gcGJhLXBheW1lbnRzLTE5LWZvbnQgZ292dWstYnV0dG9uLS1zZWNvbmRhcnkgcGJhLXBheW1lbnRzLW1hcmdpbi0xMFwiIChjbGljayk9XCJnb3RvQ2FzZXRyYW5zYXRpb25QYWdlKClcIj5cbiAgICAgICAgICAgICAgVmlldyBTZXJ2aWNlIFJlcXVlc3RcbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJidXR0b24gcGJhLXBheW1lbnRzLTE5LWZvbnQgcGJhLXBheW1lbnRzLTIwLW1hcmdpblwiIChjbGljayk9XCJjYXJkUGF5bWVudCgpXCI+XG4gICAgICAgICAgICAgIFBheSBieSBjYXJkXG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L21haW4+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG48bmctY29udGFpbmVyICpuZ0lmPVwiaXNQQkFBY2NvdW50Tm90RXhpc3QgJiYgaXNDYXJkUGF5bWVudFN1Y2Nlc3NcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLXdpZHRoLWNvbnRhaW5lclwiPlxuICAgIDxtYWluIGNsYXNzPVwiZ292dWstbWFpbi13cmFwcGVyIGdvdnVrLW1haW4td3JhcHBlci0tbFwiIGlkPVwibWFpbi1jb250ZW50XCIgcm9sZT1cIm1haW5cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1ncmlkLXJvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstZXJyb3Itc3VtbWFyeSBwYmEtcGF5bWVudHMtZXJyb3ItYm94LS1zaXplXCIgYXJpYS1sYWJlbGxlZGJ5PVwiZXJyb3Itc3VtbWFyeS10aXRsZVwiPlxuICAgICAgICAgIDxoMiBjbGFzcz1cImdvdnVrLWVycm9yLXN1bW1hcnlfX3RpdGxlIGdvdnVrLWVycm9yLXN1bW1hcnlfX3RpdGxlLWN1c3RvbSBwYmEtcGF5bWVudHMtMjQtZm9udFwiIGlkPVwiZXJyb3Itc3VtbWFyeS10aXRsZVwiPlxuICAgICAgICAgICAgVGhlcmUgaXMgYSBwcm9ibGVtXG4gICAgICAgICAgPC9oMj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstZXJyb3Itc3VtbWFyeV9fYm9keVwiPlxuICAgICAgICAgICAgPHVsIGNsYXNzPVwiZ292dWstbGlzdCBnb3Z1ay1lcnJvci1zdW1tYXJ5X19saXN0XCI+XG4gICAgICAgICAgICAgIDxsaSBjbGFzcz1cInBiYS1wYXltZW50cy1lcnJvci0xNi1mb250XCI+XG4gICAgICAgICAgICAgICAgWW91ciBQQkEgYWNjb3VudCAoe3tzZWxlY3RlZFBiYUFjY291bnR9fSkgbm8gbG9uZ2VyIGV4aXN0cy5cbiAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwicGJhLXBheW1lbnRzLW1hcmdpbi10b3AtMTBcIj5cbiAgICAgICAgICA8aDIgY2xhc3M9XCJoZWFkaW5nLW1lZGl1bVwiPlNob3VsZCB5b3UgbmVlZCBhbnkgZnVydGhlciBhZHZpY2U8L2gyPlxuICAgICAgICAgIDxwIGNsYXNzPVwiZ292dWstYm9keSBwYmEtcGF5bWVudHMtMTktZm9udCBnb3Z1ay1ib2R5LXdpZHRoXCI+XG4gICAgICAgICAgICBFbWFpbCA8YSBocmVmPVwibWFpbHRvOk1pZGRsZU9mZmljZS5ERHNlcnZpY2VzQGxpYmVyYXRhLmNvbVwiPk1pZGRsZU9mZmljZS5ERHNlcnZpY2VzQGxpYmVyYXRhLmNvbTwvYT4gb3IgY2FsbCA8YSBocmVmPVwidGVsOjAxNjMzLTY1Mi0xMjVcIj4wMTYzMyA2NTIgMTI1PC9hPiAob3B0aW9uIDMpIHRvIHRyeSB0byBmaXggdGhlIGlzc3VlLlxuICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8cCBjbGFzcz1cImdvdnVrLWJvZHkgcGJhLXBheW1lbnRzLTE5LWZvbnRcIj5cbiAgICAgICAgICAgIHlvdSBjYW4gYWxzbyBwYXkgYnkgY3JlZGl0IG9yIGRlYml0IGNhcmQuXG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1idXR0b24tLWdyb3VwXCI+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ1dHRvbiBwYmEtcGF5bWVudHMtMTktZm9udCBnb3Z1ay1idXR0b24tLXNlY29uZGFyeSBwYmEtcGF5bWVudHMtbWFyZ2luLTEwXCIgKGNsaWNrKT1cImdvdG9DYXNldHJhbnNhdGlvblBhZ2UoKVwiPlxuICAgICAgICAgICAgICBWaWV3IFNlcnZpY2UgUmVxdWVzdFxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIiBjbGFzcz1cImJ1dHRvbiBwYmEtcGF5bWVudHMtMTktZm9udCBwYmEtcGF5bWVudHMtMjAtbWFyZ2luXCIgKGNsaWNrKT1cImNhcmRQYXltZW50KClcIj5cbiAgICAgICAgICAgICAgUGF5IGJ5IGNhcmRcbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbWFpbj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJpc1BCQUFjY291bnRIb2xkICYmIGlzQ2FyZFBheW1lbnRTdWNjZXNzXCI+XG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay13aWR0aC1jb250YWluZXJcIj5cbiAgICA8bWFpbiBjbGFzcz1cImdvdnVrLW1haW4td3JhcHBlciBnb3Z1ay1tYWluLXdyYXBwZXItLWxcIiBpZD1cIm1haW4tY29udGVudFwiIHJvbGU9XCJtYWluXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZ292dWstZ3JpZC1yb3dcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWVycm9yLXN1bW1hcnkgcGJhLXBheW1lbnRzLWVycm9yLWJveC0tc2l6ZVwiIGFyaWEtbGFiZWxsZWRieT1cImVycm9yLXN1bW1hcnktdGl0bGVcIj5cbiAgICAgICAgICA8aDIgY2xhc3M9XCJnb3Z1ay1lcnJvci1zdW1tYXJ5X190aXRsZSBnb3Z1ay1lcnJvci1zdW1tYXJ5X190aXRsZS1jdXN0b20gcGJhLXBheW1lbnRzLTI0LWZvbnRcIiBpZD1cImVycm9yLXN1bW1hcnktdGl0bGVcIj5cbiAgICAgICAgICAgIFRoZXJlIGlzIGEgcHJvYmxlbVxuICAgICAgICAgIDwvaDI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWVycm9yLXN1bW1hcnlfX2JvZHlcIj5cbiAgICAgICAgICAgIDx1bCBjbGFzcz1cImdvdnVrLWxpc3QgZ292dWstZXJyb3Itc3VtbWFyeV9fbGlzdFwiPlxuICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJwYmEtcGF5bWVudHMtZXJyb3ItMTYtZm9udFwiPlxuICAgICAgICAgICAgICAgIFlvdXIgUEJBIGFjY291bnQgKHt7c2VsZWN0ZWRQYmFBY2NvdW50fX0pIGhhcyBiZWVuIHB1dCBvbiBob2xkLlxuICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwYmEtcGF5bWVudHMtbWFyZ2luLXRvcC0xMFwiPlxuICAgICAgICAgIDxoMiBjbGFzcz1cImhlYWRpbmctbWVkaXVtXCI+U2hvdWxkIHlvdSBuZWVkIGFueSBmdXJ0aGVyIGFkdmljZTwvaDI+XG4gICAgICAgICAgPHAgY2xhc3M9XCJnb3Z1ay1ib2R5IHBiYS1wYXltZW50cy0xOS1mb250IGdvdnVrLWJvZHktd2lkdGhcIj5cbiAgICAgICAgICAgIEVtYWlsIDxhIGhyZWY9XCJtYWlsdG86TWlkZGxlT2ZmaWNlLkREc2VydmljZXNAbGliZXJhdGEuY29tXCI+TWlkZGxlT2ZmaWNlLkREc2VydmljZXNAbGliZXJhdGEuY29tPC9hPiBvciBjYWxsIDxhIGhyZWY9XCJ0ZWw6MDE2MzMtNjUyLTEyNVwiPjAxNjMzIDY1MiAxMjU8L2E+IChvcHRpb24gMykgdG8gdHJ5IHRvIGZpeCB0aGUgaXNzdWUuXG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxwIGNsYXNzPVwiZ292dWstYm9keSBwYmEtcGF5bWVudHMtMTktZm9udFwiPlxuICAgICAgICAgICAgeW91IGNhbiBhbHNvIHBheSBieSBjcmVkaXQgb3IgZGViaXQgY2FyZC5cbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWJ1dHRvbi0tZ3JvdXBcIj5cbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnV0dG9uIHBiYS1wYXltZW50cy0xOS1mb250IGdvdnVrLWJ1dHRvbi0tc2Vjb25kYXJ5IHBiYS1wYXltZW50cy1tYXJnaW4tMTBcIiAoY2xpY2spPVwiZ290b0Nhc2V0cmFuc2F0aW9uUGFnZSgpXCI+XG4gICAgICAgICAgICAgIFZpZXcgU2VydmljZSBSZXF1ZXN0XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwiYnV0dG9uIHBiYS1wYXltZW50cy0xOS1mb250IHBiYS1wYXltZW50cy0yMC1tYXJnaW5cIiAoY2xpY2spPVwiY2FyZFBheW1lbnQoKVwiPlxuICAgICAgICAgICAgICBQYXkgYnkgY2FyZFxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9tYWluPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzUEJBU2VydmVyRXJyb3IgJiYgaXNDYXJkUGF5bWVudFN1Y2Nlc3NcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLXdpZHRoLWNvbnRhaW5lclwiPlxuICAgIDxtYWluIGNsYXNzPVwiZ292dWstbWFpbi13cmFwcGVyIGdvdnVrLW1haW4td3JhcHBlci0tbFwiIGlkPVwibWFpbi1jb250ZW50XCIgcm9sZT1cIm1haW5cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1ncmlkLXJvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicGJhLXBheW1lbnRzLW1hcmdpbi10b3AtMTBcIj5cbiAgICAgICAgICA8aDIgY2xhc3M9XCJwYmEtcGF5bWVudHMtaGVhZGluZy1sZ1wiPlNvcnJ5LCB0aGVyZSBpcyBhIHByb2JsZW0gd2l0aCB0aGUgc2VydmljZTwvaDI+XG4gICAgICAgICAgPHAgY2xhc3M9XCJnb3Z1ay1ib2R5IHBiYS1wYXltZW50cy0xOS1mb250XCI+XG4gICAgICAgICAgICBUcnkgYWdhaW4gbGF0ZXIuXG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxwIGNsYXNzPVwiZ292dWstYm9keSBwYmEtcGF5bWVudHMtMTktZm9udFwiPlxuICAgICAgICAgICAgeW91IGNhbiBhbHNvIHBheSBieSBjcmVkaXQgb3IgZGViaXQgY2FyZC5cbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWJ1dHRvbi0tZ3JvdXBcIj5cbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnV0dG9uIHBiYS1wYXltZW50cy0xOS1mb250IGdvdnVrLWJ1dHRvbi0tc2Vjb25kYXJ5IHBiYS1wYXltZW50cy1tYXJnaW4tMTBcIiAoY2xpY2spPVwiZ290b0Nhc2V0cmFuc2F0aW9uUGFnZSgpXCI+XG4gICAgICAgICAgICAgIFZpZXcgU2VydmljZSBSZXF1ZXN0XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwiYnV0dG9uIHBiYS1wYXltZW50cy0xOS1mb250IHBiYS1wYXltZW50cy0yMC1tYXJnaW5cIiAoY2xpY2spPVwiY2FyZFBheW1lbnQoKVwiPlxuICAgICAgICAgICAgICBQYXkgYnkgY2FyZFxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9tYWluPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwiaXNQQkFBY2NvdW50UGF5bWVudFN1Y2Nlc3MgJiYgaXNDYXJkUGF5bWVudFN1Y2Nlc3NcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLXdpZHRoLWNvbnRhaW5lclwiPlxuICAgIDxtYWluIGNsYXNzPVwiZ292dWstbWFpbi13cmFwcGVyIGdvdnVrLW1haW4td3JhcHBlci0tbFwiIGlkPVwibWFpbi1jb250ZW50XCIgcm9sZT1cIm1haW5cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1ncmlkLXJvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstcGFuZWwgZ292dWstcGFuZWwtLWNvbmZpcm1hdGlvbiBwYmEtcGF5bWVudHMtLWNvbmZpcm1hdGlvblwiPlxuICAgICAgICAgIDxoMSBjbGFzcz1cImdvdnVrLXBhbmVsX190aXRsZSBwYmEtcGF5bWVudHMtLXRpdGxlIHdoaXRlXCI+XG4gICAgICAgICAgICAgIFBheW1lbnQgc3VjY2Vzc2Z1bFxuICAgICAgICAgIDwvaDE+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXBhbmVsX19ib2R5IHBiYS1wYXltZW50c19fYm9keSB3aGl0ZVwiPlxuICAgICAgICAgICAgICBZb3VyIHBheW1lbnQgcmVmZXJlbmNlIGlzIDxicj48c3Ryb25nIGNsYXNzPVwid2hpdGVcIj57e3BiYUFjY291bnRyUGF5bWVudFJlc3VsdC5wYXltZW50X3JlZmVyZW5jZX19PC9zdHJvbmc+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxwIGNsYXNzPVwiZ292dWstYm9keSBwYmEtcGF5bWVudHMtMTktZm9udFwiPlxuICAgICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgKGNsaWNrKT1cImdvdG9DYXNldHJhbnNhdGlvblBhZ2UoKVwiPlZpZXcgc2VydmljZSByZXF1ZXN0czwvYT5cbiAgICAgIDwvcD5cbiAgICAgIDwvZGl2PlxuICAgIDwvbWFpbj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc0NhcmRQYXltZW50U3VjY2Vzc1wiPlxuICA8ZGl2IGNsYXNzPVwiZ292dWstd2lkdGgtY29udGFpbmVyXCI+XG4gICAgPG1haW4gY2xhc3M9XCJnb3Z1ay1tYWluLXdyYXBwZXIgZ292dWstbWFpbi13cmFwcGVyLS1sXCIgaWQ9XCJtYWluLWNvbnRlbnRcIiByb2xlPVwibWFpblwiPlxuICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWdyaWQtcm93XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwYmEtcGF5bWVudHMtbWFyZ2luLXRvcC0xMFwiPlxuICAgICAgICAgIDxoMiBjbGFzcz1cInBiYS1wYXltZW50cy1oZWFkaW5nLWxnXCI+U29ycnksIHRoZXJlIGlzIGEgcHJvYmxlbSB3aXRoIHRoZSBzZXJ2aWNlPC9oMj5cbiAgICAgICAgICA8cCBjbGFzcz1cImdvdnVrLWJvZHkgcGJhLXBheW1lbnRzLTE5LWZvbnRcIj5cbiAgICAgICAgICAgIFRyeSBhZ2FpbiBsYXRlci5cbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPCEtLSA8cCBjbGFzcz1cImdvdnVrLWJvZHkgcGJhLXBheW1lbnRzLTE5LWZvbnRcIj5cbiAgICAgICAgICAgIHlvdSBjYW4gYWxzbyA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgKGNsaWNrKT1cImNhcmRQYXltZW50KClcIiA+cGF5IGJ5IGNyZWRpdCBvciBkZWJpdCBjYXJkPC9hPi5cbiAgICAgICAgICA8L3A+IC0tPlxuICAgICAgICAgIDxwIGNsYXNzPVwiZ292dWstYm9keSBwYmEtcGF5bWVudHMtMTktZm9udFwiPlxuICAgICAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIChjbGljayk9XCJnb3RvQ2FzZXRyYW5zYXRpb25QYWdlKClcIj5WaWV3IHNlcnZpY2UgcmVxdWVzdHM8L2E+XG4gICAgICAgICAgPC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbWFpbj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuXG5cblxuIl19
|