@ksremp/ngx-ksremp-app-lib 1.0.28 → 1.0.30
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.
|
@@ -437,17 +437,16 @@ export class UserLoginComponent {
|
|
|
437
437
|
this.util.errorHandler(err);
|
|
438
438
|
});
|
|
439
439
|
}
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
}*/
|
|
440
|
+
if (userModel.ssn != null) {
|
|
441
|
+
console.log("overpayment LoginService - triggerRepaymentEvent");
|
|
442
|
+
const data = await this.ovpService.triggerRepaymentEvent(userModel.ssn)
|
|
443
|
+
.then(async => {
|
|
444
|
+
})
|
|
445
|
+
.catch(async (err) => {
|
|
446
|
+
this.util.hideLoader();
|
|
447
|
+
this.util.errorHandler(err);
|
|
448
|
+
});
|
|
449
|
+
}
|
|
451
450
|
if (userModel.claimantId != null) {
|
|
452
451
|
const data = this.ovpService.triggerOverpaymentEvent().subscribe((x) => { }, (err) => {
|
|
453
452
|
this.util.hideLoader();
|
|
@@ -616,4 +615,4 @@ export class UserLoginComponent {
|
|
|
616
615
|
type: Output
|
|
617
616
|
}] }); })();
|
|
618
617
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UserLoginComponent, { className: "UserLoginComponent", filePath: "lib\\components\\user-login\\user-login.component.ts", lineNumber: 21 }); })();
|
|
619
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1sb2dpbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvdXNlci1sb2dpbi91c2VyLWxvZ2luLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy91c2VyLWxvZ2luL3VzZXItbG9naW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBb0UsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQ0FyRCwyQkFBZ0MsU0FBQSxTQUFBO0lBRXBCLCtDQUErQjtJQUFBLGlCQUFLO0lBQ3hDLDBCQUFJO0lBQUEsZ0RBQWdDO0lBQUEsaUJBQUssRUFBQSxFQUFBOzs7SUFHakQsMkJBQWdDLFNBQUEsU0FBQTtJQUVwQiwrQ0FBK0I7SUFBQSxpQkFBSztJQUN4QywwQkFBSTtJQUFBLGlEQUFpQztJQUFBLGlCQUFLLEVBQUEsRUFBQTs7OztJQWN0RCxvQ0FBNE47SUFBeEwsa1BBQStCLCtKQUE0RyxlQUFBLHNCQUFjLENBQUEsSUFBMUgsMkpBQXFJLGVBQUEsMEJBQWtCLENBQUEsSUFBdko7SUFBeUosaUJBQVc7OztJQUFuTSxrREFBK0IseUNBQUEseURBQUEsbUJBQUE7Ozs7SUFDbkUsMkNBQXdMO0lBQXZFLDJMQUFXLGVBQUEscUJBQWEsQ0FBQSxJQUFDLDBLQUFVLGVBQUEsbUJBQVcsQ0FBQSxJQUFyQix3S0FBK0IsZUFB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QyxvQkFBb0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7WUF3QnpDLFFBQVE7a0JBQWhCLEtBQUs7WUFFRyxLQUFLO2tCQUFiLEtBQUs7WUFFRyxzQ0FBc0M7a0JBQTlDLEtBQUs7WUFHTixPQUFPO2tCQUROLE1BQU07WUFJUCxLQUFLO2tCQURKLE1BQU07O2tGQXBDSSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQsIENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVudHlwZWRGb3JtQnVpbGRlciwgVW50eXBlZEZvcm1Db250cm9sLCBVbnR5cGVkRm9ybUdyb3VwLCBOZ0Zvcm0sIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE5hdkNvbnRyb2xsZXIsIFBsYXRmb3JtIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xyXG5pbXBvcnQgeyBMaWJDb25zdGFudHMgfSBmcm9tICcuLi8uLi9tb2RlbHMvTGliQ29uc3RhbnRzJztcclxuaW1wb3J0IHsgVXNlck1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL1VzZXJNb2RlbCc7XHJcbmltcG9ydCB7IExvZ2luU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xvZ2luL2xvZ2luLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDbGFpbWFudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jbGFpbWFudC1zZXJ2aWNlL2NsYWltYW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVdGlsU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3V0aWwvdXRpbC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgV2Vla2x5Q2VydFNlcnZpY2VWMiB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3dlZWtseS1jZXJ0L3dlZWtseS1jZXJ0LXYyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBPdnBTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvb3ZwL292cC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgTG9jYWxTdG9yYWdlRXhwaXJ5IH0gZnJvbSAnQG5nLWlkbGUvY29yZSc7XHJcbmltcG9ydCB7IExleGlzTmV4aXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbGV4aXMtbmV4aXMvbGV4aXMubmV4aXMuc2VydmljZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXVzZXItbG9naW4nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi91c2VyLWxvZ2luLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi91c2VyLWxvZ2luLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVc2VyTG9naW5Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBWaWV3Q2hpbGQoJ2xvZ2luRm9ybURpcmVjdGl2ZScsIHsgc3RhdGljOiBmYWxzZSB9KVxyXG4gIHB1YmxpYyBsb2dpbkZvcm1EaXJlY3RpdmU6IE5nRm9ybTtcclxuICBAVmlld0NoaWxkKCdyZXNldEZvcm1EaXJlY3RpdmUnLCB7IHN0YXRpYzogZmFsc2UgfSlcclxuICBwdWJsaWMgcmVzZXRGb3JtRGlyZWN0aXZlOiBOZ0Zvcm07XHJcblxyXG4gIHB1YmxpYyBzaG93MkZBRGlhbG9nID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dGb3Jnb3RQYXNzd29yZCA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaG93VXNlcm5hbWVFcnJvciA9IGZhbHNlO1xyXG4gIHB1YmxpYyBjYXBzT24gPSBmYWxzZTtcclxuICBwdWJsaWMgZGlzcGxheURpYWxvZyA9IGZhbHNlO1xyXG4gIHB1YmxpYyBsb2dpbkZvcm06IFVudHlwZWRGb3JtR3JvdXA7XHJcbiAgcHVibGljIHJlc2V0Rm9ybTogVW50eXBlZEZvcm1Hcm91cDtcclxuICBwdWJsaWMgaXNMb2dpbkluUHJvZ3Jlc3MgPSBmYWxzZTtcclxuICBwdWJsaWMgc2hvd1Byb2dyZXNzQmFyID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dFbWFpbFZlcmlmaWNhdGlvbkRpYWxvZyA9IGZhbHNlO1xyXG4gIHB1YmxpYyBpc0xleGlzTmV4aXNFbmFibGVkOiBib29sZWFuO1xyXG4gIHB1YmxpYyBpc090cE1vZGFsRW5hYmxlZDogYm9vbGVhbjtcclxuICBwdWJsaWMgaXNSZXR1cm5pbmdVc2VyOiBib29sZWFuO1xyXG4gIHB1YmxpYyB2ZXJpZmljYXRpb25QcmVmZXJlbmNlO1xyXG4gIHB1YmxpYyBzc246IHN0cmluZztcclxuICBwdWJsaWMgaXNMZXhpc05leGlzUG9wdXBFbmFibGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIG1mYUxvZ2luSGVhZGVyIDogc3RyaW5nID0gXCJcIjtcclxuICBwdWJsaWMgaXNVU1BTRXhwaXJlZDogYm9vbGVhbiA9ZmFsc2U7XHJcblxyXG4gIHB1YmxpYyB1c2VyTW9kZWw6IFVzZXJNb2RlbDtcclxuXHJcbiAgQElucHV0KCkgZm9udFNpemU6IHN0cmluZztcclxuXHJcbiAgQElucHV0KCkgY29sb3I6IHN0cmluZztcclxuXHJcbiAgQElucHV0KCkgaXNQaG9uZU1mYVJlcXVpcmVkRm9yQWNjb3VudEFjdGl2YXRpb246IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBzdWNjZXNzOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgZXJyb3I6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyB1dGlsOiBVdGlsU2VydmljZSxcclxuICAgIHByaXZhdGUgbmF2OiBOYXZDb250cm9sbGVyLFxyXG4gICAgcHVibGljIGZiOiBVbnR5cGVkRm9ybUJ1aWxkZXIsXHJcbiAgICBwdWJsaWMgbG9naW5TZXJ2aWNlOiBMb2dpblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHBsYXRmb3JtOiBQbGF0Zm9ybSxcclxuICAgIHByaXZhdGUgd2NTZXJ2aWNlOiBXZWVrbHlDZXJ0U2VydmljZVYyLFxyXG4gICAgcHJpdmF0ZSBvdnBTZXJ2aWNlOiBPdnBTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgY3M6IENsYWltYW50U2VydmljZSxcclxuICAgIHB1YmxpYyBsbjogTGV4aXNOZXhpc1NlcnZpY2UsXHJcbiAgICBwdWJsaWMgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZVxyXG4gICkge3RoaXMudHJhbnNsYXRlU2VydmljZS51c2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJsYW5ndWFnZVwiKSl9O1xyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuaXNPdHBNb2RhbEVuYWJsZWQgPSBmYWxzZTtcclxuICAgIHRoaXMuaXNMZXhpc05leGlzRW5hYmxlZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5pc1JldHVybmluZ1VzZXIgPSB0cnVlO1xyXG4gICAgaWYobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJsYW5ndWFnZVwiKSA9PT0gXCJlc1wiKXtcclxuICAgICAgdGhpcy5tZmFMb2dpbkhlYWRlciA9IFwiU2UgaGEgZW52aWFkbyB1biBjw7NkaWdvIGRlIHZlcmlmaWNhY2nDs24gYWwgbsO6bWVybyBkZSB0ZWzDqWZvbm8gaW5ncmVzYWRvXCI7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm1mYUxvZ2luSGVhZGVyID0gXCJWZXJpZmljYXRpb24gY29kZSBoYXMgYmVlbiBzZW50IHRvIHRoZSBwaG9uZSBudW1iZXIgZW50ZXJlZFwiO1xyXG4gICAgfVxyXG4gICAgdGhpcy5pbml0aWxpemVMb2dpbkZvcm0oKTtcclxuICB9XHJcblxyXG4gIHJlc2V0KCkge1xyXG4gICAgdGhpcy5zaG93UHJvZ3Jlc3NCYXIgPSBmYWxzZTtcclxuICAgIHRoaXMubG9naW5Gb3JtLnJlc2V0KCk7XHJcbiAgICB0aGlzLmxvZ2luRm9ybURpcmVjdGl2ZS5yZXNldEZvcm0oKTtcclxuICAgIHRoaXMubG9naW5TZXJ2aWNlLnJlc2V0KCk7XHJcbiAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xyXG4gICAgdGhpcy51c2VyTW9kZWwgPSBudWxsO1xyXG4gICAgdGhpcy5zaG93MkZBRGlhbG9nID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBpbml0aWxpemVMb2dpbkZvcm0oKSB7XHJcbiAgICB0aGlzLmxvZ2luRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xyXG4gICAgICB1c2VybmFtZTogW251bGwsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgICBwYXNzd29yZDogW251bGwsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgICBjYXB0Y2hhOiBbbnVsbF0sXHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLnJlc2V0Rm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xyXG4gICAgICB1c2VybmFtZTogW251bGwsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgICBjYXB0Y2hhOiBbbnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldCB1c2VybmFtZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmxvZ2luRm9ybS5jb250cm9sc1sndXNlcm5hbWUnXSBhcyBVbnR5cGVkRm9ybUNvbnRyb2w7XHJcbiAgfVxyXG5cclxuICBnZXQgcGFzc3dvcmQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5sb2dpbkZvcm0uY29udHJvbHNbJ3Bhc3N3b3JkJ10gYXMgVW50eXBlZEZvcm1Db250cm9sO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGNhcHRjaGEoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5sb2dpbkZvcm0uY29udHJvbHNbJ2NhcHRjaGEnXSBhcyBVbnR5cGVkRm9ybUNvbnRyb2w7XHJcbiAgfVxyXG5cclxuICBnZXQgcmVzZXRVc2VybmFtZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnJlc2V0Rm9ybS5jb250cm9sc1sndXNlcm5hbWUnXSBhcyBVbnR5cGVkRm9ybUNvbnRyb2w7XHJcbiAgfVxyXG5cclxuICBnZXQgcmVzZXRDYXB0Y2hhKCkge1xyXG4gICAgcmV0dXJuIHRoaXMucmVzZXRGb3JtLmNvbnRyb2xzWydjYXB0Y2hhJ10gYXMgVW50eXBlZEZvcm1Db250cm9sO1xyXG4gIH1cclxuXHJcbiAgc2lnbkluKCkge1xyXG4gICAgaWYgKHRoaXMubG9naW5Gb3JtLmludmFsaWQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgbGV0IGF1dGg6IGFueSA9IHt9O1xyXG4gICAgYXV0aC51c2VySWQgPSB0aGlzLnVzZXJuYW1lLnZhbHVlO1xyXG4gICAgYXV0aC5wYXNzd29yZCA9IHRoaXMucGFzc3dvcmQudmFsdWU7XHJcbiAgICBhdXRoLmxhbmd1YWdlPWxvY2FsU3RvcmFnZS5nZXRJdGVtKFwibGFuZ3VhZ2VcIik7XHJcbiAgICB0aGlzLnV0aWxcclxuICAgICAgLnNob3dMb2FkZXIoKVxyXG4gICAgICAudGhlbigoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2dpblNlcnZpY2UubG9naW5BbmRDaGVja0Zvck1GQShhdXRoKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgbmV4dDogKHJlcykgPT4ge1xyXG4gICAgICAgICAgICBsZXQgdXNlck1vZGVsOiBVc2VyTW9kZWwgPSByZXM7XHJcbiAgICAgICAgICAgIHVzZXJNb2RlbC5sYW5ndWFnZT1sb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImxhbmd1YWdlXCIpOztcclxuICAgICAgICAgICAgdGhpcy5sb2dpblNlcnZpY2VcclxuICAgICAgICAgICAgICAuc2V0VXNlcih1c2VyTW9kZWwpXHJcbiAgICAgICAgICAgICAgLnRoZW4oKHJlcykgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy51c2VyTW9kZWwgPSB1c2VyTW9kZWw7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNzbiA9IHVzZXJNb2RlbD8uc3NuO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5sb2dpblN1Y2Nlc3MoKTtcclxuICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgIC5jYXRjaCgoZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coZSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGVycm9yOiAoZXJyKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChlcnIuaXMyRkFSZXF1aXJlZCArICcnID09ICd0cnVlJykge1xyXG4gICAgICAgICAgICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XHJcbiAgICAgICAgICAgICAgdGhpcy51c2VyTW9kZWwgPSBlcnI7XHJcbiAgICAgICAgICAgICAgdGhpcy51c2VyTW9kZWwudXNlcm5hbWUgPSB0aGlzLnVzZXJuYW1lLnZhbHVlO1xyXG4gICAgICAgICAgICAgIHRoaXMudXNlck1vZGVsLnBhc3N3b3JkID0gdGhpcy5wYXNzd29yZC52YWx1ZTtcclxuICAgICAgICAgICAgICB0aGlzLnNob3cyRkFEaWFsb2cgPSB0cnVlO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYoZXJyLmRldGFpbHMuaW5jbHVkZXMoXCJZb3VyIGlkZW50aXR5IG11c3QgYmUgdmVyaWZpZWQgYXQgVVNQUyBidXQgeW91ciB0aW1lZnJhbWUgaGFzIGV4cGlyZWQuXCIpKXtcclxuICAgICAgICAgICAgIC8vIHRoaXMudXRpbC5lcnJvckhhbmRsZXIoZXJyKTtcclxuICAgICAgICAgICAgIC8vIFxyXG4gICAgICAgICAgICAgLy8gdGhpcy5lcnJvci5lbWl0KGVycik7XHJcbiAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnRyaWdnZXJVU1BTRm9yRXhwaXJlZCh0aGlzLnVzZXJuYW1lLnZhbHVlKSwgMjAwMCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgY29uc29sZS5sb2coJ2luc2lkZSBlbHNlJywgZXJyKTtcclxuICAgICAgICAgICAgICB0aGlzLnV0aWwuZXJyb3JIYW5kbGVyKGVycik7XHJcbiAgICAgICAgICAgICAgdGhpcy51dGlsLmhpZGVMb2FkZXIoKTtcclxuICAgICAgICAgICAgICB0aGlzLmVycm9yLmVtaXQoZXJyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KVxyXG4gICAgICAuY2F0Y2goKGUpID0+IHtcclxuICAgICAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIGVuYWJsZUxleGlzTmV4aXModHJpZ2dlckV4aXRBUEkgPSB0cnVlKSB7XHJcbiAgICB0aGlzLnNob3cyRkFEaWFsb2cgPSBmYWxzZTtcclxuICAgIGlmICghdHJpZ2dlckV4aXRBUEkpe1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICAvKlxyXG4gICAgICB0aGlzLmxuLmlzTGV4aXNOZXhpc0lkUHJvb2ZpbmdFbmFibGVkV2l0aFVzZXJJZCh0aGlzLnVzZXJNb2RlbC51c2VybmFtZSkuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuICAgICAgICAvLyBJZiBsZXhpcy1uZXhpcyBpZCBwcm9vZmluZyBpcyBlbmFibGVkXHJcbiAgICAgICAgaWYgKHJlcykge1xyXG4gICAgICAgICAgdGhpcy5pc0xleGlzTmV4aXNQb3B1cEVuYWJsZWQgPSB0cnVlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnV0aWwuc2hvd0Vycm9yKFwiVGhlIGNsYWltYW50IGFjY291bnQgd2l0aCB1c2VyIG5hbWVcIiArIHRoaXMudXNlck1vZGVsLnVzZXJuYW1lICsgXCIgaGFzIGJlZW4gYmxvY2tlZC4gUGxlYXNlIGNvbnRhY3QgS0RPTC5cIilcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgKi9cclxuICB9XHJcblxyXG4gIG9uTG5TdWNjZXNzKCl7XHJcbiAgICB0aGlzLmlzTGV4aXNOZXhpc1BvcHVwRW5hYmxlZCA9IGZhbHNlO1xyXG4gICAgdGhpcy51dGlsLmhpZGVMb2FkZXIoKTtcclxuICAgIHRoaXMudXRpbC5zdWNjZXNzKCdZb3VyIElEIHByb29maW5nIHdhcyBzdWNjZXNzZnVsLiBUcnkgcmUtbG9naW4gb3IgY2hhbmdlIHlvdXIgcGFzc3dvcmQgdG8gY29udGludWUhJyk7XHJcbiAgICBpZiAodGhpcy5yZXNldEZvcm0uaW52YWxpZCkge1xyXG4gICAgICB0aGlzLnBhc3N3b3JkLnJlc2V0KCk7XHJcbiAgICAgIHRoaXMubG9naW5Gb3JtLnJlc2V0KCk7XHJcbiAgICAgIHRoaXMubG9naW5Gb3JtRGlyZWN0aXZlLnJlc2V0KCk7XHJcbiAgICAgIHRoaXMucmVzZXRGb3JtLnJlc2V0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkxORXJyb3IoKXtcclxuICAgIHRoaXMudHJpZ2dlclVTUFMoKTtcclxuICB9XHJcblxyXG4gIHRyaWdnZXJVU1BTKCl7XHJcbiAgICB0aGlzLmlzTGV4aXNOZXhpc1BvcHVwRW5hYmxlZCA9IGZhbHNlO1xyXG4gICAgdGhpcy51dGlsLmhpZGVMb2FkZXIoKTtcclxuICAgIGNvbnNvbGUubG9nKFwidXNwcyBpcyB0cmlnZ2VyZWRcIilcclxuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCd1c2VySWQnLCBKU09OLnN0cmluZ2lmeSh0aGlzLnVzZXJNb2RlbC51c2VybmFtZSkpO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy91c3BzLXJlZGlyZWN0JywgXCJcIl0pLCAxMDAwKTtcclxuICB9XHJcblxyXG4gIHRyaWdnZXJVU1BTRm9yRXhwaXJlZCh1c2VybmFtZSA6IFN0cmluZyl7XHJcbiAgICB0aGlzLmlzTGV4aXNOZXhpc1BvcHVwRW5hYmxlZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5pc1VTUFNFeHBpcmVkPXRydWU7ICBcclxuICAgIGNvbnNvbGUubG9nKFwidXNwcyBpcyB0cmlnZ2VyZWRcIilcclxuICAgXHJcbiAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCd1c2VySWQnLCBKU09OLnN0cmluZ2lmeSh1c2VybmFtZSkpO1xyXG4gICAgLy9zZXRUaW1lb3V0KCgpID0+IHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL3VzcHMtcmVkaXJlY3QnLCBcIlwiXSksIDEwMDApO1xyXG4gIH1cclxuXHJcbiAgdHJpZ2dlclVTUFNGb3JFeHBpcmVkUHJvY2Vzcygpe1xyXG4gICAgdGhpcy51dGlsLnNob3dMb2FkZXIoKTtcclxuICAgIHRoaXMuaXNMZXhpc05leGlzUG9wdXBFbmFibGVkID0gZmFsc2U7XHJcbiAgICB0aGlzLmlzVVNQU0V4cGlyZWQ9dHJ1ZTsgIFxyXG4gICAgY29uc29sZS5sb2coXCJ1c3BzIGlzIHRyaWdnZXJlZFwiKVxyXG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3VzZXJJZCcsIGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwidXNlcklkXCIpKTsgIFxyXG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy91c3BzLXJlZGlyZWN0JywgXCJcIl0pLCAxMDAwKTtcclxuICAgIHRoaXMuY2xvc2UoKTtcclxuICB9XHJcblxyXG4gYXN5bmMgbG9naW5TdWNjZXNzKCkge1xyXG4gICAgbGV0IHVzZXJNb2RlbCA9IHRoaXMubG9naW5TZXJ2aWNlLmdldFVzZXIoKTtcclxuICAgIHRoaXMudXNlck1vZGVsID0gdXNlck1vZGVsO1xyXG4gICAgaWYgKHVzZXJNb2RlbC5jaGFuZ2VQd2QpIHtcclxuICAgICAgdGhpcy5uYXYubmF2aWdhdGVSb290KCdjaGFuZ2UtcGFzc3dvcmQnKTtcclxuICAgICAgdGhpcy5zaG93UHJvZ3Jlc3NCYXIgPSBmYWxzZTtcclxuICAgICAgdGhpcy5pc0xvZ2luSW5Qcm9ncmVzcyA9IGZhbHNlO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKFxyXG4gICAgICB1c2VyTW9kZWwuZW1haWxTdGF0dXMgIT0gJ1ZFUkYnICYmXHJcbiAgICAgIHVzZXJNb2RlbC5pc0VtYWlsVmVyaWZpY2F0aW9uUmVxdWlyZWRcclxuICAgICkge1xyXG4gICAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xyXG4gICAgICB0aGlzLnNob3dFbWFpbFZlcmlmaWNhdGlvbkRpYWxvZyA9IHRydWU7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodXNlck1vZGVsLmlzMkZBUmVxdWlyZWQpIHtcclxuICAgICAgdGhpcy51dGlsLmhpZGVMb2FkZXIoKTtcclxuICAgICAgdGhpcy5zaG93MkZBRGlhbG9nID0gdHJ1ZTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGlzQ2FwYWNpdG9yID0gdGhpcy5wbGF0Zm9ybS5pcygnY2FwYWNpdG9yJyk7XHJcbiAgICBpZiAoXHJcbiAgICAgIHVzZXJNb2RlbC5kYXlzVGlsbFBhc3N3b3JkRXhwaXJlICYmXHJcbiAgICAgIHVzZXJNb2RlbC5kYXlzVGlsbFBhc3N3b3JkRXhwaXJlIDwgMTAgJiZcclxuICAgICAgTGliQ29uc3RhbnRzLmxlZ2FjeU1lbnUgPT0gJ3RydWUnICYmXHJcbiAgICAgIGlzQ2FwYWNpdG9yXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5uYXYubmF2aWdhdGVSb290KCdjaGFuZ2UtcGFzc3dvcmQ/Y2hhbmdlUHdkPXRydWUnKTtcclxuICAgICAgdGhpcy5zaG93UHJvZ3Jlc3NCYXIgPSBmYWxzZTtcclxuICAgICAgdGhpcy5pc0xvZ2luSW5Qcm9ncmVzcyA9IGZhbHNlO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9ICAgIFxyXG4gICAgaWYodXNlck1vZGVsLnNzbiE9bnVsbCl7XHJcbiAgICAgIGNvbnNvbGUubG9nKFwiQUlDIEZMT1cgaW4gTG9naW5TZXJ2aWNlXCIpOyAgICBcclxuICAgICBjb25zdCBkYXRhPSBhd2FpdCB0aGlzLndjU2VydmljZS5nZW5lcmF0ZUV2ZW50Rm9yUmVvcGVuQWljRmxvdyh1c2VyTW9kZWwuc3NuKVxyXG4gICAgICAgLnRoZW4oYXN5bmMgPT57ICAgICAgICAgIFxyXG4gICAgICAgfVxyXG5cclxuICAgICApLmNhdGNoKGFzeW5jIGVyciA9PntcclxuICAgICAgdGhpcy51dGlsLmhpZGVMb2FkZXIoKTtcclxuICAgICAgdGhpcy51dGlsLmVycm9ySGFuZGxlcihlcnIpO1xyXG4gICAgIH0pICBcclxuICB9XHJcbiAvKiAgIGl0IHdhcyBjb21tZW50ZWQgICBmb3IgUEdMUC0yMjgxICAgXHJcbiBpZih1c2VyTW9kZWwuc3NuIT1udWxsKXtcclxuICAgIGNvbnNvbGUubG9nKFwib3ZlcnBheW1lbnQgTG9naW5TZXJ2aWNlXCIpOyAgICBcclxuICAgY29uc3QgZGF0YT0gYXdhaXQgdGhpcy5vdnBTZXJ2aWNlLnRyaWdnZXJSZXBheW1lbnRFdmVudCh1c2VyTW9kZWwuc3NuKVxyXG4gICAgIC50aGVuKGFzeW5jID0+eyAgICAgICAgXHJcbiAgICAgfVxyXG4gICApLmNhdGNoKGFzeW5jIGVyciA9PntcclxuICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XHJcbiAgICB0aGlzLnV0aWwuZXJyb3JIYW5kbGVyKGVycik7XHJcbiAgIH0pICBcclxufSovXHJcblxyXG4gICAgaWYgKHVzZXJNb2RlbC5jbGFpbWFudElkICE9IG51bGwpIHtcclxuICAgICAgY29uc3QgZGF0YSA9IHRoaXMub3ZwU2VydmljZS50cmlnZ2VyT3ZlcnBheW1lbnRFdmVudCgpLnN1YnNjcmliZShcclxuICAgICAgICAoeCkgPT4ge30sXHJcbiAgICAgICAgKGVycikgPT4ge1xyXG4gICAgICAgICAgdGhpcy51dGlsLmhpZGVMb2FkZXIoKTtcclxuICAgICAgICAgIHRoaXMudXRpbC5lcnJvckhhbmRsZXIoZXJyKTtcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHVzZXJNb2RlbC5jbGFpbWFudElkICE9IG51bGwpIHtcclxuICAgICAgY29uc3QgZGF0YSA9IHRoaXMub3ZwU2VydmljZS50cmlnZ2VyT3ZlcnBheW1lbnRFdmVudEhpc3RvcnkoKS5zdWJzY3JpYmUoXHJcbiAgICAgICAgKHgpID0+IHt9LFxyXG4gICAgICAgIChlcnIpID0+IHtcclxuICAgICAgICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XHJcbiAgICAgICAgICB0aGlzLnV0aWwuZXJyb3JIYW5kbGVyKGVycik7XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zaG93MkZBRGlhbG9nID0gZmFsc2U7XHJcbiAgICB0aGlzLnN1Y2Nlc3MuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgc2hvd0RpYWxvZygpIHtcclxuICAgIHRoaXMuZGlzcGxheURpYWxvZyA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBpbml0aWF0ZUZvcmdvdFBhc3N3b3JkKCkge1xyXG4gICAgaWYgKHRoaXMucmVzZXRGb3JtLmludmFsaWQpIHtcclxuICAgICAgdGhpcy5wYXNzd29yZC5yZXNldCgpO1xyXG4gICAgICB0aGlzLmxvZ2luRm9ybS5yZXNldCgpO1xyXG4gICAgICB0aGlzLmxvZ2luRm9ybURpcmVjdGl2ZS5yZXNldCgpO1xyXG4gICAgICB0aGlzLnJlc2V0Rm9ybS5yZXNldCgpO1xyXG4gICAgICB0aGlzLnJlc2V0Rm9ybURpcmVjdGl2ZS5yZXNldCgpO1xyXG4gICAgICB0aGlzLnJlc2V0VXNlcm5hbWUubWFya0FzRGlydHkoKTtcclxuICAgICAgdGhpcy5yZXNldENhcHRjaGEubWFya0FzRGlydHkoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy51dGlsLnNob3dMb2FkZXIoKS50aGVuKCgpID0+IHtcclxuICAgICAgdGhpcy5sb2dpblNlcnZpY2VcclxuICAgICAgICAuaW5pdGlhdGVGb3Jnb3RQYXNzd29yZFYyKHRoaXMucmVzZXRVc2VybmFtZS52YWx1ZSlcclxuICAgICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgKHJlcykgPT4ge1xyXG4gICAgICAgICAgICBpZihsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImxhbmd1YWdlXCIpID09PSBcImVzXCIpe1xyXG4gICAgICAgICAgICAgIHRoaXMudXRpbC5zdWNjZXNzKCdTZSBoYSByZXN0YWJsZWNpZG8gc3UgY29udHJhc2XDsWEuIFJlY2liaXLDoSB1biBjb3JyZW8gZWxlY3Ryw7NuaWNvIGNvbiB1bmEgY29udHJhc2XDsWEgdGVtcG9yYWwgZSBpbnN0cnVjY2lvbmVzIHBhcmEgaW5pY2lhciBzZXNpw7NuLicpO1xyXG4gICAgICAgICAgICB9IGVsc2V7XHJcbiAgICAgICAgICAgICAgdGhpcy51dGlsLnN1Y2Nlc3MoJ1lvdXIgcGFzc3dvcmQgaGFzIGJlZW4gcmVzZXQuIFlvdSBzaG91bGQgcmVjZWl2ZSBhbiBlbWFpbCB3aXRoIGEgdGVtcG9yYXJ5IHBhc3N3b3JkIGFuZCBsb2dpbiBpbnN0cnVjdGlvbnMuJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5sb2dpbkZvcm0ucmVzZXQoKTtcclxuICAgICAgICAgICAgdGhpcy5sb2dpblNlcnZpY2UucmVzZXQoKTtcclxuICAgICAgICAgICAgdGhpcy5yZXNldEZvcm1EaXJlY3RpdmUucmVzZXQoKTtcclxuICAgICAgICAgICAgdGhpcy5yZXNldFVzZXJuYW1lLm1hcmtBc0RpcnR5KCk7XHJcbiAgICAgICAgICAgIHRoaXMuc2hvd0ZvcmdvdFBhc3N3b3JkID0gIXRoaXMuc2hvd0ZvcmdvdFBhc3N3b3JkO1xyXG4gICAgICAgICAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIChlcnIpID0+IHtcclxuICAgICAgICAgICAgdGhpcy51dGlsLmVycm9ySGFuZGxlcihlcnIpO1xyXG4gICAgICAgICAgICB0aGlzLmxvZ2luRm9ybS5yZXNldCgpO1xyXG4gICAgICAgICAgICB0aGlzLmxvZ2luU2VydmljZS5yZXNldCgpO1xyXG4gICAgICAgICAgICB0aGlzLnJlc2V0Rm9ybURpcmVjdGl2ZS5yZXNldEZvcm0oKTtcclxuICAgICAgICAgICAgdGhpcy5zaG93Rm9yZ290UGFzc3dvcmQgPSAhdGhpcy5zaG93Rm9yZ290UGFzc3dvcmQ7XHJcbiAgICAgICAgICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbG9nb3V0KCkge1xyXG4gICAgdGhpcy5sb2dpblNlcnZpY2UubG9nb3V0KCk7XHJcbiAgICB0aGlzLnNob3dFbWFpbFZlcmlmaWNhdGlvbkRpYWxvZyA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgZW1haWxWZXJpZmljYXRpb25TdWNjZXNzKCkge1xyXG4gICAgdGhpcy5zaG93RW1haWxWZXJpZmljYXRpb25EaWFsb2cgPSBmYWxzZTtcclxuICAgIHRoaXMuc3VjY2Vzcy5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBjbG9zZSgpIHsgIFxyXG4gICAgdGhpcy51dGlsLmhpZGVMb2FkZXIoKTtcclxuICAgIHRoaXMuaXNVU1BTRXhwaXJlZCA9IGZhbHNlOyAgIFxyXG4gICBcclxuICB9XHJcblxyXG4gIGdldCB1c2VySWRSZXF1aXJlZCgpe1xyXG4gICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2NvbW1vbi51c2VyLmlkLnJlcXVpcmVkJyk7XHJcbiAgfVxyXG4gIFxyXG4gIGdldCB1c2VySWRNaW5pbXVtTGVuZ3RoKCl7XHJcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2NvbW1vbi51c2VyLmlkLm1pbmxlbmd0aCcpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHBhc3N3b3JkUmVxdWlyZWQoKXtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnY29tbW9uLnBhc3N3b3JkLnJlcXVpcmVkJyk7XHJcbiAgfVxyXG5cclxuICBnZXQgY2FwdGNoYVJlcXVpcmVkKCl7XHJcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2NvbW1vbi5jYXB0Y2hhLnJlcXVpcmVkJyk7XHJcbiAgfVxyXG59XHJcbiIsIjxwLWRpYWxvZyBbKHZpc2libGUpXT1cImRpc3BsYXlEaWFsb2dcIiBbbW9kYWxdPVwidHJ1ZVwiIGFwcGVuZFRvPVwiYm9keVwiPlxyXG4gICAgPGg0IGNsYXNzPVwiaGVhZGluZ1wiPnt7XCJjb21tb24ubWVzc2FnZVwiIHwgdHJhbnNsYXRlfX08L2g0PlxyXG4gICAge3tcImxvZ2luLmZvcmdvdC5pZC5hc3Npc3RcIiB8IHRyYW5zbGF0ZX19XHJcbiAgICA8ZGl2ICpuZ0lmPVwidXRpbC5pc1N0YXRlKCdNUycpXCI+XHJcbiAgICAgICAgPHVsPlxyXG4gICAgICAgICAgICA8bGk+RW1wbG95ZXJzIG1heSBjYWxsIDYwMS00OTMtOTQyNzwvbGk+XHJcbiAgICAgICAgICAgIDxsaT5DbGFpbWFudHMgbWF5IGNhbGwgNjAxLTQ5My05NDI3LjwvbGk+XHJcbiAgICAgICAgPC91bD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cInV0aWwuaXNTdGF0ZSgnTUUnKVwiPlxyXG4gICAgICAgIDx1bD5cclxuICAgICAgICAgICAgPGxpPkVtcGxveWVycyBtYXkgY2FsbCAyMDctNjIxLTUxMjA8L2xpPlxyXG4gICAgICAgICAgICA8bGk+Q2xhaW1hbnRzIG1heSBjYWxsIDEtODAwLTU5My03NjYwPC9saT5cclxuICAgICAgICA8L3VsPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8IS0tIHRvZG86IGdldCBLUyBudW1iZXItLT5cclxuICAgIDxiciAvPlxyXG4gICAgPHAtZm9vdGVyPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpb24tdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgPGlvbi1idXR0b24gc2hhcGU9XCJyb3VuZFwiIHR5cGU9XCJzdWJtaXRcIiAoY2xpY2spPVwiZGlzcGxheURpYWxvZyA9ICFkaXNwbGF5RGlhbG9nXCIgY29sb3I9XCJzdWNjZXNzXCI+XHJcbiAgICAgICAgICAgICAgICA8aW9uLWljb24gc2xvdD1cInN0YXJ0XCIgbmFtZT1cImNsb3NlLXNoYXJwXCI+PC9pb24taWNvbj5cclxuICAgICAgICAgICAgICAgIHt7XCJjb21tb24uY2xvc2VcIiB8IHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvcC1mb290ZXI+XHJcbjwvcC1kaWFsb2c+XHJcbjxhcHAtbWZhMiAqbmdJZj1cImlzT3RwTW9kYWxFbmFibGVkXCIgWyhkaXNwbGF5KV09XCJpc090cE1vZGFsRW5hYmxlZFwiIFtyZXR1cm5pbmdVc2VyXT1cImlzUmV0dXJuaW5nVXNlclwiIFt2ZXJpZmljYXRpb25QcmVmZXJlbmNlXT1cInZlcmlmaWNhdGlvblByZWZlcmVuY2VcIiBbc3NuXT1cInNzblwiIChzdWNjZXNzKT1cImxvZ2luU3VjY2VzcygpXCIgKGNsZWFyKT1cImVuYWJsZUxleGlzTmV4aXMoKVwiPjwvYXBwLW1mYTI+XHJcbjxhcHAtbGV4aXMtbmV4aXMgKm5nSWY9XCJpc0xleGlzTmV4aXNQb3B1cEVuYWJsZWRcIiBbZGlzcGxheV09XCJpc0xleGlzTmV4aXNQb3B1cEVuYWJsZWRcIiBbdXNlck1vZGVsXSA9IFwidXNlck1vZGVsXCIgKHN1Y2Nlc3MpPVwib25MblN1Y2Nlc3MoKVwiIChlcnJvcik9XCJvbkxORXJyb3IoKVwiICh1c3BzKT1cInRyaWdnZXJVU1BTKClcIj48L2FwcC1sZXhpcy1uZXhpcz5cclxuPGFwcC1tZmEtcG9wdXAgWyhkaXNwbGF5KV09XCJzaG93MkZBRGlhbG9nXCIgW3VzZXJdPVwidXNlck1vZGVsXCIgW3JldHVybmluZ1VzZXJdPVwiaXNSZXR1cm5pbmdVc2VyXCIgW2hlYWRpbmddPVwibWZhTG9naW5IZWFkZXJcIiAoc3VjY2Vzcyk9XCJsb2dpblN1Y2Nlc3MoKVwiIChjbGVhcik9XCJlbmFibGVMZXhpc05leGlzKCRldmVudClcIj48L2FwcC1tZmEtcG9wdXA+XHJcblxyXG5cclxuPGZvcm0gW2Zvcm1Hcm91cF09XCJsb2dpbkZvcm1cIiAjbG9naW5Gb3JtRGlyZWN0aXZlPVwibmdGb3JtXCIgKm5nSWY9XCIhc2hvd0ZvcmdvdFBhc3N3b3JkXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicC1mbHVpZCBwLWZvcm1ncmlkIHAtZ3JpZFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBpb24tdGV4dC1sZWZ0XCIgc3R5bGU9XCJ3aWR0aDogLXdlYmtpdC1maWxsLWF2YWlsYWJsZTtcIj5cclxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cInVzZXJQcm9maWxlSWRcIiBbc3R5bGUuZm9udC1zaXplXT1cImZvbnRTaXplXCIgW3N0eWxlLmNvbG9yXT1cImNvbG9yXCI+e3snbG9naW4udXNlci5pZCcgfCB0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgIDxpbnB1dCBpZD1cInVzZXJQcm9maWxlSWRcIiB0eXBlPVwidGV4dFwiIHBJbnB1dFRleHQgbWF4bGVuZ3RoPVwiMzBcIiBtaW5sZW5ndGg9XCI1XCIgW2Zvcm1Db250cm9sXT1cInVzZXJuYW1lXCI+XHJcbiAgICAgICAgICAgIDxhcHAtZXJyb3IgW2ZpZWxkXT0ndXNlcm5hbWUnIFtmb3JtXT1cImxvZ2luRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB1c2VySWRSZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgIG1pbmxlbmd0aDogdXNlcklkTWluaW11bUxlbmd0aFxyXG4gICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBpb24tdGV4dC1sZWZ0XCIgc3R5bGU9XCJ3aWR0aDogLXdlYmtpdC1maWxsLWF2YWlsYWJsZTtcIj5cclxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cInVzZXJQcm9maWxlUGFzc3dvcmRcIiBbc3R5bGUuZm9udC1zaXplXT1cImZvbnRTaXplXCIgW3N0eWxlLmNvbG9yXT1cImNvbG9yXCI+e3snbG9naW4ucGFzc3dvcmQuY2FzZS5zZW5zaXRpdmUnIHwgdHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICA8cC1wYXNzd29yZCBbZm9ybUNvbnRyb2xdPVwicGFzc3dvcmRcIiBpbnB1dElkPVwidXNlclByb2ZpbGVQYXNzd29yZFwiIFt0b2dnbGVNYXNrXT0ndHJ1ZScgW2ZlZWRiYWNrXT0nZmFsc2UnPjwvcC1wYXNzd29yZD5cclxuICAgICAgICAgICAgPGFwcC1lcnJvciBbZmllbGRdPSdwYXNzd29yZCcgW2Zvcm1dPVwibG9naW5Gb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHBhc3N3b3JkUmVxdWlyZWRcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJpb24tcGFkZGluZy1zdGFydCBpb24tcGFkZGluZy1lbmQgaW9uLXRleHQtbGVmdFwiIHN0eWxlPVwibWFyZ2luLXRvcDogLThweDtcIiAqbmdJZj1cImZhbHNlXCI+XHJcbiAgICAgICAgPGFwcC1jYXB0Y2hhIFtmb3JtQ29udHJvbF09XCJjYXB0Y2hhXCI+PC9hcHAtY2FwdGNoYT5cclxuICAgICAgICA8YXBwLWVycm9yIFtmaWVsZF09J2NhcHRjaGEnIFtmb3JtXT1cImxvZ2luRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICByZXF1aXJlZDogY2FwdGNoYVJlcXVpcmVkXHJcbiAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwicC1mbHVpZFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpb24tdGV4dC1yaWdodFwiPlxyXG4gICAgICAgICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwic2lnbkluKClcIiBjb2xvcj1cInByaW1hcnlcIiB0eXBlPVwic3VibWl0XCIgc2hhcGU9XCJyb3VuZFwiIGZpbGw9XCJvdXRsaW5lXCIgY2xhc3M9XCJ3aGl0ZS1iYWNrZ3JvdW5kXCI+XHJcbiAgICAgICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cInBvd2VyLW91dGxpbmVcIiBzbG90PVwic3RhcnRcIj48L2lvbi1pY29uPlxyXG4gICAgICAgICAgICAgICAge3snbG9naW4ubG9naW4nIHwgdHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxpb24tcm93IGNsYXNzPVwiaW9uLXBhZGRpbmctdG9wXCI+XHJcbiAgICAgICAgICAgIDxpb24tY29sIGNsYXNzPVwiaW9uLXRleHQtbGVmdFwiPlxyXG4gICAgICAgICAgICAgICAgPGEgdGFiaW5kZXg9XCIwXCIgcm9sZT1cImJ1dHRvblwiIGNsYXNzPVwibGlua1wiIHN0eWxlPVwiZm9udC1zaXplOiAxNHB4O1wiIChjbGljayk9XCJzaG93RGlhbG9nKClcIiAoa2V5ZG93bi5lbnRlcik9XCJzaG93RGlhbG9nKClcIj57eydsb2dpbi51c2VyLmlkLmZvcmdvdCcgfCB0cmFuc2xhdGV9fTwvYT5cclxuICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi10ZXh0LXJpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICA8YSB0YWJpbmRleD1cIjBcIiByb2xlPVwiYnV0dG9uXCIgY2xhc3M9XCJsaW5rXCIgKGNsaWNrKT1cInNob3dGb3Jnb3RQYXNzd29yZCA9ICFzaG93Rm9yZ290UGFzc3dvcmRcIiAoa2V5ZG93bi5lbnRlcik9XCJzaG93Rm9yZ290UGFzc3dvcmQgPSAhc2hvd0ZvcmdvdFBhc3N3b3JkXCIgc3R5bGU9XCJmb250LXNpemU6IDE0cHg7XCJcclxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwic3VibWl0XCI+e3snbG9naW4ucGFzc3dvcmQuZm9yZ290JyB8IHRyYW5zbGF0ZX19PC9hPlxyXG4gICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgPC9pb24tcm93PlxyXG4gICAgPC9kaXY+XHJcbjwvZm9ybT5cclxuXHJcbjxmb3JtICpuZ0lmPVwic2hvd0ZvcmdvdFBhc3N3b3JkXCIgW2Zvcm1Hcm91cF09XCJyZXNldEZvcm1cIiAjcmVzZXRGb3JtRGlyZWN0aXZlPVwibmdGb3JtXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicC1mbHVpZCBwLWZvcm1ncmlkIHAtZ3JpZFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBpb24tdGV4dC1sZWZ0XCIgc3R5bGU9XCJ3aWR0aDogLXdlYmtpdC1maWxsLWF2YWlsYWJsZTtcIj5cclxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cInVzZXJQcm9maWxlSWRcIiBbc3R5bGUuZm9udC1zaXplXT1cImZvbnRTaXplXCIgW3N0eWxlLmNvbG9yXT1cImNvbG9yXCI+e3snbG9naW4udXNlci5pZCcgfCB0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgIDxpbnB1dCBpZD1cInVzZXJQcm9maWxlSWRcIiB0eXBlPVwidGV4dFwiIHBJbnB1dFRleHQgbWF4bGVuZ3RoPVwiMzBcIiBtaW5sZW5ndGg9XCI1XCIgW2Zvcm1Db250cm9sXT1cInJlc2V0VXNlcm5hbWVcIj5cclxuICAgICAgICAgICAgPGFwcC1lcnJvciBbZmllbGRdPSdyZXNldFVzZXJuYW1lJyBbZm9ybV09XCJyZXNldEZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgIHJlcXVpcmVkOiB1c2VySWRSZXF1aXJlZCxcclxuICAgICAgICAgICAgbWlubGVuZ3RoOiB1c2VySWRNaW5pbXVtTGVuZ3RoXHJcbiAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImlvbi10ZXh0LWxlZnRcIj5cclxuICAgICAgICAgICAgPGFwcC1jYXB0Y2hhIFtmb3JtQ29udHJvbF09XCJyZXNldENhcHRjaGFcIj48L2FwcC1jYXB0Y2hhPlxyXG4gICAgICAgICAgICA8YXBwLWVycm9yIFtmaWVsZF09J3Jlc2V0Q2FwdGNoYScgW2Zvcm1dPVwicmVzZXRGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgcmVxdWlyZWQ6IGNhcHRjaGFSZXF1aXJlZFxyXG4gICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInAtZmx1aWRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW9uLXRleHQtcmlnaHRcIj5cclxuICAgICAgICAgICAgPGlvbi1idXR0b24gKGNsaWNrKT1cInNob3dGb3Jnb3RQYXNzd29yZCA9ICFzaG93Rm9yZ290UGFzc3dvcmRcIiBjb2xvcj1cInByaW1hcnlcIiB0eXBlPVwic3VibWl0XCIgc2hhcGU9XCJyb3VuZFwiIGZpbGw9XCJvdXRsaW5lXCIgY2xhc3M9XCJ3aGl0ZS1iYWNrZ3JvdW5kXCI+XHJcbiAgICAgICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImFycm93LWJhY2stb3V0bGluZVwiIHNsb3Q9XCJzdGFydFwiPjwvaW9uLWljb24+XHJcbiAgICAgICAgICAgICAgICB7eydsb2dpbi5sb2dpbicgfCB0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICA8L2lvbi1idXR0b24+XHJcblxyXG4gICAgICAgICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwiaW5pdGlhdGVGb3Jnb3RQYXNzd29yZCgpXCIgY29sb3I9XCJwcmltYXJ5XCIgdHlwZT1cInN1Ym1pdFwiIHNoYXBlPVwicm91bmRcIiBmaWxsPVwib3V0bGluZVwiXHJcbiAgICAgICAgICAgICAgICBkaXNhYmxlZD1cInt7cmVzZXRGb3JtLmludmFsaWR9fVwiIGNsYXNzPVwid2hpdGUtYmFja2dyb3VuZFwiPlxyXG4gICAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJtYWlsLW91dGxpbmVcIiBzbG90PVwic3RhcnRcIj48L2lvbi1pY29uPlxyXG4gICAgICAgICAgICAgICAge3snbG9naW4uc2VuZC5lbWFpbCcgfCB0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICAgICBcclxuPC9mb3JtPlxyXG5cclxuPHAtZGlhbG9nIFt2aXNpYmxlXT1cImlzVVNQU0V4cGlyZWRcIiBbbW9kYWxdPVwidHJ1ZVwiIGFwcGVuZFRvPVwiYm9keVwiIHBvc2l0aW9uPVwidG9wXCIgW2JyZWFrcG9pbnRzXT1cInsnMTIwMHB4JzogJzY2MHB4JywgJzk5MnB4JzogJzY2MHB4JywgJzc2OHB4JzogJzY2MHB4JywgJzU3NnB4JzogJzEwMHZ3J31cIiBbc3R5bGVdPVwie3dpZHRoOiAnNDV2dyd9XCJcclxuW2Jhc2VaSW5kZXhdPVwiNTAwMFwiIFtkcmFnZ2FibGVdPVwiZmFsc2VcIiBbcmVzaXphYmxlXT1cImZhbHNlXCIgY2xvc2VPbkVzY2FwZT1cImZhbHNlXCI+XHJcbiAgICB7eyd1c3BzLmV4cGQucG9wdXAuaGVhZGluZycgfCB0cmFuc2xhdGV9fTxici8+XHJcbiAgICBcclxuICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJmb290ZXJcIj5cclxuICAgICAgICA8aW9uLWJ1dHRvbiBzaGFwZT1cInJvdW5kXCIgdHlwZT1cInN1Ym1pdFwiIGZpbGw9XCJvdXRsaW5lXCIgKGNsaWNrKT1cImNsb3NlKClcIj5cclxuICAgICAgICAgIHt7J3VzcHMuZXhwZC5wb3B1cC5jYW5jZWwnIHwgdHJhbnNsYXRlfX1cclxuICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgPGlvbi1idXR0b24gc2hhcGU9XCJyb3VuZFwiIHR5cGU9XCJzdWJtaXRcIiBmaWxsPVwic29saWRcIiAoY2xpY2spPVwidHJpZ2dlclVTUFNGb3JFeHBpcmVkUHJvY2VzcygpXCI+XHJcbiAgICAgICAgICB7eyd1c3BzLmV4cGQucG9wdXAucHJvY2VzcycgfCB0cmFuc2xhdGV9fVxyXG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbjwvcC1kaWFsb2c+XHJcblxyXG48YXBwLWVtYWlsLXVwZGF0ZSBbZW1haWxdPVwidXNlck1vZGVsLmVtYWlsSWRcIiAqbmdJZj1cInNob3dFbWFpbFZlcmlmaWNhdGlvbkRpYWxvZ1wiIChvbkNsb3NlKT1cImxvZ291dCgpXCIgKG9uU3VjY2Vzcyk9XCJlbWFpbFZlcmlmaWNhdGlvblN1Y2Nlc3MoKVwiPjwvYXBwLWVtYWlsLXVwZGF0ZT4iXX0=
|
|
618
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1sb2dpbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvdXNlci1sb2dpbi91c2VyLWxvZ2luLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy91c2VyLWxvZ2luL3VzZXItbG9naW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBb0UsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQ0FyRCwyQkFBZ0MsU0FBQSxTQUFBO0lBRXBCLCtDQUErQjtJQUFBLGlCQUFLO0lBQ3hDLDBCQUFJO0lBQUEsZ0RBQWdDO0lBQUEsaUJBQUssRUFBQSxFQUFBOzs7SUFHakQsMkJBQWdDLFNBQUEsU0FBQTtJQUVwQiwrQ0FBK0I7SUFBQSxpQkFBSztJQUN4QywwQkFBSTtJQUFBLGlEQUFpQztJQUFBLGlCQUFLLEVBQUEsRUFBQTs7OztJQWN0RCxvQ0FBNE47SUFBeEwsa1BBQStCLCtKQUE0RyxlQUFBLHNCQUFjLENBQUEsSUFBMUgsMkpBQXFJLGVBQUEsMEJBQWtCLENBQUEsSUFBdko7SUFBeUosaUJBQVc7OztJQUFuTSxrREFBK0IseUNBQUEseURBQUEsbUJBQUE7Ozs7SUFDbkUsMkNBQXdMO0lBQXZFLDJMQUFXLGVBQUEscUJBQWEsQ0FBQSxJQUFDLDBLQUFVLGVBQUEsbUJBQVcsQ0FBQSxJQUFyQix3S0FBK0IsZUFBQSxxQkFBYSxDQUFBLElBQTVDO0lBQThDLGlCQUFrQjs7O0lBQXhKLHlEQUFvQywrQkFBQTs7OztJQXNCbEYsK0JBQXFHO0lBQ2pHLGtDQUFtRCxvQkFBQTtJQUl2RCxpQkFBTTs7Ozs7SUFKVyxlQUF1QjtJQUF2Qiw2Q0FBdUI7SUFDekIsZUFBaUI7SUFBakIsdUNBQWlCLGNBQUEsK0RBQUE7Ozs7O0lBcEJwQyxvQ0FBdUYsY0FBQSxjQUFBLGdCQUFBO0lBR0csWUFBK0I7O0lBQUEsaUJBQVE7SUFDckgsNEJBQXVHLG9CQUFBO0lBSzNHLGlCQUFNO0lBQ04sK0JBQXdFLGlCQUFBO0lBQ2dCLGFBQStDOztJQUFBLGlCQUFRO0lBQzNJLGtDQUF1SCxxQkFBQTtJQUkzSCxpQkFBTSxFQUFBO0lBRVYsOEVBS007SUFHTixnQ0FBcUIsZUFBQSxzQkFBQTtJQUVELHdLQUFTLGVBQUEsZ0JBQVEsQ0FBQSxJQUFDO0lBQzFCLGdDQUF1RDtJQUN2RCxhQUNKOztJQUFBLGlCQUFhLEVBQUE7SUFFakIsb0NBQWlDLG1CQUFBLGFBQUE7SUFFMkMsK0pBQVMsZUFBQSxvQkFBWSxDQUFBLElBQUMsa0tBQWtCLGVBQUEsb0JBQVksQ0FBQSxJQUE5QjtJQUFnQyxhQUFzQzs7SUFBQSxpQkFBSSxFQUFBO0lBRXhLLG9DQUFnQyxhQUFBO0lBQ2UsMk9BQWtELDhPQUFBO0lBQzNFLGFBQXVDOztJQUFBLGlCQUFJLEVBQUEsRUFBQSxFQUFBLEVBQUE7Ozs7SUF2Q3ZFLDRDQUF1QjtJQUdVLGVBQTRCO0lBQTVCLDRDQUE0Qix1QkFBQTtJQUF1QixlQUErQjtJQUEvQiw0REFBK0I7SUFDL0IsZUFBd0I7SUFBeEIsNkNBQXdCO0lBQzNGLGVBQWtCO0lBQWxCLHVDQUFrQixjQUFBLDBGQUFBO0lBTUksZUFBNEI7SUFBNUIsNENBQTRCLHVCQUFBO0lBQXVCLGVBQStDO0lBQS9DLDZFQUErQztJQUN2SCxlQUF3QjtJQUF4Qiw2Q0FBd0Isb0JBQUEsbUJBQUE7SUFDekIsZUFBa0I7SUFBbEIsdUNBQWtCLGNBQUEsZ0VBQUE7SUFLbUQsZUFBVztJQUFYLDRCQUFXO0lBWXZGLGVBQ0o7SUFESSxzRUFDSjtJQUk4SCxlQUFzQztJQUF0QyxvRUFBc0M7SUFJOUksZUFBdUM7SUFBdkMscUVBQXVDOzs7O0lBTXpFLG9DQUFzRixjQUFBLGNBQUEsZ0JBQUE7SUFHSSxZQUErQjs7SUFBQSxpQkFBUTtJQUNySCw0QkFBNEcsb0JBQUE7SUFLaEgsaUJBQU07SUFDTiwrQkFBMkI7SUFDdkIsbUNBQXdELHFCQUFBO0lBSTVELGlCQUFNLEVBQUE7SUFFVixnQ0FBcUIsZUFBQSxzQkFBQTtJQUVELG9QQUFrRDtJQUMxRCxnQ0FBNEQ7SUFDNUQsYUFDSjs7SUFBQSxpQkFBYTtJQUViLHVDQUM4RDtJQURsRCx3S0FBUyxlQUFBLGdDQUF3QixDQUFBLElBQUM7SUFFMUMsZ0NBQXNEO0lBQ3RELGFBQ0o7O0lBQUEsaUJBQWEsRUFBQSxFQUFBLEVBQUE7Ozs7SUE1QlEsNENBQXVCO0lBR2pCLGVBQTRCO0lBQTVCLDRDQUE0Qix1QkFBQTtJQUF1QixlQUErQjtJQUEvQiw0REFBK0I7SUFDL0IsZUFBNkI7SUFBN0Isa0RBQTZCO0lBQ2hHLGVBQXVCO0lBQXZCLDRDQUF1QixjQUFBLDBGQUFBO0lBTXJCLGVBQTRCO0lBQTVCLGlEQUE0QjtJQUM5QixlQUFzQjtJQUF0QiwyQ0FBc0IsY0FBQSwrREFBQTtJQVM3QixlQUNKO0lBREksc0VBQ0o7SUFHSSxlQUFnQztJQUFoQyw4REFBZ0M7SUFFaEMsZUFDSjtJQURJLDJFQUNKOzs7O0lBWUosc0NBQXlFO0lBQWxCLDhLQUFTLGVBQUEsZUFBTyxDQUFBLElBQUM7SUFDdEUsWUFDRjs7SUFBQSxpQkFBYTtJQUNiLHNDQUE4RjtJQUF6Qyw4S0FBUyxlQUFBLHNDQUE4QixDQUFBLElBQUM7SUFDM0YsWUFDRjs7SUFBQSxpQkFBYTs7SUFKWCxlQUNGO0lBREUsK0VBQ0Y7SUFFRSxlQUNGO0lBREUsZ0ZBQ0Y7Ozs7SUFJUiw0Q0FBZ0o7SUFBOUQsNkxBQVcsZUFBQSxnQkFBUSxDQUFBLElBQUMsb0xBQWMsZUFBQSxrQ0FBMEIsQ0FBQSxJQUF4QztJQUEwQyxpQkFBbUI7OztJQUFqSixnREFBMkI7Ozs7QUR6RzdDLE1BQU0sT0FBTyxrQkFBa0I7SUF1QzdCLFlBQ1MsSUFBaUIsRUFDaEIsR0FBa0IsRUFDbkIsRUFBc0IsRUFDdEIsWUFBMEIsRUFDekIsUUFBa0IsRUFDbEIsU0FBOEIsRUFDOUIsVUFBc0IsRUFDdEIsR0FBc0IsRUFDdEIsTUFBYyxFQUNkLEVBQW1CLEVBQ3BCLEVBQXFCLEVBQ3JCLGdCQUFrQztRQVhsQyxTQUFJLEdBQUosSUFBSSxDQUFhO1FBQ2hCLFFBQUcsR0FBSCxHQUFHLENBQWU7UUFDbkIsT0FBRSxHQUFGLEVBQUUsQ0FBb0I7UUFDdEIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDekIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixjQUFTLEdBQVQsU0FBUyxDQUFxQjtRQUM5QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxPQUFFLEdBQUYsRUFBRSxDQUFpQjtRQUNwQixPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQUNyQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBN0NwQyxrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUN0Qix1QkFBa0IsR0FBRyxLQUFLLENBQUM7UUFDM0Isc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQzFCLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFDZixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUd0QixzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFDMUIsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFDeEIsZ0NBQTJCLEdBQUcsS0FBSyxDQUFDO1FBTXBDLDZCQUF3QixHQUFZLEtBQUssQ0FBQztRQUMxQyxtQkFBYyxHQUFZLEVBQUUsQ0FBQztRQUM3QixrQkFBYSxHQUFXLEtBQUssQ0FBQztRQVE1QiwyQ0FBc0MsR0FBWSxJQUFJLENBQUM7UUFHaEUsWUFBTyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBR2hELFVBQUssR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQWUzQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQTtJQUFBLENBQUM7SUFBQSxDQUFDO0lBRWhFLFFBQVE7UUFDTixJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQy9CLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7UUFDakMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7UUFDNUIsSUFBRyxZQUFZLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxLQUFLLElBQUksRUFBQztZQUMzQyxJQUFJLENBQUMsY0FBYyxHQUFHLHlFQUF5RSxDQUFDO1NBQ2pHO2FBQU07WUFDTCxJQUFJLENBQUMsY0FBYyxHQUFHLDZEQUE2RCxDQUFDO1NBQ3JGO1FBQ0QsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztRQUM3QixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNwQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQzdCLFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ3JDLFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ3JDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQztTQUNoQixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQzdCLFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ3JDLE9BQU8sRUFBRSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1NBQ3JDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBdUIsQ0FBQztJQUNuRSxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQXVCLENBQUM7SUFDbkUsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUF1QixDQUFDO0lBQ2xFLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBdUIsQ0FBQztJQUNuRSxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQXVCLENBQUM7SUFDbEUsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFO1lBQzFCLE9BQU87U0FDUjtRQUNELElBQUksSUFBSSxHQUFRLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7UUFDcEMsSUFBSSxDQUFDLFFBQVEsR0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxJQUFJO2FBQ04sVUFBVSxFQUFFO2FBQ1osSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNULElBQUksQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDO2dCQUNwRCxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtvQkFDWixJQUFJLFNBQVMsR0FBYyxHQUFHLENBQUM7b0JBQy9CLFNBQVMsQ0FBQyxRQUFRLEdBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztvQkFBQSxDQUFDO29CQUNyRCxJQUFJLENBQUMsWUFBWTt5QkFDZCxPQUFPLENBQUMsU0FBUyxDQUFDO3lCQUNsQixJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTt3QkFDWixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQzt3QkFDM0IsSUFBSSxDQUFDLEdBQUcsR0FBRyxTQUFTLEVBQUUsR0FBRyxDQUFDO3dCQUMxQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7b0JBQ3RCLENBQUMsQ0FBQzt5QkFDRCxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTt3QkFDWCxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7b0JBQ3pCLENBQUMsQ0FBQyxDQUFDO2dCQUNQLENBQUM7Z0JBQ0QsS0FBSyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7b0JBQ2IsSUFBSSxHQUFHLENBQUMsYUFBYSxHQUFHLEVBQUUsSUFBSSxNQUFNLEVBQUU7d0JBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7d0JBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDO3dCQUNyQixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQzt3QkFDOUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7d0JBQzlDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO3FCQUMzQjt5QkFBTSxJQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLHdFQUF3RSxDQUFDLEVBQUM7d0JBQ3hHLCtCQUErQjt3QkFDL0IsR0FBRzt3QkFDSCx3QkFBd0I7d0JBQ3ZCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztxQkFDekU7eUJBQU07d0JBQ0wsT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsR0FBRyxDQUFDLENBQUM7d0JBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO3dCQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO3dCQUN2QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztxQkFDdEI7Z0JBQ0gsQ0FBQztnQkFDRCxRQUFRLEVBQUUsR0FBRyxFQUFFO29CQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ3pCLENBQUM7YUFDRixDQUFDLENBQUM7UUFDTCxDQUFDLENBQUM7YUFDRCxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsY0FBYyxHQUFHLElBQUk7UUFDcEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDM0IsSUFBSSxDQUFDLGNBQWMsRUFBQztZQUNsQixPQUFPO1NBQ1I7UUFDRDs7Ozs7Ozs7O1VBU0U7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyx3QkFBd0IsR0FBRyxLQUFLLENBQUM7UUFDdEMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxvRkFBb0YsQ0FBQyxDQUFDO1FBQ3hHLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUU7WUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsd0JBQXdCLEdBQUcsS0FBSyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDdkIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFBO1FBQ2hDLFlBQVksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ3hFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVELHFCQUFxQixDQUFDLFFBQWlCO1FBQ3JDLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxLQUFLLENBQUM7UUFDdEMsSUFBSSxDQUFDLGFBQWEsR0FBQyxJQUFJLENBQUM7UUFDeEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFBO1FBRWpDLFlBQVksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUN4RCx1RUFBdUU7SUFDekUsQ0FBQztJQUVELDRCQUE0QjtRQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxLQUFLLENBQUM7UUFDdEMsSUFBSSxDQUFDLGFBQWEsR0FBQyxJQUFJLENBQUM7UUFDeEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFBO1FBQ2hDLFlBQVksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUMvRCxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNmLENBQUM7SUFFRixLQUFLLENBQUMsWUFBWTtRQUNmLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDNUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0IsSUFBSSxTQUFTLENBQUMsU0FBUyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDekMsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7WUFDN0IsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztZQUMvQixPQUFPO1NBQ1I7UUFFRCxJQUNFLFNBQVMsQ0FBQyxXQUFXLElBQUksTUFBTTtZQUMvQixTQUFTLENBQUMsMkJBQTJCLEVBQ3JDO1lBQ0EsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsMkJBQTJCLEdBQUcsSUFBSSxDQUFDO1lBQ3hDLE9BQU87U0FDUjtRQUVELElBQUksU0FBUyxDQUFDLGFBQWEsRUFBRTtZQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1lBQzFCLE9BQU87U0FDUjtRQUVELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2xELElBQ0UsU0FBUyxDQUFDLHNCQUFzQjtZQUNoQyxTQUFTLENBQUMsc0JBQXNCLEdBQUcsRUFBRTtZQUNyQyxZQUFZLENBQUMsVUFBVSxJQUFJLE1BQU07WUFDakMsV0FBVyxFQUNYO1lBQ0EsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztZQUN4RCxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztZQUM3QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO1lBQy9CLE9BQU87U0FDUjtRQUNELElBQUcsU0FBUyxDQUFDLEdBQUcsSUFBRSxJQUFJLEVBQUM7WUFDckIsT0FBTyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1lBQ3pDLE1BQU0sSUFBSSxHQUFFLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyw2QkFBNkIsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDO2lCQUMxRSxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDZCxDQUFDLENBRUYsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFDLEdBQUcsRUFBQyxFQUFFO2dCQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM3QixDQUFDLENBQUMsQ0FBQTtTQUNKO1FBQ0MsSUFBRyxTQUFTLENBQUMsR0FBRyxJQUFFLElBQUksRUFBQztZQUNyQixPQUFPLENBQUMsR0FBRyxDQUFDLGtEQUFrRCxDQUFDLENBQUM7WUFDaEUsTUFBTSxJQUFJLEdBQUUsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUM7aUJBQ25FLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNkLENBQUMsQ0FBQztpQkFDRCxLQUFLLENBQUMsS0FBSyxFQUFDLEdBQUcsRUFBQyxFQUFFO2dCQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM5QixDQUFDLENBQUMsQ0FBQztTQUNOO1FBRUQsSUFBSSxTQUFTLENBQUMsVUFBVSxJQUFJLElBQUksRUFBRTtZQUNoQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLHVCQUF1QixFQUFFLENBQUMsU0FBUyxDQUM5RCxDQUFDLENBQUMsRUFBRSxFQUFFLEdBQUUsQ0FBQyxFQUNULENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDOUIsQ0FBQyxDQUNGLENBQUM7U0FDSDtRQUVELElBQUksU0FBUyxDQUFDLFVBQVUsSUFBSSxJQUFJLEVBQUU7WUFDaEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyw4QkFBOEIsRUFBRSxDQUFDLFNBQVMsQ0FDckUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxHQUFFLENBQUMsRUFDVCxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzlCLENBQUMsQ0FDRixDQUFDO1NBQ0g7UUFDRCxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUMzQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7SUFDNUIsQ0FBQztJQUVELHNCQUFzQjtRQUNwQixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFO1lBQzFCLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2hDLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUMvQixJQUFJLENBQUMsWUFBWTtpQkFDZCx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztpQkFDbEQsU0FBUyxDQUNSLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ04sSUFBRyxZQUFZLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxLQUFLLElBQUksRUFBQztvQkFDM0MsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsbUlBQW1JLENBQUMsQ0FBQztpQkFDeEo7cUJBQUs7b0JBQ0osSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsNkdBQTZHLENBQUMsQ0FBQztpQkFDbEk7Z0JBQ0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDdkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDMUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNoQyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUNqQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUM7Z0JBQ25ELElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDekIsQ0FBQyxFQUNELENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDcEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDO2dCQUNuRCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3pCLENBQUMsQ0FDRixDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLDJCQUEyQixHQUFHLEtBQUssQ0FBQztJQUMzQyxDQUFDO0lBRUQsd0JBQXdCO1FBQ3RCLElBQUksQ0FBQywyQkFBMkIsR0FBRyxLQUFLLENBQUM7UUFDekMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFFN0IsQ0FBQztJQUVELElBQUksY0FBYztRQUNkLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxJQUFJLG1CQUFtQjtRQUNyQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsMEJBQTBCLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLDBCQUEwQixDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUNsRSxDQUFDO21GQTdYVSxrQkFBa0I7b0VBQWxCLGtCQUFrQjs7Ozs7Ozs7WUNwQi9CLG1DQUFxRTtZQUEzRCxxSkFBMkI7WUFDakMsNkJBQW9CO1lBQUEsWUFBZ0M7O1lBQUEsaUJBQUs7WUFDekQsWUFDQTs7WUFBQSxtRUFLTSxzREFBQTtZQVFOLHFCQUFNO1lBQ04sZ0NBQVUsY0FBQSxxQkFBQTtZQUVzQyw4SUFBd0M7WUFDNUUsK0JBQXFEO1lBQ3JELGFBQ0o7O1lBQUEsaUJBQWEsRUFBQSxFQUFBLEVBQUE7WUFJekIsK0VBQXVPLGdGQUFBO1lBRXZPLHlDQUF5TDtZQUExSywySkFBMkIsOEZBQTRGLGtCQUFjLElBQTFHLGdHQUFxSCw0QkFBd0IsSUFBN0k7WUFBK0ksaUJBQWdCO1lBR3pNLHlFQTJDTyw0REFBQTtZQXFDUCxxQ0FDa0Y7WUFDOUUsYUFBeUM7O1lBQUEsc0JBQUs7WUFFOUMsc0ZBT2M7WUFDbEIsaUJBQVc7WUFFWCxnR0FBbUs7O1lBN0h6SiwyQ0FBMkIsZUFBQTtZQUNiLGVBQWdDO1lBQWhDLDZEQUFnQztZQUNwRCxlQUNBO1lBREEsZ0ZBQ0E7WUFBTSxlQUF3QjtZQUF4Qiw2Q0FBd0I7WUFNeEIsZUFBd0I7WUFBeEIsNkNBQXdCO1lBWWxCLGVBQ0o7WUFESSx1RUFDSjtZQUlELGVBQXVCO1lBQXZCLDRDQUF1QjtZQUNoQixlQUE4QjtZQUE5QixtREFBOEI7WUFDakMsZUFBMkI7WUFBM0IsMkNBQTJCLHVCQUFBLHNDQUFBLCtCQUFBO1lBR2tCLGVBQXlCO1lBQXpCLDhDQUF5QjtZQTZDOUUsZUFBd0I7WUFBeEIsNkNBQXdCO1lBbUM2SSxlQUF5QjtZQUF6QiwwQ0FBeUI7WUFBM0wsMkNBQXlCLGVBQUEsNENBQUEsb0JBQUEsb0JBQUEsb0JBQUE7WUFFL0IsZUFBeUM7WUFBekMsaUZBQXlDO1lBWUUsZUFBaUM7WUFBakMsc0RBQWlDOzs7aUZEekduRSxrQkFBa0I7Y0FMOUIsU0FBUzsyQkFDRSxnQkFBZ0I7eVdBTW5CLGtCQUFrQjtrQkFEeEIsU0FBUzttQkFBQyxvQkFBb0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7WUFHM0Msa0JBQWtCO2tCQUR4QixTQUFTO21CQUFDLG9CQUFvQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtZQXdCekMsUUFBUTtrQkFBaEIsS0FBSztZQUVHLEtBQUs7a0JBQWIsS0FBSztZQUVHLHNDQUFzQztrQkFBOUMsS0FBSztZQUdOLE9BQU87a0JBRE4sTUFBTTtZQUlQLEtBQUs7a0JBREosTUFBTTs7a0ZBcENJLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCwgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUNvbnRyb2wsIFVudHlwZWRGb3JtR3JvdXAsIE5nRm9ybSwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTmF2Q29udHJvbGxlciwgUGxhdGZvcm0gfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XHJcbmltcG9ydCB7IExpYkNvbnN0YW50cyB9IGZyb20gJy4uLy4uL21vZGVscy9MaWJDb25zdGFudHMnO1xyXG5pbXBvcnQgeyBVc2VyTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvVXNlck1vZGVsJztcclxuaW1wb3J0IHsgTG9naW5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbG9naW4vbG9naW4uc2VydmljZSc7XHJcbmltcG9ydCB7IENsYWltYW50U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NsYWltYW50LXNlcnZpY2UvY2xhaW1hbnQuc2VydmljZSc7XHJcbmltcG9ydCB7IFV0aWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdXRpbC91dGlsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBXZWVrbHlDZXJ0U2VydmljZVYyIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvd2Vla2x5LWNlcnQvd2Vla2x5LWNlcnQtdjIuc2VydmljZSc7XHJcbmltcG9ydCB7IE92cFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9vdnAvb3ZwLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBMb2NhbFN0b3JhZ2VFeHBpcnkgfSBmcm9tICdAbmctaWRsZS9jb3JlJztcclxuaW1wb3J0IHsgTGV4aXNOZXhpc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sZXhpcy1uZXhpcy9sZXhpcy5uZXhpcy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtdXNlci1sb2dpbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3VzZXItbG9naW4uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3VzZXItbG9naW4uY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFVzZXJMb2dpbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQFZpZXdDaGlsZCgnbG9naW5Gb3JtRGlyZWN0aXZlJywgeyBzdGF0aWM6IGZhbHNlIH0pXHJcbiAgcHVibGljIGxvZ2luRm9ybURpcmVjdGl2ZTogTmdGb3JtO1xyXG4gIEBWaWV3Q2hpbGQoJ3Jlc2V0Rm9ybURpcmVjdGl2ZScsIHsgc3RhdGljOiBmYWxzZSB9KVxyXG4gIHB1YmxpYyByZXNldEZvcm1EaXJlY3RpdmU6IE5nRm9ybTtcclxuXHJcbiAgcHVibGljIHNob3cyRkFEaWFsb2cgPSBmYWxzZTtcclxuICBwdWJsaWMgc2hvd0ZvcmdvdFBhc3N3b3JkID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dVc2VybmFtZUVycm9yID0gZmFsc2U7XHJcbiAgcHVibGljIGNhcHNPbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBkaXNwbGF5RGlhbG9nID0gZmFsc2U7XHJcbiAgcHVibGljIGxvZ2luRm9ybTogVW50eXBlZEZvcm1Hcm91cDtcclxuICBwdWJsaWMgcmVzZXRGb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xyXG4gIHB1YmxpYyBpc0xvZ2luSW5Qcm9ncmVzcyA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaG93UHJvZ3Jlc3NCYXIgPSBmYWxzZTtcclxuICBwdWJsaWMgc2hvd0VtYWlsVmVyaWZpY2F0aW9uRGlhbG9nID0gZmFsc2U7XHJcbiAgcHVibGljIGlzTGV4aXNOZXhpc0VuYWJsZWQ6IGJvb2xlYW47XHJcbiAgcHVibGljIGlzT3RwTW9kYWxFbmFibGVkOiBib29sZWFuO1xyXG4gIHB1YmxpYyBpc1JldHVybmluZ1VzZXI6IGJvb2xlYW47XHJcbiAgcHVibGljIHZlcmlmaWNhdGlvblByZWZlcmVuY2U7XHJcbiAgcHVibGljIHNzbjogc3RyaW5nO1xyXG4gIHB1YmxpYyBpc0xleGlzTmV4aXNQb3B1cEVuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgbWZhTG9naW5IZWFkZXIgOiBzdHJpbmcgPSBcIlwiO1xyXG4gIHB1YmxpYyBpc1VTUFNFeHBpcmVkOiBib29sZWFuID1mYWxzZTtcclxuXHJcbiAgcHVibGljIHVzZXJNb2RlbDogVXNlck1vZGVsO1xyXG5cclxuICBASW5wdXQoKSBmb250U2l6ZTogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKSBjb2xvcjogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKSBpc1Bob25lTWZhUmVxdWlyZWRGb3JBY2NvdW50QWN0aXZhdGlvbjogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHN1Y2Nlc3M6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBlcnJvcjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHV0aWw6IFV0aWxTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBuYXY6IE5hdkNvbnRyb2xsZXIsXHJcbiAgICBwdWJsaWMgZmI6IFVudHlwZWRGb3JtQnVpbGRlcixcclxuICAgIHB1YmxpYyBsb2dpblNlcnZpY2U6IExvZ2luU2VydmljZSxcclxuICAgIHByaXZhdGUgcGxhdGZvcm06IFBsYXRmb3JtLFxyXG4gICAgcHJpdmF0ZSB3Y1NlcnZpY2U6IFdlZWtseUNlcnRTZXJ2aWNlVjIsXHJcbiAgICBwcml2YXRlIG92cFNlcnZpY2U6IE92cFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSBjczogQ2xhaW1hbnRTZXJ2aWNlLFxyXG4gICAgcHVibGljIGxuOiBMZXhpc05leGlzU2VydmljZSxcclxuICAgIHB1YmxpYyB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlXHJcbiAgKSB7dGhpcy50cmFuc2xhdGVTZXJ2aWNlLnVzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImxhbmd1YWdlXCIpKX07XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5pc090cE1vZGFsRW5hYmxlZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5pc0xleGlzTmV4aXNFbmFibGVkID0gZmFsc2U7XHJcbiAgICB0aGlzLmlzUmV0dXJuaW5nVXNlciA9IHRydWU7XHJcbiAgICBpZihsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImxhbmd1YWdlXCIpID09PSBcImVzXCIpe1xyXG4gICAgICB0aGlzLm1mYUxvZ2luSGVhZGVyID0gXCJTZSBoYSBlbnZpYWRvIHVuIGPDs2RpZ28gZGUgdmVyaWZpY2FjacOzbiBhbCBuw7ptZXJvIGRlIHRlbMOpZm9ubyBpbmdyZXNhZG9cIjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubWZhTG9naW5IZWFkZXIgPSBcIlZlcmlmaWNhdGlvbiBjb2RlIGhhcyBiZWVuIHNlbnQgdG8gdGhlIHBob25lIG51bWJlciBlbnRlcmVkXCI7XHJcbiAgICB9XHJcbiAgICB0aGlzLmluaXRpbGl6ZUxvZ2luRm9ybSgpO1xyXG4gIH1cclxuXHJcbiAgcmVzZXQoKSB7XHJcbiAgICB0aGlzLnNob3dQcm9ncmVzc0JhciA9IGZhbHNlO1xyXG4gICAgdGhpcy5sb2dpbkZvcm0ucmVzZXQoKTtcclxuICAgIHRoaXMubG9naW5Gb3JtRGlyZWN0aXZlLnJlc2V0Rm9ybSgpO1xyXG4gICAgdGhpcy5sb2dpblNlcnZpY2UucmVzZXQoKTtcclxuICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XHJcbiAgICB0aGlzLnVzZXJNb2RlbCA9IG51bGw7XHJcbiAgICB0aGlzLnNob3cyRkFEaWFsb2cgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIGluaXRpbGl6ZUxvZ2luRm9ybSgpIHtcclxuICAgIHRoaXMubG9naW5Gb3JtID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgIHVzZXJuYW1lOiBbbnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICAgIHBhc3N3b3JkOiBbbnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICAgIGNhcHRjaGE6IFtudWxsXSxcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMucmVzZXRGb3JtID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgIHVzZXJuYW1lOiBbbnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICAgIGNhcHRjaGE6IFtudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHVzZXJuYW1lKCkge1xyXG4gICAgcmV0dXJuIHRoaXMubG9naW5Gb3JtLmNvbnRyb2xzWyd1c2VybmFtZSddIGFzIFVudHlwZWRGb3JtQ29udHJvbDtcclxuICB9XHJcblxyXG4gIGdldCBwYXNzd29yZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmxvZ2luRm9ybS5jb250cm9sc1sncGFzc3dvcmQnXSBhcyBVbnR5cGVkRm9ybUNvbnRyb2w7XHJcbiAgfVxyXG5cclxuICBnZXQgY2FwdGNoYSgpIHtcclxuICAgIHJldHVybiB0aGlzLmxvZ2luRm9ybS5jb250cm9sc1snY2FwdGNoYSddIGFzIFVudHlwZWRGb3JtQ29udHJvbDtcclxuICB9XHJcblxyXG4gIGdldCByZXNldFVzZXJuYW1lKCkge1xyXG4gICAgcmV0dXJuIHRoaXMucmVzZXRGb3JtLmNvbnRyb2xzWyd1c2VybmFtZSddIGFzIFVudHlwZWRGb3JtQ29udHJvbDtcclxuICB9XHJcblxyXG4gIGdldCByZXNldENhcHRjaGEoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5yZXNldEZvcm0uY29udHJvbHNbJ2NhcHRjaGEnXSBhcyBVbnR5cGVkRm9ybUNvbnRyb2w7XHJcbiAgfVxyXG5cclxuICBzaWduSW4oKSB7XHJcbiAgICBpZiAodGhpcy5sb2dpbkZvcm0uaW52YWxpZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBsZXQgYXV0aDogYW55ID0ge307XHJcbiAgICBhdXRoLnVzZXJJZCA9IHRoaXMudXNlcm5hbWUudmFsdWU7XHJcbiAgICBhdXRoLnBhc3N3b3JkID0gdGhpcy5wYXNzd29yZC52YWx1ZTtcclxuICAgIGF1dGgubGFuZ3VhZ2U9bG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJsYW5ndWFnZVwiKTtcclxuICAgIHRoaXMudXRpbFxyXG4gICAgICAuc2hvd0xvYWRlcigpXHJcbiAgICAgIC50aGVuKCgpID0+IHtcclxuICAgICAgICB0aGlzLmxvZ2luU2VydmljZS5sb2dpbkFuZENoZWNrRm9yTUZBKGF1dGgpLnN1YnNjcmliZSh7XHJcbiAgICAgICAgICBuZXh0OiAocmVzKSA9PiB7XHJcbiAgICAgICAgICAgIGxldCB1c2VyTW9kZWw6IFVzZXJNb2RlbCA9IHJlcztcclxuICAgICAgICAgICAgdXNlck1vZGVsLmxhbmd1YWdlPWxvY2FsU3RvcmFnZS5nZXRJdGVtKFwibGFuZ3VhZ2VcIik7O1xyXG4gICAgICAgICAgICB0aGlzLmxvZ2luU2VydmljZVxyXG4gICAgICAgICAgICAgIC5zZXRVc2VyKHVzZXJNb2RlbClcclxuICAgICAgICAgICAgICAudGhlbigocmVzKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnVzZXJNb2RlbCA9IHVzZXJNb2RlbDtcclxuICAgICAgICAgICAgICAgIHRoaXMuc3NuID0gdXNlck1vZGVsPy5zc247XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxvZ2luU3VjY2VzcygpO1xyXG4gICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgLmNhdGNoKChlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlKTtcclxuICAgICAgICAgICAgICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZXJyb3I6IChlcnIpID0+IHtcclxuICAgICAgICAgICAgaWYgKGVyci5pczJGQVJlcXVpcmVkICsgJycgPT0gJ3RydWUnKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy51dGlsLmhpZGVMb2FkZXIoKTtcclxuICAgICAgICAgICAgICB0aGlzLnVzZXJNb2RlbCA9IGVycjtcclxuICAgICAgICAgICAgICB0aGlzLnVzZXJNb2RlbC51c2VybmFtZSA9IHRoaXMudXNlcm5hbWUudmFsdWU7XHJcbiAgICAgICAgICAgICAgdGhpcy51c2VyTW9kZWwucGFzc3dvcmQgPSB0aGlzLnBhc3N3b3JkLnZhbHVlO1xyXG4gICAgICAgICAgICAgIHRoaXMuc2hvdzJGQURpYWxvZyA9IHRydWU7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZihlcnIuZGV0YWlscy5pbmNsdWRlcyhcIllvdXIgaWRlbnRpdHkgbXVzdCBiZSB2ZXJpZmllZCBhdCBVU1BTIGJ1dCB5b3VyIHRpbWVmcmFtZSBoYXMgZXhwaXJlZC5cIikpe1xyXG4gICAgICAgICAgICAgLy8gdGhpcy51dGlsLmVycm9ySGFuZGxlcihlcnIpO1xyXG4gICAgICAgICAgICAgLy8gXHJcbiAgICAgICAgICAgICAvLyB0aGlzLmVycm9yLmVtaXQoZXJyKTtcclxuICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMudHJpZ2dlclVTUFNGb3JFeHBpcmVkKHRoaXMudXNlcm5hbWUudmFsdWUpLCAyMDAwKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBjb25zb2xlLmxvZygnaW5zaWRlIGVsc2UnLCBlcnIpO1xyXG4gICAgICAgICAgICAgIHRoaXMudXRpbC5lcnJvckhhbmRsZXIoZXJyKTtcclxuICAgICAgICAgICAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xyXG4gICAgICAgICAgICAgIHRoaXMuZXJyb3IuZW1pdChlcnIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgY29tcGxldGU6ICgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy51dGlsLmhpZGVMb2FkZXIoKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pXHJcbiAgICAgIC5jYXRjaCgoZSkgPT4ge1xyXG4gICAgICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZW5hYmxlTGV4aXNOZXhpcyh0cmlnZ2VyRXhpdEFQSSA9IHRydWUpIHtcclxuICAgIHRoaXMuc2hvdzJGQURpYWxvZyA9IGZhbHNlO1xyXG4gICAgaWYgKCF0cmlnZ2VyRXhpdEFQSSl7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIC8qXHJcbiAgICAgIHRoaXMubG4uaXNMZXhpc05leGlzSWRQcm9vZmluZ0VuYWJsZWRXaXRoVXNlcklkKHRoaXMudXNlck1vZGVsLnVzZXJuYW1lKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICAgIC8vIElmIGxleGlzLW5leGlzIGlkIHByb29maW5nIGlzIGVuYWJsZWRcclxuICAgICAgICBpZiAocmVzKSB7XHJcbiAgICAgICAgICB0aGlzLmlzTGV4aXNOZXhpc1BvcHVwRW5hYmxlZCA9IHRydWU7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMudXRpbC5zaG93RXJyb3IoXCJUaGUgY2xhaW1hbnQgYWNjb3VudCB3aXRoIHVzZXIgbmFtZVwiICsgdGhpcy51c2VyTW9kZWwudXNlcm5hbWUgKyBcIiBoYXMgYmVlbiBibG9ja2VkLiBQbGVhc2UgY29udGFjdCBLRE9MLlwiKVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAqL1xyXG4gIH1cclxuXHJcbiAgb25MblN1Y2Nlc3MoKXtcclxuICAgIHRoaXMuaXNMZXhpc05leGlzUG9wdXBFbmFibGVkID0gZmFsc2U7XHJcbiAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xyXG4gICAgdGhpcy51dGlsLnN1Y2Nlc3MoJ1lvdXIgSUQgcHJvb2Zpbmcgd2FzIHN1Y2Nlc3NmdWwuIFRyeSByZS1sb2dpbiBvciBjaGFuZ2UgeW91ciBwYXNzd29yZCB0byBjb250aW51ZSEnKTtcclxuICAgIGlmICh0aGlzLnJlc2V0Rm9ybS5pbnZhbGlkKSB7XHJcbiAgICAgIHRoaXMucGFzc3dvcmQucmVzZXQoKTtcclxuICAgICAgdGhpcy5sb2dpbkZvcm0ucmVzZXQoKTtcclxuICAgICAgdGhpcy5sb2dpbkZvcm1EaXJlY3RpdmUucmVzZXQoKTtcclxuICAgICAgdGhpcy5yZXNldEZvcm0ucmVzZXQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uTE5FcnJvcigpe1xyXG4gICAgdGhpcy50cmlnZ2VyVVNQUygpO1xyXG4gIH1cclxuXHJcbiAgdHJpZ2dlclVTUFMoKXtcclxuICAgIHRoaXMuaXNMZXhpc05leGlzUG9wdXBFbmFibGVkID0gZmFsc2U7XHJcbiAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xyXG4gICAgY29uc29sZS5sb2coXCJ1c3BzIGlzIHRyaWdnZXJlZFwiKVxyXG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3VzZXJJZCcsIEpTT04uc3RyaW5naWZ5KHRoaXMudXNlck1vZGVsLnVzZXJuYW1lKSk7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL3VzcHMtcmVkaXJlY3QnLCBcIlwiXSksIDEwMDApO1xyXG4gIH1cclxuXHJcbiAgdHJpZ2dlclVTUFNGb3JFeHBpcmVkKHVzZXJuYW1lIDogU3RyaW5nKXtcclxuICAgIHRoaXMuaXNMZXhpc05leGlzUG9wdXBFbmFibGVkID0gZmFsc2U7XHJcbiAgICB0aGlzLmlzVVNQU0V4cGlyZWQ9dHJ1ZTsgIFxyXG4gICAgY29uc29sZS5sb2coXCJ1c3BzIGlzIHRyaWdnZXJlZFwiKVxyXG4gICBcclxuICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3VzZXJJZCcsIEpTT04uc3RyaW5naWZ5KHVzZXJuYW1lKSk7XHJcbiAgICAvL3NldFRpbWVvdXQoKCkgPT4gdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvdXNwcy1yZWRpcmVjdCcsIFwiXCJdKSwgMTAwMCk7XHJcbiAgfVxyXG5cclxuICB0cmlnZ2VyVVNQU0ZvckV4cGlyZWRQcm9jZXNzKCl7XHJcbiAgICB0aGlzLnV0aWwuc2hvd0xvYWRlcigpO1xyXG4gICAgdGhpcy5pc0xleGlzTmV4aXNQb3B1cEVuYWJsZWQgPSBmYWxzZTtcclxuICAgIHRoaXMuaXNVU1BTRXhwaXJlZD10cnVlOyAgXHJcbiAgICBjb25zb2xlLmxvZyhcInVzcHMgaXMgdHJpZ2dlcmVkXCIpXHJcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgndXNlcklkJywgbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJ1c2VySWRcIikpOyAgXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL3VzcHMtcmVkaXJlY3QnLCBcIlwiXSksIDEwMDApO1xyXG4gICAgdGhpcy5jbG9zZSgpO1xyXG4gIH1cclxuXHJcbiBhc3luYyBsb2dpblN1Y2Nlc3MoKSB7XHJcbiAgICBsZXQgdXNlck1vZGVsID0gdGhpcy5sb2dpblNlcnZpY2UuZ2V0VXNlcigpO1xyXG4gICAgdGhpcy51c2VyTW9kZWwgPSB1c2VyTW9kZWw7XHJcbiAgICBpZiAodXNlck1vZGVsLmNoYW5nZVB3ZCkge1xyXG4gICAgICB0aGlzLm5hdi5uYXZpZ2F0ZVJvb3QoJ2NoYW5nZS1wYXNzd29yZCcpO1xyXG4gICAgICB0aGlzLnNob3dQcm9ncmVzc0JhciA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmlzTG9naW5JblByb2dyZXNzID0gZmFsc2U7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoXHJcbiAgICAgIHVzZXJNb2RlbC5lbWFpbFN0YXR1cyAhPSAnVkVSRicgJiZcclxuICAgICAgdXNlck1vZGVsLmlzRW1haWxWZXJpZmljYXRpb25SZXF1aXJlZFxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XHJcbiAgICAgIHRoaXMuc2hvd0VtYWlsVmVyaWZpY2F0aW9uRGlhbG9nID0gdHJ1ZTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh1c2VyTW9kZWwuaXMyRkFSZXF1aXJlZCkge1xyXG4gICAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xyXG4gICAgICB0aGlzLnNob3cyRkFEaWFsb2cgPSB0cnVlO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgaXNDYXBhY2l0b3IgPSB0aGlzLnBsYXRmb3JtLmlzKCdjYXBhY2l0b3InKTtcclxuICAgIGlmIChcclxuICAgICAgdXNlck1vZGVsLmRheXNUaWxsUGFzc3dvcmRFeHBpcmUgJiZcclxuICAgICAgdXNlck1vZGVsLmRheXNUaWxsUGFzc3dvcmRFeHBpcmUgPCAxMCAmJlxyXG4gICAgICBMaWJDb25zdGFudHMubGVnYWN5TWVudSA9PSAndHJ1ZScgJiZcclxuICAgICAgaXNDYXBhY2l0b3JcclxuICAgICkge1xyXG4gICAgICB0aGlzLm5hdi5uYXZpZ2F0ZVJvb3QoJ2NoYW5nZS1wYXNzd29yZD9jaGFuZ2VQd2Q9dHJ1ZScpO1xyXG4gICAgICB0aGlzLnNob3dQcm9ncmVzc0JhciA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmlzTG9naW5JblByb2dyZXNzID0gZmFsc2U7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH0gICAgXHJcbiAgICBpZih1c2VyTW9kZWwuc3NuIT1udWxsKXtcclxuICAgICAgY29uc29sZS5sb2coXCJBSUMgRkxPVyBpbiBMb2dpblNlcnZpY2VcIik7ICAgIFxyXG4gICAgIGNvbnN0IGRhdGE9IGF3YWl0IHRoaXMud2NTZXJ2aWNlLmdlbmVyYXRlRXZlbnRGb3JSZW9wZW5BaWNGbG93KHVzZXJNb2RlbC5zc24pXHJcbiAgICAgICAudGhlbihhc3luYyA9PnsgICAgICAgICAgXHJcbiAgICAgICB9XHJcblxyXG4gICAgICkuY2F0Y2goYXN5bmMgZXJyID0+e1xyXG4gICAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xyXG4gICAgICB0aGlzLnV0aWwuZXJyb3JIYW5kbGVyKGVycik7XHJcbiAgICAgfSkgIFxyXG4gIH1cclxuICAgIGlmKHVzZXJNb2RlbC5zc24hPW51bGwpe1xyXG4gICAgICBjb25zb2xlLmxvZyhcIm92ZXJwYXltZW50IExvZ2luU2VydmljZSAtIHRyaWdnZXJSZXBheW1lbnRFdmVudFwiKTsgICAgXHJcbiAgICAgIGNvbnN0IGRhdGE9IGF3YWl0IHRoaXMub3ZwU2VydmljZS50cmlnZ2VyUmVwYXltZW50RXZlbnQodXNlck1vZGVsLnNzbilcclxuICAgICAgICAudGhlbihhc3luYyA9PntcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5jYXRjaChhc3luYyBlcnIgPT57XHJcbiAgICAgICAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xyXG4gICAgICAgICAgdGhpcy51dGlsLmVycm9ySGFuZGxlcihlcnIpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh1c2VyTW9kZWwuY2xhaW1hbnRJZCAhPSBudWxsKSB7XHJcbiAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLm92cFNlcnZpY2UudHJpZ2dlck92ZXJwYXltZW50RXZlbnQoKS5zdWJzY3JpYmUoXHJcbiAgICAgICAgKHgpID0+IHt9LFxyXG4gICAgICAgIChlcnIpID0+IHtcclxuICAgICAgICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XHJcbiAgICAgICAgICB0aGlzLnV0aWwuZXJyb3JIYW5kbGVyKGVycik7XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh1c2VyTW9kZWwuY2xhaW1hbnRJZCAhPSBudWxsKSB7XHJcbiAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLm92cFNlcnZpY2UudHJpZ2dlck92ZXJwYXltZW50RXZlbnRIaXN0b3J5KCkuc3Vic2NyaWJlKFxyXG4gICAgICAgICh4KSA9PiB7fSxcclxuICAgICAgICAoZXJyKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xyXG4gICAgICAgICAgdGhpcy51dGlsLmVycm9ySGFuZGxlcihlcnIpO1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHRoaXMuc2hvdzJGQURpYWxvZyA9IGZhbHNlO1xyXG4gICAgdGhpcy5zdWNjZXNzLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHNob3dEaWFsb2coKSB7XHJcbiAgICB0aGlzLmRpc3BsYXlEaWFsb2cgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgaW5pdGlhdGVGb3Jnb3RQYXNzd29yZCgpIHtcclxuICAgIGlmICh0aGlzLnJlc2V0Rm9ybS5pbnZhbGlkKSB7XHJcbiAgICAgIHRoaXMucGFzc3dvcmQucmVzZXQoKTtcclxuICAgICAgdGhpcy5sb2dpbkZvcm0ucmVzZXQoKTtcclxuICAgICAgdGhpcy5sb2dpbkZvcm1EaXJlY3RpdmUucmVzZXQoKTtcclxuICAgICAgdGhpcy5yZXNldEZvcm0ucmVzZXQoKTtcclxuICAgICAgdGhpcy5yZXNldEZvcm1EaXJlY3RpdmUucmVzZXQoKTtcclxuICAgICAgdGhpcy5yZXNldFVzZXJuYW1lLm1hcmtBc0RpcnR5KCk7XHJcbiAgICAgIHRoaXMucmVzZXRDYXB0Y2hhLm1hcmtBc0RpcnR5KCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMudXRpbC5zaG93TG9hZGVyKCkudGhlbigoKSA9PiB7XHJcbiAgICAgIHRoaXMubG9naW5TZXJ2aWNlXHJcbiAgICAgICAgLmluaXRpYXRlRm9yZ290UGFzc3dvcmRWMih0aGlzLnJlc2V0VXNlcm5hbWUudmFsdWUpXHJcbiAgICAgICAgLnN1YnNjcmliZShcclxuICAgICAgICAgIChyZXMpID0+IHtcclxuICAgICAgICAgICAgaWYobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJsYW5ndWFnZVwiKSA9PT0gXCJlc1wiKXtcclxuICAgICAgICAgICAgICB0aGlzLnV0aWwuc3VjY2VzcygnU2UgaGEgcmVzdGFibGVjaWRvIHN1IGNvbnRyYXNlw7FhLiBSZWNpYmlyw6EgdW4gY29ycmVvIGVsZWN0csOzbmljbyBjb24gdW5hIGNvbnRyYXNlw7FhIHRlbXBvcmFsIGUgaW5zdHJ1Y2Npb25lcyBwYXJhIGluaWNpYXIgc2VzacOzbi4nKTtcclxuICAgICAgICAgICAgfSBlbHNle1xyXG4gICAgICAgICAgICAgIHRoaXMudXRpbC5zdWNjZXNzKCdZb3VyIHBhc3N3b3JkIGhhcyBiZWVuIHJlc2V0LiBZb3Ugc2hvdWxkIHJlY2VpdmUgYW4gZW1haWwgd2l0aCBhIHRlbXBvcmFyeSBwYXNzd29yZCBhbmQgbG9naW4gaW5zdHJ1Y3Rpb25zLicpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMubG9naW5Gb3JtLnJlc2V0KCk7XHJcbiAgICAgICAgICAgIHRoaXMubG9naW5TZXJ2aWNlLnJlc2V0KCk7XHJcbiAgICAgICAgICAgIHRoaXMucmVzZXRGb3JtRGlyZWN0aXZlLnJlc2V0KCk7XHJcbiAgICAgICAgICAgIHRoaXMucmVzZXRVc2VybmFtZS5tYXJrQXNEaXJ0eSgpO1xyXG4gICAgICAgICAgICB0aGlzLnNob3dGb3Jnb3RQYXNzd29yZCA9ICF0aGlzLnNob3dGb3Jnb3RQYXNzd29yZDtcclxuICAgICAgICAgICAgdGhpcy51dGlsLmhpZGVMb2FkZXIoKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICAoZXJyKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMudXRpbC5lcnJvckhhbmRsZXIoZXJyKTtcclxuICAgICAgICAgICAgdGhpcy5sb2dpbkZvcm0ucmVzZXQoKTtcclxuICAgICAgICAgICAgdGhpcy5sb2dpblNlcnZpY2UucmVzZXQoKTtcclxuICAgICAgICAgICAgdGhpcy5yZXNldEZvcm1EaXJlY3RpdmUucmVzZXRGb3JtKCk7XHJcbiAgICAgICAgICAgIHRoaXMuc2hvd0ZvcmdvdFBhc3N3b3JkID0gIXRoaXMuc2hvd0ZvcmdvdFBhc3N3b3JkO1xyXG4gICAgICAgICAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGxvZ291dCgpIHtcclxuICAgIHRoaXMubG9naW5TZXJ2aWNlLmxvZ291dCgpO1xyXG4gICAgdGhpcy5zaG93RW1haWxWZXJpZmljYXRpb25EaWFsb2cgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIGVtYWlsVmVyaWZpY2F0aW9uU3VjY2VzcygpIHtcclxuICAgIHRoaXMuc2hvd0VtYWlsVmVyaWZpY2F0aW9uRGlhbG9nID0gZmFsc2U7XHJcbiAgICB0aGlzLnN1Y2Nlc3MuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgY2xvc2UoKSB7ICBcclxuICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XHJcbiAgICB0aGlzLmlzVVNQU0V4cGlyZWQgPSBmYWxzZTsgICBcclxuICAgXHJcbiAgfVxyXG5cclxuICBnZXQgdXNlcklkUmVxdWlyZWQoKXtcclxuICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdjb21tb24udXNlci5pZC5yZXF1aXJlZCcpO1xyXG4gIH1cclxuICBcclxuICBnZXQgdXNlcklkTWluaW11bUxlbmd0aCgpe1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdjb21tb24udXNlci5pZC5taW5sZW5ndGgnKTtcclxuICB9XHJcblxyXG4gIGdldCBwYXNzd29yZFJlcXVpcmVkKCl7XHJcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2NvbW1vbi5wYXNzd29yZC5yZXF1aXJlZCcpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGNhcHRjaGFSZXF1aXJlZCgpe1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdjb21tb24uY2FwdGNoYS5yZXF1aXJlZCcpO1xyXG4gIH1cclxufVxyXG4iLCI8cC1kaWFsb2cgWyh2aXNpYmxlKV09XCJkaXNwbGF5RGlhbG9nXCIgW21vZGFsXT1cInRydWVcIiBhcHBlbmRUbz1cImJvZHlcIj5cclxuICAgIDxoNCBjbGFzcz1cImhlYWRpbmdcIj57e1wiY29tbW9uLm1lc3NhZ2VcIiB8IHRyYW5zbGF0ZX19PC9oND5cclxuICAgIHt7XCJsb2dpbi5mb3Jnb3QuaWQuYXNzaXN0XCIgfCB0cmFuc2xhdGV9fVxyXG4gICAgPGRpdiAqbmdJZj1cInV0aWwuaXNTdGF0ZSgnTVMnKVwiPlxyXG4gICAgICAgIDx1bD5cclxuICAgICAgICAgICAgPGxpPkVtcGxveWVycyBtYXkgY2FsbCA2MDEtNDkzLTk0Mjc8L2xpPlxyXG4gICAgICAgICAgICA8bGk+Q2xhaW1hbnRzIG1heSBjYWxsIDYwMS00OTMtOTQyNy48L2xpPlxyXG4gICAgICAgIDwvdWw+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCJ1dGlsLmlzU3RhdGUoJ01FJylcIj5cclxuICAgICAgICA8dWw+XHJcbiAgICAgICAgICAgIDxsaT5FbXBsb3llcnMgbWF5IGNhbGwgMjA3LTYyMS01MTIwPC9saT5cclxuICAgICAgICAgICAgPGxpPkNsYWltYW50cyBtYXkgY2FsbCAxLTgwMC01OTMtNzY2MDwvbGk+XHJcbiAgICAgICAgPC91bD5cclxuICAgIDwvZGl2PlxyXG4gICAgPCEtLSB0b2RvOiBnZXQgS1MgbnVtYmVyLS0+XHJcbiAgICA8YnIgLz5cclxuICAgIDxwLWZvb3Rlcj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW9uLXRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiB0eXBlPVwic3VibWl0XCIgKGNsaWNrKT1cImRpc3BsYXlEaWFsb2cgPSAhZGlzcGxheURpYWxvZ1wiIGNvbG9yPVwic3VjY2Vzc1wiPlxyXG4gICAgICAgICAgICAgICAgPGlvbi1pY29uIHNsb3Q9XCJzdGFydFwiIG5hbWU9XCJjbG9zZS1zaGFycFwiPjwvaW9uLWljb24+XHJcbiAgICAgICAgICAgICAgICB7e1wiY29tbW9uLmNsb3NlXCIgfCB0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L3AtZm9vdGVyPlxyXG48L3AtZGlhbG9nPlxyXG48YXBwLW1mYTIgKm5nSWY9XCJpc090cE1vZGFsRW5hYmxlZFwiIFsoZGlzcGxheSldPVwiaXNPdHBNb2RhbEVuYWJsZWRcIiBbcmV0dXJuaW5nVXNlcl09XCJpc1JldHVybmluZ1VzZXJcIiBbdmVyaWZpY2F0aW9uUHJlZmVyZW5jZV09XCJ2ZXJpZmljYXRpb25QcmVmZXJlbmNlXCIgW3Nzbl09XCJzc25cIiAoc3VjY2Vzcyk9XCJsb2dpblN1Y2Nlc3MoKVwiIChjbGVhcik9XCJlbmFibGVMZXhpc05leGlzKClcIj48L2FwcC1tZmEyPlxyXG48YXBwLWxleGlzLW5leGlzICpuZ0lmPVwiaXNMZXhpc05leGlzUG9wdXBFbmFibGVkXCIgW2Rpc3BsYXldPVwiaXNMZXhpc05leGlzUG9wdXBFbmFibGVkXCIgW3VzZXJNb2RlbF0gPSBcInVzZXJNb2RlbFwiIChzdWNjZXNzKT1cIm9uTG5TdWNjZXNzKClcIiAoZXJyb3IpPVwib25MTkVycm9yKClcIiAodXNwcyk9XCJ0cmlnZ2VyVVNQUygpXCI+PC9hcHAtbGV4aXMtbmV4aXM+XHJcbjxhcHAtbWZhLXBvcHVwIFsoZGlzcGxheSldPVwic2hvdzJGQURpYWxvZ1wiIFt1c2VyXT1cInVzZXJNb2RlbFwiIFtyZXR1cm5pbmdVc2VyXT1cImlzUmV0dXJuaW5nVXNlclwiIFtoZWFkaW5nXT1cIm1mYUxvZ2luSGVhZGVyXCIgKHN1Y2Nlc3MpPVwibG9naW5TdWNjZXNzKClcIiAoY2xlYXIpPVwiZW5hYmxlTGV4aXNOZXhpcygkZXZlbnQpXCI+PC9hcHAtbWZhLXBvcHVwPlxyXG5cclxuXHJcbjxmb3JtIFtmb3JtR3JvdXBdPVwibG9naW5Gb3JtXCIgI2xvZ2luRm9ybURpcmVjdGl2ZT1cIm5nRm9ybVwiICpuZ0lmPVwiIXNob3dGb3Jnb3RQYXNzd29yZFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInAtZmx1aWQgcC1mb3JtZ3JpZCBwLWdyaWRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGQgaW9uLXRleHQtbGVmdFwiIHN0eWxlPVwid2lkdGg6IC13ZWJraXQtZmlsbC1hdmFpbGFibGU7XCI+XHJcbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ1c2VyUHJvZmlsZUlkXCIgW3N0eWxlLmZvbnQtc2l6ZV09XCJmb250U2l6ZVwiIFtzdHlsZS5jb2xvcl09XCJjb2xvclwiPnt7J2xvZ2luLnVzZXIuaWQnIHwgdHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICA8aW5wdXQgaWQ9XCJ1c2VyUHJvZmlsZUlkXCIgdHlwZT1cInRleHRcIiBwSW5wdXRUZXh0IG1heGxlbmd0aD1cIjMwXCIgbWlubGVuZ3RoPVwiNVwiIFtmb3JtQ29udHJvbF09XCJ1c2VybmFtZVwiPlxyXG4gICAgICAgICAgICA8YXBwLWVycm9yIFtmaWVsZF09J3VzZXJuYW1lJyBbZm9ybV09XCJsb2dpbkZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogdXNlcklkUmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICBtaW5sZW5ndGg6IHVzZXJJZE1pbmltdW1MZW5ndGhcclxuICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGQgaW9uLXRleHQtbGVmdFwiIHN0eWxlPVwid2lkdGg6IC13ZWJraXQtZmlsbC1hdmFpbGFibGU7XCI+XHJcbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ1c2VyUHJvZmlsZVBhc3N3b3JkXCIgW3N0eWxlLmZvbnQtc2l6ZV09XCJmb250U2l6ZVwiIFtzdHlsZS5jb2xvcl09XCJjb2xvclwiPnt7J2xvZ2luLnBhc3N3b3JkLmNhc2Uuc2Vuc2l0aXZlJyB8IHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgPHAtcGFzc3dvcmQgW2Zvcm1Db250cm9sXT1cInBhc3N3b3JkXCIgaW5wdXRJZD1cInVzZXJQcm9maWxlUGFzc3dvcmRcIiBbdG9nZ2xlTWFza109J3RydWUnIFtmZWVkYmFja109J2ZhbHNlJz48L3AtcGFzc3dvcmQ+XHJcbiAgICAgICAgICAgIDxhcHAtZXJyb3IgW2ZpZWxkXT0ncGFzc3dvcmQnIFtmb3JtXT1cImxvZ2luRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiBwYXNzd29yZFJlcXVpcmVkXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaW9uLXBhZGRpbmctc3RhcnQgaW9uLXBhZGRpbmctZW5kIGlvbi10ZXh0LWxlZnRcIiBzdHlsZT1cIm1hcmdpbi10b3A6IC04cHg7XCIgKm5nSWY9XCJmYWxzZVwiPlxyXG4gICAgICAgIDxhcHAtY2FwdGNoYSBbZm9ybUNvbnRyb2xdPVwiY2FwdGNoYVwiPjwvYXBwLWNhcHRjaGE+XHJcbiAgICAgICAgPGFwcC1lcnJvciBbZmllbGRdPSdjYXB0Y2hhJyBbZm9ybV09XCJsb2dpbkZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgcmVxdWlyZWQ6IGNhcHRjaGFSZXF1aXJlZFxyXG4gICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICA8L2Rpdj5cclxuXHJcblxyXG4gICAgPGRpdiBjbGFzcz1cInAtZmx1aWRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW9uLXRleHQtcmlnaHRcIj5cclxuICAgICAgICAgICAgPGlvbi1idXR0b24gKGNsaWNrKT1cInNpZ25JbigpXCIgY29sb3I9XCJwcmltYXJ5XCIgdHlwZT1cInN1Ym1pdFwiIHNoYXBlPVwicm91bmRcIiBmaWxsPVwib3V0bGluZVwiIGNsYXNzPVwid2hpdGUtYmFja2dyb3VuZFwiPlxyXG4gICAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJwb3dlci1vdXRsaW5lXCIgc2xvdD1cInN0YXJ0XCI+PC9pb24taWNvbj5cclxuICAgICAgICAgICAgICAgIHt7J2xvZ2luLmxvZ2luJyB8IHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8aW9uLXJvdyBjbGFzcz1cImlvbi1wYWRkaW5nLXRvcFwiPlxyXG4gICAgICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi10ZXh0LWxlZnRcIj5cclxuICAgICAgICAgICAgICAgIDxhIHRhYmluZGV4PVwiMFwiIHJvbGU9XCJidXR0b25cIiBjbGFzcz1cImxpbmtcIiBzdHlsZT1cImZvbnQtc2l6ZTogMTRweDtcIiAoY2xpY2spPVwic2hvd0RpYWxvZygpXCIgKGtleWRvd24uZW50ZXIpPVwic2hvd0RpYWxvZygpXCI+e3snbG9naW4udXNlci5pZC5mb3Jnb3QnIHwgdHJhbnNsYXRlfX08L2E+XHJcbiAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tdGV4dC1yaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgPGEgdGFiaW5kZXg9XCIwXCIgcm9sZT1cImJ1dHRvblwiIGNsYXNzPVwibGlua1wiIChjbGljayk9XCJzaG93Rm9yZ290UGFzc3dvcmQgPSAhc2hvd0ZvcmdvdFBhc3N3b3JkXCIgKGtleWRvd24uZW50ZXIpPVwic2hvd0ZvcmdvdFBhc3N3b3JkID0gIXNob3dGb3Jnb3RQYXNzd29yZFwiIHN0eWxlPVwiZm9udC1zaXplOiAxNHB4O1wiXHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cInN1Ym1pdFwiPnt7J2xvZ2luLnBhc3N3b3JkLmZvcmdvdCcgfCB0cmFuc2xhdGV9fTwvYT5cclxuICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgIDwvaW9uLXJvdz5cclxuICAgIDwvZGl2PlxyXG48L2Zvcm0+XHJcblxyXG48Zm9ybSAqbmdJZj1cInNob3dGb3Jnb3RQYXNzd29yZFwiIFtmb3JtR3JvdXBdPVwicmVzZXRGb3JtXCIgI3Jlc2V0Rm9ybURpcmVjdGl2ZT1cIm5nRm9ybVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInAtZmx1aWQgcC1mb3JtZ3JpZCBwLWdyaWRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGQgaW9uLXRleHQtbGVmdFwiIHN0eWxlPVwid2lkdGg6IC13ZWJraXQtZmlsbC1hdmFpbGFibGU7XCI+XHJcbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ1c2VyUHJvZmlsZUlkXCIgW3N0eWxlLmZvbnQtc2l6ZV09XCJmb250U2l6ZVwiIFtzdHlsZS5jb2xvcl09XCJjb2xvclwiPnt7J2xvZ2luLnVzZXIuaWQnIHwgdHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICA8aW5wdXQgaWQ9XCJ1c2VyUHJvZmlsZUlkXCIgdHlwZT1cInRleHRcIiBwSW5wdXRUZXh0IG1heGxlbmd0aD1cIjMwXCIgbWlubGVuZ3RoPVwiNVwiIFtmb3JtQ29udHJvbF09XCJyZXNldFVzZXJuYW1lXCI+XHJcbiAgICAgICAgICAgIDxhcHAtZXJyb3IgW2ZpZWxkXT0ncmVzZXRVc2VybmFtZScgW2Zvcm1dPVwicmVzZXRGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICByZXF1aXJlZDogdXNlcklkUmVxdWlyZWQsXHJcbiAgICAgICAgICAgIG1pbmxlbmd0aDogdXNlcklkTWluaW11bUxlbmd0aFxyXG4gICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpb24tdGV4dC1sZWZ0XCI+XHJcbiAgICAgICAgICAgIDxhcHAtY2FwdGNoYSBbZm9ybUNvbnRyb2xdPVwicmVzZXRDYXB0Y2hhXCI+PC9hcHAtY2FwdGNoYT5cclxuICAgICAgICAgICAgPGFwcC1lcnJvciBbZmllbGRdPSdyZXNldENhcHRjaGEnIFtmb3JtXT1cInJlc2V0Rm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgIHJlcXVpcmVkOiBjYXB0Y2hhUmVxdWlyZWRcclxuICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJwLWZsdWlkXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImlvbi10ZXh0LXJpZ2h0XCI+XHJcbiAgICAgICAgICAgIDxpb24tYnV0dG9uIChjbGljayk9XCJzaG93Rm9yZ290UGFzc3dvcmQgPSAhc2hvd0ZvcmdvdFBhc3N3b3JkXCIgY29sb3I9XCJwcmltYXJ5XCIgdHlwZT1cInN1Ym1pdFwiIHNoYXBlPVwicm91bmRcIiBmaWxsPVwib3V0bGluZVwiIGNsYXNzPVwid2hpdGUtYmFja2dyb3VuZFwiPlxyXG4gICAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJhcnJvdy1iYWNrLW91dGxpbmVcIiBzbG90PVwic3RhcnRcIj48L2lvbi1pY29uPlxyXG4gICAgICAgICAgICAgICAge3snbG9naW4ubG9naW4nIHwgdHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG5cclxuICAgICAgICAgICAgPGlvbi1idXR0b24gKGNsaWNrKT1cImluaXRpYXRlRm9yZ290UGFzc3dvcmQoKVwiIGNvbG9yPVwicHJpbWFyeVwiIHR5cGU9XCJzdWJtaXRcIiBzaGFwZT1cInJvdW5kXCIgZmlsbD1cIm91dGxpbmVcIlxyXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9XCJ7e3Jlc2V0Rm9ybS5pbnZhbGlkfX1cIiBjbGFzcz1cIndoaXRlLWJhY2tncm91bmRcIj5cclxuICAgICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwibWFpbC1vdXRsaW5lXCIgc2xvdD1cInN0YXJ0XCI+PC9pb24taWNvbj5cclxuICAgICAgICAgICAgICAgIHt7J2xvZ2luLnNlbmQuZW1haWwnIHwgdHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgICAgXHJcbjwvZm9ybT5cclxuXHJcbjxwLWRpYWxvZyBbdmlzaWJsZV09XCJpc1VTUFNFeHBpcmVkXCIgW21vZGFsXT1cInRydWVcIiBhcHBlbmRUbz1cImJvZHlcIiBwb3NpdGlvbj1cInRvcFwiIFticmVha3BvaW50c109XCJ7JzEyMDBweCc6ICc2NjBweCcsICc5OTJweCc6ICc2NjBweCcsICc3NjhweCc6ICc2NjBweCcsICc1NzZweCc6ICcxMDB2dyd9XCIgW3N0eWxlXT1cInt3aWR0aDogJzQ1dncnfVwiXHJcbltiYXNlWkluZGV4XT1cIjUwMDBcIiBbZHJhZ2dhYmxlXT1cImZhbHNlXCIgW3Jlc2l6YWJsZV09XCJmYWxzZVwiIGNsb3NlT25Fc2NhcGU9XCJmYWxzZVwiPlxyXG4gICAge3sndXNwcy5leHBkLnBvcHVwLmhlYWRpbmcnIHwgdHJhbnNsYXRlfX08YnIvPlxyXG4gICAgXHJcbiAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiZm9vdGVyXCI+XHJcbiAgICAgICAgPGlvbi1idXR0b24gc2hhcGU9XCJyb3VuZFwiIHR5cGU9XCJzdWJtaXRcIiBmaWxsPVwib3V0bGluZVwiIChjbGljayk9XCJjbG9zZSgpXCI+XHJcbiAgICAgICAgICB7eyd1c3BzLmV4cGQucG9wdXAuY2FuY2VsJyB8IHRyYW5zbGF0ZX19XHJcbiAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiB0eXBlPVwic3VibWl0XCIgZmlsbD1cInNvbGlkXCIgKGNsaWNrKT1cInRyaWdnZXJVU1BTRm9yRXhwaXJlZFByb2Nlc3MoKVwiPlxyXG4gICAgICAgICAge3sndXNwcy5leHBkLnBvcHVwLnByb2Nlc3MnIHwgdHJhbnNsYXRlfX1cclxuICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG48L3AtZGlhbG9nPlxyXG5cclxuPGFwcC1lbWFpbC11cGRhdGUgW2VtYWlsXT1cInVzZXJNb2RlbC5lbWFpbElkXCIgKm5nSWY9XCJzaG93RW1haWxWZXJpZmljYXRpb25EaWFsb2dcIiAob25DbG9zZSk9XCJsb2dvdXQoKVwiIChvblN1Y2Nlc3MpPVwiZW1haWxWZXJpZmljYXRpb25TdWNjZXNzKClcIj48L2FwcC1lbWFpbC11cGRhdGU+Il19
|
|
@@ -11778,17 +11778,16 @@ class UserLoginComponent {
|
|
|
11778
11778
|
this.util.errorHandler(err);
|
|
11779
11779
|
});
|
|
11780
11780
|
}
|
|
11781
|
-
|
|
11782
|
-
|
|
11783
|
-
|
|
11784
|
-
|
|
11785
|
-
|
|
11786
|
-
|
|
11787
|
-
|
|
11788
|
-
|
|
11789
|
-
|
|
11790
|
-
|
|
11791
|
-
}*/
|
|
11781
|
+
if (userModel.ssn != null) {
|
|
11782
|
+
console.log("overpayment LoginService - triggerRepaymentEvent");
|
|
11783
|
+
const data = await this.ovpService.triggerRepaymentEvent(userModel.ssn)
|
|
11784
|
+
.then(async => {
|
|
11785
|
+
})
|
|
11786
|
+
.catch(async (err) => {
|
|
11787
|
+
this.util.hideLoader();
|
|
11788
|
+
this.util.errorHandler(err);
|
|
11789
|
+
});
|
|
11790
|
+
}
|
|
11792
11791
|
if (userModel.claimantId != null) {
|
|
11793
11792
|
const data = this.ovpService.triggerOverpaymentEvent().subscribe((x) => { }, (err) => {
|
|
11794
11793
|
this.util.hideLoader();
|