@colijnit/transaction 12.1.147 → 12.1.148
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/colijnit-transaction.umd.js +167 -170
- package/bundles/colijnit-transaction.umd.js.map +1 -1
- package/colijnit-transaction.d.ts +43 -43
- package/colijnit-transaction.metadata.json +1 -1
- package/esm2015/colijnit-transaction.js +44 -44
- package/esm2015/lib/component/checkout/checkout-overview-payment/checkout-overview-payment.component.js +1 -2
- package/esm2015/lib/component/checkout/checkout.module.js +2 -2
- package/esm2015/lib/component/core/base/transaction-base.component.js +6 -4
- package/esm2015/lib/component/payment/payment.component.js +12 -15
- package/esm2015/lib/component/transaction-confirmation-history/transaction-confirmation-history.component.js +5 -5
- package/esm2015/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.module.js +4 -4
- package/esm2015/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.component.js +1 -2
- package/esm2015/lib/component/transaction-header/transaction-header-popup/transaction-header-popup.module.js +7 -7
- package/esm2015/lib/component/transaction-header-fields/transaction-header-partial-delivery/transaction-header-partial-delivery.component.js +48 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-partial-delivery/transaction-header-partial-delivery.module.js +26 -0
- package/esm2015/lib/component/transaction-line/transaction-overview-line/transaction-overview-line.component.js +1 -1
- package/esm2015/lib/component/transaction-line/transaction-picked-line/transaction-picked-line.component.js +3 -3
- package/esm2015/lib/component/transaction-line/transaction-picked-line/transaction-picked-line.module.js +9 -9
- package/esm2015/lib/component/transaction-line/transaction-purchase-order-line/transaction-purchase-order-line-base.component.js +3 -3
- package/esm2015/lib/component/transaction-line/transaction-purchase-order-line/transaction-purchase-order-line.module.js +3 -3
- package/esm2015/lib/component/transaction-line/transaction-to-be-picked-line/transaction-to-be-picked-line.component.js +3 -3
- package/esm2015/lib/component/transaction-line/transaction-to-be-picked-line/transaction-to-be-picked-line.module.js +9 -9
- package/esm2015/lib/component/transaction-line-fields/transaction-line-commission-code.component.js +2 -2
- package/esm2015/lib/component/transaction-line-fields/transaction-line-price/transaction-line-price.component.js +4 -4
- package/esm2015/lib/component/transaction-line-fields/transaction-line-price/transaction-line-price.module.js +5 -5
- package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse.component.js +2 -2
- package/esm2015/lib/component/transaction-line-image-and-description/transaction-line-image-and-description.component.js +2 -2
- package/esm2015/lib/component/transaction-line-purchase-confirmation/transaction-line-purchase-confirmation.component.js +2 -2
- package/esm2015/lib/component/transaction-lines/transaction-lines.component.js +18 -14
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/transaction-quick-access-order-confirmation.component.js +1 -1
- package/esm2015/lib/service/transaction.service.js +1 -1
- package/esm2015/lib/transaction-version.js +3 -3
- package/fesm2015/colijnit-transaction.js +108 -102
- package/fesm2015/colijnit-transaction.js.map +1 -1
- package/lib/component/core/base/transaction-base.component.d.ts +1 -0
- package/lib/component/payment/payment.component.d.ts +0 -1
- package/lib/component/transaction-confirmation-history/transaction-confirmation-history.component.d.ts +5 -5
- package/lib/component/transaction-header/transaction-header-delivery/style/material.scss +1 -0
- package/lib/component/transaction-header-fields/transaction-header-partial-delivery/style/_layout.scss +18 -0
- package/lib/component/transaction-header-fields/transaction-header-partial-delivery/style/_material-definition.scss +0 -0
- package/lib/component/transaction-header-fields/transaction-header-partial-delivery/style/_theme.scss +4 -0
- package/lib/component/transaction-header-fields/transaction-header-partial-delivery/style/material.scss +4 -0
- package/lib/component/transaction-header-fields/{transaction-header-partial-delivery.component.d.ts → transaction-header-partial-delivery/transaction-header-partial-delivery.component.d.ts} +1 -1
- package/lib/component/transaction-line/transaction-picked-line/transaction-picked-line.component.d.ts +2 -2
- package/lib/component/transaction-line/transaction-to-be-picked-line/transaction-to-be-picked-line.component.d.ts +1 -1
- package/lib/component/transaction-line-fields/transaction-line-price/transaction-line-price.component.d.ts +2 -2
- package/lib/component/transaction-line-purchase-confirmation/transaction-line-purchase-confirmation.component.d.ts +1 -1
- package/package.json +1 -1
- package/esm2015/lib/component/transaction-header-fields/transaction-header-partial-delivery.component.js +0 -44
- package/esm2015/lib/component/transaction-header-fields/transaction-header-partial-delivery.module.js +0 -24
- /package/lib/component/transaction-header-fields/{transaction-header-partial-delivery.module.d.ts → transaction-header-partial-delivery/transaction-header-partial-delivery.module.d.ts} +0 -0
|
@@ -79,7 +79,6 @@ CheckoutOverviewPaymentComponent.decorators = [
|
|
|
79
79
|
</div>
|
|
80
80
|
</div>
|
|
81
81
|
<co-payment *ngIf="showPayment"
|
|
82
|
-
[updateDepositAmount]="false"
|
|
83
82
|
[transId]="transaction.transactionInfo.id"
|
|
84
83
|
[branch]="transaction.transactionInfo.branch?.relationNr"
|
|
85
84
|
[transactionUuid]="transaction.transactionInfo.uuid"
|
|
@@ -103,4 +102,4 @@ CheckoutOverviewPaymentComponent.propDecorators = {
|
|
|
103
102
|
payed: [{ type: Output }],
|
|
104
103
|
showClass: [{ type: HostBinding, args: ["class.co-checkout-overview-payment",] }]
|
|
105
104
|
};
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQtb3ZlcnZpZXctcGF5bWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC9jaGVja291dC9jaGVja291dC1vdmVydmlldy1wYXltZW50L2NoZWNrb3V0LW92ZXJ2aWV3LXBheW1lbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUVyRSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFN0MsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUF5RHhFLE1BQU0sT0FBTyxnQ0FBZ0M7SUE2QjNDLFlBQW9CLG1CQUF1QztRQUF2Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQW9CO1FBNUIzQyxVQUFLLEdBQWdCLElBQUksQ0FBQztRQVNuQyxnQkFBVyxHQUFZLElBQUksQ0FBQztRQUc1Qix3QkFBbUIsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUduRSx3QkFBbUIsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUduRSxVQUFLLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFPekQsb0JBQWUsR0FBWSxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ3pDLG1CQUFjLEdBQVksSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUcvQyxDQUFDO0lBUk0sU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQVFELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsTUFBTSxVQUFVLEdBQVksSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1lBQy9ILElBQUksVUFBVSxFQUFFO2dCQUNkLElBQUksQ0FBQyxlQUFlLEdBQUcsVUFBVSxDQUFDO2FBQ25DO1lBQ0QsTUFBTSxVQUFVLEdBQVksSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUMzSCxJQUFJLFVBQVUsRUFBRTtnQkFDZCxJQUFJLENBQUMsY0FBYyxHQUFHLFVBQVUsQ0FBQzthQUNsQztTQUNGO0lBQ0gsQ0FBQztJQUVNLFdBQVc7UUFDaEIsTUFBTSxFQUFFLEdBQVcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGtCQUFrQixDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUM7UUFDN0YsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDdEIsQ0FBQzs7O1lBdkdGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsOEJBQThCO2dCQUN4QyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0RUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUF4RE8sa0JBQWtCOzs7MEJBNER2QixLQUFLO3VCQUdMLEtBQUs7MEJBR0wsS0FBSztrQ0FHTCxNQUFNO2tDQUdOLE1BQU07b0JBR04sTUFBTTt3QkFHTixXQUFXLFNBQUMsb0NBQW9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0FkZHJlc3N9IGZyb20gJ0Bjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9tb2RlbC9hZGRyZXNzLmJvJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkluZm9SZXNwb25zZX0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLWluZm8tcmVzcG9uc2UuYm8nO1xyXG5pbXBvcnQge0ljb259IGZyb20gJy4uLy4uLy4uL2VudW0vaWNvbi5lbnVtJztcclxuaW1wb3J0IHtSZWxhdGlvbkFueVR5cGV9IGZyb20gJy4uLy4uLy4uL21vZGVsL3JlbGF0aW9uLWFueS10eXBlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24uc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby1jaGVja291dC1vdmVydmlldy1wYXltZW50XCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1vdmVydmlldy1zZWN0aW9uXCI+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwib3ZlcnZpZXctc2VjdGlvbi10aXRsZVwiIFt0ZXh0Q29udGVudF09XCInWU9VUl9EQVRBJyB8IGxvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidHdvLWNvbHVtbi1ncmlkXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm92ZXJ2aWV3LWFkZHJlc3NcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJvdmVydmlldy1hZGRyZXNzLXRpdGxlXCIgW3RleHRDb250ZW50XT1cIidERUxJVkVSWV9BRERSRVNTJyB8IGxvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwicmVsYXRpb24uZGlzcGxheU5hbWVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJkZWxpdmVyeUFkZHJlc3MuZGlzcGxheUFkZHJlc3NcIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJkZWxpdmVyeUFkZHJlc3MuZGlzcGxheVBvc3RhbFwiPjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwib3ZlcnZpZXctYWRkcmVzc1wiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJvdmVydmlldy1hZGRyZXNzLXRpdGxlXCIgW3RleHRDb250ZW50XT1cIidJTlZPSUNFX0FERFJFU1MnIHwgbG9jYWxpemVcIj48L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwicmVsYXRpb24uZGlzcGxheU5hbWVcIj48L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwiaW52b2ljZUFkZHJlc3MuZGlzcGxheUFkZHJlc3NcIj48L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwiaW52b2ljZUFkZHJlc3MuZGlzcGxheVBvc3RhbFwiPjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJvdmVydmlldy1hZGRyZXNzXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJvdmVydmlldy1hZGRyZXNzLXRpdGxlXCIgW3RleHRDb250ZW50XT1cIidDT05UQUNUX0RFVEFJTFMnIHwgbG9jYWxpemVcIj48L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cInJlbGF0aW9uLnByaW1hcnlFbWFpbFwiPjwvc3Bhbj5cclxuICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwicmVsYXRpb24ucHJpbWFyeVBob25lTnVtYmVyXCI+PC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm92ZXJ2aWV3LXNlY3Rpb24tY2hhbmdlLWxpbmtcIj5cclxuICAgICAgICA8aWNvbiBjbGFzcz1cIm92ZXJ2aWV3LXNlY3Rpb24tY2hhbmdlLWljb25cIiBbaWNvbl09XCJpY29ucy5BcnJvd1BvaW50UmlnaHRcIj48L2ljb24+XHJcbiAgICAgICAgPGRpdiBbdGV4dENvbnRlbnRdPVwiJ0NIQU5HRV9EQVRBJyB8IGxvY2FsaXplXCIgKGNsaWNrKT1cImNoYW5nZVlvdXJEYXRhQ2xpY2suZW1pdCgpXCI+PC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtb3ZlcnZpZXctc2VjdGlvblwiPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cIm92ZXJ2aWV3LXNlY3Rpb24tdGl0bGVcIiBbdGV4dENvbnRlbnRdPVwiJ0RFTElWRVJZJyB8IGxvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwib3ZlcnZpZXctYWRkcmVzc1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJvdmVydmlldy1yb3dcIj5cclxuICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cIidFWFBFQ1RFRF9ERUxJVkVSWV9EQVRFJyB8IGxvY2FsaXplIHwgYXBwZW5kOic6J1wiPjwvc3Bhbj48c3BhbiBbdGV4dENvbnRlbnRdPVwidHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLmRlbGl2ZXJ5RGF0ZSB8IGRhdGU6J2RkIE1NTSB5eXl5J1wiPjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwib3ZlcnZpZXctcm93XCI+XHJcbiAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCInREVMSVZFUllfTUVUSE9EJyB8IGxvY2FsaXplIHwgYXBwZW5kOic6J1wiPjwvc3Bhbj48c3BhbiBbdGV4dENvbnRlbnRdPVwidHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLmRlbGl2ZXJ5TWV0aG9kXCI+PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm92ZXJ2aWV3LXNlY3Rpb24tY2hhbmdlLWxpbmtcIj5cclxuICAgICAgICA8aWNvbiBjbGFzcz1cIm92ZXJ2aWV3LXNlY3Rpb24tY2hhbmdlLWljb25cIiBbaWNvbl09XCJpY29ucy5BcnJvd1BvaW50UmlnaHRcIj48L2ljb24+XHJcbiAgICAgICAgPGRpdiBbdGV4dENvbnRlbnRdPVwiJ0NIQU5HRV9EQVRBJyB8IGxvY2FsaXplXCIgKGNsaWNrKT1cImNoYW5nZURlbGl2ZXJ5Q2xpY2suZW1pdCgpXCI+PC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8Y28tcGF5bWVudCAqbmdJZj1cInNob3dQYXltZW50XCJcclxuICAgICAgW3RyYW5zSWRdPVwidHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLmlkXCJcclxuICAgICAgW2JyYW5jaF09XCJ0cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8uYnJhbmNoPy5yZWxhdGlvbk5yXCJcclxuICAgICAgW3RyYW5zYWN0aW9uVXVpZF09XCJ0cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8udXVpZFwiXHJcbiAgICAgIFthbW91bnRdPVwidHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLmRlcG9zaXRBbW91bnQgfHwgdHJhbnNhY3Rpb24udHJhbnNhY3Rpb25Ub3RhbC5uZXRBbW91bnRcIlxyXG4gICAgICBbY3VycmVuY3lJZF09XCJ0cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8uY3VycmVuY3lJZFwiXHJcbiAgICAgIChwYXllZCk9XCJoYW5kbGVQYXllZCgpXCJcclxuICAgID48L2NvLXBheW1lbnQ+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDaGVja291dE92ZXJ2aWV3UGF5bWVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbkluZm9SZXNwb25zZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcmVsYXRpb246IFJlbGF0aW9uQW55VHlwZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2hvd1BheW1lbnQ6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgY2hhbmdlWW91ckRhdGFDbGljazogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgY2hhbmdlRGVsaXZlcnlDbGljazogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcGF5ZWQ6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLWNoZWNrb3V0LW92ZXJ2aWV3LXBheW1lbnRcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZGVsaXZlcnlBZGRyZXNzOiBBZGRyZXNzID0gbmV3IEFkZHJlc3MoKTtcclxuICBwdWJsaWMgaW52b2ljZUFkZHJlc3M6IEFkZHJlc3MgPSBuZXcgQWRkcmVzcygpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF90cmFuc2FjdGlvblNlcnZpY2U6IFRyYW5zYWN0aW9uU2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5yZWxhdGlvbikge1xyXG4gICAgICBjb25zdCBkZWxBZGRyZXNzOiBBZGRyZXNzID0gdGhpcy5yZWxhdGlvbi5hZGRyZXNzZXMuZmluZChhID0+IGEubmF3TnIgPT09IHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLnRyYW5zYWN0aW9uQWRkcmVzcyk7XHJcbiAgICAgIGlmIChkZWxBZGRyZXNzKSB7XHJcbiAgICAgICAgdGhpcy5kZWxpdmVyeUFkZHJlc3MgPSBkZWxBZGRyZXNzO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IGludkFkZHJlc3M6IEFkZHJlc3MgPSB0aGlzLnJlbGF0aW9uLmFkZHJlc3Nlcy5maW5kKGEgPT4gYS5uYXdOciA9PT0gdGhpcy50cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8uaW52b2ljZUFkZHJlc3MpO1xyXG4gICAgICBpZiAoaW52QWRkcmVzcykge1xyXG4gICAgICAgIHRoaXMuaW52b2ljZUFkZHJlc3MgPSBpbnZBZGRyZXNzO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlUGF5ZWQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBpZDogbnVtYmVyID0gdGhpcy5fdHJhbnNhY3Rpb25TZXJ2aWNlLmN1cnJlbnRUcmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8udHJhbnNhY3Rpb25OcjtcclxuICAgIHRoaXMucGF5ZWQuZW1pdChpZCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -25,7 +25,6 @@ import { RelationPreferencesModule } from '../relation/relation-preferences/rela
|
|
|
25
25
|
import { CheckoutOverviewPaymentComponent } from './checkout-overview-payment/checkout-overview-payment.component';
|
|
26
26
|
import { TransactionHeaderDeliveryModule } from '../transaction-header/transaction-header-delivery/transaction-header-delivery.module';
|
|
27
27
|
import { TransactionHeaderPreferredDeliveryDateModule } from '../transaction-header-fields/transaction-header-preferred-delivery-date.module';
|
|
28
|
-
import { TransactionHeaderPartialDeliveryModule } from '../transaction-header-fields/transaction-header-partial-delivery.module';
|
|
29
28
|
import { TransactionHeaderDeliveryDateModule } from '../transaction-header-fields/transaction-header-delivery-date.module';
|
|
30
29
|
import { TransactionHeaderDeliveryMethodModule } from '../transaction-header-fields/transaction-header-delivery-method.module';
|
|
31
30
|
import { TransactionHeaderRemarksModule } from '../transaction-header-fields/transaction-header-remarks.module';
|
|
@@ -40,6 +39,7 @@ import { TransactionHeaderMarketingModule } from '../transaction-header-fields/t
|
|
|
40
39
|
import { TransactionHeaderDeliveryOptionsModule } from '../transaction-header-fields/transaction-header-delivery-options/transaction-header-delivery-options.module';
|
|
41
40
|
import { TransactionHeaderHoldCodesModule } from '../transaction-header-fields/transaction-header-hold-codes.module';
|
|
42
41
|
import { RelationSuggestionsListModule } from '../relation/relation-suggestions-list/relation-suggestions-list.module';
|
|
42
|
+
import { TransactionHeaderPartialDeliveryModule } from '../transaction-header-fields/transaction-header-partial-delivery/transaction-header-partial-delivery.module';
|
|
43
43
|
export class CheckoutModule {
|
|
44
44
|
}
|
|
45
45
|
CheckoutModule.decorators = [
|
|
@@ -108,4 +108,4 @@ CheckoutModule.decorators = [
|
|
|
108
108
|
bootstrap: [CheckoutComponent]
|
|
109
109
|
},] }
|
|
110
110
|
];
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvY2hlY2tvdXQvY2hlY2tvdXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUNILFlBQVksRUFDWixnQkFBZ0IsRUFDaEIsY0FBYyxFQUNkLGlCQUFpQixFQUNqQixVQUFVLEVBQ1YsVUFBVSxFQUNWLG1CQUFtQixFQUNuQixxQkFBcUIsRUFDckIsdUJBQXVCLEVBQ3ZCLHNCQUFzQixFQUN0QixtQkFBbUIsRUFDbkIsZUFBZSxFQUNmLFdBQVcsR0FDZCxNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUMscUNBQXFDLEVBQUMsTUFBTSw2RUFBNkUsQ0FBQztBQUNsSSxPQUFPLEVBQUMscUNBQXFDLEVBQUMsTUFBTSw2RUFBNkUsQ0FBQztBQUNsSSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDN0QsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RCxPQUFPLEVBQUMsV0FBVyxFQUFFLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEUsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sb0VBQW9FLENBQUM7QUFDL0csT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFDM0YsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sZ0VBQWdFLENBQUM7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QUE0QztvQkFDNUMsbUNBQW1DO29CQUNuQyxxQ0FBcUM7b0JBQ3JDLHNDQUFzQztvQkFDdEMsc0NBQXNDO29CQUN0Qyw4QkFBOEI7b0JBQzlCLGdDQUFnQztvQkFDaEMsd0NBQXdDO29CQUN4Qyx3Q0FBd0M7b0JBQ3hDLG9DQUFvQztvQkFDcEMsaUNBQWlDO29CQUNqQyw2QkFBNkI7b0JBQzdCLDZDQUE2QztvQkFDN0MsZ0NBQWdDO29CQUNoQyxnQ0FBZ0M7b0JBQ2hDLDZCQUE2QjtpQkFDaEM7Z0JBQ0gsWUFBWSxFQUFFO29CQUNaLHFDQUFxQztvQkFDckMscUNBQXFDO29CQUNyQyxnQ0FBZ0M7b0JBQ2hDLGlCQUFpQjtpQkFDbEI7Z0JBQ0QsU0FBUyxFQUFFO29CQUNULGNBQWM7aUJBQ2Y7Z0JBQ0MsT0FBTyxFQUFFLENBQUMsaUJBQWlCLEVBQUUscUNBQXFDLENBQUM7Z0JBQ3JFLFNBQVMsRUFBRSxDQUFDLGlCQUFpQixDQUFDO2FBQy9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgICBCdXR0b25Nb2R1bGUsXHJcbiAgICBDYXJvdXNlbDNkTW9kdWxlLFxyXG4gICAgQ29EaWFsb2dNb2R1bGUsXHJcbiAgICBDb2xsYXBzaWJsZU1vZHVsZSxcclxuICAgIEZvcm1Nb2R1bGUsXHJcbiAgICBJY29uTW9kdWxlLFxyXG4gICAgSW5wdXRDaGVja2JveE1vZHVsZSxcclxuICAgIElucHV0RGF0ZVBpY2tlck1vZHVsZSxcclxuICAgIElucHV0TnVtYmVyUGlja2VyTW9kdWxlLFxyXG4gICAgSW5wdXRSYWRpb0J1dHRvbk1vZHVsZSxcclxuICAgIElucHV0VGV4dGFyZWFNb2R1bGUsXHJcbiAgICBJbnB1dFRleHRNb2R1bGUsXHJcbiAgICBQb3B1cE1vZHVsZSxcclxufSBmcm9tICdAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyJztcclxuaW1wb3J0IHtGbGV4TW9kdWxlfSBmcm9tICdAYW5ndWxhci9mbGV4LWxheW91dCc7XHJcbmltcG9ydCB7Q2hlY2tvdXRPdmVydmlld1JlbGF0aW9uRWRpdENvbXBvbmVudH0gZnJvbSAnLi9jaGVja291dC1vdmVydmlldy1yZWxhdGlvbi1lZGl0L2NoZWNrb3V0LW92ZXJ2aWV3LXJlbGF0aW9uLWVkaXQuY29tcG9uZW50JztcclxuaW1wb3J0IHtDaGVja291dE92ZXJ2aWV3RGVsaXZlcnlFZGl0Q29tcG9uZW50fSBmcm9tICcuL2NoZWNrb3V0LW92ZXJ2aWV3LWRlbGl2ZXJ5LWVkaXQvY2hlY2tvdXQtb3ZlcnZpZXctZGVsaXZlcnktZWRpdC5jb21wb25lbnQnO1xyXG5pbXBvcnQge09wdGlvbnNTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL29wdGlvbnMuc2VydmljZSc7XHJcbmltcG9ydCB7Q29yZU1vZHVsZX0gZnJvbSAnLi4vY29yZS9jb3JlLm1vZHVsZSc7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge0NoZWNrb3V0Q29tcG9uZW50fSBmcm9tICcuL2NoZWNrb3V0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7Rm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtSZWxhdGlvbkFkZHJlc3NTZWxlY3RNb2R1bGV9IGZyb20gJy4uL3JlbGF0aW9uL3JlbGF0aW9uLWFkZHJlc3Mtc2VsZWN0L3JlbGF0aW9uLWFkZHJlc3Mtc2VsZWN0Lm1vZHVsZSc7XHJcbmltcG9ydCB7UmVsYXRpb25BZGRyZXNzTW9kdWxlfSBmcm9tICcuLi9yZWxhdGlvbi9yZWxhdGlvbi1hZGRyZXNzL3JlbGF0aW9uLWFkZHJlc3MubW9kdWxlJztcclxuaW1wb3J0IHtSZWxhdGlvbkFkZHJlc3NUaWxlTW9kdWxlfSBmcm9tICcuLi9yZWxhdGlvbi9yZWxhdGlvbi1hZGRyZXNzLXRpbGUvcmVsYXRpb24tYWRkcmVzcy10aWxlLm1vZHVsZSc7XHJcbmltcG9ydCB7UGlwZU1vZHVsZX0gZnJvbSAnLi4vLi4vcGlwZS9waXBlLm1vZHVsZSc7XHJcbmltcG9ydCB7U3RlcHBlck1vZHVsZX0gZnJvbSAnLi4vc3RlcHBlci9zdGVwcGVyLm1vZHVsZSc7XHJcbmltcG9ydCB7U2hvcHBpbmdDYXJ0UHJldmlld01vZHVsZX0gZnJvbSAnLi4vc2hvcHBpbmctY2FydC1wcmV2aWV3L3Nob3BwaW5nLWNhcnQtcHJldmlldy5tb2R1bGUnO1xyXG5pbXBvcnQge0F2YXRhck1vZHVsZX0gZnJvbSAnLi4vYXZhdGFyL2F2YXRhci5tb2R1bGUnO1xyXG5pbXBvcnQge0RlbGl2ZXJ5VHlwZVRpbGVNb2R1bGV9IGZyb20gJy4uL2RlbGl2ZXJ5LXR5cGUtdGlsZS9kZWxpdmVyeS10eXBlLXRpbGUubW9kdWxlJztcclxuaW1wb3J0IHtQYXltZW50TW9kdWxlfSBmcm9tICcuLi9wYXltZW50L3BheW1lbnQubW9kdWxlJztcclxuaW1wb3J0IHtSZWxhdGlvblR5cGVNb2R1bGV9IGZyb20gJy4uL3JlbGF0aW9uL3JlbGF0aW9uLXR5cGUvcmVsYXRpb24tdHlwZS5tb2R1bGUnO1xyXG5pbXBvcnQge1JlbGF0aW9uR2VuZXJhbE1vZHVsZX0gZnJvbSAnLi4vcmVsYXRpb24vcmVsYXRpb24tZ2VuZXJhbC9yZWxhdGlvbi1nZW5lcmFsLm1vZHVsZSc7XHJcbmltcG9ydCB7UmVsYXRpb25BZGRyZXNzZXNNb2R1bGV9IGZyb20gJy4uL3JlbGF0aW9uL3JlbGF0aW9uLWFkZHJlc3Nlcy9yZWxhdGlvbi1hZGRyZXNzZXMubW9kdWxlJztcclxuaW1wb3J0IHtSZWxhdGlvbkNvbnRhY3REZXRhaWxzTW9kdWxlfSBmcm9tICcuLi9yZWxhdGlvbi9yZWxhdGlvbi1jb250YWN0LWRldGFpbHMvcmVsYXRpb24tY29udGFjdC1kZXRhaWxzLm1vZHVsZSc7XHJcbmltcG9ydCB7UmVsYXRpb25QcmVmZXJlbmNlc01vZHVsZX0gZnJvbSAnLi4vcmVsYXRpb24vcmVsYXRpb24tcHJlZmVyZW5jZXMvcmVsYXRpb24tcHJlZmVyZW5jZXMubW9kdWxlJztcclxuaW1wb3J0IHtDaGVja291dE92ZXJ2aWV3UGF5bWVudENvbXBvbmVudH0gZnJvbSAnLi9jaGVja291dC1vdmVydmlldy1wYXltZW50L2NoZWNrb3V0LW92ZXJ2aWV3LXBheW1lbnQuY29tcG9uZW50JztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkhlYWRlckRlbGl2ZXJ5TW9kdWxlfSBmcm9tICcuLi90cmFuc2FjdGlvbi1oZWFkZXIvdHJhbnNhY3Rpb24taGVhZGVyLWRlbGl2ZXJ5L3RyYW5zYWN0aW9uLWhlYWRlci1kZWxpdmVyeS5tb2R1bGUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSGVhZGVyUHJlZmVycmVkRGVsaXZlcnlEYXRlTW9kdWxlfSBmcm9tICcuLi90cmFuc2FjdGlvbi1oZWFkZXItZmllbGRzL3RyYW5zYWN0aW9uLWhlYWRlci1wcmVmZXJyZWQtZGVsaXZlcnktZGF0ZS5tb2R1bGUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSGVhZGVyUGFydGlhbERlbGl2ZXJ5TW9kdWxlfSBmcm9tICcuLi90cmFuc2FjdGlvbi1oZWFkZXItZmllbGRzL3RyYW5zYWN0aW9uLWhlYWRlci1wYXJ0aWFsLWRlbGl2ZXJ5Lm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25IZWFkZXJEZWxpdmVyeURhdGVNb2R1bGV9IGZyb20gJy4uL3RyYW5zYWN0aW9uLWhlYWRlci1maWVsZHMvdHJhbnNhY3Rpb24taGVhZGVyLWRlbGl2ZXJ5LWRhdGUubW9kdWxlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkhlYWRlckRlbGl2ZXJ5TWV0aG9kTW9kdWxlfSBmcm9tICcuLi90cmFuc2FjdGlvbi1oZWFkZXItZmllbGRzL3RyYW5zYWN0aW9uLWhlYWRlci1kZWxpdmVyeS1tZXRob2QubW9kdWxlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkhlYWRlclJlbWFya3NNb2R1bGV9IGZyb20gJy4uL3RyYW5zYWN0aW9uLWhlYWRlci1maWVsZHMvdHJhbnNhY3Rpb24taGVhZGVyLXJlbWFya3MubW9kdWxlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkhlYWRlclJlZmVyZW5jZU1vZHVsZX0gZnJvbSAnLi4vdHJhbnNhY3Rpb24taGVhZGVyLWZpZWxkcy90cmFuc2FjdGlvbi1oZWFkZXItcmVmZXJlbmNlLm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25IZWFkZXJSZWxhdGlvblJlZmVyZW5jZU1vZHVsZX0gZnJvbSAnLi4vdHJhbnNhY3Rpb24taGVhZGVyLWZpZWxkcy90cmFuc2FjdGlvbi1oZWFkZXItcmVsYXRpb24tcmVmZXJlbmNlLm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25IZWFkZXJEZXBvc2l0UGVyY2VudGFnZU1vZHVsZX0gZnJvbSAnLi4vdHJhbnNhY3Rpb24taGVhZGVyLWZpZWxkcy90cmFuc2FjdGlvbi1oZWFkZXItZGVwb3NpdC1wZXJjZW50YWdlLm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25IZWFkZXJEZXBvc2l0QW1vdW50TW9kdWxlfSBmcm9tICcuLi90cmFuc2FjdGlvbi1oZWFkZXItZmllbGRzL3RyYW5zYWN0aW9uLWhlYWRlci1kZXBvc2l0LWFtb3VudC5tb2R1bGUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSGVhZGVyRGVmaW5pdGl2ZU1vZHVsZX0gZnJvbSAnLi4vdHJhbnNhY3Rpb24taGVhZGVyLWZpZWxkcy90cmFuc2FjdGlvbi1oZWFkZXItZGVmaW5pdGl2ZS5tb2R1bGUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSGVhZGVyQnJhbmNoTW9kdWxlfSBmcm9tICcuLi90cmFuc2FjdGlvbi1oZWFkZXItZmllbGRzL3RyYW5zYWN0aW9uLWhlYWRlci1icmFuY2gubW9kdWxlJztcclxuaW1wb3J0IHtcclxuICAgIFRyYW5zYWN0aW9uSGVhZGVyQWRtaW5pc3RyYXRpdmVSZWxhdGlvbk1vZHVsZVxyXG59IGZyb20gJy4uL3RyYW5zYWN0aW9uLWhlYWRlci1maWVsZHMvdHJhbnNhY3Rpb24taGVhZGVyLWFkbWluaXN0cmF0aXZlLXJlbGF0aW9uLm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25IZWFkZXJNYXJrZXRpbmdNb2R1bGV9IGZyb20gJy4uL3RyYW5zYWN0aW9uLWhlYWRlci1maWVsZHMvdHJhbnNhY3Rpb24taGVhZGVyLW1hcmtldGluZy5tb2R1bGUnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25IZWFkZXJEZWxpdmVyeU9wdGlvbnNNb2R1bGVcclxufSBmcm9tICcuLi90cmFuc2FjdGlvbi1oZWFkZXItZmllbGRzL3RyYW5zYWN0aW9uLWhlYWRlci1kZWxpdmVyeS1vcHRpb25zL3RyYW5zYWN0aW9uLWhlYWRlci1kZWxpdmVyeS1vcHRpb25zLm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25IZWFkZXJIb2xkQ29kZXNNb2R1bGV9IGZyb20gJy4uL3RyYW5zYWN0aW9uLWhlYWRlci1maWVsZHMvdHJhbnNhY3Rpb24taGVhZGVyLWhvbGQtY29kZXMubW9kdWxlJztcclxuaW1wb3J0IHtSZWxhdGlvblN1Z2dlc3Rpb25zTGlzdE1vZHVsZX0gZnJvbSAnLi4vcmVsYXRpb24vcmVsYXRpb24tc3VnZ2VzdGlvbnMtbGlzdC9yZWxhdGlvbi1zdWdnZXN0aW9ucy1saXN0Lm1vZHVsZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENvcmVNb2R1bGUsXHJcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgICAgIEljb25Nb2R1bGUsXHJcbiAgICAgICAgSW5wdXRUZXh0TW9kdWxlLFxyXG4gICAgICAgIElucHV0Q2hlY2tib3hNb2R1bGUsXHJcbiAgICAgICAgSW5wdXRSYWRpb0J1dHRvbk1vZHVsZSxcclxuICAgICAgICBGb3JtTW9kdWxlLFxyXG4gICAgICAgIElucHV0RGF0ZVBpY2tlck1vZHVsZSxcclxuICAgICAgICBJbnB1dE51bWJlclBpY2tlck1vZHVsZSxcclxuICAgICAgICBDb0RpYWxvZ01vZHVsZSxcclxuICAgICAgICBCdXR0b25Nb2R1bGUsXHJcbiAgICAgICAgRmxleE1vZHVsZSxcclxuICAgICAgICBQb3B1cE1vZHVsZS5mb3JSb290KCksXHJcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgICAgICBGb3Jtc01vZHVsZSxcclxuICAgICAgICBSZWxhdGlvbkFkZHJlc3NNb2R1bGUsXHJcbiAgICAgICAgUmVsYXRpb25BZGRyZXNzU2VsZWN0TW9kdWxlLFxyXG4gICAgICAgIFJlbGF0aW9uQWRkcmVzc1RpbGVNb2R1bGUsXHJcbiAgICAgICAgQ2Fyb3VzZWwzZE1vZHVsZSxcclxuICAgICAgICBJbnB1dFRleHRhcmVhTW9kdWxlLFxyXG4gICAgICAgIFBpcGVNb2R1bGUsXHJcbiAgICAgICAgU3RlcHBlck1vZHVsZSxcclxuICAgICAgICBTaG9wcGluZ0NhcnRQcmV2aWV3TW9kdWxlLFxyXG4gICAgICAgIEF2YXRhck1vZHVsZSxcclxuICAgICAgICBEZWxpdmVyeVR5cGVUaWxlTW9kdWxlLFxyXG4gICAgICAgIENvbGxhcHNpYmxlTW9kdWxlLFxyXG4gICAgICAgIFBheW1lbnRNb2R1bGUsXHJcbiAgICAgICAgUmVsYXRpb25UeXBlTW9kdWxlLFxyXG4gICAgICAgIFJlbGF0aW9uR2VuZXJhbE1vZHVsZSxcclxuICAgICAgICBSZWxhdGlvbkFkZHJlc3Nlc01vZHVsZSxcclxuICAgICAgICBSZWxhdGlvbkNvbnRhY3REZXRhaWxzTW9kdWxlLFxyXG4gICAgICAgIFJlbGF0aW9uUHJlZmVyZW5jZXNNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25IZWFkZXJEZWxpdmVyeU1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkhlYWRlclByZWZlcnJlZERlbGl2ZXJ5RGF0ZU1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkhlYWRlckRlbGl2ZXJ5RGF0ZU1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkhlYWRlckRlbGl2ZXJ5TWV0aG9kTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uSGVhZGVyUGFydGlhbERlbGl2ZXJ5TW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uSGVhZGVyRGVsaXZlcnlPcHRpb25zTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uSGVhZGVyUmVtYXJrc01vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkhlYWRlclJlZmVyZW5jZU1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkhlYWRlclJlbGF0aW9uUmVmZXJlbmNlTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uSGVhZGVyRGVwb3NpdFBlcmNlbnRhZ2VNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25IZWFkZXJEZXBvc2l0QW1vdW50TW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uSGVhZGVyRGVmaW5pdGl2ZU1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkhlYWRlckJyYW5jaE1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkhlYWRlckFkbWluaXN0cmF0aXZlUmVsYXRpb25Nb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25IZWFkZXJNYXJrZXRpbmdNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25IZWFkZXJIb2xkQ29kZXNNb2R1bGUsXHJcbiAgICAgICAgUmVsYXRpb25TdWdnZXN0aW9uc0xpc3RNb2R1bGVcclxuICAgIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBDaGVja291dE92ZXJ2aWV3UmVsYXRpb25FZGl0Q29tcG9uZW50LFxyXG4gICAgQ2hlY2tvdXRPdmVydmlld0RlbGl2ZXJ5RWRpdENvbXBvbmVudCxcclxuICAgIENoZWNrb3V0T3ZlcnZpZXdQYXltZW50Q29tcG9uZW50LFxyXG4gICAgQ2hlY2tvdXRDb21wb25lbnQsXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIE9wdGlvbnNTZXJ2aWNlXHJcbiAgXSxcclxuICAgIGV4cG9ydHM6IFtDaGVja291dENvbXBvbmVudCwgQ2hlY2tvdXRPdmVydmlld1JlbGF0aW9uRWRpdENvbXBvbmVudF0sXHJcbiAgYm9vdHN0cmFwOiBbQ2hlY2tvdXRDb21wb25lbnRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDaGVja291dE1vZHVsZSB7XHJcbn1cclxuIl19
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvY2hlY2tvdXQvY2hlY2tvdXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUNILFlBQVksRUFDWixnQkFBZ0IsRUFDaEIsY0FBYyxFQUNkLGlCQUFpQixFQUNqQixVQUFVLEVBQ1YsVUFBVSxFQUNWLG1CQUFtQixFQUNuQixxQkFBcUIsRUFDckIsdUJBQXVCLEVBQ3ZCLHNCQUFzQixFQUN0QixtQkFBbUIsRUFDbkIsZUFBZSxFQUNmLFdBQVcsR0FDZCxNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUMscUNBQXFDLEVBQUMsTUFBTSw2RUFBNkUsQ0FBQztBQUNsSSxPQUFPLEVBQUMscUNBQXFDLEVBQUMsTUFBTSw2RUFBNkUsQ0FBQztBQUNsSSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDN0QsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RCxPQUFPLEVBQUMsV0FBVyxFQUFFLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEUsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sb0VBQW9FLENBQUM7QUFDL0csT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFDM0YsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sZ0VBQWdFLENBQUM7QUFDekcsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ2xELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RCxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSx1REFBdUQsQ0FBQztBQUNoRyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDckQsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0saURBQWlELENBQUM7QUFDdkYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3hELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBQ2xGLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBQzNGLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDBEQUEwRCxDQUFDO0FBQ2pHLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLHNFQUFzRSxDQUFDO0FBQ2xILE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLDhEQUE4RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBQyxnQ0FBZ0MsRUFBQyxNQUFNLGlFQUFpRSxDQUFDO0FBQ2pILE9BQU8sRUFBQywrQkFBK0IsRUFBQyxNQUFNLHNGQUFzRixDQUFDO0FBQ3JJLE9BQU8sRUFBQyw0Q0FBNEMsRUFBQyxNQUFNLGdGQUFnRixDQUFDO0FBQzVJLE9BQU8sRUFBQyxtQ0FBbUMsRUFBQyxNQUFNLHNFQUFzRSxDQUFDO0FBQ3pILE9BQU8sRUFBQyxxQ0FBcUMsRUFBQyxNQUFNLHdFQUF3RSxDQUFDO0FBQzdILE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLGdFQUFnRSxDQUFDO0FBQzlHLE9BQU8sRUFBQyxnQ0FBZ0MsRUFBQyxNQUFNLGtFQUFrRSxDQUFDO0FBQ2xILE9BQU8sRUFBQyx3Q0FBd0MsRUFBQyxNQUFNLDJFQUEyRSxDQUFDO0FBQ25JLE9BQU8sRUFBQyx3Q0FBd0MsRUFBQyxNQUFNLDJFQUEyRSxDQUFDO0FBQ25JLE9BQU8sRUFBQyxvQ0FBb0MsRUFBQyxNQUFNLHVFQUF1RSxDQUFDO0FBQzNILE9BQU8sRUFBQyxpQ0FBaUMsRUFBQyxNQUFNLG1FQUFtRSxDQUFDO0FBQ3BILE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLCtEQUErRCxDQUFDO0FBQzVHLE9BQU8sRUFDSCw2Q0FBNkMsRUFDaEQsTUFBTSxnRkFBZ0YsQ0FBQztBQUN4RixPQUFPLEVBQUMsZ0NBQWdDLEVBQUMsTUFBTSxrRUFBa0UsQ0FBQztBQUNsSCxPQUFPLEVBQ0gsc0NBQXNDLEVBQ3pDLE1BQU0sNkdBQTZHLENBQUM7QUFDckgsT0FBTyxFQUFDLGdDQUFnQyxFQUFDLE1BQU0sbUVBQW1FLENBQUM7QUFDbkgsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sd0VBQXdFLENBQUM7QUFDckgsT0FBTyxFQUNILHNDQUFzQyxFQUN6QyxNQUFNLDZHQUE2RyxDQUFDO0FBa0VySCxNQUFNLE9BQU8sY0FBYzs7O1lBaEUxQixRQUFRLFNBQUM7Z0JBQ04sT0FBTyxFQUFFO29CQUNMLFVBQVU7b0JBQ1YsWUFBWTtvQkFDWixVQUFVO29CQUNWLGVBQWU7b0JBQ2YsbUJBQW1CO29CQUNuQixzQkFBc0I7b0JBQ3RCLFVBQVU7b0JBQ1YscUJBQXFCO29CQUNyQix1QkFBdUI7b0JBQ3ZCLGNBQWM7b0JBQ2QsWUFBWTtvQkFDWixVQUFVO29CQUNWLFdBQVcsQ0FBQyxPQUFPLEVBQUU7b0JBQ3JCLG1CQUFtQjtvQkFDbkIsV0FBVztvQkFDWCxxQkFBcUI7b0JBQ3JCLDJCQUEyQjtvQkFDM0IseUJBQXlCO29CQUN6QixnQkFBZ0I7b0JBQ2hCLG1CQUFtQjtvQkFDbkIsVUFBVTtvQkFDVixhQUFhO29CQUNiLHlCQUF5QjtvQkFDekIsWUFBWTtvQkFDWixzQkFBc0I7b0JBQ3RCLGlCQUFpQjtvQkFDakIsYUFBYTtvQkFDYixrQkFBa0I7b0JBQ2xCLHFCQUFxQjtvQkFDckIsdUJBQXVCO29CQUN2Qiw0QkFBNEI7b0JBQzVCLHlCQUF5QjtvQkFDekIsK0JBQStCO29CQUMvQiw0Q0FBNEM7b0JBQzVDLG1DQUFtQztvQkFDbkMscUNBQXFDO29CQUNyQyxzQ0FBc0M7b0JBQ3RDLHNDQUFzQztvQkFDdEMsOEJBQThCO29CQUM5QixnQ0FBZ0M7b0JBQ2hDLHdDQUF3QztvQkFDeEMsd0NBQXdDO29CQUN4QyxvQ0FBb0M7b0JBQ3BDLGlDQUFpQztvQkFDakMsNkJBQTZCO29CQUM3Qiw2Q0FBNkM7b0JBQzdDLGdDQUFnQztvQkFDaEMsZ0NBQWdDO29CQUNoQyw2QkFBNkI7aUJBQ2hDO2dCQUNILFlBQVksRUFBRTtvQkFDWixxQ0FBcUM7b0JBQ3JDLHFDQUFxQztvQkFDckMsZ0NBQWdDO29CQUNoQyxpQkFBaUI7aUJBQ2xCO2dCQUNELFNBQVMsRUFBRTtvQkFDVCxjQUFjO2lCQUNmO2dCQUNDLE9BQU8sRUFBRSxDQUFDLGlCQUFpQixFQUFFLHFDQUFxQyxDQUFDO2dCQUNyRSxTQUFTLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQzthQUMvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gICAgQnV0dG9uTW9kdWxlLFxyXG4gICAgQ2Fyb3VzZWwzZE1vZHVsZSxcclxuICAgIENvRGlhbG9nTW9kdWxlLFxyXG4gICAgQ29sbGFwc2libGVNb2R1bGUsXHJcbiAgICBGb3JtTW9kdWxlLFxyXG4gICAgSWNvbk1vZHVsZSxcclxuICAgIElucHV0Q2hlY2tib3hNb2R1bGUsXHJcbiAgICBJbnB1dERhdGVQaWNrZXJNb2R1bGUsXHJcbiAgICBJbnB1dE51bWJlclBpY2tlck1vZHVsZSxcclxuICAgIElucHV0UmFkaW9CdXR0b25Nb2R1bGUsXHJcbiAgICBJbnB1dFRleHRhcmVhTW9kdWxlLFxyXG4gICAgSW5wdXRUZXh0TW9kdWxlLFxyXG4gICAgUG9wdXBNb2R1bGUsXHJcbn0gZnJvbSAnQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMic7XHJcbmltcG9ydCB7RmxleE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZmxleC1sYXlvdXQnO1xyXG5pbXBvcnQge0NoZWNrb3V0T3ZlcnZpZXdSZWxhdGlvbkVkaXRDb21wb25lbnR9IGZyb20gJy4vY2hlY2tvdXQtb3ZlcnZpZXctcmVsYXRpb24tZWRpdC9jaGVja291dC1vdmVydmlldy1yZWxhdGlvbi1lZGl0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7Q2hlY2tvdXRPdmVydmlld0RlbGl2ZXJ5RWRpdENvbXBvbmVudH0gZnJvbSAnLi9jaGVja291dC1vdmVydmlldy1kZWxpdmVyeS1lZGl0L2NoZWNrb3V0LW92ZXJ2aWV3LWRlbGl2ZXJ5LWVkaXQuY29tcG9uZW50JztcclxuaW1wb3J0IHtPcHRpb25zU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9vcHRpb25zLnNlcnZpY2UnO1xyXG5pbXBvcnQge0NvcmVNb2R1bGV9IGZyb20gJy4uL2NvcmUvY29yZS5tb2R1bGUnO1xyXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtDaGVja291dENvbXBvbmVudH0gZnJvbSAnLi9jaGVja291dC5jb21wb25lbnQnO1xyXG5pbXBvcnQge0Zvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7UmVsYXRpb25BZGRyZXNzU2VsZWN0TW9kdWxlfSBmcm9tICcuLi9yZWxhdGlvbi9yZWxhdGlvbi1hZGRyZXNzLXNlbGVjdC9yZWxhdGlvbi1hZGRyZXNzLXNlbGVjdC5tb2R1bGUnO1xyXG5pbXBvcnQge1JlbGF0aW9uQWRkcmVzc01vZHVsZX0gZnJvbSAnLi4vcmVsYXRpb24vcmVsYXRpb24tYWRkcmVzcy9yZWxhdGlvbi1hZGRyZXNzLm1vZHVsZSc7XHJcbmltcG9ydCB7UmVsYXRpb25BZGRyZXNzVGlsZU1vZHVsZX0gZnJvbSAnLi4vcmVsYXRpb24vcmVsYXRpb24tYWRkcmVzcy10aWxlL3JlbGF0aW9uLWFkZHJlc3MtdGlsZS5tb2R1bGUnO1xyXG5pbXBvcnQge1BpcGVNb2R1bGV9IGZyb20gJy4uLy4uL3BpcGUvcGlwZS5tb2R1bGUnO1xyXG5pbXBvcnQge1N0ZXBwZXJNb2R1bGV9IGZyb20gJy4uL3N0ZXBwZXIvc3RlcHBlci5tb2R1bGUnO1xyXG5pbXBvcnQge1Nob3BwaW5nQ2FydFByZXZpZXdNb2R1bGV9IGZyb20gJy4uL3Nob3BwaW5nLWNhcnQtcHJldmlldy9zaG9wcGluZy1jYXJ0LXByZXZpZXcubW9kdWxlJztcclxuaW1wb3J0IHtBdmF0YXJNb2R1bGV9IGZyb20gJy4uL2F2YXRhci9hdmF0YXIubW9kdWxlJztcclxuaW1wb3J0IHtEZWxpdmVyeVR5cGVUaWxlTW9kdWxlfSBmcm9tICcuLi9kZWxpdmVyeS10eXBlLXRpbGUvZGVsaXZlcnktdHlwZS10aWxlLm1vZHVsZSc7XHJcbmltcG9ydCB7UGF5bWVudE1vZHVsZX0gZnJvbSAnLi4vcGF5bWVudC9wYXltZW50Lm1vZHVsZSc7XHJcbmltcG9ydCB7UmVsYXRpb25UeXBlTW9kdWxlfSBmcm9tICcuLi9yZWxhdGlvbi9yZWxhdGlvbi10eXBlL3JlbGF0aW9uLXR5cGUubW9kdWxlJztcclxuaW1wb3J0IHtSZWxhdGlvbkdlbmVyYWxNb2R1bGV9IGZyb20gJy4uL3JlbGF0aW9uL3JlbGF0aW9uLWdlbmVyYWwvcmVsYXRpb24tZ2VuZXJhbC5tb2R1bGUnO1xyXG5pbXBvcnQge1JlbGF0aW9uQWRkcmVzc2VzTW9kdWxlfSBmcm9tICcuLi9yZWxhdGlvbi9yZWxhdGlvbi1hZGRyZXNzZXMvcmVsYXRpb24tYWRkcmVzc2VzLm1vZHVsZSc7XHJcbmltcG9ydCB7UmVsYXRpb25Db250YWN0RGV0YWlsc01vZHVsZX0gZnJvbSAnLi4vcmVsYXRpb24vcmVsYXRpb24tY29udGFjdC1kZXRhaWxzL3JlbGF0aW9uLWNvbnRhY3QtZGV0YWlscy5tb2R1bGUnO1xyXG5pbXBvcnQge1JlbGF0aW9uUHJlZmVyZW5jZXNNb2R1bGV9IGZyb20gJy4uL3JlbGF0aW9uL3JlbGF0aW9uLXByZWZlcmVuY2VzL3JlbGF0aW9uLXByZWZlcmVuY2VzLm1vZHVsZSc7XHJcbmltcG9ydCB7Q2hlY2tvdXRPdmVydmlld1BheW1lbnRDb21wb25lbnR9IGZyb20gJy4vY2hlY2tvdXQtb3ZlcnZpZXctcGF5bWVudC9jaGVja291dC1vdmVydmlldy1wYXltZW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25IZWFkZXJEZWxpdmVyeU1vZHVsZX0gZnJvbSAnLi4vdHJhbnNhY3Rpb24taGVhZGVyL3RyYW5zYWN0aW9uLWhlYWRlci1kZWxpdmVyeS90cmFuc2FjdGlvbi1oZWFkZXItZGVsaXZlcnkubW9kdWxlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkhlYWRlclByZWZlcnJlZERlbGl2ZXJ5RGF0ZU1vZHVsZX0gZnJvbSAnLi4vdHJhbnNhY3Rpb24taGVhZGVyLWZpZWxkcy90cmFuc2FjdGlvbi1oZWFkZXItcHJlZmVycmVkLWRlbGl2ZXJ5LWRhdGUubW9kdWxlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkhlYWRlckRlbGl2ZXJ5RGF0ZU1vZHVsZX0gZnJvbSAnLi4vdHJhbnNhY3Rpb24taGVhZGVyLWZpZWxkcy90cmFuc2FjdGlvbi1oZWFkZXItZGVsaXZlcnktZGF0ZS5tb2R1bGUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSGVhZGVyRGVsaXZlcnlNZXRob2RNb2R1bGV9IGZyb20gJy4uL3RyYW5zYWN0aW9uLWhlYWRlci1maWVsZHMvdHJhbnNhY3Rpb24taGVhZGVyLWRlbGl2ZXJ5LW1ldGhvZC5tb2R1bGUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSGVhZGVyUmVtYXJrc01vZHVsZX0gZnJvbSAnLi4vdHJhbnNhY3Rpb24taGVhZGVyLWZpZWxkcy90cmFuc2FjdGlvbi1oZWFkZXItcmVtYXJrcy5tb2R1bGUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSGVhZGVyUmVmZXJlbmNlTW9kdWxlfSBmcm9tICcuLi90cmFuc2FjdGlvbi1oZWFkZXItZmllbGRzL3RyYW5zYWN0aW9uLWhlYWRlci1yZWZlcmVuY2UubW9kdWxlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkhlYWRlclJlbGF0aW9uUmVmZXJlbmNlTW9kdWxlfSBmcm9tICcuLi90cmFuc2FjdGlvbi1oZWFkZXItZmllbGRzL3RyYW5zYWN0aW9uLWhlYWRlci1yZWxhdGlvbi1yZWZlcmVuY2UubW9kdWxlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkhlYWRlckRlcG9zaXRQZXJjZW50YWdlTW9kdWxlfSBmcm9tICcuLi90cmFuc2FjdGlvbi1oZWFkZXItZmllbGRzL3RyYW5zYWN0aW9uLWhlYWRlci1kZXBvc2l0LXBlcmNlbnRhZ2UubW9kdWxlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkhlYWRlckRlcG9zaXRBbW91bnRNb2R1bGV9IGZyb20gJy4uL3RyYW5zYWN0aW9uLWhlYWRlci1maWVsZHMvdHJhbnNhY3Rpb24taGVhZGVyLWRlcG9zaXQtYW1vdW50Lm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25IZWFkZXJEZWZpbml0aXZlTW9kdWxlfSBmcm9tICcuLi90cmFuc2FjdGlvbi1oZWFkZXItZmllbGRzL3RyYW5zYWN0aW9uLWhlYWRlci1kZWZpbml0aXZlLm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25IZWFkZXJCcmFuY2hNb2R1bGV9IGZyb20gJy4uL3RyYW5zYWN0aW9uLWhlYWRlci1maWVsZHMvdHJhbnNhY3Rpb24taGVhZGVyLWJyYW5jaC5tb2R1bGUnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25IZWFkZXJBZG1pbmlzdHJhdGl2ZVJlbGF0aW9uTW9kdWxlXHJcbn0gZnJvbSAnLi4vdHJhbnNhY3Rpb24taGVhZGVyLWZpZWxkcy90cmFuc2FjdGlvbi1oZWFkZXItYWRtaW5pc3RyYXRpdmUtcmVsYXRpb24ubW9kdWxlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkhlYWRlck1hcmtldGluZ01vZHVsZX0gZnJvbSAnLi4vdHJhbnNhY3Rpb24taGVhZGVyLWZpZWxkcy90cmFuc2FjdGlvbi1oZWFkZXItbWFya2V0aW5nLm1vZHVsZSc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvbkhlYWRlckRlbGl2ZXJ5T3B0aW9uc01vZHVsZVxyXG59IGZyb20gJy4uL3RyYW5zYWN0aW9uLWhlYWRlci1maWVsZHMvdHJhbnNhY3Rpb24taGVhZGVyLWRlbGl2ZXJ5LW9wdGlvbnMvdHJhbnNhY3Rpb24taGVhZGVyLWRlbGl2ZXJ5LW9wdGlvbnMubW9kdWxlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkhlYWRlckhvbGRDb2Rlc01vZHVsZX0gZnJvbSAnLi4vdHJhbnNhY3Rpb24taGVhZGVyLWZpZWxkcy90cmFuc2FjdGlvbi1oZWFkZXItaG9sZC1jb2Rlcy5tb2R1bGUnO1xyXG5pbXBvcnQge1JlbGF0aW9uU3VnZ2VzdGlvbnNMaXN0TW9kdWxlfSBmcm9tICcuLi9yZWxhdGlvbi9yZWxhdGlvbi1zdWdnZXN0aW9ucy1saXN0L3JlbGF0aW9uLXN1Z2dlc3Rpb25zLWxpc3QubW9kdWxlJztcclxuaW1wb3J0IHtcclxuICAgIFRyYW5zYWN0aW9uSGVhZGVyUGFydGlhbERlbGl2ZXJ5TW9kdWxlXHJcbn0gZnJvbSAnLi4vdHJhbnNhY3Rpb24taGVhZGVyLWZpZWxkcy90cmFuc2FjdGlvbi1oZWFkZXItcGFydGlhbC1kZWxpdmVyeS90cmFuc2FjdGlvbi1oZWFkZXItcGFydGlhbC1kZWxpdmVyeS5tb2R1bGUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBDb3JlTW9kdWxlLFxyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcclxuICAgICAgICBJY29uTW9kdWxlLFxyXG4gICAgICAgIElucHV0VGV4dE1vZHVsZSxcclxuICAgICAgICBJbnB1dENoZWNrYm94TW9kdWxlLFxyXG4gICAgICAgIElucHV0UmFkaW9CdXR0b25Nb2R1bGUsXHJcbiAgICAgICAgRm9ybU1vZHVsZSxcclxuICAgICAgICBJbnB1dERhdGVQaWNrZXJNb2R1bGUsXHJcbiAgICAgICAgSW5wdXROdW1iZXJQaWNrZXJNb2R1bGUsXHJcbiAgICAgICAgQ29EaWFsb2dNb2R1bGUsXHJcbiAgICAgICAgQnV0dG9uTW9kdWxlLFxyXG4gICAgICAgIEZsZXhNb2R1bGUsXHJcbiAgICAgICAgUG9wdXBNb2R1bGUuZm9yUm9vdCgpLFxyXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICAgICAgRm9ybXNNb2R1bGUsXHJcbiAgICAgICAgUmVsYXRpb25BZGRyZXNzTW9kdWxlLFxyXG4gICAgICAgIFJlbGF0aW9uQWRkcmVzc1NlbGVjdE1vZHVsZSxcclxuICAgICAgICBSZWxhdGlvbkFkZHJlc3NUaWxlTW9kdWxlLFxyXG4gICAgICAgIENhcm91c2VsM2RNb2R1bGUsXHJcbiAgICAgICAgSW5wdXRUZXh0YXJlYU1vZHVsZSxcclxuICAgICAgICBQaXBlTW9kdWxlLFxyXG4gICAgICAgIFN0ZXBwZXJNb2R1bGUsXHJcbiAgICAgICAgU2hvcHBpbmdDYXJ0UHJldmlld01vZHVsZSxcclxuICAgICAgICBBdmF0YXJNb2R1bGUsXHJcbiAgICAgICAgRGVsaXZlcnlUeXBlVGlsZU1vZHVsZSxcclxuICAgICAgICBDb2xsYXBzaWJsZU1vZHVsZSxcclxuICAgICAgICBQYXltZW50TW9kdWxlLFxyXG4gICAgICAgIFJlbGF0aW9uVHlwZU1vZHVsZSxcclxuICAgICAgICBSZWxhdGlvbkdlbmVyYWxNb2R1bGUsXHJcbiAgICAgICAgUmVsYXRpb25BZGRyZXNzZXNNb2R1bGUsXHJcbiAgICAgICAgUmVsYXRpb25Db250YWN0RGV0YWlsc01vZHVsZSxcclxuICAgICAgICBSZWxhdGlvblByZWZlcmVuY2VzTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uSGVhZGVyRGVsaXZlcnlNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25IZWFkZXJQcmVmZXJyZWREZWxpdmVyeURhdGVNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25IZWFkZXJEZWxpdmVyeURhdGVNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25IZWFkZXJEZWxpdmVyeU1ldGhvZE1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkhlYWRlclBhcnRpYWxEZWxpdmVyeU1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkhlYWRlckRlbGl2ZXJ5T3B0aW9uc01vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkhlYWRlclJlbWFya3NNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25IZWFkZXJSZWZlcmVuY2VNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25IZWFkZXJSZWxhdGlvblJlZmVyZW5jZU1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkhlYWRlckRlcG9zaXRQZXJjZW50YWdlTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uSGVhZGVyRGVwb3NpdEFtb3VudE1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkhlYWRlckRlZmluaXRpdmVNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25IZWFkZXJCcmFuY2hNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25IZWFkZXJBZG1pbmlzdHJhdGl2ZVJlbGF0aW9uTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uSGVhZGVyTWFya2V0aW5nTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uSGVhZGVySG9sZENvZGVzTW9kdWxlLFxyXG4gICAgICAgIFJlbGF0aW9uU3VnZ2VzdGlvbnNMaXN0TW9kdWxlXHJcbiAgICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgQ2hlY2tvdXRPdmVydmlld1JlbGF0aW9uRWRpdENvbXBvbmVudCxcclxuICAgIENoZWNrb3V0T3ZlcnZpZXdEZWxpdmVyeUVkaXRDb21wb25lbnQsXHJcbiAgICBDaGVja291dE92ZXJ2aWV3UGF5bWVudENvbXBvbmVudCxcclxuICAgIENoZWNrb3V0Q29tcG9uZW50LFxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBPcHRpb25zU2VydmljZVxyXG4gIF0sXHJcbiAgICBleHBvcnRzOiBbQ2hlY2tvdXRDb21wb25lbnQsIENoZWNrb3V0T3ZlcnZpZXdSZWxhdGlvbkVkaXRDb21wb25lbnRdLFxyXG4gIGJvb3RzdHJhcDogW0NoZWNrb3V0Q29tcG9uZW50XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hlY2tvdXRNb2R1bGUge1xyXG59XHJcbiJdfQ==
|
|
@@ -33,6 +33,7 @@ export class TransactionBaseComponent {
|
|
|
33
33
|
this.preview = false;
|
|
34
34
|
this.readonly = false;
|
|
35
35
|
this.relationChange = new EventEmitter();
|
|
36
|
+
this.showLoader = false;
|
|
36
37
|
this.isService = false;
|
|
37
38
|
this.lineOperationStatuses = [];
|
|
38
39
|
this.transactionLines = [];
|
|
@@ -103,8 +104,8 @@ export class TransactionBaseComponent {
|
|
|
103
104
|
this.transactionSet();
|
|
104
105
|
}
|
|
105
106
|
this.hasMultipleLines = this.transactionLines.length + this.deliveryCostLines.length > 1;
|
|
106
|
-
this.canAllLinesBeDelivered = this.transactionLines.filter(l => l.articleLineStatus ? (l.articleLineStatus.quantityToDeliver === 0
|
|
107
|
-
this.canAllLinesBeInvoiced = this.transactionLines.filter(l => l.articleLineStatus ? (l.articleLineStatus.quantityToInvoice === 0
|
|
107
|
+
this.canAllLinesBeDelivered = this.transactionLines.filter(l => l.articleLineStatus ? (l.articleLineStatus.quantityToDeliver === 0) : false).length === 0;
|
|
108
|
+
this.canAllLinesBeInvoiced = this.transactionLines.filter(l => l.articleLineStatus ? (l.articleLineStatus.quantityToInvoice === 0) : false).length === 0;
|
|
108
109
|
this.hasLinesToDeliver = this.transactionInfo.allowPartialDelivery ?
|
|
109
110
|
this.transactionLines.filter(l => l.articleLineStatus ? l.articleLineStatus.quantityToDeliver !== 0 : false).length > 0 :
|
|
110
111
|
this.transactionLines.filter(l => l.articleLineStatus ? l.articleLineStatus.quantityToDeliver === 0 : false).length === 0;
|
|
@@ -339,6 +340,7 @@ TransactionBaseComponent.propDecorators = {
|
|
|
339
340
|
readonly: [{ type: HostBinding, args: ['class.read-only',] }, { type: Input }],
|
|
340
341
|
relationChange: [{ type: Output }],
|
|
341
342
|
isText: [{ type: HostBinding, args: ['class.is-text',] }],
|
|
342
|
-
isArticle: [{ type: HostBinding, args: ['class.is-article',] }]
|
|
343
|
+
isArticle: [{ type: HostBinding, args: ['class.is-article',] }],
|
|
344
|
+
showLoader: [{ type: HostBinding, args: ["class.show-loader",] }]
|
|
343
345
|
};
|
|
344
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC9jb3JlL2Jhc2UvdHJhbnNhY3Rpb24tYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN4SCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUV4RSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMERBQTBELENBQUM7QUFDekYsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBQzFGLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLCtEQUErRCxDQUFDO0FBQ2xHLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBRzNGLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLHVEQUF1RCxDQUFDO0FBQ2hHLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDBEQUEwRCxDQUFDO0FBQzFGLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUNyRixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUVuRixPQUFPLEVBQUMsWUFBWSxF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QnBCLEtBQUs7OEJBMENMLEtBQUs7OEJBNkNMLEtBQUs7K0JBMEJMLEtBQUs7dUJBWUwsS0FBSzswQkFjTCxLQUFLO3VCQUdMLEtBQUs7c0JBR0wsV0FBVyxTQUFDLGVBQWUsY0FDM0IsS0FBSzt1QkFHTCxXQUFXLFNBQUMsbUJBQW1CLGNBQy9CLEtBQUs7dUJBWUwsV0FBVyxTQUFDLGlCQUFpQixjQUM3QixLQUFLOzZCQUdMLE1BQU07cUJBR04sV0FBVyxTQUFDLGVBQWU7d0JBRzNCLFdBQVcsU0FBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdG9yUmVmLCBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24uc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2V9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1pbmZvLXJlc3BvbnNlLmJvJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkluZm99IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1pbmZvLmJvJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbktpbmR9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL3RyYW5zYWN0aW9uLWtpbmQuZW51bSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25MaW5lSW5mb30gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLWxpbmUtaW5mby5ibyc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25Ub3RhbH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLXRvdGFsLmJvJztcclxuaW1wb3J0IHtMaW5lT3BlcmF0aW9uU3RhdHVzfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvbGluZS1vcGVyYXRpb24tc3RhdHVzLmJvJztcclxuaW1wb3J0IHtSZWxhdGlvbkFueVR5cGV9IGZyb20gJ0Bjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9tb2RlbC9yZWxhdGlvbi1hbnktdHlwZSc7XHJcbmltcG9ydCB7TlVMTF9DVVNUT01FUl9GVUxMX09CSkVDVH0gZnJvbSAnQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL21vZGVsL251bC1yZWxhdGlvbi1vYmplY3QnO1xyXG5pbXBvcnQge1JlbGF0aW9uTmFtZUtpbmR9IGZyb20gJ0Bjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9lbnVtL3JlbGF0aW9uLW5hbWUta2luZC5lbnVtJztcclxuaW1wb3J0IHtJY29ufSBmcm9tICcuLi8uLi8uLi9lbnVtL2ljb24uZW51bSc7XHJcbmltcG9ydCB7RGljdGlvbmFyeVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvZGljdGlvbmFyeS5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblR5cGVDYXRlZ29yeX0gZnJvbSAnLi4vLi4vLi4vZW51bS90cmFuc2FjdGlvbi10eXBlLWNhdGVnb3J5LmVudW0nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWV2ZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkltYWdlU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1pbWFnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge1JlbGF0aW9uS2luZH0gZnJvbSAnQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL2VudW0vcmVsYXRpb24ta2luZC5lbnVtJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLXNjcmVlbi1jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRGVsaXZlcnlDb3N0TGluZUluZm99IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1kZWxpdmVyeS1jb3N0LWxpbmUtaW5mby5ibyc7XHJcblxyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFRyYW5zYWN0aW9uQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAgIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG4gICAgcHVibGljIHJlYWRvbmx5IHJlbEtpbmQ6IHR5cGVvZiBSZWxhdGlvbktpbmQgPSBSZWxhdGlvbktpbmQ7XHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgdHJhbnNLaW5kOiB0eXBlb2YgVHJhbnNhY3Rpb25LaW5kID0gVHJhbnNhY3Rpb25LaW5kO1xyXG4gICAgcHVibGljIHJlYWRvbmx5IGNhdGVnb3J5OiB0eXBlb2YgVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkgPSBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldCB0cmFuc2FjdGlvbih2YWx1ZTogVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UpIHtcclxuICAgICAgICB0aGlzLl90cmFuc2FjdGlvbiA9IHZhbHVlO1xyXG4gICAgICAgIGlmICh0aGlzLl90cmFuc2FjdGlvbikge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5fdHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uSW5mbyA9IHRoaXMuX3RyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mbztcclxuICAgICAgICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb25LaW5kID0gdGhpcy50cmFuc2FjdGlvbkluZm8udHJhbnNhY3Rpb25LaW5kO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pc1NlcnZpY2UgPSB0aGlzLl90cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8udHJhbnNhY3Rpb25LaW5kID09PSBUcmFuc2FjdGlvbktpbmQuU2VydmljZU9yZGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl90cmFuc2FjdGlvbi50cmFuc2FjdGlvbkxpbmVzKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uTGluZXMgPSB0aGlzLl90cmFuc2FjdGlvbi50cmFuc2FjdGlvbkxpbmVzO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl90cmFuc2FjdGlvbi5kZWxpdmVyeUNvc3RMaW5lcykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5kZWxpdmVyeUNvc3RMaW5lcyA9IHRoaXMuX3RyYW5zYWN0aW9uLmRlbGl2ZXJ5Q29zdExpbmVzO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl90cmFuc2FjdGlvbi50cmFuc2FjdGlvblRvdGFsKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uVG90YWwgPSB0aGlzLl90cmFuc2FjdGlvbi50cmFuc2FjdGlvblRvdGFsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl90cmFuc2FjdGlvbi5saW5lT3BlcmF0aW9uU3RhdHVzZXMpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubGluZU9wZXJhdGlvblN0YXR1c2VzID0gdGhpcy5fdHJhbnNhY3Rpb24ubGluZU9wZXJhdGlvblN0YXR1c2VzO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl90cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8gJiYgdGhpcy5fdHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLnV1aWQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb25TZXQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLmhhc011bHRpcGxlTGluZXMgPSB0aGlzLnRyYW5zYWN0aW9uTGluZXMubGVuZ3RoICsgdGhpcy5kZWxpdmVyeUNvc3RMaW5lcy5sZW5ndGggPiAxO1xyXG4gICAgICAgICAgICB0aGlzLmNhbkFsbExpbmVzQmVEZWxpdmVyZWQgPSB0aGlzLnRyYW5zYWN0aW9uTGluZXMuZmlsdGVyKFxyXG4gICAgICAgICAgICAgICAgbCA9PiBsLmFydGljbGVMaW5lU3RhdHVzID8gKGwuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlUb0RlbGl2ZXIgPT09IDAgJiYgIWwuYXJ0aWNsZUxpbmVTdGF0dXMuaXNGdWxseURlbGl2ZXJlZCkgOiBmYWxzZSkubGVuZ3RoID09PSAwO1xyXG4gICAgICAgICAgICB0aGlzLmNhbkFsbExpbmVzQmVJbnZvaWNlZCA9IHRoaXMudHJhbnNhY3Rpb25MaW5lcy5maWx0ZXIoXHJcbiAgICAgICAgICAgICAgICBsID0+IGwuYXJ0aWNsZUxpbmVTdGF0dXMgPyAobC5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eVRvSW52b2ljZSA9PT0gMCAmJiAhbC5hcnRpY2xlTGluZVN0YXR1cy5pc0Z1bGx5SW52b2ljZWQpIDogZmFsc2UpLmxlbmd0aCA9PT0gMDtcclxuICAgICAgICAgICAgdGhpcy5oYXNMaW5lc1RvRGVsaXZlciA9IHRoaXMudHJhbnNhY3Rpb25JbmZvLmFsbG93UGFydGlhbERlbGl2ZXJ5ID9cclxuICAgICAgICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb25MaW5lcy5maWx0ZXIobCA9PiBsLmFydGljbGVMaW5lU3RhdHVzID8gbC5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eVRvRGVsaXZlciAhPT0gMCA6IGZhbHNlKS5sZW5ndGggPiAwIDpcclxuICAgICAgICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb25MaW5lcy5maWx0ZXIobCA9PiBsLmFydGljbGVMaW5lU3RhdHVzID8gbC5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eVRvRGVsaXZlciA9PT0gMCA6IGZhbHNlKS5sZW5ndGggPT09IDA7XHJcbiAgICAgICAgICAgIHRoaXMuaGFzTGluZXNUb0ludm9pY2UgPSB0aGlzLnRyYW5zYWN0aW9uSW5mby5hbGxvd1BhcnRpYWxEZWxpdmVyeSA/XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uTGluZXMuZmlsdGVyKGwgPT4gbC5hcnRpY2xlTGluZVN0YXR1cyA/IGwuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlUb0ludm9pY2UgIT09IDAgOiBmYWxzZSkubGVuZ3RoID4gMCA6XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uTGluZXMuZmlsdGVyKGwgPT4gbC5hcnRpY2xlTGluZVN0YXR1cyA/IGwuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlUb0ludm9pY2UgPT09IDAgOiBmYWxzZSkubGVuZ3RoID09PSAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IHRyYW5zYWN0aW9uKCk6IFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fdHJhbnNhY3Rpb247XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZXQgdHJhbnNhY3Rpb25MaW5lKHZhbHVlOiBUcmFuc2FjdGlvbkxpbmVJbmZvKSB7XHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3RyYW5zYWN0aW9uTGluZSA9IHZhbHVlO1xyXG4gICAgICAgICAgICB0aGlzLl90cmFuc2FjdGlvbkxpbmUuc2VsZWN0ZWQgPSB0aGlzLl9zZWxlY3RlZDtcclxuICAgICAgICAgICAgdGhpcy5pc1RleHQgPSB0aGlzLl90cmFuc2FjdGlvbkxpbmUuaXNUZXh0O1xyXG4gICAgICAgICAgICB0aGlzLmlzQXJ0aWNsZSA9IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5pc0FydGljbGU7XHJcbiAgICAgICAgICAgIHRoaXMubGluZUhhc0xvZ2lzdGljYWxTdGF0ZSA9IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cyAmJlxyXG4gICAgICAgICAgICAgICAgKCh0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaGFzT3duUHJvcGVydHkoJ3F1YW50aXR5RGVsaXZlcmVkJykgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5RGVsaXZlcmVkICE9PSAwKSB8fFxyXG4gICAgICAgICAgICAgICAgICAgICh0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaGFzT3duUHJvcGVydHkoJ3F1YW50aXR5SW52b2ljZWQnKSAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlJbnZvaWNlZCAhPT0gMCkgfHxcclxuICAgICAgICAgICAgICAgICAgICAodGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdxdWFudGl0eVBpY2tlZCcpICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eVBpY2tlZCAhPT0gMCkgfHxcclxuICAgICAgICAgICAgICAgICAgICAodGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdxdWFudGl0eVRvQmVQaWNrZWQnKSAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlUb0JlUGlja2VkICE9PSAwKSB8fFxyXG4gICAgICAgICAgICAgICAgICAgICh0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaGFzT3duUHJvcGVydHkoJ3F1YW50aXR5QWxsb2NhdGVkJykgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5QWxsb2NhdGVkIDwgMCkpO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVJc09yZGVyZWQgPSB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdpc0Z1bGx5T3JkZXJlZCcpICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5pc0Z1bGx5T3JkZXJlZDtcclxuICAgICAgICAgICAgdGhpcy5saW5lSXNEZWxpdmVyZWQgPSB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdpc0Z1bGx5RGVsaXZlcmVkJykgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmlzRnVsbHlEZWxpdmVyZWQ7XHJcbiAgICAgICAgICAgIHRoaXMubGluZUlzSW52b2ljZWQgPSB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdpc0Z1bGx5SW52b2ljZWQnKSAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaXNGdWxseUludm9pY2VkO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVJc1JlY2VpdmVkID0gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5oYXNPd25Qcm9wZXJ0eSgnaXNGdWxseVJlY2VpdmVkJykgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmlzRnVsbHlSZWNlaXZlZDtcclxuXHJcbiAgICAgICAgICAgIHRoaXMubGluZVF1YW50aXR5VG9JbnZvaWNlID0gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5oYXNPd25Qcm9wZXJ0eSgncXVhbnRpdHlUb0ludm9pY2UnKSA/IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eVRvSW52b2ljZSA6IDA7XHJcbiAgICAgICAgICAgIHRoaXMubGluZVF1YW50aXR5SW52b2ljZWQgPSB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdxdWFudGl0eUludm9pY2VkJykgPyB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlJbnZvaWNlZCA6IDA7XHJcbiAgICAgICAgICAgIHRoaXMubGluZVF1YW50aXR5VG9SZWNlaXZlID0gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5oYXNPd25Qcm9wZXJ0eSgncXVhbnRpdHlUb1JlY2VpdmUnKSA/IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eVRvUmVjZWl2ZSA6IDA7XHJcbiAgICAgICAgICAgIHRoaXMubGluZVF1YW50aXR5UmVjZWl2ZWQgPSB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdxdWFudGl0eVJlY2VpdmVkJykgPyB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlSZWNlaXZlZCA6IDA7XHJcbiAgICAgICAgICAgIHRoaXMubGluZVF1YW50aXR5VG9EZWxpdmVyID0gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5oYXNPd25Qcm9wZXJ0eSgncXVhbnRpdHlUb0RlbGl2ZXInKSA/IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eVRvRGVsaXZlciA6IDA7XHJcbiAgICAgICAgICAgIHRoaXMubGluZVF1YW50aXR5RGVsaXZlcmVkID0gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5oYXNPd25Qcm9wZXJ0eSgncXVhbnRpdHlEZWxpdmVyZWQnKSA/IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eURlbGl2ZXJlZCA6IDA7XHJcbiAgICAgICAgICAgIHRoaXMubGluZVF1YW50aXR5VG9BbGxvY2F0ZSA9IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cyAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaGFzT3duUHJvcGVydHkoJ3F1YW50aXR5VG9BbGxvY2F0ZScpID8gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5VG9BbGxvY2F0ZSA6IDA7XHJcbiAgICAgICAgICAgIHRoaXMubGluZVF1YW50aXR5QWxsb2NhdGVkID0gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5oYXNPd25Qcm9wZXJ0eSgncXVhbnRpdHlBbGxvY2F0ZWQnKSA/IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eUFsbG9jYXRlZCA6IDA7XHJcbiAgICAgICAgICAgIHRoaXMubGluZVF1YW50aXR5T3JkZXJlZCA9IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cyAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaGFzT3duUHJvcGVydHkoJ3F1YW50aXR5T3JkZXJlZCcpID8gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5T3JkZXJlZCA6IDA7XHJcbiAgICAgICAgICAgIHRoaXMubGluZVF1YW50aXR5UGxhbm5pbmdSZXF1ZXN0ZWQgPSB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdxdWFudGl0eVBsYW5uaW5nUmVxdWVzdGVkJykgPyB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlQbGFubmluZ1JlcXVlc3RlZCA6IDA7XHJcbiAgICAgICAgICAgIHRoaXMubGluZVF1YW50aXR5UGxhbm5pbmdQcmVmZXJyZWREYXRlRW50ZXJlZCA9IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cyAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaGFzT3duUHJvcGVydHkoJ3F1YW50aXR5UGxhbm5pbmdQcmVmZXJyZWREYXRlRW50ZXJlZCcpID8gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5UGxhbm5pbmdQcmVmZXJyZWREYXRlRW50ZXJlZCA6IDA7XHJcbiAgICAgICAgICAgIHRoaXMubGluZVF1YW50aXR5VG9CZVBpY2tlZCA9IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cyAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaGFzT3duUHJvcGVydHkoJ3F1YW50aXR5VG9CZVBpY2tlZCcpID8gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5VG9CZVBpY2tlZCA6IDA7XHJcbiAgICAgICAgICAgIHRoaXMubGluZVF1YW50aXR5UGlja2VkID0gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5oYXNPd25Qcm9wZXJ0eSgncXVhbnRpdHlQaWNrZWQnKSA/IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eVBpY2tlZCA6IDA7XHJcbiAgICAgICAgICAgIHRoaXMubGluZVF1YW50aXR5UGxhbm5pbmdGaW5hbCA9IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cyAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaGFzT3duUHJvcGVydHkoJ3F1YW50aXR5UGxhbm5pbmdGaW5hbCcpID8gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5UGxhbm5pbmdGaW5hbCA6IDA7XHJcbiAgICAgICAgICAgIHRoaXMubGluZVF1YW50aXR5UmVjZWl2ZWRVbnByb2Nlc3NlZCA9IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cyAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaGFzT3duUHJvcGVydHkoJ3F1YW50aXR5UmVjZWl2ZWRVbnByb2Nlc3NlZCcpID8gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5UmVjZWl2ZWRVbnByb2Nlc3NlZCA6IDA7XHJcblxyXG4gICAgICAgICAgICB0aGlzLmxpbmVRdWFudGl0eVB1cmNoYXNlQ29uZmlybWVkID0gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5oYXNPd25Qcm9wZXJ0eSgncXVhbnRpdHlQdXJjaGFzZUNvbmZpcm1lZCcpID8gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5UHVyY2hhc2VDb25maXJtZWQgOiAwO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVRdWFudGl0eVRyYW5zcG9ydE5vdGlmaWNhdGlvbiA9IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cyAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaGFzT3duUHJvcGVydHkoJ3F1YW50aXR5VHJhbnNwb3J0Tm90aWZpY2F0aW9uJykgPyB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlUcmFuc3BvcnROb3RpZmljYXRpb24gOiAwO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVRdWFudGl0eUludm9pY2VDb250cm9sID0gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5oYXNPd25Qcm9wZXJ0eSgncXVhbnRpdHlJbnZvaWNlQ29udHJvbCcpID8gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5SW52b2ljZUNvbnRyb2wgOiAwO1xyXG4gICAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uTGluZVNldCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IHRyYW5zYWN0aW9uTGluZSgpOiBUcmFuc2FjdGlvbkxpbmVJbmZvIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fdHJhbnNhY3Rpb25MaW5lO1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2V0IHRyYW5zYWN0aW9uSW5mbyh2YWx1ZTogVHJhbnNhY3Rpb25JbmZvKSB7XHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaGVhZGVyUmVhZG9ubHkgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy50b29sdGlwTWVzc2FnZSA9IFwiXCI7XHJcbiAgICAgICAgICAgIHRoaXMuX3RyYW5zYWN0aW9uSW5mbyA9IHZhbHVlO1xyXG4gICAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uS2luZCA9IHRoaXMuX3RyYW5zYWN0aW9uSW5mby50cmFuc2FjdGlvbktpbmQ7XHJcbiAgICAgICAgICAgIHRoaXMuZnVsbHlJbnZvaWNlZCA9XHJcbiAgICAgICAgICAgICAgICB0aGlzLl90cmFuc2FjdGlvbkluZm8gJiZcclxuICAgICAgICAgICAgICAgIHRoaXMuX3RyYW5zYWN0aW9uSW5mby5oZWFkZXJJbmZvU3RhdHVzICYmXHJcbiAgICAgICAgICAgICAgICB0aGlzLl90cmFuc2FjdGlvbkluZm8uaGVhZGVySW5mb1N0YXR1cy5oYXNPd25Qcm9wZXJ0eSgnaXNGdWxseUludm9pY2VkJykgJiZcclxuICAgICAgICAgICAgICAgIHRoaXMuX3RyYW5zYWN0aW9uSW5mby5oZWFkZXJJbmZvU3RhdHVzLmlzRnVsbHlJbnZvaWNlZDtcclxuICAgICAgICAgICAgdGhpcy5mdWxseURlbGl2ZXJlZCA9XHJcbiAgICAgICAgICAgICAgICB0aGlzLl90cmFuc2FjdGlvbkluZm8gJiZcclxuICAgICAgICAgICAgICAgIHRoaXMuX3RyYW5zYWN0aW9uSW5mby5oZWFkZXJJbmZvU3RhdHVzICYmXHJcbiAgICAgICAgICAgICAgICB0aGlzLl90cmFuc2FjdGlvbkluZm8uaGVhZGVySW5mb1N0YXR1cy5oYXNPd25Qcm9wZXJ0eSgnaXNGdWxseURlbGl2ZXJlZCcpICYmXHJcbiAgICAgICAgICAgICAgICB0aGlzLl90cmFuc2FjdGlvbkluZm8uaGVhZGVySW5mb1N0YXR1cy5pc0Z1bGx5RGVsaXZlcmVkO1xyXG4gICAgICAgICAgICB0aGlzLl9jaGVja0hlYWRlclJlYWRvbmx5KCk7XHJcbiAgICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb25JbmZvU2V0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgdHJhbnNhY3Rpb25JbmZvKCk6IFRyYW5zYWN0aW9uSW5mbyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RyYW5zYWN0aW9uSW5mbztcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldCB0cmFuc2FjdGlvblRvdGFsKHZhbHVlOiBUcmFuc2FjdGlvblRvdGFsKSB7XHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3RyYW5zYWN0aW9uVG90YWwgPSB2YWx1ZTtcclxuICAgICAgICAgICAgdGhpcy50cmFuc2FjdGlvblRvdGFsU2V0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgdHJhbnNhY3Rpb25Ub3RhbCgpOiBUcmFuc2FjdGlvblRvdGFsIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fdHJhbnNhY3Rpb25Ub3RhbDtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldCByZWxhdGlvbih2YWx1ZTogUmVsYXRpb25BbnlUeXBlKSB7XHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3JlbGF0aW9uID0gdmFsdWU7XHJcbiAgICAgICAgICAgIHRoaXMucmVsYXRpb25LaW5kID0gdGhpcy5fcmVsYXRpb24ucmVsYXRpb25UeXBlO1xyXG4gICAgICAgICAgICB0aGlzLnJlbGF0aW9uVHlwZSA9IHRoaXMuX3JlbGF0aW9uLnR5cGU7XHJcbiAgICAgICAgICAgIHRoaXMucmVsYXRpb25TZXQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCByZWxhdGlvbigpOiBSZWxhdGlvbkFueVR5cGUge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9yZWxhdGlvbjtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGxvY2tBbmRTYXZlOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGV4cGFuZGVkOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnByZXZpZXcnKVxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBwcmV2aWV3OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pcy1zZWxlY3RlZCcpXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldCBzZWxlY3RlZCh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuX3NlbGVjdGVkID0gdmFsdWU7XHJcbiAgICAgICAgaWYgKHRoaXMudHJhbnNhY3Rpb25MaW5lKSB7XHJcbiAgICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb25MaW5lLnNlbGVjdGVkID0gdGhpcy5fc2VsZWN0ZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgc2VsZWN0ZWQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkO1xyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0QmluZGluZygnY2xhc3MucmVhZC1vbmx5JylcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgcmVhZG9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyByZWxhdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPFJlbGF0aW9uQW55VHlwZT4gPSBuZXcgRXZlbnRFbWl0dGVyPFJlbGF0aW9uQW55VHlwZT4oKTtcclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlzLXRleHQnKVxyXG4gICAgcHVibGljIGlzVGV4dDogYm9vbGVhbjtcclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlzLWFydGljbGUnKVxyXG4gICAgcHVibGljIGlzQXJ0aWNsZTogYm9vbGVhbjtcclxuXHJcbiAgICBwdWJsaWMgZ2V0IG1vZGVsKCk6IFRyYW5zYWN0aW9uTGluZUluZm8gfCBUcmFuc2FjdGlvbkluZm8ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuaGFzT3duUHJvcGVydHkoJ2xpbmVOcicpID8gdGhpcy5fdHJhbnNhY3Rpb25MaW5lIDogdGhpcy5fdHJhbnNhY3Rpb25JbmZvO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBpc1NlcnZpY2U6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBsaW5lT3BlcmF0aW9uU3RhdHVzZXM6IExpbmVPcGVyYXRpb25TdGF0dXNbXSA9IFtdO1xyXG4gICAgcHVibGljIHRyYW5zYWN0aW9uTGluZXM6IFRyYW5zYWN0aW9uTGluZUluZm9bXSA9IFtdO1xyXG4gICAgcHVibGljIGRlbGl2ZXJ5Q29zdExpbmVzOiBUcmFuc2FjdGlvbkRlbGl2ZXJ5Q29zdExpbmVJbmZvW10gPSBbXTtcclxuICAgIHB1YmxpYyByZWxhdGlvbktpbmQ6IFJlbGF0aW9uS2luZCA9IFJlbGF0aW9uS2luZC5DdXN0b21lcjtcclxuICAgIHB1YmxpYyByZWxhdGlvblR5cGU6IFJlbGF0aW9uTmFtZUtpbmQgPSBSZWxhdGlvbk5hbWVLaW5kLlByaXZhdGU7XHJcbiAgICBwdWJsaWMgdHJhbnNhY3Rpb25LaW5kOiBUcmFuc2FjdGlvbktpbmQgPSBUcmFuc2FjdGlvbktpbmQuU2FsZXNPcmRlcjtcclxuICAgIHB1YmxpYyB2aXNpYmxlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgaGVhZGVyUmVhZG9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBjb21taXR0aW5nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgdG9vbHRpcE1lc3NhZ2U6IHN0cmluZztcclxuICAgIHB1YmxpYyBmdWxseUludm9pY2VkOiBib29sZWFuO1xyXG4gICAgcHVibGljIGZ1bGx5RGVsaXZlcmVkOiBib29sZWFuO1xyXG4gICAgcHVibGljIGhhc011bHRpcGxlTGluZXM6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBjYW5BbGxMaW5lc0JlRGVsaXZlcmVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgY2FuQWxsTGluZXNCZUludm9pY2VkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgaGFzTGluZXNUb0RlbGl2ZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBoYXNMaW5lc1RvSW52b2ljZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIHB1YmxpYyBsaW5lSGFzTG9naXN0aWNhbFN0YXRlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgbGluZUlzT3JkZXJlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIGxpbmVJc0RlbGl2ZXJlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIGxpbmVJc0ludm9pY2VkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgbGluZUlzUmVjZWl2ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBsaW5lUXVhbnRpdHlUb0ludm9pY2U6IG51bWJlciA9IDA7XHJcbiAgICBwdWJsaWMgbGluZVF1YW50aXR5SW52b2ljZWQ6IG51bWJlciA9IDA7XHJcbiAgICBwdWJsaWMgbGluZVF1YW50aXR5VG9SZWNlaXZlOiBudW1iZXIgPSAwO1xyXG4gICAgcHVibGljIGxpbmVRdWFudGl0eVJlY2VpdmVkOiBudW1iZXIgPSAwO1xyXG4gICAgcHVibGljIGxpbmVRdWFudGl0eVRvRGVsaXZlcjogbnVtYmVyID0gMDtcclxuICAgIHB1YmxpYyBsaW5lUXVhbnRpdHlEZWxpdmVyZWQ6IG51bWJlciA9IDA7XHJcbiAgICBwdWJsaWMgbGluZVF1YW50aXR5VG9BbGxvY2F0ZTogbnVtYmVyID0gMDtcclxuICAgIHB1YmxpYyBsaW5lUXVhbnRpdHlBbGxvY2F0ZWQ6IG51bWJlciA9IDA7XHJcbiAgICBwdWJsaWMgbGluZVF1YW50aXR5T3JkZXJlZDogbnVtYmVyID0gMDtcclxuICAgIHB1YmxpYyBsaW5lUXVhbnRpdHlQbGFubmluZ1JlcXVlc3RlZDogbnVtYmVyID0gMDtcclxuICAgIHB1YmxpYyBsaW5lUXVhbnRpdHlQbGFubmluZ1ByZWZlcnJlZERhdGVFbnRlcmVkOiBudW1iZXIgPSAwO1xyXG4gICAgcHVibGljIGxpbmVRdWFudGl0eVRvQmVQaWNrZWQ6IG51bWJlciA9IDA7XHJcbiAgICBwdWJsaWMgbGluZVF1YW50aXR5UGlja2VkOiBudW1iZXIgPSAwO1xyXG4gICAgcHVibGljIGxpbmVRdWFudGl0eVBsYW5uaW5nRmluYWw6IG51bWJlciA9IDA7XHJcbiAgICBwdWJsaWMgbGluZVF1YW50aXR5UmVjZWl2ZWRVbnByb2Nlc3NlZDogbnVtYmVyID0gMDtcclxuICAgIHB1YmxpYyBsaW5lUXVhbnRpdHlQdXJjaGFzZUNvbmZpcm1lZDogbnVtYmVyID0gMDtcclxuICAgIHB1YmxpYyBsaW5lUXVhbnRpdHlUcmFuc3BvcnROb3RpZmljYXRpb246IG51bWJlciA9IDA7XHJcbiAgICBwdWJsaWMgbGluZVF1YW50aXR5SW52b2ljZUNvbnRyb2w6IG51bWJlciA9IDA7XHJcblxyXG4gICAgcHJvdGVjdGVkIGhlYWRlclRvb2x0aXBNZXNzYWdlczogc3RyaW5nW10gPSBbXTtcclxuICAgIHByb3RlY3RlZCBsaW5lVG9vbHRpcE1lc3NhZ2VzOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICAgIHByaXZhdGUgX3JlbGF0aW9uOiBSZWxhdGlvbkFueVR5cGUgPSBOVUxMX0NVU1RPTUVSX0ZVTExfT0JKRUNUO1xyXG4gICAgcHJpdmF0ZSBfdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlO1xyXG4gICAgcHJpdmF0ZSBfdHJhbnNhY3Rpb25MaW5lOiBUcmFuc2FjdGlvbkxpbmVJbmZvID0gbmV3IFRyYW5zYWN0aW9uTGluZUluZm8oKTtcclxuICAgIHByaXZhdGUgX3RyYW5zYWN0aW9uSW5mbzogVHJhbnNhY3Rpb25JbmZvID0gbmV3IFRyYW5zYWN0aW9uSW5mbygpO1xyXG4gICAgcHJpdmF0ZSBfdHJhbnNhY3Rpb25Ub3RhbDogVHJhbnNhY3Rpb25Ub3RhbCA9IG5ldyBUcmFuc2FjdGlvblRvdGFsKCk7XHJcbiAgICBwcml2YXRlIF9zZWxlY3RlZDogYm9vbGVhbjtcclxuICAgIHByaXZhdGUgX2Jhc2VTdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHB1YmxpYyB0cmFuc2FjdGlvbkV2ZW50U2VydmljZTogVHJhbnNhY3Rpb25FdmVudFNlcnZpY2UsXHJcbiAgICAgICAgcHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UsXHJcbiAgICAgICAgcHVibGljIHNjcmVlbkNvbmZpZ1NlcnZpY2U6IFRyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2UsXHJcbiAgICAgICAgcHJvdGVjdGVkIGltYWdlU2VydmljZTogVHJhbnNhY3Rpb25JbWFnZVNlcnZpY2UsXHJcbiAgICAgICAgcHJvdGVjdGVkIGRpY3Rpb25hcnlTZXJ2aWNlOiBEaWN0aW9uYXJ5U2VydmljZSxcclxuICAgICAgICBwcm90ZWN0ZWQgdHJhbnNhY3Rpb25TZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2UsXHJcbiAgICAgICAgcHJvdGVjdGVkIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2Jhc2VTdWJzLnB1c2goXHJcbiAgICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb25FdmVudFNlcnZpY2UudHJhbnNhY3Rpb25MaW5lVmlzaWJpbGl0eUNoYW5nZS5zdWJzY3JpYmUoKGRhdGE6IHsgbGluZTogVHJhbnNhY3Rpb25MaW5lSW5mbywgdmlzaWJsZTogYm9vbGVhbiB9KSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoZGF0YSAmJiB0aGlzLnRyYW5zYWN0aW9uTGluZSAmJiBkYXRhLmxpbmUubGluZU5yID09PSB0aGlzLnRyYW5zYWN0aW9uTGluZS5saW5lTnIpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnZpc2liaWxpdHlTZXQoZGF0YS52aXNpYmxlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2Jhc2VTdWJzLmZvckVhY2gocyA9PiBzLnVuc3Vic2NyaWJlKCkpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBoYW5kbGVDb21taXQodmFsdWU6IGFueSk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgICAgIGlmIChhd2FpdCB0aGlzLmxvY2tUcmFuc2FjdGlvbigpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29tbWl0dGluZyA9IHRydWU7XHJcbiAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlOiBib29sZWFuID0gYXdhaXQgdGhpcy5jb21taXQodmFsdWUpO1xyXG4gICAgICAgICAgICB0aGlzLmNvbW1pdHRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZGVsZXRlVHJhbnNhY3Rpb25MaW5lQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICAgIGlmIChhd2FpdCB0aGlzLmxvY2tUcmFuc2FjdGlvbigpKSB7XHJcbiAgICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmRlbGV0ZVRyYW5zYWN0aW9uTGluZSh0aGlzLnRyYW5zYWN0aW9uSW5mby51dWlkLCB0aGlzLnRyYW5zYWN0aW9uTGluZS51dWlkKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGhhbmRsZVZpc2liaWxpdHlDaGFuZ2UobGluZTogVHJhbnNhY3Rpb25MaW5lSW5mbywgdmlzaWJsZTogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudHJhbnNhY3Rpb25FdmVudFNlcnZpY2UudHJhbnNhY3Rpb25MaW5lVmlzaWJpbGl0eUNoYW5nZS5uZXh0KHtsaW5lLCB2aXNpYmxlfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGNvbW1pdCh2YWx1ZTogYW55KTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0cnVlKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgdmlzaWJpbGl0eVNldCh2aXNpYmxlOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy52aXNpYmxlID0gdmlzaWJsZTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgdHJhbnNhY3Rpb25TZXQoKTogdm9pZCB7XHJcbiAgICAgICAgLy8gb3ZlcnJpZGRlbiBieSBkZXNjZW5kZW50c1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCByZWxhdGlvblNldCgpOiB2b2lkIHtcclxuICAgICAgICAvLyBvdmVycmlkZGVuIGJ5IGRlc2NlbmRlbnRzXHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIHRyYW5zYWN0aW9uTGluZVNldCgpOiB2b2lkIHtcclxuICAgIH1cclxuXHJcbiAgICAvLyBvdmVycmlkZGVuIGJ5IGRlc2NlbmRlbnRzXHJcbiAgICBwcm90ZWN0ZWQgdHJhbnNhY3Rpb25JbmZvU2V0KCk6IHZvaWQge1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBhZGRMaW5lVG9vbHRpcE1lc3NhZ2UobWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMubGluZVRvb2x0aXBNZXNzYWdlcy5pbmRleE9mKG1lc3NhZ2UpIDwgMCkge1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVUb29sdGlwTWVzc2FnZXMucHVzaChgPGk+JHttZXNzYWdlfTwvaT5gKTtcclxuICAgICAgICAgICAgdGhpcy5wcmVwYXJlVG9vbHRpcE1lc3NhZ2UoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGFkZEhlYWRlclRvb2x0aXBNZXNzYWdlKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmhlYWRlclRvb2x0aXBNZXNzYWdlcy5pbmRleE9mKG1lc3NhZ2UpIDwgMCkge1xyXG4gICAgICAgICAgICB0aGlzLmhlYWRlclRvb2x0aXBNZXNzYWdlcy5wdXNoKGA8aT4ke21lc3NhZ2V9PC9pPmApO1xyXG4gICAgICAgICAgICB0aGlzLnByZXBhcmVUb29sdGlwTWVzc2FnZSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgcHJlcGFyZVRvb2x0aXBNZXNzYWdlKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudG9vbHRpcE1lc3NhZ2UgPSAnJztcclxuICAgICAgICBsZXQgdG9vbHRpcHM6IHN0cmluZ1tdID0gW107XHJcbiAgICAgICAgaWYgKHRoaXMuaGVhZGVyVG9vbHRpcE1lc3NhZ2VzLmxlbmd0aCA+IDAgfHwgdGhpcy5saW5lVG9vbHRpcE1lc3NhZ2VzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgdG9vbHRpcHMgPSB0aGlzLmhlYWRlclRvb2x0aXBNZXNzYWdlcy5jb25jYXQodGhpcy5saW5lVG9vbHRpcE1lc3NhZ2VzKTtcclxuICAgICAgICAgICAgdGhpcy50b29sdGlwTWVzc2FnZSA9IGAke3RoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0KCdGSUVMRF9JU19SRUFET05MWV9CRUNBVVNFJyl9PC9icj48L2JyPiR7dG9vbHRpcHMuam9pbignPC9icj4nKX1gO1xyXG4gICAgICAgICAgICB0aGlzLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gb3ZlcnJpZGRlbiBieSBkZXNjZW5kZW50c1xyXG4gICAgcHJvdGVjdGVkIHRyYW5zYWN0aW9uVG90YWxTZXQoKTogdm9pZCB7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBkZXRlY3RDaGFuZ2VzKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBhc3luYyBsb2NrVHJhbnNhY3Rpb24oKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICAgICAgaWYgKHRoaXMubG9ja0FuZFNhdmUgJiYgdGhpcy50cmFuc2FjdGlvbkluZm8uaWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLnRyeVRvTG9ja1RyYW5zYWN0aW9uKHRoaXMudHJhbnNhY3Rpb25JbmZvLmlkLCB0aGlzLnRyYW5zYWN0aW9uSW5mby52ZXJzaW9uKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGFzeW5jIHJvbGxiYWNrKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgICAgIC8vIHRvZG86IHNob3VsZCBiZSBhbiB1bmxvY2sgZnVuY3Rpb24gaW4gdGhlIGJhY2tlbmQsIGJ1dCB0aGF0IGRvZXNuJ3QgZXhpc3QgeWV0XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLnJvbGxiYWNrKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIF9jaGVja0hlYWRlclJlYWRvbmx5KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaGVhZGVyVG9vbHRpcE1lc3NhZ2VzLmxlbmd0aCA9IDA7XHJcbiAgICAgICAgdGhpcy5oZWFkZXJSZWFkb25seSA9IHRoaXMuaGVhZGVyUmVhZG9ubHkgfHwgdGhpcy5mdWxseUludm9pY2VkIHx8IHRoaXMuZnVsbHlEZWxpdmVyZWQ7XHJcbiAgICAgICAgaWYgKHRoaXMuZnVsbHlJbnZvaWNlZCkge1xyXG4gICAgICAgICAgICB0aGlzLmFkZEhlYWRlclRvb2x0aXBNZXNzYWdlKHRoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0KCdDT01QTEVURUxZX0lOVk9JQ0VEJykpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5mdWxseURlbGl2ZXJlZCkge1xyXG4gICAgICAgICAgICB0aGlzLmFkZEhlYWRlclRvb2x0aXBNZXNzYWdlKHRoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0KCdDT01QTEVURUxZX0RFTElWRVJFRCcpKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
346
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC9jb3JlL2Jhc2UvdHJhbnNhY3Rpb24tYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN4SCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUV4RSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMERBQTBELENBQUM7QUFDekYsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBQzFGLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLCtEQUErRCxDQUFDO0FBQ2xHLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBRzNGLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLHVEQUF1RCxDQUFDO0FBQ2hHLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDBEQUEwRCxDQUFDO0FBQzFGLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUNyRixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUVuRixPQUFPLEVBQUMsWUFBWSxF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QUFLOzBCQWNMLEtBQUs7dUJBR0wsS0FBSztzQkFHTCxXQUFXLFNBQUMsZUFBZSxjQUMzQixLQUFLO3VCQUdMLFdBQVcsU0FBQyxtQkFBbUIsY0FDL0IsS0FBSzt1QkFZTCxXQUFXLFNBQUMsaUJBQWlCLGNBQzdCLEtBQUs7NkJBR0wsTUFBTTtxQkFHTixXQUFXLFNBQUMsZUFBZTt3QkFHM0IsV0FBVyxTQUFDLGtCQUFrQjt5QkFPOUIsV0FBVyxTQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0b3JSZWYsIERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkluZm9SZXNwb25zZX0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLWluZm8tcmVzcG9uc2UuYm8nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSW5mb30gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLWluZm8uYm8nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uS2luZH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL2VudW0vdHJhbnNhY3Rpb24ta2luZC5lbnVtJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkxpbmVJbmZvfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24tbGluZS1pbmZvLmJvJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblRvdGFsfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24tdG90YWwuYm8nO1xyXG5pbXBvcnQge0xpbmVPcGVyYXRpb25TdGF0dXN9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9saW5lLW9wZXJhdGlvbi1zdGF0dXMuYm8nO1xyXG5pbXBvcnQge1JlbGF0aW9uQW55VHlwZX0gZnJvbSAnQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL21vZGVsL3JlbGF0aW9uLWFueS10eXBlJztcclxuaW1wb3J0IHtOVUxMX0NVU1RPTUVSX0ZVTExfT0JKRUNUfSBmcm9tICdAY29saWpuaXQvcmVsYXRpb25hcGkvYnVpbGQvbW9kZWwvbnVsLXJlbGF0aW9uLW9iamVjdCc7XHJcbmltcG9ydCB7UmVsYXRpb25OYW1lS2luZH0gZnJvbSAnQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL2VudW0vcmVsYXRpb24tbmFtZS1raW5kLmVudW0nO1xyXG5pbXBvcnQge0ljb259IGZyb20gJy4uLy4uLy4uL2VudW0vaWNvbi5lbnVtJztcclxuaW1wb3J0IHtEaWN0aW9uYXJ5U2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS9kaWN0aW9uYXJ5LnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uVHlwZUNhdGVnb3J5fSBmcm9tICcuLi8uLi8uLi9lbnVtL3RyYW5zYWN0aW9uLXR5cGUtY2F0ZWdvcnkuZW51bSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25FdmVudFNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tZXZlbnQuc2VydmljZSc7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSW1hZ2VTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWltYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7UmVsYXRpb25LaW5kfSBmcm9tICdAY29saWpuaXQvcmVsYXRpb25hcGkvYnVpbGQvZW51bS9yZWxhdGlvbi1raW5kLmVudW0nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tc2NyZWVuLWNvbmZpZ3VyYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25EZWxpdmVyeUNvc3RMaW5lSW5mb30gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLWRlbGl2ZXJ5LWNvc3QtbGluZS1pbmZvLmJvJztcclxuXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVHJhbnNhY3Rpb25CYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gICAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgcmVsS2luZDogdHlwZW9mIFJlbGF0aW9uS2luZCA9IFJlbGF0aW9uS2luZDtcclxuICAgIHB1YmxpYyByZWFkb25seSB0cmFuc0tpbmQ6IHR5cGVvZiBUcmFuc2FjdGlvbktpbmQgPSBUcmFuc2FjdGlvbktpbmQ7XHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgY2F0ZWdvcnk6IHR5cGVvZiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeSA9IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5O1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2V0IHRyYW5zYWN0aW9uKHZhbHVlOiBUcmFuc2FjdGlvbkluZm9SZXNwb25zZSkge1xyXG4gICAgICAgIHRoaXMuX3RyYW5zYWN0aW9uID0gdmFsdWU7XHJcbiAgICAgICAgaWYgKHRoaXMuX3RyYW5zYWN0aW9uKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl90cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8pIHtcclxuICAgICAgICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb25JbmZvID0gdGhpcy5fdHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvO1xyXG4gICAgICAgICAgICAgICAgdGhpcy50cmFuc2FjdGlvbktpbmQgPSB0aGlzLnRyYW5zYWN0aW9uSW5mby50cmFuc2FjdGlvbktpbmQ7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmlzU2VydmljZSA9IHRoaXMuX3RyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby50cmFuc2FjdGlvbktpbmQgPT09IFRyYW5zYWN0aW9uS2luZC5TZXJ2aWNlT3JkZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKHRoaXMuX3RyYW5zYWN0aW9uLnRyYW5zYWN0aW9uTGluZXMpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb25MaW5lcyA9IHRoaXMuX3RyYW5zYWN0aW9uLnRyYW5zYWN0aW9uTGluZXM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKHRoaXMuX3RyYW5zYWN0aW9uLmRlbGl2ZXJ5Q29zdExpbmVzKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRlbGl2ZXJ5Q29zdExpbmVzID0gdGhpcy5fdHJhbnNhY3Rpb24uZGVsaXZlcnlDb3N0TGluZXM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKHRoaXMuX3RyYW5zYWN0aW9uLnRyYW5zYWN0aW9uVG90YWwpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb25Ub3RhbCA9IHRoaXMuX3RyYW5zYWN0aW9uLnRyYW5zYWN0aW9uVG90YWw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKHRoaXMuX3RyYW5zYWN0aW9uLmxpbmVPcGVyYXRpb25TdGF0dXNlcykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5saW5lT3BlcmF0aW9uU3RhdHVzZXMgPSB0aGlzLl90cmFuc2FjdGlvbi5saW5lT3BlcmF0aW9uU3RhdHVzZXM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKHRoaXMuX3RyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mbyAmJiB0aGlzLl90cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8udXVpZCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy50cmFuc2FjdGlvblNldCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuaGFzTXVsdGlwbGVMaW5lcyA9IHRoaXMudHJhbnNhY3Rpb25MaW5lcy5sZW5ndGggKyB0aGlzLmRlbGl2ZXJ5Q29zdExpbmVzLmxlbmd0aCA+IDE7XHJcbiAgICAgICAgICAgIHRoaXMuY2FuQWxsTGluZXNCZURlbGl2ZXJlZCA9IHRoaXMudHJhbnNhY3Rpb25MaW5lcy5maWx0ZXIobCA9PiBsLmFydGljbGVMaW5lU3RhdHVzID8gKGwuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlUb0RlbGl2ZXIgPT09IDApIDogZmFsc2UpLmxlbmd0aCA9PT0gMDtcclxuICAgICAgICAgICAgdGhpcy5jYW5BbGxMaW5lc0JlSW52b2ljZWQgPSB0aGlzLnRyYW5zYWN0aW9uTGluZXMuZmlsdGVyKGwgPT4gbC5hcnRpY2xlTGluZVN0YXR1cyA/IChsLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5VG9JbnZvaWNlID09PSAwKSA6IGZhbHNlKS5sZW5ndGggPT09IDA7XHJcbiAgICAgICAgICAgIHRoaXMuaGFzTGluZXNUb0RlbGl2ZXIgPSB0aGlzLnRyYW5zYWN0aW9uSW5mby5hbGxvd1BhcnRpYWxEZWxpdmVyeSA/XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uTGluZXMuZmlsdGVyKGwgPT4gbC5hcnRpY2xlTGluZVN0YXR1cyA/IGwuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlUb0RlbGl2ZXIgIT09IDAgOiBmYWxzZSkubGVuZ3RoID4gMCA6XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uTGluZXMuZmlsdGVyKGwgPT4gbC5hcnRpY2xlTGluZVN0YXR1cyA/IGwuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlUb0RlbGl2ZXIgPT09IDAgOiBmYWxzZSkubGVuZ3RoID09PSAwO1xyXG4gICAgICAgICAgICB0aGlzLmhhc0xpbmVzVG9JbnZvaWNlID0gdGhpcy50cmFuc2FjdGlvbkluZm8uYWxsb3dQYXJ0aWFsRGVsaXZlcnkgP1xyXG4gICAgICAgICAgICAgICAgdGhpcy50cmFuc2FjdGlvbkxpbmVzLmZpbHRlcihsID0+IGwuYXJ0aWNsZUxpbmVTdGF0dXMgPyBsLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5VG9JbnZvaWNlICE9PSAwIDogZmFsc2UpLmxlbmd0aCA+IDAgOlxyXG4gICAgICAgICAgICAgICAgdGhpcy50cmFuc2FjdGlvbkxpbmVzLmZpbHRlcihsID0+IGwuYXJ0aWNsZUxpbmVTdGF0dXMgPyBsLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5VG9JbnZvaWNlID09PSAwIDogZmFsc2UpLmxlbmd0aCA9PT0gMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCB0cmFuc2FjdGlvbigpOiBUcmFuc2FjdGlvbkluZm9SZXNwb25zZSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RyYW5zYWN0aW9uO1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2V0IHRyYW5zYWN0aW9uTGluZSh2YWx1ZTogVHJhbnNhY3Rpb25MaW5lSW5mbykge1xyXG4gICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLl90cmFuc2FjdGlvbkxpbmUgPSB2YWx1ZTtcclxuICAgICAgICAgICAgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLnNlbGVjdGVkID0gdGhpcy5fc2VsZWN0ZWQ7XHJcbiAgICAgICAgICAgIHRoaXMuaXNUZXh0ID0gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmlzVGV4dDtcclxuICAgICAgICAgICAgdGhpcy5pc0FydGljbGUgPSB0aGlzLl90cmFuc2FjdGlvbkxpbmUuaXNBcnRpY2xlO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVIYXNMb2dpc3RpY2FsU3RhdGUgPSB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMgJiZcclxuICAgICAgICAgICAgICAgICgodGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdxdWFudGl0eURlbGl2ZXJlZCcpICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eURlbGl2ZXJlZCAhPT0gMCkgfHxcclxuICAgICAgICAgICAgICAgICAgICAodGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdxdWFudGl0eUludm9pY2VkJykgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5SW52b2ljZWQgIT09IDApIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgKHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5oYXNPd25Qcm9wZXJ0eSgncXVhbnRpdHlQaWNrZWQnKSAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlQaWNrZWQgIT09IDApIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgKHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5oYXNPd25Qcm9wZXJ0eSgncXVhbnRpdHlUb0JlUGlja2VkJykgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5VG9CZVBpY2tlZCAhPT0gMCkgfHxcclxuICAgICAgICAgICAgICAgICAgICAodGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdxdWFudGl0eUFsbG9jYXRlZCcpICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eUFsbG9jYXRlZCA8IDApKTtcclxuICAgICAgICAgICAgdGhpcy5saW5lSXNPcmRlcmVkID0gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5oYXNPd25Qcm9wZXJ0eSgnaXNGdWxseU9yZGVyZWQnKSAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaXNGdWxseU9yZGVyZWQ7XHJcbiAgICAgICAgICAgIHRoaXMubGluZUlzRGVsaXZlcmVkID0gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5oYXNPd25Qcm9wZXJ0eSgnaXNGdWxseURlbGl2ZXJlZCcpICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5pc0Z1bGx5RGVsaXZlcmVkO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVJc0ludm9pY2VkID0gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5oYXNPd25Qcm9wZXJ0eSgnaXNGdWxseUludm9pY2VkJykgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmlzRnVsbHlJbnZvaWNlZDtcclxuICAgICAgICAgICAgdGhpcy5saW5lSXNSZWNlaXZlZCA9IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cyAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaGFzT3duUHJvcGVydHkoJ2lzRnVsbHlSZWNlaXZlZCcpICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5pc0Z1bGx5UmVjZWl2ZWQ7XHJcblxyXG4gICAgICAgICAgICB0aGlzLmxpbmVRdWFudGl0eVRvSW52b2ljZSA9IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cyAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaGFzT3duUHJvcGVydHkoJ3F1YW50aXR5VG9JbnZvaWNlJykgPyB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlUb0ludm9pY2UgOiAwO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVRdWFudGl0eUludm9pY2VkID0gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5oYXNPd25Qcm9wZXJ0eSgncXVhbnRpdHlJbnZvaWNlZCcpID8gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5SW52b2ljZWQgOiAwO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVRdWFudGl0eVRvUmVjZWl2ZSA9IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cyAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaGFzT3duUHJvcGVydHkoJ3F1YW50aXR5VG9SZWNlaXZlJykgPyB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlUb1JlY2VpdmUgOiAwO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVRdWFudGl0eVJlY2VpdmVkID0gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5oYXNPd25Qcm9wZXJ0eSgncXVhbnRpdHlSZWNlaXZlZCcpID8gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5UmVjZWl2ZWQgOiAwO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVRdWFudGl0eVRvRGVsaXZlciA9IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cyAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaGFzT3duUHJvcGVydHkoJ3F1YW50aXR5VG9EZWxpdmVyJykgPyB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlUb0RlbGl2ZXIgOiAwO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVRdWFudGl0eURlbGl2ZXJlZCA9IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cyAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaGFzT3duUHJvcGVydHkoJ3F1YW50aXR5RGVsaXZlcmVkJykgPyB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlEZWxpdmVyZWQgOiAwO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVRdWFudGl0eVRvQWxsb2NhdGUgPSB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdxdWFudGl0eVRvQWxsb2NhdGUnKSA/IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eVRvQWxsb2NhdGUgOiAwO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVRdWFudGl0eUFsbG9jYXRlZCA9IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cyAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaGFzT3duUHJvcGVydHkoJ3F1YW50aXR5QWxsb2NhdGVkJykgPyB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlBbGxvY2F0ZWQgOiAwO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVRdWFudGl0eU9yZGVyZWQgPSB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdxdWFudGl0eU9yZGVyZWQnKSA/IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eU9yZGVyZWQgOiAwO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVRdWFudGl0eVBsYW5uaW5nUmVxdWVzdGVkID0gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5oYXNPd25Qcm9wZXJ0eSgncXVhbnRpdHlQbGFubmluZ1JlcXVlc3RlZCcpID8gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5UGxhbm5pbmdSZXF1ZXN0ZWQgOiAwO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVRdWFudGl0eVBsYW5uaW5nUHJlZmVycmVkRGF0ZUVudGVyZWQgPSB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdxdWFudGl0eVBsYW5uaW5nUHJlZmVycmVkRGF0ZUVudGVyZWQnKSA/IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eVBsYW5uaW5nUHJlZmVycmVkRGF0ZUVudGVyZWQgOiAwO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVRdWFudGl0eVRvQmVQaWNrZWQgPSB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdxdWFudGl0eVRvQmVQaWNrZWQnKSA/IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eVRvQmVQaWNrZWQgOiAwO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVRdWFudGl0eVBpY2tlZCA9IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cyAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaGFzT3duUHJvcGVydHkoJ3F1YW50aXR5UGlja2VkJykgPyB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlQaWNrZWQgOiAwO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVRdWFudGl0eVBsYW5uaW5nRmluYWwgPSB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdxdWFudGl0eVBsYW5uaW5nRmluYWwnKSA/IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eVBsYW5uaW5nRmluYWwgOiAwO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVRdWFudGl0eVJlY2VpdmVkVW5wcm9jZXNzZWQgPSB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdxdWFudGl0eVJlY2VpdmVkVW5wcm9jZXNzZWQnKSA/IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eVJlY2VpdmVkVW5wcm9jZXNzZWQgOiAwO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5saW5lUXVhbnRpdHlQdXJjaGFzZUNvbmZpcm1lZCA9IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cyAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaGFzT3duUHJvcGVydHkoJ3F1YW50aXR5UHVyY2hhc2VDb25maXJtZWQnKSA/IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eVB1cmNoYXNlQ29uZmlybWVkIDogMDtcclxuICAgICAgICAgICAgdGhpcy5saW5lUXVhbnRpdHlUcmFuc3BvcnROb3RpZmljYXRpb24gPSB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdxdWFudGl0eVRyYW5zcG9ydE5vdGlmaWNhdGlvbicpID8gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5VHJhbnNwb3J0Tm90aWZpY2F0aW9uIDogMDtcclxuICAgICAgICAgICAgdGhpcy5saW5lUXVhbnRpdHlJbnZvaWNlQ29udHJvbCA9IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cyAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaGFzT3duUHJvcGVydHkoJ3F1YW50aXR5SW52b2ljZUNvbnRyb2wnKSA/IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eUludm9pY2VDb250cm9sIDogMDtcclxuICAgICAgICAgICAgdGhpcy50cmFuc2FjdGlvbkxpbmVTZXQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCB0cmFuc2FjdGlvbkxpbmUoKTogVHJhbnNhY3Rpb25MaW5lSW5mbyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RyYW5zYWN0aW9uTGluZTtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldCB0cmFuc2FjdGlvbkluZm8odmFsdWU6IFRyYW5zYWN0aW9uSW5mbykge1xyXG4gICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLmhlYWRlclJlYWRvbmx5ID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMudG9vbHRpcE1lc3NhZ2UgPSBcIlwiO1xyXG4gICAgICAgICAgICB0aGlzLl90cmFuc2FjdGlvbkluZm8gPSB2YWx1ZTtcclxuICAgICAgICAgICAgdGhpcy50cmFuc2FjdGlvbktpbmQgPSB0aGlzLl90cmFuc2FjdGlvbkluZm8udHJhbnNhY3Rpb25LaW5kO1xyXG4gICAgICAgICAgICB0aGlzLmZ1bGx5SW52b2ljZWQgPVxyXG4gICAgICAgICAgICAgICAgdGhpcy5fdHJhbnNhY3Rpb25JbmZvICYmXHJcbiAgICAgICAgICAgICAgICB0aGlzLl90cmFuc2FjdGlvbkluZm8uaGVhZGVySW5mb1N0YXR1cyAmJlxyXG4gICAgICAgICAgICAgICAgdGhpcy5fdHJhbnNhY3Rpb25JbmZvLmhlYWRlckluZm9TdGF0dXMuaGFzT3duUHJvcGVydHkoJ2lzRnVsbHlJbnZvaWNlZCcpICYmXHJcbiAgICAgICAgICAgICAgICB0aGlzLl90cmFuc2FjdGlvbkluZm8uaGVhZGVySW5mb1N0YXR1cy5pc0Z1bGx5SW52b2ljZWQ7XHJcbiAgICAgICAgICAgIHRoaXMuZnVsbHlEZWxpdmVyZWQgPVxyXG4gICAgICAgICAgICAgICAgdGhpcy5fdHJhbnNhY3Rpb25JbmZvICYmXHJcbiAgICAgICAgICAgICAgICB0aGlzLl90cmFuc2FjdGlvbkluZm8uaGVhZGVySW5mb1N0YXR1cyAmJlxyXG4gICAgICAgICAgICAgICAgdGhpcy5fdHJhbnNhY3Rpb25JbmZvLmhlYWRlckluZm9TdGF0dXMuaGFzT3duUHJvcGVydHkoJ2lzRnVsbHlEZWxpdmVyZWQnKSAmJlxyXG4gICAgICAgICAgICAgICAgdGhpcy5fdHJhbnNhY3Rpb25JbmZvLmhlYWRlckluZm9TdGF0dXMuaXNGdWxseURlbGl2ZXJlZDtcclxuICAgICAgICAgICAgdGhpcy5fY2hlY2tIZWFkZXJSZWFkb25seSgpO1xyXG4gICAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uSW5mb1NldCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IHRyYW5zYWN0aW9uSW5mbygpOiBUcmFuc2FjdGlvbkluZm8ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl90cmFuc2FjdGlvbkluZm87XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZXQgdHJhbnNhY3Rpb25Ub3RhbCh2YWx1ZTogVHJhbnNhY3Rpb25Ub3RhbCkge1xyXG4gICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLl90cmFuc2FjdGlvblRvdGFsID0gdmFsdWU7XHJcbiAgICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb25Ub3RhbFNldCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IHRyYW5zYWN0aW9uVG90YWwoKTogVHJhbnNhY3Rpb25Ub3RhbCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RyYW5zYWN0aW9uVG90YWw7XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZXQgcmVsYXRpb24odmFsdWU6IFJlbGF0aW9uQW55VHlwZSkge1xyXG4gICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLl9yZWxhdGlvbiA9IHZhbHVlO1xyXG4gICAgICAgICAgICB0aGlzLnJlbGF0aW9uS2luZCA9IHRoaXMuX3JlbGF0aW9uLnJlbGF0aW9uVHlwZTtcclxuICAgICAgICAgICAgdGhpcy5yZWxhdGlvblR5cGUgPSB0aGlzLl9yZWxhdGlvbi50eXBlO1xyXG4gICAgICAgICAgICB0aGlzLnJlbGF0aW9uU2V0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgcmVsYXRpb24oKTogUmVsYXRpb25BbnlUeXBlIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fcmVsYXRpb247XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBsb2NrQW5kU2F2ZTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBleHBhbmRlZDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5wcmV2aWV3JylcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgcHJldmlldzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaXMtc2VsZWN0ZWQnKVxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZXQgc2VsZWN0ZWQodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgICAgICB0aGlzLl9zZWxlY3RlZCA9IHZhbHVlO1xyXG4gICAgICAgIGlmICh0aGlzLnRyYW5zYWN0aW9uTGluZSkge1xyXG4gICAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uTGluZS5zZWxlY3RlZCA9IHRoaXMuX3NlbGVjdGVkO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IHNlbGVjdGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZDtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnJlYWQtb25seScpXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHJlYWRvbmx5OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgcmVsYXRpb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxSZWxhdGlvbkFueVR5cGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxSZWxhdGlvbkFueVR5cGU+KCk7XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pcy10ZXh0JylcclxuICAgIHB1YmxpYyBpc1RleHQ6IGJvb2xlYW47XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pcy1hcnRpY2xlJylcclxuICAgIHB1YmxpYyBpc0FydGljbGU6IGJvb2xlYW47XHJcblxyXG4gICAgcHVibGljIGdldCBtb2RlbCgpOiBUcmFuc2FjdGlvbkxpbmVJbmZvIHwgVHJhbnNhY3Rpb25JbmZvIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmhhc093blByb3BlcnR5KCdsaW5lTnInKSA/IHRoaXMuX3RyYW5zYWN0aW9uTGluZSA6IHRoaXMuX3RyYW5zYWN0aW9uSW5mbztcclxuICAgIH1cclxuXHJcbiAgICBASG9zdEJpbmRpbmcoXCJjbGFzcy5zaG93LWxvYWRlclwiKVxyXG4gICAgcHVibGljIHNob3dMb2FkZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBwdWJsaWMgaXNTZXJ2aWNlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgbGluZU9wZXJhdGlvblN0YXR1c2VzOiBMaW5lT3BlcmF0aW9uU3RhdHVzW10gPSBbXTtcclxuICAgIHB1YmxpYyB0cmFuc2FjdGlvbkxpbmVzOiBUcmFuc2FjdGlvbkxpbmVJbmZvW10gPSBbXTtcclxuICAgIHB1YmxpYyBkZWxpdmVyeUNvc3RMaW5lczogVHJhbnNhY3Rpb25EZWxpdmVyeUNvc3RMaW5lSW5mb1tdID0gW107XHJcbiAgICBwdWJsaWMgcmVsYXRpb25LaW5kOiBSZWxhdGlvbktpbmQgPSBSZWxhdGlvbktpbmQuQ3VzdG9tZXI7XHJcbiAgICBwdWJsaWMgcmVsYXRpb25UeXBlOiBSZWxhdGlvbk5hbWVLaW5kID0gUmVsYXRpb25OYW1lS2luZC5Qcml2YXRlO1xyXG4gICAgcHVibGljIHRyYW5zYWN0aW9uS2luZDogVHJhbnNhY3Rpb25LaW5kID0gVHJhbnNhY3Rpb25LaW5kLlNhbGVzT3JkZXI7XHJcbiAgICBwdWJsaWMgdmlzaWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIGhlYWRlclJlYWRvbmx5OiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgY29tbWl0dGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIHRvb2x0aXBNZXNzYWdlOiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgZnVsbHlJbnZvaWNlZDogYm9vbGVhbjtcclxuICAgIHB1YmxpYyBmdWxseURlbGl2ZXJlZDogYm9vbGVhbjtcclxuICAgIHB1YmxpYyBoYXNNdWx0aXBsZUxpbmVzOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgY2FuQWxsTGluZXNCZURlbGl2ZXJlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIGNhbkFsbExpbmVzQmVJbnZvaWNlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIGhhc0xpbmVzVG9EZWxpdmVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgaGFzTGluZXNUb0ludm9pY2U6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBwdWJsaWMgbGluZUhhc0xvZ2lzdGljYWxTdGF0ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIGxpbmVJc09yZGVyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBsaW5lSXNEZWxpdmVyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBsaW5lSXNJbnZvaWNlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIGxpbmVJc1JlY2VpdmVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgbGluZVF1YW50aXR5VG9JbnZvaWNlOiBudW1iZXIgPSAwO1xyXG4gICAgcHVibGljIGxpbmVRdWFudGl0eUludm9pY2VkOiBudW1iZXIgPSAwO1xyXG4gICAgcHVibGljIGxpbmVRdWFudGl0eVRvUmVjZWl2ZTogbnVtYmVyID0gMDtcclxuICAgIHB1YmxpYyBsaW5lUXVhbnRpdHlSZWNlaXZlZDogbnVtYmVyID0gMDtcclxuICAgIHB1YmxpYyBsaW5lUXVhbnRpdHlUb0RlbGl2ZXI6IG51bWJlciA9IDA7XHJcbiAgICBwdWJsaWMgbGluZVF1YW50aXR5RGVsaXZlcmVkOiBudW1iZXIgPSAwO1xyXG4gICAgcHVibGljIGxpbmVRdWFudGl0eVRvQWxsb2NhdGU6IG51bWJlciA9IDA7XHJcbiAgICBwdWJsaWMgbGluZVF1YW50aXR5QWxsb2NhdGVkOiBudW1iZXIgPSAwO1xyXG4gICAgcHVibGljIGxpbmVRdWFudGl0eU9yZGVyZWQ6IG51bWJlciA9IDA7XHJcbiAgICBwdWJsaWMgbGluZVF1YW50aXR5UGxhbm5pbmdSZXF1ZXN0ZWQ6IG51bWJlciA9IDA7XHJcbiAgICBwdWJsaWMgbGluZVF1YW50aXR5UGxhbm5pbmdQcmVmZXJyZWREYXRlRW50ZXJlZDogbnVtYmVyID0gMDtcclxuICAgIHB1YmxpYyBsaW5lUXVhbnRpdHlUb0JlUGlja2VkOiBudW1iZXIgPSAwO1xyXG4gICAgcHVibGljIGxpbmVRdWFudGl0eVBpY2tlZDogbnVtYmVyID0gMDtcclxuICAgIHB1YmxpYyBsaW5lUXVhbnRpdHlQbGFubmluZ0ZpbmFsOiBudW1iZXIgPSAwO1xyXG4gICAgcHVibGljIGxpbmVRdWFudGl0eVJlY2VpdmVkVW5wcm9jZXNzZWQ6IG51bWJlciA9IDA7XHJcbiAgICBwdWJsaWMgbGluZVF1YW50aXR5UHVyY2hhc2VDb25maXJtZWQ6IG51bWJlciA9IDA7XHJcbiAgICBwdWJsaWMgbGluZVF1YW50aXR5VHJhbnNwb3J0Tm90aWZpY2F0aW9uOiBudW1iZXIgPSAwO1xyXG4gICAgcHVibGljIGxpbmVRdWFudGl0eUludm9pY2VDb250cm9sOiBudW1iZXIgPSAwO1xyXG5cclxuICAgIHByb3RlY3RlZCBoZWFkZXJUb29sdGlwTWVzc2FnZXM6IHN0cmluZ1tdID0gW107XHJcbiAgICBwcm90ZWN0ZWQgbGluZVRvb2x0aXBNZXNzYWdlczogc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgICBwcml2YXRlIF9yZWxhdGlvbjogUmVsYXRpb25BbnlUeXBlID0gTlVMTF9DVVNUT01FUl9GVUxMX09CSkVDVDtcclxuICAgIHByaXZhdGUgX3RyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbkluZm9SZXNwb25zZTtcclxuICAgIHByaXZhdGUgX3RyYW5zYWN0aW9uTGluZTogVHJhbnNhY3Rpb25MaW5lSW5mbyA9IG5ldyBUcmFuc2FjdGlvbkxpbmVJbmZvKCk7XHJcbiAgICBwcml2YXRlIF90cmFuc2FjdGlvbkluZm86IFRyYW5zYWN0aW9uSW5mbyA9IG5ldyBUcmFuc2FjdGlvbkluZm8oKTtcclxuICAgIHByaXZhdGUgX3RyYW5zYWN0aW9uVG90YWw6IFRyYW5zYWN0aW9uVG90YWwgPSBuZXcgVHJhbnNhY3Rpb25Ub3RhbCgpO1xyXG4gICAgcHJpdmF0ZSBfc2VsZWN0ZWQ6IGJvb2xlYW47XHJcbiAgICBwcml2YXRlIF9iYXNlU3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwdWJsaWMgdHJhbnNhY3Rpb25FdmVudFNlcnZpY2U6IFRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLFxyXG4gICAgICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgICAgIHB1YmxpYyBzY3JlZW5Db25maWdTZXJ2aWNlOiBUcmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlLFxyXG4gICAgICAgIHByb3RlY3RlZCBpbWFnZVNlcnZpY2U6IFRyYW5zYWN0aW9uSW1hZ2VTZXJ2aWNlLFxyXG4gICAgICAgIHByb3RlY3RlZCBkaWN0aW9uYXJ5U2VydmljZTogRGljdGlvbmFyeVNlcnZpY2UsXHJcbiAgICAgICAgcHJvdGVjdGVkIHRyYW5zYWN0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gICAgICAgIHByb3RlY3RlZCBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9iYXNlU3Vicy5wdXNoKFxyXG4gICAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLnRyYW5zYWN0aW9uTGluZVZpc2liaWxpdHlDaGFuZ2Uuc3Vic2NyaWJlKChkYXRhOiB7IGxpbmU6IFRyYW5zYWN0aW9uTGluZUluZm8sIHZpc2libGU6IGJvb2xlYW4gfSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGRhdGEgJiYgdGhpcy50cmFuc2FjdGlvbkxpbmUgJiYgZGF0YS5saW5lLmxpbmVOciA9PT0gdGhpcy50cmFuc2FjdGlvbkxpbmUubGluZU5yKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52aXNpYmlsaXR5U2V0KGRhdGEudmlzaWJsZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9iYXNlU3Vicy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgaGFuZGxlQ29tbWl0KHZhbHVlOiBhbnkpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgICAgICBpZiAoYXdhaXQgdGhpcy5sb2NrVHJhbnNhY3Rpb24oKSkge1xyXG4gICAgICAgICAgICB0aGlzLmNvbW1pdHRpbmcgPSB0cnVlO1xyXG4gICAgICAgICAgICBjb25zdCByZXNwb25zZTogYm9vbGVhbiA9IGF3YWl0IHRoaXMuY29tbWl0KHZhbHVlKTtcclxuICAgICAgICAgICAgdGhpcy5jb21taXR0aW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHJldHVybiByZXNwb25zZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGRlbGV0ZVRyYW5zYWN0aW9uTGluZUNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICBpZiAoYXdhaXQgdGhpcy5sb2NrVHJhbnNhY3Rpb24oKSkge1xyXG4gICAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5kZWxldGVUcmFuc2FjdGlvbkxpbmUodGhpcy50cmFuc2FjdGlvbkluZm8udXVpZCwgdGhpcy50cmFuc2FjdGlvbkxpbmUudXVpZCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBoYW5kbGVWaXNpYmlsaXR5Q2hhbmdlKGxpbmU6IFRyYW5zYWN0aW9uTGluZUluZm8sIHZpc2libGU6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLnRyYW5zYWN0aW9uTGluZVZpc2liaWxpdHlDaGFuZ2UubmV4dCh7bGluZSwgdmlzaWJsZX0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBjb21taXQodmFsdWU6IGFueSk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUodHJ1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIHZpc2liaWxpdHlTZXQodmlzaWJsZTogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudmlzaWJsZSA9IHZpc2libGU7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIHRyYW5zYWN0aW9uU2V0KCk6IHZvaWQge1xyXG4gICAgICAgIC8vIG92ZXJyaWRkZW4gYnkgZGVzY2VuZGVudHNcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgcmVsYXRpb25TZXQoKTogdm9pZCB7XHJcbiAgICAgICAgLy8gb3ZlcnJpZGRlbiBieSBkZXNjZW5kZW50c1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCB0cmFuc2FjdGlvbkxpbmVTZXQoKTogdm9pZCB7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gb3ZlcnJpZGRlbiBieSBkZXNjZW5kZW50c1xyXG4gICAgcHJvdGVjdGVkIHRyYW5zYWN0aW9uSW5mb1NldCgpOiB2b2lkIHtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgYWRkTGluZVRvb2x0aXBNZXNzYWdlKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmxpbmVUb29sdGlwTWVzc2FnZXMuaW5kZXhPZihtZXNzYWdlKSA8IDApIHtcclxuICAgICAgICAgICAgdGhpcy5saW5lVG9vbHRpcE1lc3NhZ2VzLnB1c2goYDxpPiR7bWVzc2FnZX08L2k+YCk7XHJcbiAgICAgICAgICAgIHRoaXMucHJlcGFyZVRvb2x0aXBNZXNzYWdlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBhZGRIZWFkZXJUb29sdGlwTWVzc2FnZShtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5oZWFkZXJUb29sdGlwTWVzc2FnZXMuaW5kZXhPZihtZXNzYWdlKSA8IDApIHtcclxuICAgICAgICAgICAgdGhpcy5oZWFkZXJUb29sdGlwTWVzc2FnZXMucHVzaChgPGk+JHttZXNzYWdlfTwvaT5gKTtcclxuICAgICAgICAgICAgdGhpcy5wcmVwYXJlVG9vbHRpcE1lc3NhZ2UoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIHByZXBhcmVUb29sdGlwTWVzc2FnZSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnRvb2x0aXBNZXNzYWdlID0gJyc7XHJcbiAgICAgICAgbGV0IHRvb2x0aXBzOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgICAgIGlmICh0aGlzLmhlYWRlclRvb2x0aXBNZXNzYWdlcy5sZW5ndGggPiAwIHx8IHRoaXMubGluZVRvb2x0aXBNZXNzYWdlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIHRvb2x0aXBzID0gdGhpcy5oZWFkZXJUb29sdGlwTWVzc2FnZXMuY29uY2F0KHRoaXMubGluZVRvb2x0aXBNZXNzYWdlcyk7XHJcbiAgICAgICAgICAgIHRoaXMudG9vbHRpcE1lc3NhZ2UgPSBgJHt0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldCgnRklFTERfSVNfUkVBRE9OTFlfQkVDQVVTRScpfTwvYnI+PC9icj4ke3Rvb2x0aXBzLmpvaW4oJzwvYnI+Jyl9YDtcclxuICAgICAgICAgICAgdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIG92ZXJyaWRkZW4gYnkgZGVzY2VuZGVudHNcclxuICAgIHByb3RlY3RlZCB0cmFuc2FjdGlvblRvdGFsU2V0KCk6IHZvaWQge1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgZGV0ZWN0Q2hhbmdlcygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgYXN5bmMgbG9ja1RyYW5zYWN0aW9uKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgICAgIGlmICh0aGlzLmxvY2tBbmRTYXZlICYmIHRoaXMudHJhbnNhY3Rpb25JbmZvLmlkKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS50cnlUb0xvY2tUcmFuc2FjdGlvbih0aGlzLnRyYW5zYWN0aW9uSW5mby5pZCwgdGhpcy50cmFuc2FjdGlvbkluZm8udmVyc2lvbik7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBhc3luYyByb2xsYmFjaygpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgICAgICAvLyB0b2RvOiBzaG91bGQgYmUgYW4gdW5sb2NrIGZ1bmN0aW9uIGluIHRoZSBiYWNrZW5kLCBidXQgdGhhdCBkb2Vzbid0IGV4aXN0IHlldFxyXG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5yb2xsYmFjaygpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBfY2hlY2tIZWFkZXJSZWFkb25seSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmhlYWRlclRvb2x0aXBNZXNzYWdlcy5sZW5ndGggPSAwO1xyXG4gICAgICAgIHRoaXMuaGVhZGVyUmVhZG9ubHkgPSB0aGlzLmhlYWRlclJlYWRvbmx5IHx8IHRoaXMuZnVsbHlJbnZvaWNlZCB8fCB0aGlzLmZ1bGx5RGVsaXZlcmVkO1xyXG4gICAgICAgIGlmICh0aGlzLmZ1bGx5SW52b2ljZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5hZGRIZWFkZXJUb29sdGlwTWVzc2FnZSh0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldCgnQ09NUExFVEVMWV9JTlZPSUNFRCcpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuZnVsbHlEZWxpdmVyZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5hZGRIZWFkZXJUb29sdGlwTWVzc2FnZSh0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldCgnQ09NUExFVEVMWV9ERUxJVkVSRUQnKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufVxyXG4iXX0=
|
|
@@ -14,7 +14,6 @@ export class PaymentComponent {
|
|
|
14
14
|
this._paymentService = _paymentService;
|
|
15
15
|
this._transactionEventService = _transactionEventService;
|
|
16
16
|
this.icons = Icon;
|
|
17
|
-
this.updateDepositAmount = false;
|
|
18
17
|
this.payed = new EventEmitter();
|
|
19
18
|
this.paymentMethodIdx = 0;
|
|
20
19
|
this.cashRegisterIdx = 0;
|
|
@@ -43,9 +42,9 @@ export class PaymentComponent {
|
|
|
43
42
|
}
|
|
44
43
|
ngOnInit() {
|
|
45
44
|
return __awaiter(this, void 0, void 0, function* () {
|
|
46
|
-
if (this.updateDepositAmount) {
|
|
47
|
-
|
|
48
|
-
}
|
|
45
|
+
// if (this.updateDepositAmount) {
|
|
46
|
+
// await this._transactionService.updateHeaderTransactionDepositAmount(this.transactionUuid, this.amountToPay, true);
|
|
47
|
+
// }
|
|
49
48
|
this._getPaymentMethods().then(() => {
|
|
50
49
|
this.showLoader = false;
|
|
51
50
|
this._getDepositPaymentInfo();
|
|
@@ -102,7 +101,7 @@ export class PaymentComponent {
|
|
|
102
101
|
request.cashRegisterDrawerId = null;
|
|
103
102
|
this._paymentService.doPayment(request).then(() => __awaiter(this, void 0, void 0, function* () {
|
|
104
103
|
this.showKeyPad = false;
|
|
105
|
-
yield this._getDepositPaymentInfo(
|
|
104
|
+
yield this._getDepositPaymentInfo();
|
|
106
105
|
this._handlePayment(false);
|
|
107
106
|
if (this.amountToPay === 0) {
|
|
108
107
|
this._handlePayment();
|
|
@@ -115,15 +114,14 @@ export class PaymentComponent {
|
|
|
115
114
|
}
|
|
116
115
|
_getDepositPaymentInfo(force = false) {
|
|
117
116
|
return __awaiter(this, void 0, void 0, function* () {
|
|
118
|
-
if (this.updateDepositAmount || force) {
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
else {
|
|
125
|
-
this.amountToPay = this._amount;
|
|
117
|
+
// if (this.updateDepositAmount || force) {
|
|
118
|
+
const info = yield this._paymentService.getDepositPaymentInfo(this.transactionUuid);
|
|
119
|
+
if (info) {
|
|
120
|
+
this.amountToPay = info.depositRemainderAmount;
|
|
126
121
|
}
|
|
122
|
+
// } else {
|
|
123
|
+
// this.amountToPay = this._amount;
|
|
124
|
+
// }
|
|
127
125
|
});
|
|
128
126
|
}
|
|
129
127
|
_dataUriToBase64(uri, mimeType) {
|
|
@@ -297,10 +295,9 @@ PaymentComponent.propDecorators = {
|
|
|
297
295
|
transId: [{ type: Input }],
|
|
298
296
|
transactionUuid: [{ type: Input }],
|
|
299
297
|
branch: [{ type: Input }],
|
|
300
|
-
updateDepositAmount: [{ type: Input }],
|
|
301
298
|
amount: [{ type: Input }],
|
|
302
299
|
currencyId: [{ type: Input }],
|
|
303
300
|
payed: [{ type: Output }],
|
|
304
301
|
showClass: [{ type: HostBinding, args: ["class.co-payment",] }]
|
|
305
302
|
};
|
|
306
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC9wYXltZW50L3BheW1lbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEgsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBRXJFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFTM0QsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sbUVBQW1FLENBQUM7QUFFeEcsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seURBQXlELENBQUM7QUFnRXpGLE1BQU0sT0FBTyxnQkFBZ0I7SUF5RDNCLFlBQ1ksbUJBQXVDLEVBQ3ZDLGNBQTZCLEVBQzdCLGVBQStCLEVBQy9CLHdCQUFpRDtRQUhqRCx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQW9CO1FBQ3ZDLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBQzdCLG9CQUFlLEdBQWYsZUFBZSxDQUFnQjtRQUMvQiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQXlCO1FBNUQ3QyxVQUFLLEdBQWdCLElBQUksQ0FBQztRQVluQyx3QkFBbUIsR0FBWSxLQUFLLENBQUM7UUFlckMsVUFBSyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBT3JELHFCQUFnQixHQUFXLENBQUMsQ0FBQztRQUM3QixvQkFBZSxHQUFXLENBQUMsQ0FBQztRQUM1QixtQkFBYyxHQUF1QixFQUFFLENBQUM7UUFDeEMsa0JBQWEsR0FBVSxFQUFFLENBQUM7UUFDMUIsc0JBQWlCLEdBQVksS0FBSyxDQUFDO1FBQ25DLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFDNUIsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFHL0IsZUFBVSxHQUFZLElBQUksQ0FBQztRQUMzQixnQkFBVyxHQUFXLENBQUMsQ0FBQztRQUV4QixrQkFBYSxHQUFXLEVBQUUsQ0FBQztRQUUxQixZQUFPLEdBQVcsQ0FBQyxDQUFDO1FBRXBCLGlDQUE0QixHQUFXLElBQUksQ0FBQztRQUM1QyxrQ0FBNkIsR0FBVyxFQUFFLENBQUM7UUFDM0Msb0NBQStCLEdBQVcsQ0FBQyxDQUFDO1FBRTVDLFVBQUssR0FBbUIsRUFBRSxDQUFDO0lBT25DLENBQUM7SUEvQ0QsSUFDVyxNQUFNLENBQUMsS0FBYTtRQUM3QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBVyxNQUFNO1FBQ2YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFTTSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBK0JLLFFBQVE7O1lBQ1osSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUU7Z0JBQzVCLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixDQUFDLG9DQUFvQyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQzthQUNuSDtZQUNELElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQ2xDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO2dCQUN4QixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztnQkFDOUIsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDL0IsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0tBQUE7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVNLHFCQUFxQixDQUFDLE1BQXFCLEVBQUUsS0FBYTtRQUMvRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQzlCLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFTSxvQkFBb0IsQ0FBQyxZQUEwQixFQUFFLEtBQWE7UUFDbkUsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7SUFDL0IsQ0FBQztJQUVNLGFBQWE7UUFDbEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7UUFDeEIsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzNFLElBQUksQ0FBQyxvQkFBb0IsR0FBRyx1QkFBdUIsQ0FBQyxPQUFPLENBQUM7UUFDNUQsSUFBSSxJQUFJLENBQUMsb0JBQW9CLElBQUksSUFBSSxDQUFDLG9CQUFvQixDQUFDLGdCQUFnQixFQUFFLEVBQUUsY0FBYztZQUMzRixJQUFJLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLEVBQUU7Z0JBQ3pDLE1BQU0sWUFBWSxHQUFpQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztnQkFDNUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxFQUFFLEVBQUUsWUFBWSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsa0JBQTBCLEVBQUUsRUFBRTtvQkFDekssSUFBSSxrQkFBa0IsRUFBRTt3QkFDdEIsSUFBSSxDQUFDLCtCQUErQixHQUFHLENBQUMsQ0FBQzt3QkFDekMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLGtCQUFrQixDQUFDLENBQUM7cUJBQ25EO2dCQUNILENBQUMsQ0FBQyxDQUFDO2FBQ0o7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLGVBQWUsQ0FBQyw4QkFBOEIsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQWlDLEVBQUUsRUFBRTtvQkFDckssSUFBSSxDQUFDLGNBQWMsR0FBRyxRQUFRLENBQUM7b0JBQy9CLElBQUksSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRTt3QkFDMUQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUM7d0JBQ3ZGLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO3dCQUMxQixJQUFJLENBQUMsK0JBQStCLEdBQUcsQ0FBQyxDQUFDO3dCQUN6QyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztxQkFDOUI7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7YUFDSjtTQUNGO2FBQU07WUFDTCxNQUFNLG1CQUFtQixHQUFpQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUNuRixNQUFNLE9BQU8sR0FBcUIsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3pELE9BQU8sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUMvQixPQUFPLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQztZQUMzRCxPQUFPLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7WUFDbEMsT0FBTyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQ3JDLE9BQU8sQ0FBQyxjQUFjLEdBQUcsbUJBQW1CLENBQUMsRUFBRSxDQUFDO1lBQ2hELE9BQU8sQ0FBQyxtQkFBbUIsR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLENBQUM7WUFDeEQsT0FBTyxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQztZQUNwQyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBUyxFQUFFO2dCQUN0RCxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztnQkFDeEIsTUFBTSxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3hDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzNCLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxDQUFDLEVBQUU7b0JBQzFCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztpQkFDdkI7WUFDSCxDQUFDLENBQUEsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRU0sdUJBQXVCLENBQUMsS0FBYTtRQUMxQyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBRWEsc0JBQXNCLENBQUMsUUFBaUIsS0FBSzs7WUFDekQsSUFBSSxJQUFJLENBQUMsbUJBQW1CLElBQUksS0FBSyxFQUFFO2dCQUNyQyxNQUFNLElBQUksR0FBa0MsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztnQkFDbkgsSUFBSSxJQUFJLEVBQUU7b0JBQ1IsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUM7aUJBQ2hEO2FBQ0Y7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO2FBQ2pDO1FBQ0gsQ0FBQztLQUFBO0lBRU8sZ0JBQWdCLENBQUMsR0FBVyxFQUFFLFFBQWdCO1FBQ3BELE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsUUFBUSxHQUFHLFVBQVUsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUMxRCxDQUFDO0lBRU8scUJBQXFCO1FBQzNCLElBQUksSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsRUFBRTtZQUM5RCxJQUFJLENBQUMsc0JBQXNCLEdBQUcsV0FBVyxDQUFDLEdBQVMsRUFBRTtnQkFDbkQsSUFBSSxJQUFJLENBQUMsK0JBQStCLElBQUksSUFBSSxDQUFDLDZCQUE2QixFQUFFO29CQUM5RSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7aUJBQ3ZCO3FCQUFNO29CQUNMLE1BQU0sTUFBTSxHQUFzQixNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsQ0FBQztvQkFDdkgsSUFBSSxNQUFNLENBQUMsU0FBUyxFQUFFO3dCQUNwQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7d0JBQ3RCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO3dCQUMzQixNQUFNLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO3dCQUNwQyxJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssQ0FBQyxFQUFFOzRCQUMxQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7eUJBQ3ZCO3FCQUNGO29CQUNELElBQUksQ0FBQywrQkFBK0IsRUFBRSxDQUFDO2lCQUN4QztZQUNILENBQUMsQ0FBQSxFQUFFLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1NBQ3ZDO2FBQU07WUFDTCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDdkI7SUFDSCxDQUFDO0lBRU8sd0JBQXdCLENBQUMsa0JBQTBCO1FBQ3pELElBQUksa0JBQWtCLEVBQUU7WUFDdEIsSUFBSSxDQUFDLHNCQUFzQixHQUFHLFdBQVcsQ0FBQyxHQUFTLEVBQUU7Z0JBQ25ELElBQUksSUFBSSxDQUFDLCtCQUErQixJQUFJLElBQUksQ0FBQyw2QkFBNkIsRUFBRTtvQkFDOUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO2lCQUN2QjtxQkFBTTtvQkFDTCxNQUFNLFNBQVMsR0FBeUIsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLHVCQUF1QixDQUFDLGtCQUFrQixDQUFDLENBQUM7b0JBQy9HLElBQUksU0FBUyxJQUFJLFNBQVMsQ0FBQyxNQUFNLEVBQUU7d0JBQ2pDLElBQUksQ0FBQyxhQUFhLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUM7cUJBQ25EO29CQUNELElBQUksU0FBUyxDQUFDLFVBQVUsSUFBSSxTQUFTLENBQUMsTUFBTSxJQUFJLFNBQVMsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFO3dCQUMxRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7d0JBQ3RCLElBQUksU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUsscUJBQXFCLENBQUMsSUFBSSxFQUFFOzRCQUN4RCxNQUFNLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDOzRCQUNwQyxJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssQ0FBQyxFQUFFO2dDQUMxQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7NkJBQ3ZCO3lCQUNGO3FCQUNGO29CQUNELElBQUksQ0FBQywrQkFBK0IsRUFBRSxDQUFDO2lCQUN4QztZQUNILENBQUMsQ0FBQSxFQUFFLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1NBQ3ZDO2FBQU07WUFDTCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDdkI7SUFDSCxDQUFDO0lBRU8sY0FBYztRQUNwQixhQUFhLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLHNCQUFzQixHQUFHLFNBQVMsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0sscUJBQXFCO1FBQzNCLE1BQU0sYUFBYSxHQUFrQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUN4RixJQUFJLGFBQWEsSUFBSSxDQUFDLENBQUMsYUFBYSxDQUFDLGdCQUFnQixJQUFJLGFBQWEsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUNuRixJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDOUIsYUFBYSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ3BDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUM5QyxDQUFDLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7U0FDL0I7YUFBTTtZQUNMLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7U0FDaEM7SUFDSCxDQUFDO0lBRU8saUJBQWlCLENBQUMsTUFBZSxFQUFFLEtBQWM7UUFDdkQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxhQUE2QixFQUFFLEVBQUU7WUFDOUYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxhQUFhLENBQUMsQ0FBQztRQUM1QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxrQkFBa0I7UUFDeEIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQWlCLEVBQUUsRUFBRTtZQUN2QyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDL0IsSUFBSSxDQUFDLGVBQWUsQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBMkIsRUFBRSxFQUFFO2dCQUNqRyxJQUFJLENBQUMsY0FBYyxHQUFHLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDdEMsT0FBTyxFQUFFLENBQUM7WUFDWixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGNBQWMsQ0FBQyxZQUFxQixJQUFJO1FBQzlDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM1RCxJQUFJLFNBQVMsRUFBRTtZQUNiLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDbkI7SUFDSCxDQUFDOzs7WUFwVEYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxZQUFZO2dCQUN0QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXlEVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBOUVPLGtCQUFrQjtZQUdsQixhQUFhO1lBRGIsY0FBYztZQVlkLHVCQUF1Qjs7O3NCQW9FNUIsS0FBSzs4QkFHTCxLQUFLO3FCQUdMLEtBQUs7a0NBR0wsS0FBSztxQkFHTCxLQUFLO3lCQVNMLEtBQUs7b0JBR0wsTUFBTTt3QkFHTixXQUFXLFNBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSAnLi4vLi4vZW51bS9pY29uLmVudW0nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtDYXNoUmVnaXN0ZXJ9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9jYXNoLXJlZ2lzdGVyJztcclxuaW1wb3J0IHtQYXltZW50U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9wYXltZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQge1NoYXJlZFNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2Uvc2hhcmVkLnNlcnZpY2UnO1xyXG5pbXBvcnQge1BheW1lbnRNZXRob2R9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wYXltZW50LW1ldGhvZC5ibyc7XHJcbmltcG9ydCB7UGF5bWVudFZpZXdtb2RlbH0gZnJvbSAnLi4vLi4vbW9kZWwvcGF5bWVudC52aWV3bW9kZWwnO1xyXG5pbXBvcnQge1BheW1lbnRMaW5rU3RhdHVzfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGF5bWVudC1saW5rLXN0YXR1cy5ibyc7XHJcbmltcG9ydCB7Q3JlYXRlUGF5bWVudExpbmtSZXN1bHR9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9jcmVhdGUtcGF5bWVudC1saW5rLXJlc3VsdC5ibyc7XHJcbmltcG9ydCB7RGVwb3NpdFBheW1lbnRWaWV3TW9kZWx9IGZyb20gJy4uLy4uL21vZGVsL2RlcG9zaXQtcGF5bWVudC12aWV3LW1vZGVsJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkRlcG9zaXRQYXltZW50SW5mb30gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLWRlcG9zaXQtcGF5bWVudC1pbmZvLmJvJztcclxuaW1wb3J0IHtEZXBvc2l0UGF5bWVudH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2RlcG9zaXQtcGF5bWVudC5ibyc7XHJcbmltcG9ydCB7UHNwVHJhbnNhY3Rpb25TdGF0dXN9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wc3AtdHJhbnNhY3Rpb24tc3RhdHVzLmJvJztcclxuaW1wb3J0IHtJb25lUGF5bWVudFN0YXR1c0NvZGV9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL2lvbmUtcGF5bWVudC1zdGF0dXMtY29kZS5lbnVtJztcclxuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWV2ZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQge0RvUGF5bWVudFJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9kby1wYXltZW50LXJlcXVlc3QnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tcGF5bWVudFwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwicGF5bWVudC13cmFwcGVyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJwYXltZW50LW1ldGhvZHMtaGVhZGVyXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJwYXltZW50LWhlYWRlci10aXRsZVwiIFt0ZXh0Q29udGVudF09XCInU0VMRUNUX0EnIHwgbG9jYWxpemVcIj48L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJwYXltZW50LWhlYWRlci10aXRsZSBleHRyYVwiIFt0ZXh0Q29udGVudF09XCInRlJFRScgfCBsb2NhbGl6ZTpmYWxzZVwiPjwvc3Bhbj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInBheW1lbnQtaGVhZGVyLXRpdGxlXCIgW3RleHRDb250ZW50XT1cIidQQVlNRU5UX01FVEhPRCcgfCBsb2NhbGl6ZTpmYWxzZVwiPjwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJwYXltZW50LW1ldGhvZHNcIj5cclxuICAgICAgICA8Y28tbG9hZGVyIGNsYXNzPVwibG9hZGVyXCIgKm5nSWY9XCJzaG93TG9hZGVyXCI+PC9jby1sb2FkZXI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzaG93TG9hZGVyXCI+XHJcbiAgICAgICAgICA8Y28tcGF5bWVudC10aWxlICpuZ0Zvcj1cImxldCBwYXltZW50TWV0aG9kIG9mIHBheW1lbnRNZXRob2RzOyBsZXQgaW5kZXggPSBpbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbWFnZV09XCJwYXltZW50TWV0aG9kLmltYWdlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rlc2NyaXB0aW9uXT1cInBheW1lbnRNZXRob2QucGF5bWVudC5kZXNjcmlwdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZF09XCJwYXltZW50TWV0aG9kSWR4ID09PSBpbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZWxlY3RlZENoYW5nZSk9XCJwYXltZW50TWV0aG9kU2VsZWN0ZWQocGF5bWVudE1ldGhvZC5wYXltZW50LCBpbmRleClcIlxyXG4gICAgICAgICAgPjwvY28tcGF5bWVudC10aWxlPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInBheW1lbnQtY2FzaC1yZWdpc3Rlci13cmFwcGVyXCIgKm5nSWY9XCJzaG93Q2FzaFJlZ2lzdGVyc1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwYXltZW50LWNhc2gtcmVnaXN0ZXItaGVhZGVyXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInBheW1lbnQtaGVhZGVyLXRpdGxlXCIgW3RleHRDb250ZW50XT1cIidTRUxFQ1RfQ0FTSF9SRUdJU1RFUicgfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicGF5bWVudC1tZXRob2RzXCI+XHJcbiAgICAgICAgICA8Y28tcGF5bWVudC10aWxlICpuZ0Zvcj1cImxldCBjYXNoUmVnaXN0ZXIgb2YgY2FzaFJlZ2lzdGVyczsgbGV0IGluZGV4ID0gaW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbaWNvbl09XCJjYXNoUmVnaXN0ZXIuaWNvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZXNjcmlwdGlvbl09XCJjYXNoUmVnaXN0ZXIuZGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRdPVwiY2FzaFJlZ2lzdGVySWR4ID09PSBpbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZWxlY3RlZENoYW5nZSk9XCJjYXNoUmVnaXN0ZXJTZWxlY3RlZChjYXNoUmVnaXN0ZXIsIGluZGV4KVwiXHJcbiAgICAgICAgICA+PC9jby1wYXltZW50LXRpbGU+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicGF5bWVudC10by1wYXktd3JhcHBlclwiPlxyXG4gICAgICAgIDxjby1wYXltZW50LXRvLXBheSBbYW1vdW50VG9QYXldPVwiYW1vdW50VG9QYXlcIj48L2NvLXBheW1lbnQtdG8tcGF5PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwYXltZW50LWRlcG9zaXRcIj5cclxuICAgICAgICAgIDxjby1kZXBvc2l0LXBheW1lbnQgW2JyYW5jaF09XCJicmFuY2hcIiBbdHJhbnNhY3Rpb25VdWlkXT1cInRyYW5zYWN0aW9uVXVpZFwiPjwvY28tZGVwb3NpdC1wYXltZW50PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwYXltZW50LXRvLXBheS1idXR0b25cIj5cclxuICAgICAgICAgIDwhLS1cclxuICAgICAgICAgICAgICAgICAgICA8Y28tbG9hZGVyICpuZ0lmPVwic3RhdHVzTWVzc2FnZVwiPjwvY28tbG9hZGVyPlxyXG4gICAgICAgICAgLS0+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicGF5bWVudC1lcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJzdGF0dXNNZXNzYWdlXCIgW3RleHRDb250ZW50XT1cInN0YXR1c01lc3NhZ2VcIj48L2Rpdj5cclxuICAgICAgICAgIDxjby1idXR0b24gW2xhYmVsXT1cIidQQVknIHwgbG9jYWxpemVcIiAoY2xpY2spPVwiaGFuZGxlUGF5bWVudCgpXCIgW2Rpc2FibGVkXT1cImFtb3VudFRvUGF5ID09PSAwXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGNvLWtleS1wYWQgY2xhc3M9XCJwYXltZW50LXRvLXBheS1rZXlwYWRcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtzaG93VmFsdWVdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtlbWl0TW9kZWxDaGFuZ2VPbkVudGVyXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICBbbW9kZWxdPVwiYW1vdW50VG9QYXlcIlxyXG4gICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJoYW5kbGVLZXlQYWRNb2RlbENoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAoZW50ZXJDbGljayk9XCJoYW5kbGVQYXltZW50KClcIlxyXG4gICAgICAgID48L2NvLWtleS1wYWQ+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8Y28tZGlhbG9nICpuZ0lmPVwic2hvd1BzcFFyQ29kZVwiIChjbG9zZUNsaWNrKT1cInNob3dQc3BRckNvZGUgPSBmYWxzZVwiPlxyXG4gICAgICA8Y28tcGF5bWVudC1xci1jb2RlXHJcbiAgICAgICAgICBbcXJDb2RlSW1hZ2VdPVwicXJDb2RlSW1hZ2VcIlxyXG4gICAgICA+PC9jby1wYXltZW50LXFyLWNvZGU+XHJcbiAgICA8L2NvLWRpYWxvZz5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFBheW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHRyYW5zSWQ6IG51bWJlcjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdHJhbnNhY3Rpb25VdWlkOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGJyYW5jaDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB1cGRhdGVEZXBvc2l0QW1vdW50OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBhbW91bnQodmFsdWU6IG51bWJlcikge1xyXG4gICAgdGhpcy5fYW1vdW50ID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGFtb3VudCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX2Ftb3VudDtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGN1cnJlbmN5SWQ6IG51bWJlcjtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHBheWVkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLXBheW1lbnRcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcGF5bWVudE1ldGhvZElkeDogbnVtYmVyID0gMDtcclxuICBwdWJsaWMgY2FzaFJlZ2lzdGVySWR4OiBudW1iZXIgPSAwO1xyXG4gIHB1YmxpYyBwYXltZW50TWV0aG9kczogUGF5bWVudFZpZXdtb2RlbFtdID0gW107XHJcbiAgcHVibGljIGNhc2hSZWdpc3RlcnM6IGFueVtdID0gW107XHJcbiAgcHVibGljIHNob3dDYXNoUmVnaXN0ZXJzOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dLZXlQYWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2hvd1BzcFFyQ29kZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBjdXJyZW50UGF5bWVudE1ldGhvZDogUGF5bWVudE1ldGhvZDtcclxuICBwdWJsaWMgcXJDb2RlSW1hZ2U6IHN0cmluZztcclxuICBwdWJsaWMgc2hvd0xvYWRlcjogYm9vbGVhbiA9IHRydWU7XHJcbiAgcHVibGljIGFtb3VudFRvUGF5OiBudW1iZXIgPSAwO1xyXG5cclxuICBwdWJsaWMgc3RhdHVzTWVzc2FnZTogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgcHJpdmF0ZSBfYW1vdW50OiBudW1iZXIgPSAwO1xyXG4gIHByaXZhdGUgX3BheW1lbnRTdGF0dXNJbnRlcnZhbDogYW55O1xyXG4gIHByaXZhdGUgX3BheW1lbnRTdGF0dXNQb2xsSW50ZXJ2YWxNczogbnVtYmVyID0gNTAwMDtcclxuICBwcml2YXRlIF9wYXltZW50U3RhdHVzTWF4UG9sbEludGVydmFsOiBudW1iZXIgPSAxMDtcclxuICBwcml2YXRlIF9wYXltZW50U3RhdHVzUG9sbEludGVydmFsQ291bnQ6IG51bWJlciA9IDA7XHJcbiAgcHJpdmF0ZSBfcGF5bWVudFJlc3VsdDogQ3JlYXRlUGF5bWVudExpbmtSZXN1bHQ7XHJcbiAgcHJpdmF0ZSBfc3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICAgIHByaXZhdGUgX3RyYW5zYWN0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gICAgICBwcml2YXRlIF9zaGFyZWRTZXJ2aWNlOiBTaGFyZWRTZXJ2aWNlLFxyXG4gICAgICBwcml2YXRlIF9wYXltZW50U2VydmljZTogUGF5bWVudFNlcnZpY2UsXHJcbiAgICAgIHByaXZhdGUgX3RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlOiBUcmFuc2FjdGlvbkV2ZW50U2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAodGhpcy51cGRhdGVEZXBvc2l0QW1vdW50KSB7XHJcbiAgICAgIGF3YWl0IHRoaXMuX3RyYW5zYWN0aW9uU2VydmljZS51cGRhdGVIZWFkZXJUcmFuc2FjdGlvbkRlcG9zaXRBbW91bnQodGhpcy50cmFuc2FjdGlvblV1aWQsIHRoaXMuYW1vdW50VG9QYXksIHRydWUpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fZ2V0UGF5bWVudE1ldGhvZHMoKS50aGVuKCgpID0+IHtcclxuICAgICAgdGhpcy5zaG93TG9hZGVyID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuX2dldERlcG9zaXRQYXltZW50SW5mbygpO1xyXG4gICAgICB0aGlzLl9wcmVwYXJlQ2FzaFJlZ2lzdGVycygpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3N1YnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XHJcbiAgICB0aGlzLl9jbGVhckludGVydmFsKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcGF5bWVudE1ldGhvZFNlbGVjdGVkKG1ldGhvZDogUGF5bWVudE1ldGhvZCwgaW5kZXg6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5wYXltZW50TWV0aG9kSWR4ID0gaW5kZXg7XHJcbiAgICB0aGlzLl9wcmVwYXJlQ2FzaFJlZ2lzdGVycygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNhc2hSZWdpc3RlclNlbGVjdGVkKGNhc2hSZWdpc3RlcjogQ2FzaFJlZ2lzdGVyLCBpbmRleDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLmNhc2hSZWdpc3RlcklkeCA9IGluZGV4O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVBheW1lbnQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnN0YXR1c01lc3NhZ2UgPSBcIlwiO1xyXG4gICAgY29uc3QgY3VycmVudFBheW1lbnRWaWV3TW9kZWwgPSB0aGlzLnBheW1lbnRNZXRob2RzW3RoaXMucGF5bWVudE1ldGhvZElkeF07XHJcbiAgICB0aGlzLmN1cnJlbnRQYXltZW50TWV0aG9kID0gY3VycmVudFBheW1lbnRWaWV3TW9kZWwucGF5bWVudDtcclxuICAgIGlmICh0aGlzLmN1cnJlbnRQYXltZW50TWV0aG9kICYmIHRoaXMuY3VycmVudFBheW1lbnRNZXRob2QuZXh0ZXJuYWxTb3VyY2VJZCkgeyAvLyBwc3AgcGF5bWVudFxyXG4gICAgICBpZiAodGhpcy5jdXJyZW50UGF5bWVudE1ldGhvZC5waW5UZXJtaW5hbCkge1xyXG4gICAgICAgIGNvbnN0IGNhc2hSZWdpc3RlcjogQ2FzaFJlZ2lzdGVyID0gdGhpcy5jYXNoUmVnaXN0ZXJzW3RoaXMuY2FzaFJlZ2lzdGVySWR4XTtcclxuICAgICAgICB0aGlzLl9wYXltZW50U2VydmljZS5kb1BpblBheW1lbnQodGhpcy50cmFuc0lkLCB0aGlzLmN1cnJlbnRQYXltZW50TWV0aG9kLmNvZGUsIGNhc2hSZWdpc3Rlci5uciwgY2FzaFJlZ2lzdGVyLmdyb3VwLCB0aGlzLmFtb3VudFRvUGF5KS50aGVuKChwc3BUcmFuc2FjdGlvblV1aWQ6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgaWYgKHBzcFRyYW5zYWN0aW9uVXVpZCkge1xyXG4gICAgICAgICAgICB0aGlzLl9wYXltZW50U3RhdHVzUG9sbEludGVydmFsQ291bnQgPSAwO1xyXG4gICAgICAgICAgICB0aGlzLl93YWl0Rm9yUGluUGF5bWVudFN0YXR1cyhwc3BUcmFuc2FjdGlvblV1aWQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuX3BheW1lbnRTZXJ2aWNlLmNyZWF0ZUlvbmVQYXltZW50TGlua0FuZFFSQ29kZSh0aGlzLnRyYW5zYWN0aW9uVXVpZCwgdGhpcy5hbW91bnRUb1BheSwgdGhpcy5jdXJyZW50UGF5bWVudE1ldGhvZC5jb2RlKS50aGVuKChyZXNwb25zZTogQ3JlYXRlUGF5bWVudExpbmtSZXN1bHQpID0+IHtcclxuICAgICAgICAgIHRoaXMuX3BheW1lbnRSZXN1bHQgPSByZXNwb25zZTtcclxuICAgICAgICAgIGlmICh0aGlzLl9wYXltZW50UmVzdWx0ICYmIHRoaXMuX3BheW1lbnRSZXN1bHQuaW1hZ2VCYXNlNjQpIHtcclxuICAgICAgICAgICAgdGhpcy5xckNvZGVJbWFnZSA9IHRoaXMuX2RhdGFVcmlUb0Jhc2U2NCh0aGlzLl9wYXltZW50UmVzdWx0LmltYWdlQmFzZTY0LCAnaW1hZ2UvcG5nJyk7XHJcbiAgICAgICAgICAgIHRoaXMuc2hvd1BzcFFyQ29kZSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuX3BheW1lbnRTdGF0dXNQb2xsSW50ZXJ2YWxDb3VudCA9IDA7XHJcbiAgICAgICAgICAgIHRoaXMuX3dhaXRGb3JQYXltZW50U3RhdHVzKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGN1cnJlbnRDYXNoUmVnaXN0ZXI6IENhc2hSZWdpc3RlciA9IHRoaXMuY2FzaFJlZ2lzdGVyc1t0aGlzLmNhc2hSZWdpc3RlcklkeF07XHJcbiAgICAgIGNvbnN0IHJlcXVlc3Q6IERvUGF5bWVudFJlcXVlc3QgPSBuZXcgRG9QYXltZW50UmVxdWVzdCgpO1xyXG4gICAgICByZXF1ZXN0LnRyYW5zSWQgPSB0aGlzLnRyYW5zSWQ7XHJcbiAgICAgIHJlcXVlc3QucGF5bWVudE1ldGhvZENvZGUgPSB0aGlzLmN1cnJlbnRQYXltZW50TWV0aG9kLmNvZGU7XHJcbiAgICAgIHJlcXVlc3QuYW1vdW50ID0gdGhpcy5hbW91bnRUb1BheTtcclxuICAgICAgcmVxdWVzdC5jdXJyZW5jeUlkID0gdGhpcy5jdXJyZW5jeUlkO1xyXG4gICAgICByZXF1ZXN0LmNhc2hSZWdpc3Rlck5yID0gY3VycmVudENhc2hSZWdpc3Rlci5ucjtcclxuICAgICAgcmVxdWVzdC5jYXNoUmVnaXN0ZXJHcm91cElkID0gY3VycmVudENhc2hSZWdpc3Rlci5ncm91cDtcclxuICAgICAgcmVxdWVzdC5jYXNoUmVnaXN0ZXJEcmF3ZXJJZCA9IG51bGw7XHJcbiAgICAgIHRoaXMuX3BheW1lbnRTZXJ2aWNlLmRvUGF5bWVudChyZXF1ZXN0KS50aGVuKGFzeW5jICgpID0+IHtcclxuICAgICAgICB0aGlzLnNob3dLZXlQYWQgPSBmYWxzZTtcclxuICAgICAgICBhd2FpdCB0aGlzLl9nZXREZXBvc2l0UGF5bWVudEluZm8odHJ1ZSk7XHJcbiAgICAgICAgdGhpcy5faGFuZGxlUGF5bWVudChmYWxzZSk7XHJcbiAgICAgICAgaWYgKHRoaXMuYW1vdW50VG9QYXkgPT09IDApIHtcclxuICAgICAgICAgIHRoaXMuX2hhbmRsZVBheW1lbnQoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUtleVBhZE1vZGVsQ2hhbmdlKG1vZGVsOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuYW1vdW50VG9QYXkgPSBtb2RlbDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX2dldERlcG9zaXRQYXltZW50SW5mbyhmb3JjZTogYm9vbGVhbiA9IGZhbHNlKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAodGhpcy51cGRhdGVEZXBvc2l0QW1vdW50IHx8IGZvcmNlKSB7XHJcbiAgICAgIGNvbnN0IGluZm86IFRyYW5zYWN0aW9uRGVwb3NpdFBheW1lbnRJbmZvID0gYXdhaXQgdGhpcy5fcGF5bWVudFNlcnZpY2UuZ2V0RGVwb3NpdFBheW1lbnRJbmZvKHRoaXMudHJhbnNhY3Rpb25VdWlkKTtcclxuICAgICAgaWYgKGluZm8pIHtcclxuICAgICAgICB0aGlzLmFtb3VudFRvUGF5ID0gaW5mby5kZXBvc2l0UmVtYWluZGVyQW1vdW50O1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmFtb3VudFRvUGF5ID0gdGhpcy5fYW1vdW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZGF0YVVyaVRvQmFzZTY0KHVyaTogc3RyaW5nLCBtaW1lVHlwZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB1cmkgPyBcImRhdGE6XCIgKyBtaW1lVHlwZSArIFwiO2Jhc2U2NCxcIiArIHVyaSA6IFwiXCI7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF93YWl0Rm9yUGF5bWVudFN0YXR1cygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLl9wYXltZW50UmVzdWx0ICYmIHRoaXMuX3BheW1lbnRSZXN1bHQucGF5bWVudExpbmtVVUlEKSB7XHJcbiAgICAgIHRoaXMuX3BheW1lbnRTdGF0dXNJbnRlcnZhbCA9IHNldEludGVydmFsKGFzeW5jICgpID0+IHtcclxuICAgICAgICBpZiAodGhpcy5fcGF5bWVudFN0YXR1c1BvbGxJbnRlcnZhbENvdW50ID49IHRoaXMuX3BheW1lbnRTdGF0dXNNYXhQb2xsSW50ZXJ2YWwpIHtcclxuICAgICAgICAgIHRoaXMuX2NsZWFySW50ZXJ2YWwoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgY29uc3Qgc3RhdHVzOiBQYXltZW50TGlua1N0YXR1cyA9IGF3YWl0IHRoaXMuX3BheW1lbnRTZXJ2aWNlLmdldFBheW1lbnRMaW5rU3RhdHVzKHRoaXMuX3BheW1lbnRSZXN1bHQucGF5bWVudExpbmtVVUlEKTtcclxuICAgICAgICAgIGlmIChzdGF0dXMucGF5ZWREYXRlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2NsZWFySW50ZXJ2YWwoKTtcclxuICAgICAgICAgICAgdGhpcy5zaG93UHNwUXJDb2RlID0gZmFsc2U7XHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuX2dldERlcG9zaXRQYXltZW50SW5mbygpO1xyXG4gICAgICAgICAgICBpZiAodGhpcy5hbW91bnRUb1BheSA9PT0gMCkge1xyXG4gICAgICAgICAgICAgIHRoaXMuX2hhbmRsZVBheW1lbnQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5fcGF5bWVudFN0YXR1c1BvbGxJbnRlcnZhbENvdW50Kys7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LCB0aGlzLl9wYXltZW50U3RhdHVzUG9sbEludGVydmFsTXMpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5fY2xlYXJJbnRlcnZhbCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfd2FpdEZvclBpblBheW1lbnRTdGF0dXMocHNwVHJhbnNhY3Rpb25VdWlkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGlmIChwc3BUcmFuc2FjdGlvblV1aWQpIHtcclxuICAgICAgdGhpcy5fcGF5bWVudFN0YXR1c0ludGVydmFsID0gc2V0SW50ZXJ2YWwoYXN5bmMgKCkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLl9wYXltZW50U3RhdHVzUG9sbEludGVydmFsQ291bnQgPj0gdGhpcy5fcGF5bWVudFN0YXR1c01heFBvbGxJbnRlcnZhbCkge1xyXG4gICAgICAgICAgdGhpcy5fY2xlYXJJbnRlcnZhbCgpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb25zdCBwaW5TdGF0dXM6IFBzcFRyYW5zYWN0aW9uU3RhdHVzID0gYXdhaXQgdGhpcy5fcGF5bWVudFNlcnZpY2UuZ2V0UHNwVHJhbnNhY3Rpb25TdGF0dXMocHNwVHJhbnNhY3Rpb25VdWlkKTtcclxuICAgICAgICAgIGlmIChwaW5TdGF0dXMgJiYgcGluU3RhdHVzLnN0YXR1cykge1xyXG4gICAgICAgICAgICB0aGlzLnN0YXR1c01lc3NhZ2UgPSBwaW5TdGF0dXMuc3RhdHVzLmRlc2NyaXB0aW9uO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKHBpblN0YXR1cy5zdGF0dXNEYXRlICYmIHBpblN0YXR1cy5zdGF0dXMgJiYgcGluU3RhdHVzLnN0YXR1cy5lbmRTdGF0dXMpIHtcclxuICAgICAgICAgICAgdGhpcy5fY2xlYXJJbnRlcnZhbCgpO1xyXG4gICAgICAgICAgICBpZiAocGluU3RhdHVzLnN0YXR1cy5jb2RlID09PSBJb25lUGF5bWVudFN0YXR1c0NvZGUuUEFJRCkge1xyXG4gICAgICAgICAgICAgIGF3YWl0IHRoaXMuX2dldERlcG9zaXRQYXltZW50SW5mbygpO1xyXG4gICAgICAgICAgICAgIGlmICh0aGlzLmFtb3VudFRvUGF5ID09PSAwKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9oYW5kbGVQYXltZW50KCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLl9wYXltZW50U3RhdHVzUG9sbEludGVydmFsQ291bnQrKztcclxuICAgICAgICB9XHJcbiAgICAgIH0sIHRoaXMuX3BheW1lbnRTdGF0dXNQb2xsSW50ZXJ2YWxNcyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9jbGVhckludGVydmFsKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9jbGVhckludGVydmFsKCk6IHZvaWQge1xyXG4gICAgY2xlYXJJbnRlcnZhbCh0aGlzLl9wYXltZW50U3RhdHVzSW50ZXJ2YWwpO1xyXG4gICAgdGhpcy5fcGF5bWVudFN0YXR1c0ludGVydmFsID0gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICpcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgX3ByZXBhcmVDYXNoUmVnaXN0ZXJzKCk6IHZvaWQge1xyXG4gICAgY29uc3QgcGF5bWVudE1ldGhvZDogUGF5bWVudE1ldGhvZCA9IHRoaXMucGF5bWVudE1ldGhvZHNbdGhpcy5wYXltZW50TWV0aG9kSWR4XS5wYXltZW50O1xyXG4gICAgaWYgKHBheW1lbnRNZXRob2QgJiYgKCFwYXltZW50TWV0aG9kLmV4dGVybmFsU291cmNlSWQgfHwgcGF5bWVudE1ldGhvZC5waW5UZXJtaW5hbCkpIHtcclxuICAgICAgdGhpcy5jYXNoUmVnaXN0ZXJzLmxlbmd0aCA9IDA7XHJcbiAgICAgIHBheW1lbnRNZXRob2QucG9zR3JvdXBzLmZvckVhY2goY3JnID0+IHtcclxuICAgICAgICB0aGlzLl9nZXRDYXNoUmVnaXN0ZXJzKHRoaXMuYnJhbmNoLCBjcmcuaWQpO1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5zaG93Q2FzaFJlZ2lzdGVycyA9IHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNob3dDYXNoUmVnaXN0ZXJzID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9nZXRDYXNoUmVnaXN0ZXJzKGJyYW5jaD86IHN0cmluZywgZ3JvdXA/OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuX3RyYW5zYWN0aW9uU2VydmljZS5nZXRDYXNoUmVnaXN0ZXJzKGJyYW5jaCwgZ3JvdXApLnRoZW4oKGNhc2hSZWdpc3RlcnM6IENhc2hSZWdpc3RlcltdKSA9PiB7XHJcbiAgICAgIHRoaXMuY2FzaFJlZ2lzdGVycy5wdXNoKC4uLmNhc2hSZWdpc3RlcnMpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9nZXRQYXltZW50TWV0aG9kcygpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24pID0+IHtcclxuICAgICAgdGhpcy5wYXltZW50TWV0aG9kcy5sZW5ndGggPSAwO1xyXG4gICAgICB0aGlzLl9wYXltZW50U2VydmljZS5nZXRQYXltZW50TWV0aG9kc1ZpZXdNb2RlbHModGhpcy5icmFuY2gpLnRoZW4oKG1ldGhvZHM6IFBheW1lbnRWaWV3bW9kZWxbXSkgPT4ge1xyXG4gICAgICAgIHRoaXMucGF5bWVudE1ldGhvZHMgPSBtZXRob2RzLnNsaWNlKCk7XHJcbiAgICAgICAgcmVzb2x2ZSgpO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaGFuZGxlUGF5bWVudChlbWl0UGF5ZWQ6IGJvb2xlYW4gPSB0cnVlKTogdm9pZCB7XHJcbiAgICB0aGlzLl90cmFuc2FjdGlvbkV2ZW50U2VydmljZS50cmFuc2FjdGlvblBheW1lbnREb25lLm5leHQoKTtcclxuICAgIGlmIChlbWl0UGF5ZWQpIHtcclxuICAgICAgdGhpcy5wYXllZC5lbWl0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
303
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC9wYXltZW50L3BheW1lbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEgsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBRXJFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFPM0QsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sbUVBQW1FLENBQUM7QUFFeEcsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seURBQXlELENBQUM7QUFnRXpGLE1BQU0sT0FBTyxnQkFBZ0I7SUFzRDNCLFlBQ1ksbUJBQXVDLEVBQ3ZDLGNBQTZCLEVBQzdCLGVBQStCLEVBQy9CLHdCQUFpRDtRQUhqRCx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQW9CO1FBQ3ZDLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBQzdCLG9CQUFlLEdBQWYsZUFBZSxDQUFnQjtRQUMvQiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQXlCO1FBekQ3QyxVQUFLLEdBQWdCLElBQUksQ0FBQztRQXdCbkMsVUFBSyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBT3JELHFCQUFnQixHQUFXLENBQUMsQ0FBQztRQUM3QixvQkFBZSxHQUFXLENBQUMs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QVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsWUFBWTtnQkFDdEIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5RFQ7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQTVFTyxrQkFBa0I7WUFHbEIsYUFBYTtZQURiLGNBQWM7WUFVZCx1QkFBdUI7OztzQkFvRTVCLEtBQUs7OEJBR0wsS0FBSztxQkFHTCxLQUFLO3FCQUdMLEtBQUs7eUJBU0wsS0FBSztvQkFHTCxNQUFNO3dCQUdOLFdBQVcsU0FBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtJY29ufSBmcm9tICcuLi8uLi9lbnVtL2ljb24uZW51bSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge0Nhc2hSZWdpc3Rlcn0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2Nhc2gtcmVnaXN0ZXInO1xyXG5pbXBvcnQge1BheW1lbnRTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3BheW1lbnQuc2VydmljZSc7XHJcbmltcG9ydCB7U2hhcmVkU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9zaGFyZWQuc2VydmljZSc7XHJcbmltcG9ydCB7UGF5bWVudE1ldGhvZH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BheW1lbnQtbWV0aG9kLmJvJztcclxuaW1wb3J0IHtQYXltZW50Vmlld21vZGVsfSBmcm9tICcuLi8uLi9tb2RlbC9wYXltZW50LnZpZXdtb2RlbCc7XHJcbmltcG9ydCB7UGF5bWVudExpbmtTdGF0dXN9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wYXltZW50LWxpbmstc3RhdHVzLmJvJztcclxuaW1wb3J0IHtDcmVhdGVQYXltZW50TGlua1Jlc3VsdH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2NyZWF0ZS1wYXltZW50LWxpbmstcmVzdWx0LmJvJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkRlcG9zaXRQYXltZW50SW5mb30gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLWRlcG9zaXQtcGF5bWVudC1pbmZvLmJvJztcclxuaW1wb3J0IHtQc3BUcmFuc2FjdGlvblN0YXR1c30gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BzcC10cmFuc2FjdGlvbi1zdGF0dXMuYm8nO1xyXG5pbXBvcnQge0lvbmVQYXltZW50U3RhdHVzQ29kZX0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL2VudW0vaW9uZS1wYXltZW50LXN0YXR1cy1jb2RlLmVudW0nO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25FdmVudFNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tZXZlbnQuc2VydmljZSc7XHJcbmltcG9ydCB7RG9QYXltZW50UmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2RvLXBheW1lbnQtcmVxdWVzdCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby1wYXltZW50XCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJwYXltZW50LXdyYXBwZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInBheW1lbnQtbWV0aG9kcy1oZWFkZXJcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInBheW1lbnQtaGVhZGVyLXRpdGxlXCIgW3RleHRDb250ZW50XT1cIidTRUxFQ1RfQScgfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInBheW1lbnQtaGVhZGVyLXRpdGxlIGV4dHJhXCIgW3RleHRDb250ZW50XT1cIidGUkVFJyB8IGxvY2FsaXplOmZhbHNlXCI+PC9zcGFuPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwicGF5bWVudC1oZWFkZXItdGl0bGVcIiBbdGV4dENvbnRlbnRdPVwiJ1BBWU1FTlRfTUVUSE9EJyB8IGxvY2FsaXplOmZhbHNlXCI+PC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInBheW1lbnQtbWV0aG9kc1wiPlxyXG4gICAgICAgIDxjby1sb2FkZXIgY2xhc3M9XCJsb2FkZXJcIiAqbmdJZj1cInNob3dMb2FkZXJcIj48L2NvLWxvYWRlcj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXNob3dMb2FkZXJcIj5cclxuICAgICAgICAgIDxjby1wYXltZW50LXRpbGUgKm5nRm9yPVwibGV0IHBheW1lbnRNZXRob2Qgb2YgcGF5bWVudE1ldGhvZHM7IGxldCBpbmRleCA9IGluZGV4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ltYWdlXT1cInBheW1lbnRNZXRob2QuaW1hZ2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVzY3JpcHRpb25dPVwicGF5bWVudE1ldGhvZC5wYXltZW50LmRlc2NyaXB0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkXT1cInBheW1lbnRNZXRob2RJZHggPT09IGluZGV4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNlbGVjdGVkQ2hhbmdlKT1cInBheW1lbnRNZXRob2RTZWxlY3RlZChwYXltZW50TWV0aG9kLnBheW1lbnQsIGluZGV4KVwiXHJcbiAgICAgICAgICA+PC9jby1wYXltZW50LXRpbGU+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicGF5bWVudC1jYXNoLXJlZ2lzdGVyLXdyYXBwZXJcIiAqbmdJZj1cInNob3dDYXNoUmVnaXN0ZXJzXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInBheW1lbnQtY2FzaC1yZWdpc3Rlci1oZWFkZXJcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwicGF5bWVudC1oZWFkZXItdGl0bGVcIiBbdGV4dENvbnRlbnRdPVwiJ1NFTEVDVF9DQVNIX1JFR0lTVEVSJyB8IGxvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwYXltZW50LW1ldGhvZHNcIj5cclxuICAgICAgICAgIDxjby1wYXltZW50LXRpbGUgKm5nRm9yPVwibGV0IGNhc2hSZWdpc3RlciBvZiBjYXNoUmVnaXN0ZXJzOyBsZXQgaW5kZXggPSBpbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uXT1cImNhc2hSZWdpc3Rlci5pY29uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rlc2NyaXB0aW9uXT1cImNhc2hSZWdpc3Rlci5kZXNjcmlwdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZF09XCJjYXNoUmVnaXN0ZXJJZHggPT09IGluZGV4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNlbGVjdGVkQ2hhbmdlKT1cImNhc2hSZWdpc3RlclNlbGVjdGVkKGNhc2hSZWdpc3RlciwgaW5kZXgpXCJcclxuICAgICAgICAgID48L2NvLXBheW1lbnQtdGlsZT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJwYXltZW50LXRvLXBheS13cmFwcGVyXCI+XHJcbiAgICAgICAgPGNvLXBheW1lbnQtdG8tcGF5IFthbW91bnRUb1BheV09XCJhbW91bnRUb1BheVwiPjwvY28tcGF5bWVudC10by1wYXk+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInBheW1lbnQtZGVwb3NpdFwiPlxyXG4gICAgICAgICAgPGNvLWRlcG9zaXQtcGF5bWVudCBbYnJhbmNoXT1cImJyYW5jaFwiIFt0cmFuc2FjdGlvblV1aWRdPVwidHJhbnNhY3Rpb25VdWlkXCI+PC9jby1kZXBvc2l0LXBheW1lbnQ+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInBheW1lbnQtdG8tcGF5LWJ1dHRvblwiPlxyXG4gICAgICAgICAgPCEtLVxyXG4gICAgICAgICAgICAgICAgICAgIDxjby1sb2FkZXIgKm5nSWY9XCJzdGF0dXNNZXNzYWdlXCI+PC9jby1sb2FkZXI+XHJcbiAgICAgICAgICAtLT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYXltZW50LWVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cInN0YXR1c01lc3NhZ2VcIiBbdGV4dENvbnRlbnRdPVwic3RhdHVzTWVzc2FnZVwiPjwvZGl2PlxyXG4gICAgICAgICAgPGNvLWJ1dHRvbiBbbGFiZWxdPVwiJ1BBWScgfCBsb2NhbGl6ZVwiIChjbGljayk9XCJoYW5kbGVQYXltZW50KClcIiBbZGlzYWJsZWRdPVwiYW1vdW50VG9QYXkgPT09IDBcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8Y28ta2V5LXBhZCBjbGFzcz1cInBheW1lbnQtdG8tcGF5LWtleXBhZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3Nob3dWYWx1ZV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2VtaXRNb2RlbENoYW5nZU9uRW50ZXJdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgIFttb2RlbF09XCJhbW91bnRUb1BheVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImhhbmRsZUtleVBhZE1vZGVsQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIChlbnRlckNsaWNrKT1cImhhbmRsZVBheW1lbnQoKVwiXHJcbiAgICAgICAgPjwvY28ta2V5LXBhZD5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxjby1kaWFsb2cgKm5nSWY9XCJzaG93UHNwUXJDb2RlXCIgKGNsb3NlQ2xpY2spPVwic2hvd1BzcFFyQ29kZSA9IGZhbHNlXCI+XHJcbiAgICAgIDxjby1wYXltZW50LXFyLWNvZGVcclxuICAgICAgICAgIFtxckNvZGVJbWFnZV09XCJxckNvZGVJbWFnZVwiXHJcbiAgICAgID48L2NvLXBheW1lbnQtcXItY29kZT5cclxuICAgIDwvY28tZGlhbG9nPlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGF5bWVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdHJhbnNJZDogbnVtYmVyO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB0cmFuc2FjdGlvblV1aWQ6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYnJhbmNoOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBhbW91bnQodmFsdWU6IG51bWJlcikge1xyXG4gICAgdGhpcy5fYW1vdW50ID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGFtb3VudCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX2Ftb3VudDtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGN1cnJlbmN5SWQ6IG51bWJlcjtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHBheWVkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLXBheW1lbnRcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcGF5bWVudE1ldGhvZElkeDogbnVtYmVyID0gMDtcclxuICBwdWJsaWMgY2FzaFJlZ2lzdGVySWR4OiBudW1iZXIgPSAwO1xyXG4gIHB1YmxpYyBwYXltZW50TWV0aG9kczogUGF5bWVudFZpZXdtb2RlbFtdID0gW107XHJcbiAgcHVibGljIGNhc2hSZWdpc3RlcnM6IGFueVtdID0gW107XHJcbiAgcHVibGljIHNob3dDYXNoUmVnaXN0ZXJzOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dLZXlQYWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2hvd1BzcFFyQ29kZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBjdXJyZW50UGF5bWVudE1ldGhvZDogUGF5bWVudE1ldGhvZDtcclxuICBwdWJsaWMgcXJDb2RlSW1hZ2U6IHN0cmluZztcclxuICBwdWJsaWMgc2hvd0xvYWRlcjogYm9vbGVhbiA9IHRydWU7XHJcbiAgcHVibGljIGFtb3VudFRvUGF5OiBudW1iZXIgPSAwO1xyXG5cclxuICBwdWJsaWMgc3RhdHVzTWVzc2FnZTogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgcHJpdmF0ZSBfYW1vdW50OiBudW1iZXIgPSAwO1xyXG4gIHByaXZhdGUgX3BheW1lbnRTdGF0dXNJbnRlcnZhbDogYW55O1xyXG4gIHByaXZhdGUgX3BheW1lbnRTdGF0dXNQb2xsSW50ZXJ2YWxNczogbnVtYmVyID0gNTAwMDtcclxuICBwcml2YXRlIF9wYXltZW50U3RhdHVzTWF4UG9sbEludGVydmFsOiBudW1iZXIgPSAxMDtcclxuICBwcml2YXRlIF9wYXltZW50U3RhdHVzUG9sbEludGVydmFsQ291bnQ6IG51bWJlciA9IDA7XHJcbiAgcHJpdmF0ZSBfcGF5bWVudFJlc3VsdDogQ3JlYXRlUGF5bWVudExpbmtSZXN1bHQ7XHJcbiAgcHJpdmF0ZSBfc3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICAgIHByaXZhdGUgX3RyYW5zYWN0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gICAgICBwcml2YXRlIF9zaGFyZWRTZXJ2aWNlOiBTaGFyZWRTZXJ2aWNlLFxyXG4gICAgICBwcml2YXRlIF9wYXltZW50U2VydmljZTogUGF5bWVudFNlcnZpY2UsXHJcbiAgICAgIHByaXZhdGUgX3RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlOiBUcmFuc2FjdGlvbkV2ZW50U2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAvLyBpZiAodGhpcy51cGRhdGVEZXBvc2l0QW1vdW50KSB7XHJcbiAgICAvLyAgIGF3YWl0IHRoaXMuX3RyYW5zYWN0aW9uU2VydmljZS51cGRhdGVIZWFkZXJUcmFuc2FjdGlvbkRlcG9zaXRBbW91bnQodGhpcy50cmFuc2FjdGlvblV1aWQsIHRoaXMuYW1vdW50VG9QYXksIHRydWUpO1xyXG4gICAgLy8gfVxyXG4gICAgdGhpcy5fZ2V0UGF5bWVudE1ldGhvZHMoKS50aGVuKCgpID0+IHtcclxuICAgICAgdGhpcy5zaG93TG9hZGVyID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuX2dldERlcG9zaXRQYXltZW50SW5mbygpO1xyXG4gICAgICB0aGlzLl9wcmVwYXJlQ2FzaFJlZ2lzdGVycygpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3N1YnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XHJcbiAgICB0aGlzLl9jbGVhckludGVydmFsKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcGF5bWVudE1ldGhvZFNlbGVjdGVkKG1ldGhvZDogUGF5bWVudE1ldGhvZCwgaW5kZXg6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5wYXltZW50TWV0aG9kSWR4ID0gaW5kZXg7XHJcbiAgICB0aGlzLl9wcmVwYXJlQ2FzaFJlZ2lzdGVycygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNhc2hSZWdpc3RlclNlbGVjdGVkKGNhc2hSZWdpc3RlcjogQ2FzaFJlZ2lzdGVyLCBpbmRleDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLmNhc2hSZWdpc3RlcklkeCA9IGluZGV4O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVBheW1lbnQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnN0YXR1c01lc3NhZ2UgPSBcIlwiO1xyXG4gICAgY29uc3QgY3VycmVudFBheW1lbnRWaWV3TW9kZWwgPSB0aGlzLnBheW1lbnRNZXRob2RzW3RoaXMucGF5bWVudE1ldGhvZElkeF07XHJcbiAgICB0aGlzLmN1cnJlbnRQYXltZW50TWV0aG9kID0gY3VycmVudFBheW1lbnRWaWV3TW9kZWwucGF5bWVudDtcclxuICAgIGlmICh0aGlzLmN1cnJlbnRQYXltZW50TWV0aG9kICYmIHRoaXMuY3VycmVudFBheW1lbnRNZXRob2QuZXh0ZXJuYWxTb3VyY2VJZCkgeyAvLyBwc3AgcGF5bWVudFxyXG4gICAgICBpZiAodGhpcy5jdXJyZW50UGF5bWVudE1ldGhvZC5waW5UZXJtaW5hbCkge1xyXG4gICAgICAgIGNvbnN0IGNhc2hSZWdpc3RlcjogQ2FzaFJlZ2lzdGVyID0gdGhpcy5jYXNoUmVnaXN0ZXJzW3RoaXMuY2FzaFJlZ2lzdGVySWR4XTtcclxuICAgICAgICB0aGlzLl9wYXltZW50U2VydmljZS5kb1BpblBheW1lbnQodGhpcy50cmFuc0lkLCB0aGlzLmN1cnJlbnRQYXltZW50TWV0aG9kLmNvZGUsIGNhc2hSZWdpc3Rlci5uciwgY2FzaFJlZ2lzdGVyLmdyb3VwLCB0aGlzLmFtb3VudFRvUGF5KS50aGVuKChwc3BUcmFuc2FjdGlvblV1aWQ6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgaWYgKHBzcFRyYW5zYWN0aW9uVXVpZCkge1xyXG4gICAgICAgICAgICB0aGlzLl9wYXltZW50U3RhdHVzUG9sbEludGVydmFsQ291bnQgPSAwO1xyXG4gICAgICAgICAgICB0aGlzLl93YWl0Rm9yUGluUGF5bWVudFN0YXR1cyhwc3BUcmFuc2FjdGlvblV1aWQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuX3BheW1lbnRTZXJ2aWNlLmNyZWF0ZUlvbmVQYXltZW50TGlua0FuZFFSQ29kZSh0aGlzLnRyYW5zYWN0aW9uVXVpZCwgdGhpcy5hbW91bnRUb1BheSwgdGhpcy5jdXJyZW50UGF5bWVudE1ldGhvZC5jb2RlKS50aGVuKChyZXNwb25zZTogQ3JlYXRlUGF5bWVudExpbmtSZXN1bHQpID0+IHtcclxuICAgICAgICAgIHRoaXMuX3BheW1lbnRSZXN1bHQgPSByZXNwb25zZTtcclxuICAgICAgICAgIGlmICh0aGlzLl9wYXltZW50UmVzdWx0ICYmIHRoaXMuX3BheW1lbnRSZXN1bHQuaW1hZ2VCYXNlNjQpIHtcclxuICAgICAgICAgICAgdGhpcy5xckNvZGVJbWFnZSA9IHRoaXMuX2RhdGFVcmlUb0Jhc2U2NCh0aGlzLl9wYXltZW50UmVzdWx0LmltYWdlQmFzZTY0LCAnaW1hZ2UvcG5nJyk7XHJcbiAgICAgICAgICAgIHRoaXMuc2hvd1BzcFFyQ29kZSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuX3BheW1lbnRTdGF0dXNQb2xsSW50ZXJ2YWxDb3VudCA9IDA7XHJcbiAgICAgICAgICAgIHRoaXMuX3dhaXRGb3JQYXltZW50U3RhdHVzKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGN1cnJlbnRDYXNoUmVnaXN0ZXI6IENhc2hSZWdpc3RlciA9IHRoaXMuY2FzaFJlZ2lzdGVyc1t0aGlzLmNhc2hSZWdpc3RlcklkeF07XHJcbiAgICAgIGNvbnN0IHJlcXVlc3Q6IERvUGF5bWVudFJlcXVlc3QgPSBuZXcgRG9QYXltZW50UmVxdWVzdCgpO1xyXG4gICAgICByZXF1ZXN0LnRyYW5zSWQgPSB0aGlzLnRyYW5zSWQ7XHJcbiAgICAgIHJlcXVlc3QucGF5bWVudE1ldGhvZENvZGUgPSB0aGlzLmN1cnJlbnRQYXltZW50TWV0aG9kLmNvZGU7XHJcbiAgICAgIHJlcXVlc3QuYW1vdW50ID0gdGhpcy5hbW91bnRUb1BheTtcclxuICAgICAgcmVxdWVzdC5jdXJyZW5jeUlkID0gdGhpcy5jdXJyZW5jeUlkO1xyXG4gICAgICByZXF1ZXN0LmNhc2hSZWdpc3Rlck5yID0gY3VycmVudENhc2hSZWdpc3Rlci5ucjtcclxuICAgICAgcmVxdWVzdC5jYXNoUmVnaXN0ZXJHcm91cElkID0gY3VycmVudENhc2hSZWdpc3Rlci5ncm91cDtcclxuICAgICAgcmVxdWVzdC5jYXNoUmVnaXN0ZXJEcmF3ZXJJZCA9IG51bGw7XHJcbiAgICAgIHRoaXMuX3BheW1lbnRTZXJ2aWNlLmRvUGF5bWVudChyZXF1ZXN0KS50aGVuKGFzeW5jICgpID0+IHtcclxuICAgICAgICB0aGlzLnNob3dLZXlQYWQgPSBmYWxzZTtcclxuICAgICAgICBhd2FpdCB0aGlzLl9nZXREZXBvc2l0UGF5bWVudEluZm8oKTtcclxuICAgICAgICB0aGlzLl9oYW5kbGVQYXltZW50KGZhbHNlKTtcclxuICAgICAgICBpZiAodGhpcy5hbW91bnRUb1BheSA9PT0gMCkge1xyXG4gICAgICAgICAgdGhpcy5faGFuZGxlUGF5bWVudCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlS2V5UGFkTW9kZWxDaGFuZ2UobW9kZWw6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5hbW91bnRUb1BheSA9IG1vZGVsO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfZ2V0RGVwb3NpdFBheW1lbnRJbmZvKGZvcmNlOiBib29sZWFuID0gZmFsc2UpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIC8vIGlmICh0aGlzLnVwZGF0ZURlcG9zaXRBbW91bnQgfHwgZm9yY2UpIHtcclxuICAgICAgY29uc3QgaW5mbzogVHJhbnNhY3Rpb25EZXBvc2l0UGF5bWVudEluZm8gPSBhd2FpdCB0aGlzLl9wYXltZW50U2VydmljZS5nZXREZXBvc2l0UGF5bWVudEluZm8odGhpcy50cmFuc2FjdGlvblV1aWQpO1xyXG4gICAgICBpZiAoaW5mbykge1xyXG4gICAgICAgIHRoaXMuYW1vdW50VG9QYXkgPSBpbmZvLmRlcG9zaXRSZW1haW5kZXJBbW91bnQ7XHJcbiAgICAgIH1cclxuICAgIC8vIH0gZWxzZSB7XHJcbiAgICAvLyAgIHRoaXMuYW1vdW50VG9QYXkgPSB0aGlzLl9hbW91bnQ7XHJcbiAgICAvLyB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9kYXRhVXJpVG9CYXNlNjQodXJpOiBzdHJpbmcsIG1pbWVUeXBlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHVyaSA/IFwiZGF0YTpcIiArIG1pbWVUeXBlICsgXCI7YmFzZTY0LFwiICsgdXJpIDogXCJcIjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3dhaXRGb3JQYXltZW50U3RhdHVzKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuX3BheW1lbnRSZXN1bHQgJiYgdGhpcy5fcGF5bWVudFJlc3VsdC5wYXltZW50TGlua1VVSUQpIHtcclxuICAgICAgdGhpcy5fcGF5bWVudFN0YXR1c0ludGVydmFsID0gc2V0SW50ZXJ2YWwoYXN5bmMgKCkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLl9wYXltZW50U3RhdHVzUG9sbEludGVydmFsQ291bnQgPj0gdGhpcy5fcGF5bWVudFN0YXR1c01heFBvbGxJbnRlcnZhbCkge1xyXG4gICAgICAgICAgdGhpcy5fY2xlYXJJbnRlcnZhbCgpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb25zdCBzdGF0dXM6IFBheW1lbnRMaW5rU3RhdHVzID0gYXdhaXQgdGhpcy5fcGF5bWVudFNlcnZpY2UuZ2V0UGF5bWVudExpbmtTdGF0dXModGhpcy5fcGF5bWVudFJlc3VsdC5wYXltZW50TGlua1VVSUQpO1xyXG4gICAgICAgICAgaWYgKHN0YXR1cy5wYXllZERhdGUpIHtcclxuICAgICAgICAgICAgdGhpcy5fY2xlYXJJbnRlcnZhbCgpO1xyXG4gICAgICAgICAgICB0aGlzLnNob3dQc3BRckNvZGUgPSBmYWxzZTtcclxuICAgICAgICAgICAgYXdhaXQgdGhpcy5fZ2V0RGVwb3NpdFBheW1lbnRJbmZvKCk7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmFtb3VudFRvUGF5ID09PSAwKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5faGFuZGxlUGF5bWVudCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLl9wYXltZW50U3RhdHVzUG9sbEludGVydmFsQ291bnQrKztcclxuICAgICAgICB9XHJcbiAgICAgIH0sIHRoaXMuX3BheW1lbnRTdGF0dXNQb2xsSW50ZXJ2YWxNcyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9jbGVhckludGVydmFsKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF93YWl0Rm9yUGluUGF5bWVudFN0YXR1cyhwc3BUcmFuc2FjdGlvblV1aWQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKHBzcFRyYW5zYWN0aW9uVXVpZCkge1xyXG4gICAgICB0aGlzLl9wYXltZW50U3RhdHVzSW50ZXJ2YWwgPSBzZXRJbnRlcnZhbChhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMuX3BheW1lbnRTdGF0dXNQb2xsSW50ZXJ2YWxDb3VudCA+PSB0aGlzLl9wYXltZW50U3RhdHVzTWF4UG9sbEludGVydmFsKSB7XHJcbiAgICAgICAgICB0aGlzLl9jbGVhckludGVydmFsKCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGNvbnN0IHBpblN0YXR1czogUHNwVHJhbnNhY3Rpb25TdGF0dXMgPSBhd2FpdCB0aGlzLl9wYXltZW50U2VydmljZS5nZXRQc3BUcmFuc2FjdGlvblN0YXR1cyhwc3BUcmFuc2FjdGlvblV1aWQpO1xyXG4gICAgICAgICAgaWYgKHBpblN0YXR1cyAmJiBwaW5TdGF0dXMuc3RhdHVzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3RhdHVzTWVzc2FnZSA9IHBpblN0YXR1cy5zdGF0dXMuZGVzY3JpcHRpb247XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAocGluU3RhdHVzLnN0YXR1c0RhdGUgJiYgcGluU3RhdHVzLnN0YXR1cyAmJiBwaW5TdGF0dXMuc3RhdHVzLmVuZFN0YXR1cykge1xyXG4gICAgICAgICAgICB0aGlzLl9jbGVhckludGVydmFsKCk7XHJcbiAgICAgICAgICAgIGlmIChwaW5TdGF0dXMuc3RhdHVzLmNvZGUgPT09IElvbmVQYXltZW50U3RhdHVzQ29kZS5QQUlEKSB7XHJcbiAgICAgICAgICAgICAgYXdhaXQgdGhpcy5fZ2V0RGVwb3NpdFBheW1lbnRJbmZvKCk7XHJcbiAgICAgICAgICAgICAgaWYgKHRoaXMuYW1vdW50VG9QYXkgPT09IDApIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2hhbmRsZVBheW1lbnQoKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuX3BheW1lbnRTdGF0dXNQb2xsSW50ZXJ2YWxDb3VudCsrO1xyXG4gICAgICAgIH1cclxuICAgICAgfSwgdGhpcy5fcGF5bWVudFN0YXR1c1BvbGxJbnRlcnZhbE1zKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2NsZWFySW50ZXJ2YWwoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2NsZWFySW50ZXJ2YWwoKTogdm9pZCB7XHJcbiAgICBjbGVhckludGVydmFsKHRoaXMuX3BheW1lbnRTdGF0dXNJbnRlcnZhbCk7XHJcbiAgICB0aGlzLl9wYXltZW50U3RhdHVzSW50ZXJ2YWwgPSB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKlxyXG4gICAqIEBwcml2YXRlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfcHJlcGFyZUNhc2hSZWdpc3RlcnMoKTogdm9pZCB7XHJcbiAgICBjb25zdCBwYXltZW50TWV0aG9kOiBQYXltZW50TWV0aG9kID0gdGhpcy5wYXltZW50TWV0aG9kc1t0aGlzLnBheW1lbnRNZXRob2RJZHhdLnBheW1lbnQ7XHJcbiAgICBpZiAocGF5bWVudE1ldGhvZCAmJiAoIXBheW1lbnRNZXRob2QuZXh0ZXJuYWxTb3VyY2VJZCB8fCBwYXltZW50TWV0aG9kLnBpblRlcm1pbmFsKSkge1xyXG4gICAgICB0aGlzLmNhc2hSZWdpc3RlcnMubGVuZ3RoID0gMDtcclxuICAgICAgcGF5bWVudE1ldGhvZC5wb3NHcm91cHMuZm9yRWFjaChjcmcgPT4ge1xyXG4gICAgICAgIHRoaXMuX2dldENhc2hSZWdpc3RlcnModGhpcy5icmFuY2gsIGNyZy5pZCk7XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLnNob3dDYXNoUmVnaXN0ZXJzID0gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2hvd0Nhc2hSZWdpc3RlcnMgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldENhc2hSZWdpc3RlcnMoYnJhbmNoPzogc3RyaW5nLCBncm91cD86IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5fdHJhbnNhY3Rpb25TZXJ2aWNlLmdldENhc2hSZWdpc3RlcnMoYnJhbmNoLCBncm91cCkudGhlbigoY2FzaFJlZ2lzdGVyczogQ2FzaFJlZ2lzdGVyW10pID0+IHtcclxuICAgICAgdGhpcy5jYXNoUmVnaXN0ZXJzLnB1c2goLi4uY2FzaFJlZ2lzdGVycyk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldFBheW1lbnRNZXRob2RzKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICB0aGlzLnBheW1lbnRNZXRob2RzLmxlbmd0aCA9IDA7XHJcbiAgICAgIHRoaXMuX3BheW1lbnRTZXJ2aWNlLmdldFBheW1lbnRNZXRob2RzVmlld01vZGVscyh0aGlzLmJyYW5jaCkudGhlbigobWV0aG9kczogUGF5bWVudFZpZXdtb2RlbFtdKSA9PiB7XHJcbiAgICAgICAgdGhpcy5wYXltZW50TWV0aG9kcyA9IG1ldGhvZHMuc2xpY2UoKTtcclxuICAgICAgICByZXNvbHZlKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9oYW5kbGVQYXltZW50KGVtaXRQYXllZDogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcclxuICAgIHRoaXMuX3RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLnRyYW5zYWN0aW9uUGF5bWVudERvbmUubmV4dCgpO1xyXG4gICAgaWYgKGVtaXRQYXllZCkge1xyXG4gICAgICB0aGlzLnBheWVkLmVtaXQoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|