@uiapplib/ngx-ui-web-lib 0.0.7 → 0.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/add-employer/add-employer.component.mjs +5 -2
- package/esm2022/lib/components/history-page/history-page.component.mjs +7 -1
- package/esm2022/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.mjs +3 -3
- package/esm2022/lib/services/chatbot/chatbot.service.mjs +3 -2
- package/fesm2022/uiapplib-ngx-ui-web-lib.mjs +14 -4
- package/fesm2022/uiapplib-ngx-ui-web-lib.mjs.map +1 -1
- package/lib/components/add-employer/add-employer.component.d.ts.map +1 -1
- package/lib/components/history-page/history-page.component.d.ts.map +1 -1
- package/lib/services/chatbot/chatbot.service.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -433,6 +433,12 @@ export class HistoryPageComponent {
|
|
|
433
433
|
window.open(`${LibConstants.benefitsUrlExternal}/faces/virtual/contextswitch.xhtml?a=${userModel.access_token}&r=${userModel.refresh_token}&v=2299&CLAIMANT_PORTAL=true&view=.uploaddocumententerssn`, '_self');
|
|
434
434
|
});
|
|
435
435
|
}
|
|
436
|
+
else if (historyModel.button && historyModel.button.dialog == 'uploadWSAPopup') {
|
|
437
|
+
let userModel = this.ls.getUser();
|
|
438
|
+
this.util.showLoader().then(() => {
|
|
439
|
+
window.open(`${LibConstants.benefitsUrlExternal}/faces/virtual/contextswitch.xhtml?a=${userModel.access_token}&r=${userModel.refresh_token}&v=2299&CLAIMANT_PORTAL=true&view=.uploaddocumentworksearchaudit`, '_self');
|
|
440
|
+
});
|
|
441
|
+
}
|
|
436
442
|
else {
|
|
437
443
|
this.util.presentToast('Scenario under development. Please check with developer.');
|
|
438
444
|
this.logger.error(historyModel);
|
|
@@ -568,4 +574,4 @@ export class HistoryPageComponent {
|
|
|
568
574
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(HistoryPageComponent, { className: "HistoryPageComponent", filePath: "lib\\components\\history-page\\history-page.component.ts", lineNumber: 28 }); })();
|
|
569
575
|
export class KeyValueModel {
|
|
570
576
|
}
|
|
571
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yeS1wYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9oaXN0b3J5LXBhZ2UvaGlzdG9yeS1wYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9oaXN0b3J5LXBhZ2UvaGlzdG9yeS1wYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQVF6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUl2RSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDZjdCLG1EQUM2QjtJQUQ2QyxtTkFBZSxlQUFBLGdCQUFTLENBQUEsSUFBQyxxTUFDbkYsZUFBQSxtQkFBVyxDQUFBLElBRHdFO0lBQ3RFLGlCQUEwQjs7O0lBRDlCLG9EQUErQjs7OztJQUV4RCxpREFDaUY7SUFBNUQsc01BQVUsZUFBQSwwQkFBa0IsQ0FBQSxJQUFDLDJMQUFZLGVBQUEseUJBQWlCLENBQUEsSUFBN0I7SUFBK0IsaUJBQXdCOzs7SUFEMUQsa0RBQTZCLCtDQUFBLDBCQUFBOzs7SUFFNUUseUNBQWtGOztJQUF2QywrQkFBaUI7OztJQW1CMUMsNEJBQXlCO0lBQUEsWUFBYTtJQUFBLGlCQUFPOzs7SUFBcEIsZUFBYTtJQUFiLG1DQUFhOzs7O0lBQ3RDLDhCQUFpRTs7O0lBQXhELGdFQUEyQjs7O0lBSHRDLCtCQUNj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ZixvQ0FBZTtZQWlCYixlQUF5RDtZQUF6RCxnRkFBeUQ7WUE2Q3BFLGVBQWU7WUFBZixvQ0FBZTtZQUsxQyxlQUF3RTtZQUF4RSxxR0FBd0U7WUFLM0MsZUFBd0M7WUFBeEMsaUVBQXdDOzJpRUQ5RWhFLENBQUMsbUJBQW1CLENBQUM7O2lGQUV0QixvQkFBb0I7Y0FOaEMsU0FBUzsyQkFDRSxrQkFBa0IsY0FHaEIsQ0FBQyxtQkFBbUIsQ0FBQzs7a0ZBRXRCLG9CQUFvQjtBQXNSakMsTUFBTSxPQUFPLGFBQWE7Q0FHekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOYXZDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xyXG5pbXBvcnQgeyBFcnJvck1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL0Vycm9yTW9kZWwnO1xyXG5pbXBvcnQgeyBMaWJDb25zdGFudHMgfSBmcm9tICcuLi8uLi9tb2RlbHMvTGliQ29uc3RhbnRzJztcclxuaW1wb3J0IHsgSGVscFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9oZWxwL2hlbHAuc2VydmljZSc7XHJcbmltcG9ydCB7IEVtcGxveWVyRGF0YU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ZpbGV1cGxvYWQvRW1wbG95ZXJEYXRhTW9kZWwnO1xyXG5pbXBvcnQgeyBCYXNlUGFnZSB9IGZyb20gJy4uLy4uL3BhZ2VzL0Jhc2VQYWdlJztcclxuaW1wb3J0IHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xvZ2dlci9sb2dnZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IFF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvUXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWwnO1xyXG5pbXBvcnQgeyBMb2dpblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sb2dpbi9sb2dpbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSGlzdG9yeU1vZGVsLCBZZWFyV2lzZUhpc3RvcnkgfSBmcm9tICcuLi8uLi9tb2RlbHMvZGFzaGJvYXJkLW1vZGVsJztcclxuaW1wb3J0IHsgcm93RXhwYW5zaW9uVHJpZ2dlciB9IGZyb20gJy4uLy4uL2FubmltYXRpb25zL2FwcC1hbmltYXRpb25zJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBVdGlsU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3V0aWwvdXRpbC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyB0aW1lciB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBFdmVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9ldmVudC1zZXJ2aWNlL2V2ZW50LXNlcnZpY2UnO1xyXG5cclxuXHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtaGlzdG9yeS1wYWdlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaGlzdG9yeS1wYWdlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vaGlzdG9yeS1wYWdlLmNvbXBvbmVudC5jc3MnLFxyXG4gIGFuaW1hdGlvbnM6IFtyb3dFeHBhbnNpb25UcmlnZ2VyXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSGlzdG9yeVBhZ2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBzZWxlY3RlZE1vZGVsOiBIaXN0b3J5TW9kZWw7XHJcbiAgaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgaGlzdG9yaWVzOiBZZWFyV2lzZUhpc3RvcnlbXTtcclxuICBmaWx0ZXJlZEhpc3RvcmllczogWWVhcldpc2VIaXN0b3J5W107XHJcbiAgZmlsdGVyT3B0aW9uczogYW55W107XHJcbiAgdGltZU9wdGlvbjogYW55W107XHJcbiAgdmFsdWUgPSB7IGljb246IG51bGwsIGRlc2M6ICdBbGwnLCB2YWx1ZTogXCJBTExcIiB9O1xyXG4gIHRpbWUgPSB7IGljb246ICdjbG9jaycsIGRlc2M6ICdjdXJyZW50JywgdmFsdWU6IFwiQ1VSUlwiIH07XHJcbiAgZmlsdGVyID0geyBpY29uOiBudWxsLCBkZXNjOiAnYWxsIHlvdXIgaGlzdG9yeScsIHZhbHVlOiBcIkFMTFwiLCBhbHREZXNjOiAnYWxsJyB9O1xyXG4gIGZpbHRlckljb24gPSAnaGlzdG9yeSc7XHJcbiAgcGF5bWVudFRleHQ6IHN0cmluZztcclxuICBxZVF1ZXJ5TW9kZWxzOiBRdWVzdGlvbm5haXJlUXVlcnlNb2RlbFtdO1xyXG4gIGlzT3BlblFlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgc2hvd09sZGVyUmVjb3Jkc0xpbms6IGJvb2xlYW47XHJcbiAgdHJhbnNhY3Rpb25JZFNlbGVjdGVkOiBhbnk7XHJcbiAgc2hvd1VwbG9hZFBvcHVwOiBib29sZWFuID0gZmFsc2U7XHJcbiAgdXBsb2FkVHlwZUlkOiBTdHJpbmc7XHJcbiAgZW1wbG95ZXJEYXRhTW9kZWw6IEFycmF5PEVtcGxveWVyRGF0YU1vZGVsPjtcclxuICBjb3VudCA9IDA7XHJcbiAgZGF0YU1vZGVsIDogYW55O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVzOiBFdmVudFNlcnZpY2UsIHB1YmxpYyBoczogSGVscFNlcnZpY2UsIHByaXZhdGUgdXRpbDogVXRpbFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIG5hdjogTmF2Q29udHJvbGxlciwgcHVibGljIGxzOiBMb2dpblNlcnZpY2UsIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLCBwcml2YXRlIGxvZ2dlcjogTG9nZ2VyU2VydmljZSxcclxuICAgIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMudGltZU9wdGlvbiA9IFtcclxuICAgICAgeyBpY29uOiAnY2xvY2snLCBkZXNjOiAnY3VycmVudCcsIHZhbHVlOiBcIkNVUlJcIiB9LFxyXG4gICAgICB7IGljb246ICdoaXN0b3J5JywgZGVzYzogJ3Bhc3QnLCB2YWx1ZTogXCJQQVNUXCIgfSxcclxuICAgIF07XHJcblxyXG4gICAgaWYgKHRoaXMudXRpbC5pc1N0YXRlKCdNUycpKSB7XHJcbiAgICAgIHRoaXMucGF5bWVudFRleHQgPSBcIndlZWtseSBjZXJ0aWZpY2F0aW9ucyBhbmQgcGF5bWVudHNcIlxyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMucGF5bWVudFRleHQgPSBcIndlZWtsaWVzIGFuZCBwYXltZW50c1wiXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5maWx0ZXJPcHRpb25zID0gW1xyXG4gICAgICB7IGljb246IG51bGwsIGRlc2M6ICdhbGwgeW91ciBoaXN0b3J5JywgdmFsdWU6IFwiQUxMXCIsIGFsdERlc2M6ICdhbGwnIH0sXHJcbiAgICAgIHsgaWNvbjogJ3NhY2stZG9sbGFyJywgZGVzYzogdGhpcy5wYXltZW50VGV4dCwgdmFsdWU6IFwiV0tMWVwiIH0sXHJcbiAgICAgIHsgaWNvbjogJ2ZpbGUtdXBsb2FkJywgZGVzYzogJ3VwbG9hZGVkIGRvY3VtZW50cycsIHZhbHVlOiBcIkRPQ1NcIiB9LFxyXG4gICAgICB7IGljb246ICdiYWxhbmNlLXNjYWxlJywgZGVzYzogJ2lzc3VlICYgYXBwZWFscycsIHZhbHVlOiBcIkFQUExcIiB9XHJcblxyXG4gICAgXTtcclxuXHJcbiAgICBsZXQgdHhuSWQgPSB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1NYXAuZ2V0KCd0eG5pZCcpO1xyXG4gICAgaWYgKHR4bklkICE9IG51bGwpIHtcclxuICAgICAgdGhpcy50cmFuc2FjdGlvbklkU2VsZWN0ZWQgPSBhdG9iKHR4bklkKTtcclxuICAgICAgLy90aGlzLmxvZ2dlci5pbmZvKHRoaXMudHJhbnNhY3Rpb25JZFNlbGVjdGVkKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgdGhpcy5sb2FkSGlzdG9yeSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q3VycmVudFllYXJIaXN0b3J5KCkge1xyXG4gICAgbGV0IHR5cGVGaWx0ZXIgPSB0aGlzLmZpbHRlci52YWx1ZTtcclxuICAgIGxldCB0aW1lRmlsdGVyID0gdGhpcy50aW1lLnZhbHVlO1xyXG4gICAgXHJcblxyXG4gICAgaWYgKHRpbWVGaWx0ZXIgPT0gJ0NVUlInKSB7XHJcbiAgICAgIHRoaXMuZmlsdGVyZWRIaXN0b3JpZXMgPSB0aGlzLmhpc3Rvcmllcy5maWx0ZXIoaGlzdCA9PiAoaGlzdC55ZWFyICE9ICdTdGFydCcgJiYgcGFyc2VJbnQoaGlzdC55ZWFyKSA9PSBuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCkpKTtcclxuICAgICAgdGhpcy5maWx0ZXJlZEhpc3RvcmllcyA9IHRoaXMuZ2V0RmlsdGVyZWRIaXN0b3JpZXModGhpcy5maWx0ZXJlZEhpc3RvcmllcywgdHlwZUZpbHRlcik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRJY29uKGhpc3Rvcnk6IEhpc3RvcnlNb2RlbCkge1xyXG4gICAgbGV0IGhpc3QgPSB0aGlzLmZpbHRlck9wdGlvbnMuZmlsdGVyKGZvID0+IGZvLnZhbHVlID09IGhpc3RvcnkucHJvY2Vzc1R5cGUpWzBdO1xyXG4gICAgaWYgKGhpc3QpIHtcclxuICAgICAgcmV0dXJuIFsnZmFyJywgaGlzdC5pY29uXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgbG9hZEhpc3RvcnkoKSB7XHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLmVzLmdldEhpc3RvcnlPZkxvZ2dlZGluVXNlcigpXHJcbiAgICAgIC5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICB0aGlzLmhpc3RvcmllcyA9IHJlcy5oaXN0b3J5O1xyXG4gICAgICAgIHRoaXMuc2hvd09sZGVyUmVjb3Jkc0xpbmsgPSByZXMuc2hvd09sZGVyUmVjb3Jkc0xpbms7XHJcbiAgICAgICAgLy90aGlzLmZpbHRlcmVkSGlzdG9yaWVzID0gWy4uLnRoaXMuaGlzdG9yaWVzXTtcclxuICAgICAgICB0aGlzLmdldEN1cnJlbnRZZWFySGlzdG9yeSgpO1xyXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIH0sIGVyciA9PiB7XHJcbiAgICAgICAgdGhpcy5oaXN0b3JpZXMgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5maWx0ZXJlZEhpc3RvcmllcyA9IG51bGw7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICBsZXQgdHlwZUZpbHRlciA9IHRoaXMuZmlsdGVyLnZhbHVlO1xyXG4gICAgbGV0IHRpbWVGaWx0ZXIgPSB0aGlzLnRpbWUudmFsdWU7XHJcbiAgICB0aGlzLmZpbHRlckljb24gPSB0aGlzLnRpbWUuaWNvbjtcclxuICAgIGlmICh0aW1lRmlsdGVyID09ICdDVVJSJykge1xyXG4gICAgICB0aGlzLmZpbHRlcmVkSGlzdG9yaWVzID0gdGhpcy5oaXN0b3JpZXMuZmlsdGVyKGhpc3QgPT4gKGhpc3QueWVhciAhPSAnU3RhcnQnICYmIHBhcnNlSW50KGhpc3QueWVhcikgPT0gbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpKSk7XHJcbiAgICAgIHRoaXMuZmlsdGVyZWRIaXN0b3JpZXMgPSB0aGlzLmdldEZpbHRlcmVkSGlzdG9yaWVzKHRoaXMuZmlsdGVyZWRIaXN0b3JpZXMsIHR5cGVGaWx0ZXIpO1xyXG4gICAgfSBlbHNlIGlmICh0aW1lRmlsdGVyID09ICdQQVNUJykge1xyXG4gICAgICB0aGlzLmZpbHRlcmVkSGlzdG9yaWVzID0gdGhpcy5oaXN0b3JpZXMuZmlsdGVyKGhpc3QgPT4gKGhpc3QueWVhciAhPSAnU3RhcnQnICYmIGhpc3QueWVhciAhPSBuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCkgKyAnJykpO1xyXG4gICAgICB0aGlzLmZpbHRlcmVkSGlzdG9yaWVzID0gdGhpcy5nZXRGaWx0ZXJlZEhpc3Rvcmllcyh0aGlzLmZpbHRlcmVkSGlzdG9yaWVzLCB0eXBlRmlsdGVyKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodHlwZUZpbHRlciAhPSAnQUxMJykge1xyXG4gICAgICB0aGlzLmZpbHRlckljb24gPSB0aGlzLmZpbHRlci5pY29uO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCB5d2ggPSB0aGlzLmZpbHRlcmVkSGlzdG9yaWVzLmZpbHRlcihoID0+IGgueWVhciA9PSAnU3RhcnQnKTtcclxuXHJcbiAgICBpZiAodGhpcy5maWx0ZXJlZEhpc3Rvcmllcy5sZW5ndGggPiAwICYmIHl3aC5sZW5ndGggPCAxKSB7XHJcbiAgICAgIHRoaXMuZmlsdGVyZWRIaXN0b3JpZXMucHVzaCh7XHJcbiAgICAgICAgY29sb3I6ICd2YXIoLS1pb24tY29sb3ItbWVkaXVtLWdyYXkpJyxcclxuICAgICAgICBpY29uOiAnaG91cmdsYXNzLXN0YXJ0JyxcclxuICAgICAgICBoaXN0b3J5OiBbXSxcclxuICAgICAgICB5ZWFyOiAnU3RhcnQnXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0RmlsdGVyZWRIaXN0b3JpZXMoaGlzdG9yaWVzOiBZZWFyV2lzZUhpc3RvcnlbXSwgZmlsdGVyOiBzdHJpbmcpIHtcclxuICAgIGlmIChmaWx0ZXIgPT0gJ0FMTCcpIHtcclxuICAgICAgdGhpcy5jb3VudCA9IHRoaXMuY291bnQgKyAxO1xyXG4gICAgICByZXR1cm4gaGlzdG9yaWVzO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGhpc3Rvcmllc1xyXG4gICAgICAuZmlsdGVyKGhpc3QgPT4gaGlzdC5oaXN0b3J5LnNvbWUoc3ViSGlzdCA9PiBzdWJIaXN0LnByb2Nlc3NUeXBlID09PSBmaWx0ZXIpKVxyXG4gICAgICAubWFwKGhpc3RvcnkgPT4ge1xyXG4gICAgICAgIGxldCBuZXdIaXN0ID0gT2JqZWN0LmFzc2lnbih7fSwgaGlzdG9yeSk7XHJcbiAgICAgICAgbmV3SGlzdC5oaXN0b3J5ID0gbmV3SGlzdC5oaXN0b3J5LmZpbHRlcihoaXN0ID0+IGhpc3QucHJvY2Vzc1R5cGUgPT09IGZpbHRlcik7XHJcbiAgICAgICAgcmV0dXJuIG5ld0hpc3Q7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgaW9uVmlld1dpbGxMZWF2ZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuaHMuc2V0SGVscEF2YWlsYWJpbGl0eShmYWxzZSk7XHJcbiAgfVxyXG5cclxuICBpb25WaWV3RGlkRW50ZXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLmhzLnNldEhlbHBBdmFpbGFiaWxpdHkodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBpc1ZhbHVlU2VsZWN0ZWQoaGlzdG9yeTogSGlzdG9yeU1vZGVsLCBjb3VudDogYW55KSB7XHJcbiAgICAvL3RoaXMubG9nZ2VyLmluZm8oJ2lzIHZhbHVlIHNlbGVjdGVkJyAsIHRoaXMudHJhbnNhY3Rpb25JZFNlbGVjdGVkKTtcclxuICAgIGlmICh0aGlzLnRyYW5zYWN0aW9uSWRTZWxlY3RlZCA9PSBudWxsICYmIGNvdW50ID09IDApIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9IGVsc2UgaWYgKGhpc3RvcnkudHJhbnNhY3Rpb25JZCA9PSB0aGlzLnRyYW5zYWN0aW9uSWRTZWxlY3RlZCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIG9wZW4oaGlzdG9yeU1vZGVsOiBIaXN0b3J5TW9kZWwpIHtcclxuICAgIC8vdGhpcy5sb2dnZXIuaW5mbygnaW5zaWRlIGNsaWNrIG9mIGhpc3RvcnkgYnV0dG9uID0gJysgaGlzdG9yeU1vZGVsKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRNb2RlbCA9IGhpc3RvcnlNb2RlbDtcclxuICAgIGlmIChoaXN0b3J5TW9kZWwuYnV0dG9uLnVyaS5pbmNsdWRlcyhcIlBvcHVwXCIpKSB7XHJcbiAgICAgIHRoaXMubG9nZ2VyLmluZm8oJ0hpc3RvcnkgYnV0dG9uIHVyaSBpbmNsdWRlcyBQb3B1cCB2YWx1ZScpO1xyXG4gICAgICBpZiAodGhpcy5scy5pc0NzcigpICYmIGhpc3RvcnlNb2RlbC5idXR0b24gJiYgaGlzdG9yeU1vZGVsLmJ1dHRvbi5jbG10T25seUZOID09ICcxJykge1xyXG4gICAgICAgIGxldCBlcnJvck1vZGVsOiBFcnJvck1vZGVsID0gbmV3IEVycm9yTW9kZWwoKTtcclxuICAgICAgICBlcnJvck1vZGVsLm1zZyA9IFwiVGhpcyBpcyBhIGNsYWltYW50IG9ubHkgZnVuY3Rpb25hbGl0eS5cIjtcclxuICAgICAgICB0aGlzLnV0aWwuZXJyb3JIYW5kbGVyKGVycm9yTW9kZWwpO1xyXG4gICAgICB9IGVsc2UgaWYgKGhpc3RvcnlNb2RlbC5idXR0b24gJiYgaGlzdG9yeU1vZGVsLmFjdGlvblVyaSA9PSAnQXBwZWFsc1BvcHVwJyAmJiBoaXN0b3J5TW9kZWwuZGF0YS5xZURhdGEpIHtcclxuICAgICAgICBsZXQgcXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWxzOiBBcnJheTxRdWVzdGlvbm5haXJlUXVlcnlNb2RlbD4gPSBKU09OLnBhcnNlKGhpc3RvcnlNb2RlbC5kYXRhLnFlRGF0YSk7XHJcbiAgICAgICAgdGhpcy5xZVF1ZXJ5TW9kZWxzID0gdGhpcy5jcmVhdGVRZVF1ZXJ5TW9kZWwocXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWxzKTtcclxuICAgICAgICB0aGlzLmlzT3BlblFlID0gdHJ1ZTtcclxuICAgICAgfSBlbHNlIGlmIChoaXN0b3J5TW9kZWwuYnV0dG9uICYmIGhpc3RvcnlNb2RlbC5idXR0b24uZGlhbG9nID09ICd1cGxvYWRQb3B1cEluQ3AnKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2codGhpcy5zZWxlY3RlZE1vZGVsLmRhdGEpO1xyXG4gICAgICAgIHRoaXMudXBsb2FkVHlwZUlkID0gdGhpcy5zZWxlY3RlZE1vZGVsLmRhdGEudXBsb2FkVHlwZUlkO1xyXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkTW9kZWwuZGF0YT8uZW1wbG95ZXJEYXRhICE9IG51bGwpIHtcclxuICAgICAgICAgIHRoaXMuZW1wbG95ZXJEYXRhTW9kZWwgPSBKU09OLnBhcnNlKHRoaXMuc2VsZWN0ZWRNb2RlbC5kYXRhPy5lbXBsb3llckRhdGEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZE1vZGVsLmRhdGEgIT0gbnVsbCkge1xyXG4gICAgICAgICAgdGhpcy5kYXRhTW9kZWwgPSB0aGlzLnNlbGVjdGVkTW9kZWwuZGF0YTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zaG93VXBsb2FkUG9wdXAgPSB0cnVlO1xyXG4gICAgICB9IGVsc2UgaWYgKGhpc3RvcnlNb2RlbC5idXR0b24gJiYgaGlzdG9yeU1vZGVsLmJ1dHRvbi5kaWFsb2cgPT0gJ3VwbG9hZFBvcHVwJykge1xyXG4gICAgICAgIGxldCB1c2VyTW9kZWwgPSB0aGlzLmxzLmdldFVzZXIoKTtcclxuICAgICAgICB0aGlzLnV0aWwuc2hvd0xvYWRlcigpLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgICAgd2luZG93Lm9wZW4oYCR7TGliQ29uc3RhbnRzLmJlbmVmaXRzVXJsRXh0ZXJuYWx9L2ZhY2VzL3ZpcnR1YWwvY29udGV4dHN3aXRjaC54aHRtbD9hPSR7dXNlck1vZGVsLmFjY2Vzc190b2tlbn0mcj0ke3VzZXJNb2RlbC5yZWZyZXNoX3Rva2VufSZ2PTIyOTkmQ0xBSU1BTlRfUE9SVEFMPXRydWUmdmlldz0udXBsb2FkZG9jdW1lbnRlbnRlcnNzbmAsICdfc2VsZicpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMudXRpbC5wcmVzZW50VG9hc3QoJ1NjZW5hcmlvIHVuZGVyIGRldmVsb3BtZW50LiBQbGVhc2UgY2hlY2sgd2l0aCBkZXZlbG9wZXIuJyk7XHJcbiAgICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoaGlzdG9yeU1vZGVsKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAoaGlzdG9yeU1vZGVsLmJ1dHRvbi51cmkgIT0gJycgJiYgaGlzdG9yeU1vZGVsLmJ1dHRvbi51cmkuaW5jbHVkZXMoXCJQYWdlXCIpKSB7XHJcbiAgICAgIHRoaXMubG9nZ2VyLmluZm8oJ0hpc3RvcnkgYnV0dG9uIHVyaSBpbmNsdWRlcyBQYWdlIHZhbHVlJyk7XHJcbiAgICAgIGlmIChoaXN0b3J5TW9kZWwuZGF0YSAmJiBoaXN0b3J5TW9kZWwuZGF0YS5xZURhdGEpIHtcclxuICAgICAgICBsZXQganNvbkRhdGEgPSBKU09OLnBhcnNlKGhpc3RvcnlNb2RlbC5kYXRhLnFlRGF0YSk7XHJcbiAgICAgICAgdGhpcy51dGlsLm9wZW5QYWdlQnlDb250ZXh0Um9vdFdpdGhEYXRhKGhpc3RvcnlNb2RlbC5idXR0b24uY29udGV4dCwgaGlzdG9yeU1vZGVsLmJ1dHRvbi51cmwsIGpzb25EYXRhWzBdLmR5bmFtaWNQYXJhbSwgdGhpcy5uYXYpO1xyXG4gICAgICB9IGVsc2UgaWYgKGhpc3RvcnlNb2RlbC5kYXRhKSB7XHJcbiAgICAgICAgdGhpcy51dGlsLm9wZW5QYWdlQnlDb250ZXh0Um9vdFdpdGhEYXRhKGhpc3RvcnlNb2RlbC5idXR0b24uY29udGV4dCwgaGlzdG9yeU1vZGVsLmJ1dHRvbi51cmwsIGhpc3RvcnlNb2RlbC5kYXRhLCB0aGlzLm5hdilcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnV0aWwub3BlblBhZ2VCeUNvbnRleHRSb290KGhpc3RvcnlNb2RlbC5idXR0b24uY29udGV4dCwgaGlzdG9yeU1vZGVsLmJ1dHRvbi51cmwsIHRoaXMubmF2KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3Blbk9sZFJlY29yZHMoKSB7XHJcbiAgICBsZXQgdXNlck1vZGVsID0gdGhpcy5scy5nZXRVc2VyKCk7XHJcbiAgICB0aGlzLnV0aWwuc2hvd0xvYWRlcigpLnRoZW4oKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5scy5pc0NzcigpKSB7XHJcbiAgICAgICAgd2luZG93Lm9wZW4oYCR7TGliQ29uc3RhbnRzLmJlbmVmaXRzVXJsRXh0ZXJuYWx9L2ZhY2VzL3ZpcnR1YWwvY29udGV4dHN3aXRjaC54aHRtbD9hPSR7dXNlck1vZGVsLmFjY2Vzc190b2tlbn0mcj0ke3VzZXJNb2RlbC5yZWZyZXNoX3Rva2VufSZ2PTIyOTlgLCAnX3NlbGYnKTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmxzLmlzQ2xhaW1hbnQoKSkge1xyXG4gICAgICAgIHdpbmRvdy5vcGVuKGAke0xpYkNvbnN0YW50cy5iZW5lZml0c1VybEV4dGVybmFsfS9mYWNlcy92aXJ0dWFsL2NvbnRleHRzd2l0Y2gueGh0bWw/YT0ke3VzZXJNb2RlbC5hY2Nlc3NfdG9rZW59JnI9JHt1c2VyTW9kZWwucmVmcmVzaF90b2tlbn0mdj0yMjk5JkNMQUlNQU5UX1BPUlRBTD10cnVlJnZpZXc9LmNsYWltYW50c3VtbWFyeWAsICdfc2VsZicpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlUWVRdWVyeU1vZGVsKHF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsczogUXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWxbXSkge1xyXG4gICAgcmV0dXJuIHF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVscy5tYXAocXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWwgPT4ge1xyXG4gICAgICBsZXQgZHluYW1pY1BhcmFtID0ge307XHJcbiAgICAgIHZhciBrZXlNb2RlbCA9IDxLZXlWYWx1ZU1vZGVsPnF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsLmR5bmFtaWNQYXJhbVswXTtcclxuICAgICAgdmFyIHRpdGxlID0ga2V5TW9kZWwua2V5O1xyXG4gICAgICB2YXIgdmVyYmFpZ2VLZXkgPSBrZXlNb2RlbC52YWx1ZTtcclxuICAgICAgY29uc3QgdHJhbnNsYXRlZFRleHQgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KHZlcmJhaWdlS2V5KTtcclxuICAgICAgZHluYW1pY1BhcmFtW3RpdGxlXSA9IHRyYW5zbGF0ZWRUZXh0O1xyXG4gICAgICBkeW5hbWljUGFyYW1bJ2hpZEFwcGVhbERlY2lzaW9uJ10gPSBxdWVzdGlvbm5haXJlUXVlcnlNb2RlbC5kYXRhWydoaWRBcHBlYWxEZWNpc2lvbiddO1xyXG4gICAgICBkeW5hbWljUGFyYW1bJ2RvY2tldG51bWJlciddID0gcXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWwuZGF0YVsnZG9ja2V0bnVtYmVyJ107XHJcbiAgICAgIGR5bmFtaWNQYXJhbVsncGFyZW50QXBwZWFsSWQnXSA9IHF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsLmRhdGFbJ3BhcmVudEFwcGVhbElkJ107XHJcbiAgICAgIGR5bmFtaWNQYXJhbVsnYXBwZWFsVHlwZSddID0gcXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWwuZGF0YVsnYXBwZWFsVHlwZSddO1xyXG4gICAgICBkeW5hbWljUGFyYW1bJ2FwcGVhbExldmVsJ10gPSBxdWVzdGlvbm5haXJlUXVlcnlNb2RlbC5kYXRhWydhcHBlYWxMZXZlbCddO1xyXG4gICAgICBpZiAodGhpcy51dGlsLmlzU3RhdGUoJ01FJykpIHtcclxuICAgICAgICBkeW5hbWljUGFyYW1bJ2FwcGVhbENvbnNpZGVyZWRMYXRlRGF0ZSddID0gcXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWwuZGF0YVsnYXBwZWFsQ29uc2lkZXJlZExhdGVEYXRlJ107XHJcbiAgICAgICAgZHluYW1pY1BhcmFtWydsYXRlQXBwZWFsJ10gPSBxdWVzdGlvbm5haXJlUXVlcnlNb2RlbC5kYXRhWydsYXRlQXBwZWFsJ107XHJcbiAgICAgIH1cclxuICAgICAgcXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWxbJ2R5bmFtaWNQYXJhbSddID0gZHluYW1pY1BhcmFtO1xyXG4gICAgICBxdWVzdGlvbm5haXJlUXVlcnlNb2RlbFsnYXV0b1NhdmUnXSA9IHRydWU7XHJcbiAgICAgIHJldHVybiBxdWVzdGlvbm5haXJlUXVlcnlNb2RlbDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgY2xvc2VRZSgpIHtcclxuICAgIHRoaXMuaXNPcGVuUWUgPSBmYWxzZTtcclxuICAgIHRoaXMuc2VsZWN0ZWRNb2RlbCA9IG51bGw7XHJcbiAgICB0aGlzLmxvZ2dlci5pbmZvKCdRZSBjYW5jZWwnKTtcclxuICB9XHJcblxyXG4gIHF1U3VjY2VzcygpIHtcclxuICAgIHRoaXMuaGlzdG9yaWVzID0gbnVsbDtcclxuICAgIHRoaXMuaXNPcGVuUWUgPSBmYWxzZTtcclxuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkTW9kZWwpIHtcclxuICAgICAgdGhpcy5lc1xyXG4gICAgICAgIC5kaXNhYmxlSGlzdG9yeUJ1dHRvbih0aGlzLnNlbGVjdGVkTW9kZWwudHJhbnNhY3Rpb25JZCwgdGhpcy5zZWxlY3RlZE1vZGVsLmhpc3RvcnlLZXkpXHJcbiAgICAgICAgLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICAgICAgdGltZXIoMjAwMCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5sb2FkSGlzdG9yeSgpXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9LCBlcnIgPT4ge1xyXG4gICAgICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoXCJFcnJvciB3aGlsZSBkZWFjdGl2YXRpbmcgdGhlIGV2ZW50LlwiLCBlcnIpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5sb2dnZXIuaW5mbygnUWUgc3VjY2VzcycpO1xyXG4gIH1cclxuXHJcbiAgY2xvc2VVcGxvYWRQb3B1cCgpIHtcclxuICAgIHRoaXMuc2hvd1VwbG9hZFBvcHVwID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICB1cGxvYWRQb3B1cERvbmUoKSB7XHJcbiAgICB0aGlzLnNob3dVcGxvYWRQb3B1cCA9IGZhbHNlO1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRNb2RlbCkge1xyXG4gICAgICB0aGlzLmVzXHJcbiAgICAgICAgLmRpc2FibGVIaXN0b3J5QnV0dG9uKHRoaXMuc2VsZWN0ZWRNb2RlbC50cmFuc2FjdGlvbklkLCB0aGlzLnNlbGVjdGVkTW9kZWwuaGlzdG9yeUtleSlcclxuICAgICAgICAuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xyXG4gICAgICAgICAgfSwgMTAwMCk7XHJcbiAgICAgICAgfSwgZXJyID0+IHtcclxuICAgICAgICAgIHRoaXMubG9nZ2VyLmVycm9yKFwiRXJyb3Igd2hpbGUgZGVhY3RpdmF0aW5nIHRoZSBldmVudC5cIiwgZXJyKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIEtleVZhbHVlTW9kZWwge1xyXG4gIGtleTogc3RyaW5nO1xyXG4gIHZhbHVlOiBzdHJpbmc7XHJcbn1cclxuXHJcbiIsIjxhcHAtbXVsdGktcXVlc3Rpb25uYWlyZSBbcWVRdWVyeU1vZGVsc109XCJxZVF1ZXJ5TW9kZWxzXCIgKm5nSWY9XCJpc09wZW5RZVwiIChtb2RlbENhbmNlbCk9XCJjbG9zZVFlKClcIlxyXG4gIChvbkNvbXBsZXRlKT1cInF1U3VjY2VzcygpXCI+PC9hcHAtbXVsdGktcXVlc3Rpb25uYWlyZT5cclxuPGFwcC1wcm9vZi1vZi1hbnl0aGluZyAqbmdJZj1cInNob3dVcGxvYWRQb3B1cFwiIFt1cGxvYWRUeXBlSWRdPVwidXBsb2FkVHlwZUlkXCIgW2VtcGxveWVyRGF0YU1vZGVsXT1cImVtcGxveWVyRGF0YU1vZGVsXCJcclxuICBbZGF0YV09XCJkYXRhTW9kZWxcIiAoY2FuY2VsKT1cImNsb3NlVXBsb2FkUG9wdXAoKVwiIChzdWNjZXNzKT1cInVwbG9hZFBvcHVwRG9uZSgpXCI+PC9hcHAtcHJvb2Ytb2YtYW55dGhpbmc+XHJcbjxhcHAtZGFzaGJvYXJkLWhlbHAgKm5nSWY9XCJocy5pc1Nob3dpbmcoKVwiIFthY3RpdmVJbmRleF09XCIwXCI+PC9hcHAtZGFzaGJvYXJkLWhlbHA+XHJcbjxpb24tZ3JpZD5cclxuICA8aW9uLXJvdz5cclxuICAgIDxpb24tY29sIHNpemU9XCIxMlwiIHNpemVYbD1cIjhcIiBzaXplTGc9XCI4XCIgc2l6ZU1kPVwiMTBcIiBvZmZzZXRYbD1cIjJcIiBvZmZzZXRMZz1cIjJcIiBvZmZzZXRNZD1cIjFcIj5cclxuICAgICAgPGgxPllvdXIgdW5lbXBsb3ltZW50IGhpc3Rvcnk8L2gxPlxyXG4gICAgPC9pb24tY29sPlxyXG4gIDwvaW9uLXJvdz5cclxuICA8aW9uLXJvdz5cclxuICAgIDxpb24tY29sIHNpemU9XCIxMlwiIHNpemVYbD1cIjhcIiBzaXplTGc9XCI4XCIgc2l6ZU1kPVwiMTBcIiBvZmZzZXRYbD1cIjJcIiBvZmZzZXRMZz1cIjJcIiBvZmZzZXRNZD1cIjFcIj5cclxuXHJcbiAgICAgIDxpb24tcm93PlxyXG4gICAgICAgIDxpb24tY29sIHNpemU9XCIzXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW9uLXRleHQtbGVmdCBmaWVsZFwiICpuZ0lmPVwiaGlzdG9yaWVzXCI+XHJcbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ0aW1lbGluZVwiIGlkPVwibGJsVGltZWxpbmVcIj57e3RpbWU/LmRlc2N9fTwvbGFiZWw+PGJyIC8+XHJcbiAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBbb3B0aW9uc109XCJ0aW1lT3B0aW9uXCIgWyhuZ01vZGVsKV09XCJ0aW1lXCIgb3B0aW9uTGFiZWw9XCJkZXNjXCJcclxuICAgICAgICAgICAgICAob25DaGFuZ2UpPVwiaGFuZGxlQ2hhbmdlKCRldmVudClcIiBbYXJpYUxhYmVsbGVkQnldPVwiJ2xibFRpbWVsaW5lJ1wiPlxyXG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtaXRlbSBwVGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IFtwVG9vbHRpcF09XCJpdGVtLmRlc2NcIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIiB0YWJpbmRleD1cIjBcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIml0ZW0uZGVzY1wiXHJcbiAgICAgICAgICAgICAgICAgIHJvbGU9XCJub3RlXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWl0ZW0uaWNvblwiPnt7aXRlbS5kZXNjfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cIlsnZmFyJywgaXRlbS5pY29uXVwiICpuZ0lmPVwiaXRlbS5pY29uXCI+PC9mYS1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICA8aW9uLWNvbCBzaXplPVwiOVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImlvbi10ZXh0LXJpZ2h0IGZpZWxkXCIgKm5nSWY9XCJoaXN0b3JpZXNcIj5cclxuICAgICAgICAgICAgPGxhYmVsPnt7ZmlsdGVyPy5kZXNjfX08L2xhYmVsPjxiciAvPlxyXG4gICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gW29wdGlvbnNdPVwiZmlsdGVyT3B0aW9uc1wiIFsobmdNb2RlbCldPVwiZmlsdGVyXCIgb3B0aW9uTGFiZWw9XCJpY29uXCJcclxuICAgICAgICAgICAgICAob25DaGFuZ2UpPVwiaGFuZGxlQ2hhbmdlKCRldmVudClcIj5cclxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWl0ZW0gcFRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBbcFRvb2x0aXBdPVwiaXRlbS5kZXNjXCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgdGFiaW5kZXg9XCIwXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJpdGVtLmRlc2NcIlxyXG4gICAgICAgICAgICAgICAgICByb2xlPVwibm90ZVwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFpdGVtLmljb25cIj57e2l0ZW0uYWx0RGVzY319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJbJ2ZhcicsIGl0ZW0uaWNvbl1cIiAqbmdJZj1cIml0ZW0uaWNvblwiPjwvZmEtaWNvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgIDwvaW9uLXJvdz5cclxuXHJcbiAgICAgIDxiciAvPlxyXG4gICAgICA8cC10aW1lbGluZSBbdmFsdWVdPVwiZmlsdGVyZWRIaXN0b3JpZXNcIiAqbmdJZj1cIihmaWx0ZXJlZEhpc3RvcmllcyAmJiBmaWx0ZXJlZEhpc3Rvcmllcy5sZW5ndGggPiAwKVwiPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJtYXJrZXJcIiBsZXQtaGlzdD5cclxuICAgICAgICAgIDxzcGFuIFtzdHlsZS5jb2xvcl09XCJoaXN0LmNvbG9yXCI+XHJcbiAgICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cIlsnZmFyJywgaGlzdC5pY29uXVwiIGNsYXNzPVwiY3VzdG9tLW1hcmtlclwiPjwvZmEtaWNvbj5cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJjb250ZW50XCIgbGV0LWhpc3Q+XHJcbiAgICAgICAgICA8aDEgY2xhc3M9XCJhcHAtYWNjb3JkaWFuLWhlYWRpbmdcIiBzdHlsZT1cIm1hcmdpbi10b3A6IDBweDsgZm9udC13ZWlnaHQ6IGJvbGQ7XCI+e3toaXN0LnllYXJ9fTwvaDE+XHJcbiAgICAgICAgICA8cC1hY2NvcmRpb24gZXhwYW5kSWNvbj1cInBpIHBpLWZ3IHBpLWNoZXZyb24tdXBcIiBjb2xsYXBzZUljb249XCJwaSBwaS1mdyBwaS1jaGV2cm9uLXVwXCI+XHJcbiAgICAgICAgICAgIDxwLWFjY29yZGlvblRhYiAqbmdGb3I9XCJsZXQgaGlzdG9yeSBvZiBoaXN0Lmhpc3Rvcnk7IGxldCBpID0gaW5kZXhcIiBbc2VsZWN0ZWRdPVwiaXNWYWx1ZVNlbGVjdGVkKGhpc3RvcnksaSlcIj5cclxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8aW9uLXJvdyBzdHlsZT1cIndpZHRoOiAtd2Via2l0LWZpbGwtYXZhaWxhYmxlO1wiPlxyXG4gICAgICAgICAgICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi10ZXh0LWxlZnRcIiBzaXplPVwiMTJcIiBzaXplWGw9XCIzXCIgc2l6ZUxnPVwiM1wiIHNpemVNZD1cIjNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFwcC1hY2NvcmRpYW4taGVhZGluZ1wiIFtzdHlsZS5jb2xvcl09XCJoaXN0b3J5LmNvbG9yXCI+e3toaXN0b3J5LmV2ZW50RGF0ZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICAgIDxpb24tY29sIGNsYXNzPVwiYXBwLXRleHQtYWxpZ25cIiBzaXplPVwiMTFcIiBzaXplWGw9XCI4XCIgc2l6ZUxnPVwiOFwiIHNpemVNZD1cIjhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFwcC1hY2NvcmRpYW4taGVhZGluZ1wiIFtzdHlsZS5jb2xvcl09XCJoaXN0b3J5LmNvbG9yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7e2hpc3RvcnkudGl0bGV9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgICAgICA8aW9uLWNvbCBzaXplPVwiMVwiIGNsYXNzPVwiaW9uLXRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gW3N0eWxlLmNvbG9yXT1cImhpc3RvcnkuY29sb3JcIiAqbmdJZj1cImdldEljb24oaGlzdG9yeSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cImdldEljb24oaGlzdG9yeSlcIiBjbGFzcz1cImN1c3RvbS1tYXJrZXJcIj48L2ZhLWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiY29udGVudFwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhcHAtYWNjb3JkaWFuLWJvZHlcIiBbaW5uZXJIdG1sXT1cImhpc3RvcnkuZGVzY1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJoaXN0b3J5LmJ1dHRvbiAhPSBudWxsXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxiciAvPjxiciAvPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW9uLXRleHQtcmlnaHRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiBbYXR0ci5hcmlhLWxhYmVsXT1cIidnbyB0bycgKyBoaXN0b3J5LmJ1dHRvbi5idXR0b25UZXh0XCIgZmlsbD1cIm91dGxpbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCItLWNvbG9yOiB7e2hpc3RvcnkuYnV0dG9uLmNvbG9yfX07IC0tYm9yZGVyLWNvbG9yOiB7e2hpc3RvcnkuYnV0dG9uLmNvbG9yfX07IC0tYm9yZGVyLXdpZHRoOiAycHhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgc2hhcGU9XCJyb3VuZFwiIGNsYXNzPVwic21hbGwtYnV0dG9uXCIgKGNsaWNrKT1cIm9wZW4oaGlzdG9yeSlcIj57e2hpc3RvcnkuYnV0dG9uLmJ1dHRvblRleHR9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8L3AtYWNjb3JkaW9uVGFiPlxyXG4gICAgICAgICAgPC9wLWFjY29yZGlvbj5cclxuICAgICAgICAgIDxiciAvPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvcC10aW1lbGluZT5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpb24tdGV4dC1jZW50ZXJcIiAqbmdJZj1cImlzTG9hZGluZ1wiPlxyXG4gICAgICAgIDxpb24tc3Bpbm5lciBuYW1lPVwiZG90c1wiPjwvaW9uLXNwaW5uZXI+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cImlvbi1wYWRkaW5nLXRvcCBpb24tdGV4dC1jZW50ZXIgYXBwLWFjY29yZGlhbi1ib2R5XCJcclxuICAgICAgICAqbmdJZj1cIighZmlsdGVyZWRIaXN0b3JpZXMgfHwgZmlsdGVyZWRIaXN0b3JpZXMubGVuZ3RoIDwgMSkgJiYgIWlzTG9hZGluZ1wiPlxyXG4gICAgICAgIDxmYS1pY29uIFtpY29uXT1cIlsnZmFyJywgZmlsdGVySWNvbl1cIiBjbGFzcz1cImxhcmdlLWljb25cIj48L2ZhLWljb24+XHJcbiAgICAgICAgPHA+e3snTm8gaGlzdG9yeSBwcmVzZW50LicgfCB0cmFuc2xhdGV9fTwvcD5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IHN0eWxlPVwicGFkZGluZy1sZWZ0OiA1JTtcIiAqbmdJZj1cIiFpc0xvYWRpbmcgJiYgc2hvd09sZGVyUmVjb3Jkc0xpbmtcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaG9yaXpvbnRhbC1hbGlnblwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJhcHAtYWNjb3JkaWFuLWJvZHlcIj5cclxuICAgICAgICAgICAgPHN0cm9uZz57eyAnVG8gdmlldyBwcmlvciB1bmVtcGxveW1lbnQgaGlzdG9yeSBjbGljayBoZXJlJyB8IHRyYW5zbGF0ZSB9fTwvc3Ryb25nPlxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPGlvbi1idXR0b24gYXJpYS1sYWJlbD1cInZpZXcgb2xkIHJlY29yZHNcIiAoY2xpY2spPVwib3Blbk9sZFJlY29yZHMoKVwiIGZpbGw9XCJvdXRsaW5lXCIgc2l6ZT1cInNtYWxsXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJhY3Rpb24tYnV0dG9uXCI+XHJcbiAgICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cIlsnZmFzJywgJ2V4dGVybmFsLWxpbmstYWx0J11cIiBjbGFzcz1cImV4dGVybmFsLWxpbmstaWNvblwiPjwvZmEtaWNvbj5cclxuICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxiciAvPlxyXG5cclxuICAgIDwvaW9uLWNvbD5cclxuICA8L2lvbi1yb3c+XHJcbjwvaW9uLWdyaWQ+Il19
|
|
577
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yeS1wYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9oaXN0b3J5LXBhZ2UvaGlzdG9yeS1wYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9oaXN0b3J5LXBhZ2UvaGlzdG9yeS1wYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQVF6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUl2RSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDZjdCLG1EQUM2QjtJQUQ2QyxtTkFBZSxlQUFBLGdCQUFTLENBQUEsSUFBQyxxTUFDbkYsZUFBQSxtQkFBVyxDQUFBLElBRHdFO0lBQ3RFLGlCQUEwQjs7O0lBRDlCLG9EQUErQjs7OztJQUV4RCxpREFDaUY7SUFBNUQsc01BQVUsZUFBQSwwQkFBa0IsQ0FBQSxJQUFDLDJMQUFZLGVBQUEseUJBQWlCLENBQUEsSUFBN0I7SUFBK0IsaUJBQXdCOzs7SUFEMUQsa0RBQTZCLCtDQUFBLDBCQUFBOzs7SUFFNUUseUNBQWtGOztJQUF2QywrQkFBaUI7OztJQW1CMUMsNEJBQXlCO0lBQUEsWUFBYTtJQUFBLGlCQUFPOzs7SUFBcEIsZUFBYTtJQUFiLG1DQUFhOzs7O0lBQ3RDLDhCQUFpRTs7O0lBQXhELGdFQUEyQjs7O0lBSHRDLCtCQUNj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NEZBQUEsc0ZBQUE7WUFJdkQsZ0NBQVUsY0FBQSxpQkFBQSxTQUFBO1lBR0EseUNBQXlCO1lBQUEsaUJBQUssRUFBQSxFQUFBO1lBR3RDLCtCQUFTLGlCQUFBLGVBQUEsa0JBQUE7WUFLRCx1RUFZTTtZQUNSLGlCQUFVO1lBQ1YsbUNBQWtCO1lBQ2hCLHVFQVlNO1lBQ1IsaUJBQVUsRUFBQTtZQUdaLHNCQUFNO1lBQ04scUZBMkNhLDBEQUFBLDJEQUFBLDJEQUFBO1lBdUJiLHNCQUFNO1lBRVIsaUJBQVUsRUFBQSxFQUFBOztZQXBINEMsbUNBQWM7WUFFaEQsZUFBcUI7WUFBckIsMENBQXFCO1lBRXhCLGVBQW9CO1lBQXBCLHlDQUFvQjtZQVlHLGdCQUFlO1lBQWYsb0NBQWU7WUFlZCxlQUFlO1lBQWYsb0NBQWU7WUFpQmIsZUFBeUQ7WUFBekQsZ0ZBQXlEO1lBNkNwRSxlQUFlO1lBQWYsb0NBQWU7WUFLMUMsZUFBd0U7WUFBeEUscUdBQXdFO1lBSzNDLGVBQXdDO1lBQXhDLGlFQUF3QzsyaUVEOUVoRSxDQUFDLG1CQUFtQixDQUFDOztpRkFFdEIsb0JBQW9CO2NBTmhDLFNBQVM7MkJBQ0Usa0JBQWtCLGNBR2hCLENBQUMsbUJBQW1CLENBQUM7O2tGQUV0QixvQkFBb0I7QUEyUmpDLE1BQU0sT0FBTyxhQUFhO0NBR3pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmF2Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcclxuaW1wb3J0IHsgRXJyb3JNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9FcnJvck1vZGVsJztcclxuaW1wb3J0IHsgTGliQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL0xpYkNvbnN0YW50cyc7XHJcbmltcG9ydCB7IEhlbHBTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaGVscC9oZWxwLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBFbXBsb3llckRhdGFNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9maWxldXBsb2FkL0VtcGxveWVyRGF0YU1vZGVsJztcclxuaW1wb3J0IHsgQmFzZVBhZ2UgfSBmcm9tICcuLi8uLi9wYWdlcy9CYXNlUGFnZSc7XHJcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBRdWVzdGlvbm5haXJlUXVlcnlNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL1F1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsJztcclxuaW1wb3J0IHsgTG9naW5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbG9naW4vbG9naW4uc2VydmljZSc7XHJcbmltcG9ydCB7IEhpc3RvcnlNb2RlbCwgWWVhcldpc2VIaXN0b3J5IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Rhc2hib2FyZC1tb2RlbCc7XHJcbmltcG9ydCB7IHJvd0V4cGFuc2lvblRyaWdnZXIgfSBmcm9tICcuLi8uLi9hbm5pbWF0aW9ucy9hcHAtYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgVXRpbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91dGlsL3V0aWwuc2VydmljZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgdGltZXIgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZXZlbnQtc2VydmljZS9ldmVudC1zZXJ2aWNlJztcclxuXHJcblxyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWhpc3RvcnktcGFnZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2hpc3RvcnktcGFnZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2hpc3RvcnktcGFnZS5jb21wb25lbnQuY3NzJyxcclxuICBhbmltYXRpb25zOiBbcm93RXhwYW5zaW9uVHJpZ2dlcl1cclxufSlcclxuZXhwb3J0IGNsYXNzIEhpc3RvcnlQYWdlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgc2VsZWN0ZWRNb2RlbDogSGlzdG9yeU1vZGVsIFxyXG4gIGlzTG9hZGluZyA9IGZhbHNlO1xyXG4gIGhpc3RvcmllczogWWVhcldpc2VIaXN0b3J5W107XHJcbiAgZmlsdGVyZWRIaXN0b3JpZXM6IFllYXJXaXNlSGlzdG9yeVtdO1xyXG4gIGZpbHRlck9wdGlvbnM6IGFueVtdO1xyXG4gIHRpbWVPcHRpb246IGFueVtdO1xyXG4gIHZhbHVlID0geyBpY29uOiBudWxsLCBkZXNjOiAnQWxsJywgdmFsdWU6IFwiQUxMXCIgfTtcclxuICB0aW1lID0geyBpY29uOiAnY2xvY2snLCBkZXNjOiAnY3VycmVudCcsIHZhbHVlOiBcIkNVUlJcIiB9O1xyXG4gIGZpbHRlciA9IHsgaWNvbjogbnVsbCwgZGVzYzogJ2FsbCB5b3VyIGhpc3RvcnknLCB2YWx1ZTogXCJBTExcIiwgYWx0RGVzYzogJ2FsbCcgfTtcclxuICBmaWx0ZXJJY29uID0gJ2hpc3RvcnknO1xyXG4gIHBheW1lbnRUZXh0OiBzdHJpbmc7XHJcbiAgcWVRdWVyeU1vZGVsczogUXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWxbXTtcclxuICBpc09wZW5RZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHNob3dPbGRlclJlY29yZHNMaW5rOiBib29sZWFuO1xyXG4gIHRyYW5zYWN0aW9uSWRTZWxlY3RlZDogYW55O1xyXG4gIHNob3dVcGxvYWRQb3B1cDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHVwbG9hZFR5cGVJZDogU3RyaW5nO1xyXG4gIGVtcGxveWVyRGF0YU1vZGVsOiBBcnJheTxFbXBsb3llckRhdGFNb2RlbD47XHJcbiAgY291bnQgPSAwO1xyXG4gIGRhdGFNb2RlbCA6IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlczogRXZlbnRTZXJ2aWNlLCBwdWJsaWMgaHM6IEhlbHBTZXJ2aWNlLCBwcml2YXRlIHV0aWw6IFV0aWxTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBuYXY6IE5hdkNvbnRyb2xsZXIsIHB1YmxpYyBsczogTG9naW5TZXJ2aWNlLCBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSwgcHJpdmF0ZSBsb2dnZXI6IExvZ2dlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnRpbWVPcHRpb24gPSBbXHJcbiAgICAgIHsgaWNvbjogJ2Nsb2NrJywgZGVzYzogJ2N1cnJlbnQnLCB2YWx1ZTogXCJDVVJSXCIgfSxcclxuICAgICAgeyBpY29uOiAnaGlzdG9yeScsIGRlc2M6ICdwYXN0JywgdmFsdWU6IFwiUEFTVFwiIH0sXHJcbiAgICBdO1xyXG5cclxuICAgIGlmICh0aGlzLnV0aWwuaXNTdGF0ZSgnTVMnKSkge1xyXG4gICAgICB0aGlzLnBheW1lbnRUZXh0ID0gXCJ3ZWVrbHkgY2VydGlmaWNhdGlvbnMgYW5kIHBheW1lbnRzXCJcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLnBheW1lbnRUZXh0ID0gXCJ3ZWVrbGllcyBhbmQgcGF5bWVudHNcIlxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZmlsdGVyT3B0aW9ucyA9IFtcclxuICAgICAgeyBpY29uOiBudWxsLCBkZXNjOiAnYWxsIHlvdXIgaGlzdG9yeScsIHZhbHVlOiBcIkFMTFwiLCBhbHREZXNjOiAnYWxsJyB9LFxyXG4gICAgICB7IGljb246ICdzYWNrLWRvbGxhcicsIGRlc2M6IHRoaXMucGF5bWVudFRleHQsIHZhbHVlOiBcIldLTFlcIiB9LFxyXG4gICAgICB7IGljb246ICdmaWxlLXVwbG9hZCcsIGRlc2M6ICd1cGxvYWRlZCBkb2N1bWVudHMnLCB2YWx1ZTogXCJET0NTXCIgfSxcclxuICAgICAgeyBpY29uOiAnYmFsYW5jZS1zY2FsZScsIGRlc2M6ICdpc3N1ZSAmIGFwcGVhbHMnLCB2YWx1ZTogXCJBUFBMXCIgfVxyXG5cclxuICAgIF07XHJcblxyXG4gICAgbGV0IHR4bklkID0gdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtTWFwLmdldCgndHhuaWQnKTtcclxuICAgIGlmICh0eG5JZCAhPSBudWxsKSB7XHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25JZFNlbGVjdGVkID0gYXRvYih0eG5JZCk7XHJcbiAgICAgIC8vdGhpcy5sb2dnZXIuaW5mbyh0aGlzLnRyYW5zYWN0aW9uSWRTZWxlY3RlZCk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHRoaXMubG9hZEhpc3RvcnkoKTtcclxuICB9XHJcblxyXG4gIGdldEN1cnJlbnRZZWFySGlzdG9yeSgpIHtcclxuICAgIGxldCB0eXBlRmlsdGVyID0gdGhpcy5maWx0ZXIudmFsdWU7XHJcbiAgICBsZXQgdGltZUZpbHRlciA9IHRoaXMudGltZS52YWx1ZTtcclxuICAgIFxyXG5cclxuICAgIGlmICh0aW1lRmlsdGVyID09ICdDVVJSJykge1xyXG4gICAgICB0aGlzLmZpbHRlcmVkSGlzdG9yaWVzID0gdGhpcy5oaXN0b3JpZXMuZmlsdGVyKGhpc3QgPT4gKGhpc3QueWVhciAhPSAnU3RhcnQnICYmIHBhcnNlSW50KGhpc3QueWVhcikgPT0gbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpKSk7XHJcbiAgICAgIHRoaXMuZmlsdGVyZWRIaXN0b3JpZXMgPSB0aGlzLmdldEZpbHRlcmVkSGlzdG9yaWVzKHRoaXMuZmlsdGVyZWRIaXN0b3JpZXMsIHR5cGVGaWx0ZXIpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0SWNvbihoaXN0b3J5OiBIaXN0b3J5TW9kZWwpIHtcclxuICAgIGxldCBoaXN0ID0gdGhpcy5maWx0ZXJPcHRpb25zLmZpbHRlcihmbyA9PiBmby52YWx1ZSA9PSBoaXN0b3J5LnByb2Nlc3NUeXBlKVswXTtcclxuICAgIGlmIChoaXN0KSB7XHJcbiAgICAgIHJldHVybiBbJ2ZhcicsIGhpc3QuaWNvbl07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvYWRIaXN0b3J5KCkge1xyXG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5lcy5nZXRIaXN0b3J5T2ZMb2dnZWRpblVzZXIoKVxyXG4gICAgICAuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgICAgdGhpcy5oaXN0b3JpZXMgPSByZXMuaGlzdG9yeTtcclxuICAgICAgICB0aGlzLnNob3dPbGRlclJlY29yZHNMaW5rID0gcmVzLnNob3dPbGRlclJlY29yZHNMaW5rO1xyXG4gICAgICAgIC8vdGhpcy5maWx0ZXJlZEhpc3RvcmllcyA9IFsuLi50aGlzLmhpc3Rvcmllc107XHJcbiAgICAgICAgdGhpcy5nZXRDdXJyZW50WWVhckhpc3RvcnkoKTtcclxuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICB9LCBlcnIgPT4ge1xyXG4gICAgICAgIHRoaXMuaGlzdG9yaWVzID0gbnVsbDtcclxuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuZmlsdGVyZWRIaXN0b3JpZXMgPSBudWxsO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgbGV0IHR5cGVGaWx0ZXIgPSB0aGlzLmZpbHRlci52YWx1ZTtcclxuICAgIGxldCB0aW1lRmlsdGVyID0gdGhpcy50aW1lLnZhbHVlO1xyXG4gICAgdGhpcy5maWx0ZXJJY29uID0gdGhpcy50aW1lLmljb247XHJcbiAgICBpZiAodGltZUZpbHRlciA9PSAnQ1VSUicpIHtcclxuICAgICAgdGhpcy5maWx0ZXJlZEhpc3RvcmllcyA9IHRoaXMuaGlzdG9yaWVzLmZpbHRlcihoaXN0ID0+IChoaXN0LnllYXIgIT0gJ1N0YXJ0JyAmJiBwYXJzZUludChoaXN0LnllYXIpID09IG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKSkpO1xyXG4gICAgICB0aGlzLmZpbHRlcmVkSGlzdG9yaWVzID0gdGhpcy5nZXRGaWx0ZXJlZEhpc3Rvcmllcyh0aGlzLmZpbHRlcmVkSGlzdG9yaWVzLCB0eXBlRmlsdGVyKTtcclxuICAgIH0gZWxzZSBpZiAodGltZUZpbHRlciA9PSAnUEFTVCcpIHtcclxuICAgICAgdGhpcy5maWx0ZXJlZEhpc3RvcmllcyA9IHRoaXMuaGlzdG9yaWVzLmZpbHRlcihoaXN0ID0+IChoaXN0LnllYXIgIT0gJ1N0YXJ0JyAmJiBoaXN0LnllYXIgIT0gbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpICsgJycpKTtcclxuICAgICAgdGhpcy5maWx0ZXJlZEhpc3RvcmllcyA9IHRoaXMuZ2V0RmlsdGVyZWRIaXN0b3JpZXModGhpcy5maWx0ZXJlZEhpc3RvcmllcywgdHlwZUZpbHRlcik7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHR5cGVGaWx0ZXIgIT0gJ0FMTCcpIHtcclxuICAgICAgdGhpcy5maWx0ZXJJY29uID0gdGhpcy5maWx0ZXIuaWNvbjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgeXdoID0gdGhpcy5maWx0ZXJlZEhpc3Rvcmllcy5maWx0ZXIoaCA9PiBoLnllYXIgPT0gJ1N0YXJ0Jyk7XHJcblxyXG4gICAgaWYgKHRoaXMuZmlsdGVyZWRIaXN0b3JpZXMubGVuZ3RoID4gMCAmJiB5d2gubGVuZ3RoIDwgMSkge1xyXG4gICAgICB0aGlzLmZpbHRlcmVkSGlzdG9yaWVzLnB1c2goe1xyXG4gICAgICAgIGNvbG9yOiAndmFyKC0taW9uLWNvbG9yLW1lZGl1bS1ncmF5KScsXHJcbiAgICAgICAgaWNvbjogJ2hvdXJnbGFzcy1zdGFydCcsXHJcbiAgICAgICAgaGlzdG9yeTogW10sXHJcbiAgICAgICAgeWVhcjogJ1N0YXJ0J1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldEZpbHRlcmVkSGlzdG9yaWVzKGhpc3RvcmllczogWWVhcldpc2VIaXN0b3J5W10sIGZpbHRlcjogc3RyaW5nKSB7XHJcbiAgICBpZiAoZmlsdGVyID09ICdBTEwnKSB7XHJcbiAgICAgIHRoaXMuY291bnQgPSB0aGlzLmNvdW50ICsgMTtcclxuICAgICAgcmV0dXJuIGhpc3RvcmllcztcclxuICAgIH1cclxuICAgIHJldHVybiBoaXN0b3JpZXNcclxuICAgICAgLmZpbHRlcihoaXN0ID0+IGhpc3QuaGlzdG9yeS5zb21lKHN1Ykhpc3QgPT4gc3ViSGlzdC5wcm9jZXNzVHlwZSA9PT0gZmlsdGVyKSlcclxuICAgICAgLm1hcChoaXN0b3J5ID0+IHtcclxuICAgICAgICBsZXQgbmV3SGlzdCA9IE9iamVjdC5hc3NpZ24oe30sIGhpc3RvcnkpO1xyXG4gICAgICAgIG5ld0hpc3QuaGlzdG9yeSA9IG5ld0hpc3QuaGlzdG9yeS5maWx0ZXIoaGlzdCA9PiBoaXN0LnByb2Nlc3NUeXBlID09PSBmaWx0ZXIpO1xyXG4gICAgICAgIHJldHVybiBuZXdIaXN0O1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIGlvblZpZXdXaWxsTGVhdmUoKTogdm9pZCB7XHJcbiAgICB0aGlzLmhzLnNldEhlbHBBdmFpbGFiaWxpdHkoZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgaW9uVmlld0RpZEVudGVyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5ocy5zZXRIZWxwQXZhaWxhYmlsaXR5KHRydWUpO1xyXG4gIH1cclxuXHJcbiAgaXNWYWx1ZVNlbGVjdGVkKGhpc3Rvcnk6IEhpc3RvcnlNb2RlbCwgY291bnQ6IGFueSkge1xyXG4gICAgLy90aGlzLmxvZ2dlci5pbmZvKCdpcyB2YWx1ZSBzZWxlY3RlZCcgLCB0aGlzLnRyYW5zYWN0aW9uSWRTZWxlY3RlZCk7XHJcbiAgICBpZiAodGhpcy50cmFuc2FjdGlvbklkU2VsZWN0ZWQgPT0gbnVsbCAmJiBjb3VudCA9PSAwKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSBlbHNlIGlmIChoaXN0b3J5LnRyYW5zYWN0aW9uSWQgPT0gdGhpcy50cmFuc2FjdGlvbklkU2VsZWN0ZWQpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBvcGVuKGhpc3RvcnlNb2RlbDogSGlzdG9yeU1vZGVsKSB7XHJcbiAgICAvL3RoaXMubG9nZ2VyLmluZm8oJ2luc2lkZSBjbGljayBvZiBoaXN0b3J5IGJ1dHRvbiA9ICcrIGhpc3RvcnlNb2RlbCk7XHJcbiAgICB0aGlzLnNlbGVjdGVkTW9kZWwgPSBoaXN0b3J5TW9kZWw7XHJcbiAgICBpZiAoaGlzdG9yeU1vZGVsLmJ1dHRvbi51cmkuaW5jbHVkZXMoXCJQb3B1cFwiKSkge1xyXG4gICAgICB0aGlzLmxvZ2dlci5pbmZvKCdIaXN0b3J5IGJ1dHRvbiB1cmkgaW5jbHVkZXMgUG9wdXAgdmFsdWUnKTtcclxuICAgICAgaWYgKHRoaXMubHMuaXNDc3IoKSAmJiBoaXN0b3J5TW9kZWwuYnV0dG9uICYmIGhpc3RvcnlNb2RlbC5idXR0b24uY2xtdE9ubHlGTiA9PSAnMScpIHtcclxuICAgICAgICBsZXQgZXJyb3JNb2RlbDogRXJyb3JNb2RlbCA9IG5ldyBFcnJvck1vZGVsKCk7XHJcbiAgICAgICAgZXJyb3JNb2RlbC5tc2cgPSBcIlRoaXMgaXMgYSBjbGFpbWFudCBvbmx5IGZ1bmN0aW9uYWxpdHkuXCI7XHJcbiAgICAgICAgdGhpcy51dGlsLmVycm9ySGFuZGxlcihlcnJvck1vZGVsKTtcclxuICAgICAgfSBlbHNlIGlmIChoaXN0b3J5TW9kZWwuYnV0dG9uICYmIGhpc3RvcnlNb2RlbC5hY3Rpb25VcmkgPT0gJ0FwcGVhbHNQb3B1cCcgJiYgaGlzdG9yeU1vZGVsLmRhdGEucWVEYXRhKSB7XHJcbiAgICAgICAgbGV0IHF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsczogQXJyYXk8UXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWw+ID0gSlNPTi5wYXJzZShoaXN0b3J5TW9kZWwuZGF0YS5xZURhdGEpO1xyXG4gICAgICAgIHRoaXMucWVRdWVyeU1vZGVscyA9IHRoaXMuY3JlYXRlUWVRdWVyeU1vZGVsKHF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVscyk7XHJcbiAgICAgICAgdGhpcy5pc09wZW5RZSA9IHRydWU7XHJcbiAgICAgIH0gZWxzZSBpZiAoaGlzdG9yeU1vZGVsLmJ1dHRvbiAmJiBoaXN0b3J5TW9kZWwuYnV0dG9uLmRpYWxvZyA9PSAndXBsb2FkUG9wdXBJbkNwJykge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKHRoaXMuc2VsZWN0ZWRNb2RlbC5kYXRhKTtcclxuICAgICAgICB0aGlzLnVwbG9hZFR5cGVJZCA9IHRoaXMuc2VsZWN0ZWRNb2RlbC5kYXRhLnVwbG9hZFR5cGVJZDtcclxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZE1vZGVsLmRhdGE/LmVtcGxveWVyRGF0YSAhPSBudWxsKSB7XHJcbiAgICAgICAgICB0aGlzLmVtcGxveWVyRGF0YU1vZGVsID0gSlNPTi5wYXJzZSh0aGlzLnNlbGVjdGVkTW9kZWwuZGF0YT8uZW1wbG95ZXJEYXRhKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRNb2RlbC5kYXRhICE9IG51bGwpIHtcclxuICAgICAgICAgIHRoaXMuZGF0YU1vZGVsID0gdGhpcy5zZWxlY3RlZE1vZGVsLmRhdGE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc2hvd1VwbG9hZFBvcHVwID0gdHJ1ZTtcclxuICAgICAgfSBlbHNlIGlmIChoaXN0b3J5TW9kZWwuYnV0dG9uICYmIGhpc3RvcnlNb2RlbC5idXR0b24uZGlhbG9nID09ICd1cGxvYWRQb3B1cCcpIHtcclxuICAgICAgICBsZXQgdXNlck1vZGVsID0gdGhpcy5scy5nZXRVc2VyKCk7XHJcbiAgICAgICAgdGhpcy51dGlsLnNob3dMb2FkZXIoKS50aGVuKCgpID0+IHtcclxuICAgICAgICAgIHdpbmRvdy5vcGVuKGAke0xpYkNvbnN0YW50cy5iZW5lZml0c1VybEV4dGVybmFsfS9mYWNlcy92aXJ0dWFsL2NvbnRleHRzd2l0Y2gueGh0bWw/YT0ke3VzZXJNb2RlbC5hY2Nlc3NfdG9rZW59JnI9JHt1c2VyTW9kZWwucmVmcmVzaF90b2tlbn0mdj0yMjk5JkNMQUlNQU5UX1BPUlRBTD10cnVlJnZpZXc9LnVwbG9hZGRvY3VtZW50ZW50ZXJzc25gLCAnX3NlbGYnKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIGlmIChoaXN0b3J5TW9kZWwuYnV0dG9uICYmIGhpc3RvcnlNb2RlbC5idXR0b24uZGlhbG9nID09ICd1cGxvYWRXU0FQb3B1cCcpIHtcclxuICAgICAgICBsZXQgdXNlck1vZGVsID0gdGhpcy5scy5nZXRVc2VyKCk7XHJcbiAgICAgICAgdGhpcy51dGlsLnNob3dMb2FkZXIoKS50aGVuKCgpID0+IHtcclxuICAgICAgICAgIHdpbmRvdy5vcGVuKGAke0xpYkNvbnN0YW50cy5iZW5lZml0c1VybEV4dGVybmFsfS9mYWNlcy92aXJ0dWFsL2NvbnRleHRzd2l0Y2gueGh0bWw/YT0ke3VzZXJNb2RlbC5hY2Nlc3NfdG9rZW59JnI9JHt1c2VyTW9kZWwucmVmcmVzaF90b2tlbn0mdj0yMjk5JkNMQUlNQU5UX1BPUlRBTD10cnVlJnZpZXc9LnVwbG9hZGRvY3VtZW50d29ya3NlYXJjaGF1ZGl0YCwgJ19zZWxmJyk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy51dGlsLnByZXNlbnRUb2FzdCgnU2NlbmFyaW8gdW5kZXIgZGV2ZWxvcG1lbnQuIFBsZWFzZSBjaGVjayB3aXRoIGRldmVsb3Blci4nKTtcclxuICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcihoaXN0b3J5TW9kZWwpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmIChoaXN0b3J5TW9kZWwuYnV0dG9uLnVyaSAhPSAnJyAmJiBoaXN0b3J5TW9kZWwuYnV0dG9uLnVyaS5pbmNsdWRlcyhcIlBhZ2VcIikpIHtcclxuICAgICAgdGhpcy5sb2dnZXIuaW5mbygnSGlzdG9yeSBidXR0b24gdXJpIGluY2x1ZGVzIFBhZ2UgdmFsdWUnKTtcclxuICAgICAgaWYgKGhpc3RvcnlNb2RlbC5kYXRhICYmIGhpc3RvcnlNb2RlbC5kYXRhLnFlRGF0YSkge1xyXG4gICAgICAgIGxldCBqc29uRGF0YSA9IEpTT04ucGFyc2UoaGlzdG9yeU1vZGVsLmRhdGEucWVEYXRhKTtcclxuICAgICAgICB0aGlzLnV0aWwub3BlblBhZ2VCeUNvbnRleHRSb290V2l0aERhdGEoaGlzdG9yeU1vZGVsLmJ1dHRvbi5jb250ZXh0LCBoaXN0b3J5TW9kZWwuYnV0dG9uLnVybCwganNvbkRhdGFbMF0uZHluYW1pY1BhcmFtLCB0aGlzLm5hdik7XHJcbiAgICAgIH0gZWxzZSBpZiAoaGlzdG9yeU1vZGVsLmRhdGEpIHtcclxuICAgICAgICB0aGlzLnV0aWwub3BlblBhZ2VCeUNvbnRleHRSb290V2l0aERhdGEoaGlzdG9yeU1vZGVsLmJ1dHRvbi5jb250ZXh0LCBoaXN0b3J5TW9kZWwuYnV0dG9uLnVybCwgaGlzdG9yeU1vZGVsLmRhdGEsIHRoaXMubmF2KVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMudXRpbC5vcGVuUGFnZUJ5Q29udGV4dFJvb3QoaGlzdG9yeU1vZGVsLmJ1dHRvbi5jb250ZXh0LCBoaXN0b3J5TW9kZWwuYnV0dG9uLnVybCwgdGhpcy5uYXYpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvcGVuT2xkUmVjb3JkcygpIHtcclxuICAgIGxldCB1c2VyTW9kZWwgPSB0aGlzLmxzLmdldFVzZXIoKTtcclxuICAgIHRoaXMudXRpbC5zaG93TG9hZGVyKCkudGhlbigoKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmxzLmlzQ3NyKCkpIHtcclxuICAgICAgICB3aW5kb3cub3BlbihgJHtMaWJDb25zdGFudHMuYmVuZWZpdHNVcmxFeHRlcm5hbH0vZmFjZXMvdmlydHVhbC9jb250ZXh0c3dpdGNoLnhodG1sP2E9JHt1c2VyTW9kZWwuYWNjZXNzX3Rva2VufSZyPSR7dXNlck1vZGVsLnJlZnJlc2hfdG9rZW59JnY9MjI5OWAsICdfc2VsZicpO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMubHMuaXNDbGFpbWFudCgpKSB7XHJcbiAgICAgICAgd2luZG93Lm9wZW4oYCR7TGliQ29uc3RhbnRzLmJlbmVmaXRzVXJsRXh0ZXJuYWx9L2ZhY2VzL3ZpcnR1YWwvY29udGV4dHN3aXRjaC54aHRtbD9hPSR7dXNlck1vZGVsLmFjY2Vzc190b2tlbn0mcj0ke3VzZXJNb2RlbC5yZWZyZXNoX3Rva2VufSZ2PTIyOTkmQ0xBSU1BTlRfUE9SVEFMPXRydWUmdmlldz0uY2xhaW1hbnRzdW1tYXJ5YCwgJ19zZWxmJyk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVRZVF1ZXJ5TW9kZWwocXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWxzOiBRdWVzdGlvbm5haXJlUXVlcnlNb2RlbFtdKSB7XHJcbiAgICByZXR1cm4gcXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWxzLm1hcChxdWVzdGlvbm5haXJlUXVlcnlNb2RlbCA9PiB7XHJcbiAgICAgIGxldCBkeW5hbWljUGFyYW0gPSB7fTtcclxuICAgICAgdmFyIGtleU1vZGVsID0gPEtleVZhbHVlTW9kZWw+cXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWwuZHluYW1pY1BhcmFtWzBdO1xyXG4gICAgICB2YXIgdGl0bGUgPSBrZXlNb2RlbC5rZXk7XHJcbiAgICAgIHZhciB2ZXJiYWlnZUtleSA9IGtleU1vZGVsLnZhbHVlO1xyXG4gICAgICBjb25zdCB0cmFuc2xhdGVkVGV4dCA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQodmVyYmFpZ2VLZXkpO1xyXG4gICAgICBkeW5hbWljUGFyYW1bdGl0bGVdID0gdHJhbnNsYXRlZFRleHQ7XHJcbiAgICAgIGR5bmFtaWNQYXJhbVsnaGlkQXBwZWFsRGVjaXNpb24nXSA9IHF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsLmRhdGFbJ2hpZEFwcGVhbERlY2lzaW9uJ107XHJcbiAgICAgIGR5bmFtaWNQYXJhbVsnZG9ja2V0bnVtYmVyJ10gPSBxdWVzdGlvbm5haXJlUXVlcnlNb2RlbC5kYXRhWydkb2NrZXRudW1iZXInXTtcclxuICAgICAgZHluYW1pY1BhcmFtWydwYXJlbnRBcHBlYWxJZCddID0gcXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWwuZGF0YVsncGFyZW50QXBwZWFsSWQnXTtcclxuICAgICAgZHluYW1pY1BhcmFtWydhcHBlYWxUeXBlJ10gPSBxdWVzdGlvbm5haXJlUXVlcnlNb2RlbC5kYXRhWydhcHBlYWxUeXBlJ107XHJcbiAgICAgIGR5bmFtaWNQYXJhbVsnYXBwZWFsTGV2ZWwnXSA9IHF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsLmRhdGFbJ2FwcGVhbExldmVsJ107XHJcbiAgICAgIGlmICh0aGlzLnV0aWwuaXNTdGF0ZSgnTUUnKSkge1xyXG4gICAgICAgIGR5bmFtaWNQYXJhbVsnYXBwZWFsQ29uc2lkZXJlZExhdGVEYXRlJ10gPSBxdWVzdGlvbm5haXJlUXVlcnlNb2RlbC5kYXRhWydhcHBlYWxDb25zaWRlcmVkTGF0ZURhdGUnXTtcclxuICAgICAgICBkeW5hbWljUGFyYW1bJ2xhdGVBcHBlYWwnXSA9IHF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsLmRhdGFbJ2xhdGVBcHBlYWwnXTtcclxuICAgICAgfVxyXG4gICAgICBxdWVzdGlvbm5haXJlUXVlcnlNb2RlbFsnZHluYW1pY1BhcmFtJ10gPSBkeW5hbWljUGFyYW07XHJcbiAgICAgIHF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsWydhdXRvU2F2ZSddID0gdHJ1ZTtcclxuICAgICAgcmV0dXJuIHF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBjbG9zZVFlKCkge1xyXG4gICAgdGhpcy5pc09wZW5RZSA9IGZhbHNlO1xyXG4gICAgdGhpcy5zZWxlY3RlZE1vZGVsID0gbnVsbDtcclxuICAgIHRoaXMubG9nZ2VyLmluZm8oJ1FlIGNhbmNlbCcpO1xyXG4gIH1cclxuXHJcbiAgcXVTdWNjZXNzKCkge1xyXG4gICAgdGhpcy5oaXN0b3JpZXMgPSBudWxsO1xyXG4gICAgdGhpcy5pc09wZW5RZSA9IGZhbHNlO1xyXG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRNb2RlbCkge1xyXG4gICAgICB0aGlzLmVzXHJcbiAgICAgICAgLmRpc2FibGVIaXN0b3J5QnV0dG9uKHRoaXMuc2VsZWN0ZWRNb2RlbC50cmFuc2FjdGlvbklkLCB0aGlzLnNlbGVjdGVkTW9kZWwuaGlzdG9yeUtleSlcclxuICAgICAgICAuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgICAgICB0aW1lcigyMDAwKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRIaXN0b3J5KClcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0sIGVyciA9PiB7XHJcbiAgICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcihcIkVycm9yIHdoaWxlIGRlYWN0aXZhdGluZyB0aGUgZXZlbnQuXCIsIGVycik7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmxvZ2dlci5pbmZvKCdRZSBzdWNjZXNzJyk7XHJcbiAgfVxyXG5cclxuICBjbG9zZVVwbG9hZFBvcHVwKCkge1xyXG4gICAgdGhpcy5zaG93VXBsb2FkUG9wdXAgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHVwbG9hZFBvcHVwRG9uZSgpIHtcclxuICAgIHRoaXMuc2hvd1VwbG9hZFBvcHVwID0gZmFsc2U7XHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZE1vZGVsKSB7XHJcbiAgICAgIHRoaXMuZXNcclxuICAgICAgICAuZGlzYWJsZUhpc3RvcnlCdXR0b24odGhpcy5zZWxlY3RlZE1vZGVsLnRyYW5zYWN0aW9uSWQsIHRoaXMuc2VsZWN0ZWRNb2RlbC5oaXN0b3J5S2V5KVxyXG4gICAgICAgIC5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XHJcbiAgICAgICAgICB9LCAxMDAwKTtcclxuICAgICAgICB9LCBlcnIgPT4ge1xyXG4gICAgICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoXCJFcnJvciB3aGlsZSBkZWFjdGl2YXRpbmcgdGhlIGV2ZW50LlwiLCBlcnIpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgS2V5VmFsdWVNb2RlbCB7XHJcbiAga2V5OiBzdHJpbmc7XHJcbiAgdmFsdWU6IHN0cmluZztcclxufVxyXG5cclxuIiwiPGFwcC1tdWx0aS1xdWVzdGlvbm5haXJlIFtxZVF1ZXJ5TW9kZWxzXT1cInFlUXVlcnlNb2RlbHNcIiAqbmdJZj1cImlzT3BlblFlXCIgKG1vZGVsQ2FuY2VsKT1cImNsb3NlUWUoKVwiXHJcbiAgKG9uQ29tcGxldGUpPVwicXVTdWNjZXNzKClcIj48L2FwcC1tdWx0aS1xdWVzdGlvbm5haXJlPlxyXG48YXBwLXByb29mLW9mLWFueXRoaW5nICpuZ0lmPVwic2hvd1VwbG9hZFBvcHVwXCIgW3VwbG9hZFR5cGVJZF09XCJ1cGxvYWRUeXBlSWRcIiBbZW1wbG95ZXJEYXRhTW9kZWxdPVwiZW1wbG95ZXJEYXRhTW9kZWxcIlxyXG4gIFtkYXRhXT1cImRhdGFNb2RlbFwiIChjYW5jZWwpPVwiY2xvc2VVcGxvYWRQb3B1cCgpXCIgKHN1Y2Nlc3MpPVwidXBsb2FkUG9wdXBEb25lKClcIj48L2FwcC1wcm9vZi1vZi1hbnl0aGluZz5cclxuPGFwcC1kYXNoYm9hcmQtaGVscCAqbmdJZj1cImhzLmlzU2hvd2luZygpXCIgW2FjdGl2ZUluZGV4XT1cIjBcIj48L2FwcC1kYXNoYm9hcmQtaGVscD5cclxuPGlvbi1ncmlkPlxyXG4gIDxpb24tcm93PlxyXG4gICAgPGlvbi1jb2wgc2l6ZT1cIjEyXCIgc2l6ZVhsPVwiOFwiIHNpemVMZz1cIjhcIiBzaXplTWQ9XCIxMFwiIG9mZnNldFhsPVwiMlwiIG9mZnNldExnPVwiMlwiIG9mZnNldE1kPVwiMVwiPlxyXG4gICAgICA8aDE+WW91ciB1bmVtcGxveW1lbnQgaGlzdG9yeTwvaDE+XHJcbiAgICA8L2lvbi1jb2w+XHJcbiAgPC9pb24tcm93PlxyXG4gIDxpb24tcm93PlxyXG4gICAgPGlvbi1jb2wgc2l6ZT1cIjEyXCIgc2l6ZVhsPVwiOFwiIHNpemVMZz1cIjhcIiBzaXplTWQ9XCIxMFwiIG9mZnNldFhsPVwiMlwiIG9mZnNldExnPVwiMlwiIG9mZnNldE1kPVwiMVwiPlxyXG5cclxuICAgICAgPGlvbi1yb3c+XHJcbiAgICAgICAgPGlvbi1jb2wgc2l6ZT1cIjNcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpb24tdGV4dC1sZWZ0IGZpZWxkXCIgKm5nSWY9XCJoaXN0b3JpZXNcIj5cclxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cInRpbWVsaW5lXCIgaWQ9XCJsYmxUaW1lbGluZVwiPnt7dGltZT8uZGVzY319PC9sYWJlbD48YnIgLz5cclxuICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIFtvcHRpb25zXT1cInRpbWVPcHRpb25cIiBbKG5nTW9kZWwpXT1cInRpbWVcIiBvcHRpb25MYWJlbD1cImRlc2NcIlxyXG4gICAgICAgICAgICAgIChvbkNoYW5nZSk9XCJoYW5kbGVDaGFuZ2UoJGV2ZW50KVwiIFthcmlhTGFiZWxsZWRCeV09XCInbGJsVGltZWxpbmUnXCI+XHJcbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1pdGVtIHBUZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgIDxkaXYgW3BUb29sdGlwXT1cIml0ZW0uZGVzY1wiIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiIHRhYmluZGV4PVwiMFwiIFthdHRyLmFyaWEtbGFiZWxdPVwiaXRlbS5kZXNjXCJcclxuICAgICAgICAgICAgICAgICAgcm9sZT1cIm5vdGVcIj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhaXRlbS5pY29uXCI+e3tpdGVtLmRlc2N9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPGZhLWljb24gW2ljb25dPVwiWydmYXInLCBpdGVtLmljb25dXCIgKm5nSWY9XCJpdGVtLmljb25cIj48L2ZhLWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgIDxpb24tY29sIHNpemU9XCI5XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW9uLXRleHQtcmlnaHQgZmllbGRcIiAqbmdJZj1cImhpc3Rvcmllc1wiPlxyXG4gICAgICAgICAgICA8bGFiZWw+e3tmaWx0ZXI/LmRlc2N9fTwvbGFiZWw+PGJyIC8+XHJcbiAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBbb3B0aW9uc109XCJmaWx0ZXJPcHRpb25zXCIgWyhuZ01vZGVsKV09XCJmaWx0ZXJcIiBvcHRpb25MYWJlbD1cImljb25cIlxyXG4gICAgICAgICAgICAgIChvbkNoYW5nZSk9XCJoYW5kbGVDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtaXRlbSBwVGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IFtwVG9vbHRpcF09XCJpdGVtLmRlc2NcIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIiB0YWJpbmRleD1cIjBcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIml0ZW0uZGVzY1wiXHJcbiAgICAgICAgICAgICAgICAgIHJvbGU9XCJub3RlXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWl0ZW0uaWNvblwiPnt7aXRlbS5hbHREZXNjfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cIlsnZmFyJywgaXRlbS5pY29uXVwiICpuZ0lmPVwiaXRlbS5pY29uXCI+PC9mYS1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgPC9pb24tcm93PlxyXG5cclxuICAgICAgPGJyIC8+XHJcbiAgICAgIDxwLXRpbWVsaW5lIFt2YWx1ZV09XCJmaWx0ZXJlZEhpc3Rvcmllc1wiICpuZ0lmPVwiKGZpbHRlcmVkSGlzdG9yaWVzICYmIGZpbHRlcmVkSGlzdG9yaWVzLmxlbmd0aCA+IDApXCI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cIm1hcmtlclwiIGxldC1oaXN0PlxyXG4gICAgICAgICAgPHNwYW4gW3N0eWxlLmNvbG9yXT1cImhpc3QuY29sb3JcIj5cclxuICAgICAgICAgICAgPGZhLWljb24gW2ljb25dPVwiWydmYXInLCBoaXN0Lmljb25dXCIgY2xhc3M9XCJjdXN0b20tbWFya2VyXCI+PC9mYS1pY29uPlxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImNvbnRlbnRcIiBsZXQtaGlzdD5cclxuICAgICAgICAgIDxoMSBjbGFzcz1cImFwcC1hY2NvcmRpYW4taGVhZGluZ1wiIHN0eWxlPVwibWFyZ2luLXRvcDogMHB4OyBmb250LXdlaWdodDogYm9sZDtcIj57e2hpc3QueWVhcn19PC9oMT5cclxuICAgICAgICAgIDxwLWFjY29yZGlvbiBleHBhbmRJY29uPVwicGkgcGktZncgcGktY2hldnJvbi11cFwiIGNvbGxhcHNlSWNvbj1cInBpIHBpLWZ3IHBpLWNoZXZyb24tdXBcIj5cclxuICAgICAgICAgICAgPHAtYWNjb3JkaW9uVGFiICpuZ0Zvcj1cImxldCBoaXN0b3J5IG9mIGhpc3QuaGlzdG9yeTsgbGV0IGkgPSBpbmRleFwiIFtzZWxlY3RlZF09XCJpc1ZhbHVlU2VsZWN0ZWQoaGlzdG9yeSxpKVwiPlxyXG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIj5cclxuICAgICAgICAgICAgICAgIDxpb24tcm93IHN0eWxlPVwid2lkdGg6IC13ZWJraXQtZmlsbC1hdmFpbGFibGU7XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxpb24tY29sIGNsYXNzPVwiaW9uLXRleHQtbGVmdFwiIHNpemU9XCIxMlwiIHNpemVYbD1cIjNcIiBzaXplTGc9XCIzXCIgc2l6ZU1kPVwiM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXBwLWFjY29yZGlhbi1oZWFkaW5nXCIgW3N0eWxlLmNvbG9yXT1cImhpc3RvcnkuY29sb3JcIj57e2hpc3RvcnkuZXZlbnREYXRlfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJhcHAtdGV4dC1hbGlnblwiIHNpemU9XCIxMVwiIHNpemVYbD1cIjhcIiBzaXplTGc9XCI4XCIgc2l6ZU1kPVwiOFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXBwLWFjY29yZGlhbi1oZWFkaW5nXCIgW3N0eWxlLmNvbG9yXT1cImhpc3RvcnkuY29sb3JcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIHt7aGlzdG9yeS50aXRsZX19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICAgIDxpb24tY29sIHNpemU9XCIxXCIgY2xhc3M9XCJpb24tdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBbc3R5bGUuY29sb3JdPVwiaGlzdG9yeS5jb2xvclwiICpuZ0lmPVwiZ2V0SWNvbihoaXN0b3J5KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGZhLWljb24gW2ljb25dPVwiZ2V0SWNvbihoaXN0b3J5KVwiIGNsYXNzPVwiY3VzdG9tLW1hcmtlclwiPjwvZmEtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJjb250ZW50XCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFwcC1hY2NvcmRpYW4tYm9keVwiIFtpbm5lckh0bWxdPVwiaGlzdG9yeS5kZXNjXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImhpc3RvcnkuYnV0dG9uICE9IG51bGxcIj5cclxuICAgICAgICAgICAgICAgICAgPGJyIC8+PGJyIC8+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpb24tdGV4dC1yaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uIFthdHRyLmFyaWEtbGFiZWxdPVwiJ2dvIHRvJyArIGhpc3RvcnkuYnV0dG9uLmJ1dHRvblRleHRcIiBmaWxsPVwib3V0bGluZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBzdHlsZT1cIi0tY29sb3I6IHt7aGlzdG9yeS5idXR0b24uY29sb3J9fTsgLS1ib3JkZXItY29sb3I6IHt7aGlzdG9yeS5idXR0b24uY29sb3J9fTsgLS1ib3JkZXItd2lkdGg6IDJweFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBzaGFwZT1cInJvdW5kXCIgY2xhc3M9XCJzbWFsbC1idXR0b25cIiAoY2xpY2spPVwib3BlbihoaXN0b3J5KVwiPnt7aGlzdG9yeS5idXR0b24uYnV0dG9uVGV4dH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDwvcC1hY2NvcmRpb25UYWI+XHJcbiAgICAgICAgICA8L3AtYWNjb3JkaW9uPlxyXG4gICAgICAgICAgPGJyIC8+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPC9wLXRpbWVsaW5lPlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cImlvbi10ZXh0LWNlbnRlclwiICpuZ0lmPVwiaXNMb2FkaW5nXCI+XHJcbiAgICAgICAgPGlvbi1zcGlubmVyIG5hbWU9XCJkb3RzXCI+PC9pb24tc3Bpbm5lcj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaW9uLXBhZGRpbmctdG9wIGlvbi10ZXh0LWNlbnRlciBhcHAtYWNjb3JkaWFuLWJvZHlcIlxyXG4gICAgICAgICpuZ0lmPVwiKCFmaWx0ZXJlZEhpc3RvcmllcyB8fCBmaWx0ZXJlZEhpc3Rvcmllcy5sZW5ndGggPCAxKSAmJiAhaXNMb2FkaW5nXCI+XHJcbiAgICAgICAgPGZhLWljb24gW2ljb25dPVwiWydmYXInLCBmaWx0ZXJJY29uXVwiIGNsYXNzPVwibGFyZ2UtaWNvblwiPjwvZmEtaWNvbj5cclxuICAgICAgICA8cD57eydObyBoaXN0b3J5IHByZXNlbnQuJyB8IHRyYW5zbGF0ZX19PC9wPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgc3R5bGU9XCJwYWRkaW5nLWxlZnQ6IDUlO1wiICpuZ0lmPVwiIWlzTG9hZGluZyAmJiBzaG93T2xkZXJSZWNvcmRzTGlua1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJob3Jpem9udGFsLWFsaWduXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImFwcC1hY2NvcmRpYW4tYm9keVwiPlxyXG4gICAgICAgICAgICA8c3Ryb25nPnt7ICdUbyB2aWV3IHByaW9yIHVuZW1wbG95bWVudCBoaXN0b3J5IGNsaWNrIGhlcmUnIHwgdHJhbnNsYXRlIH19PC9zdHJvbmc+XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8aW9uLWJ1dHRvbiBhcmlhLWxhYmVsPVwidmlldyBvbGQgcmVjb3Jkc1wiIChjbGljayk9XCJvcGVuT2xkUmVjb3JkcygpXCIgZmlsbD1cIm91dGxpbmVcIiBzaXplPVwic21hbGxcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImFjdGlvbi1idXR0b25cIj5cclxuICAgICAgICAgICAgPGZhLWljb24gW2ljb25dPVwiWydmYXMnLCAnZXh0ZXJuYWwtbGluay1hbHQnXVwiIGNsYXNzPVwiZXh0ZXJuYWwtbGluay1pY29uXCI+PC9mYS1pY29uPlxyXG4gICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGJyIC8+XHJcblxyXG4gICAgPC9pb24tY29sPlxyXG4gIDwvaW9uLXJvdz5cclxuPC9pb24tZ3JpZD4iXX0=
|
package/esm2022/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.mjs
CHANGED
|
@@ -199,7 +199,7 @@ function WeeklyWorkSearchJournalComponent_div_1_Template(rf, ctx) { if (rf & 1)
|
|
|
199
199
|
i0.ɵɵadvance(5);
|
|
200
200
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(6, 6, "work.search.journal.heading", ctx_r1.dynamicParam));
|
|
201
201
|
i0.ɵɵadvance(2);
|
|
202
|
-
i0.ɵɵproperty("ngIf", !ctx_r1.isWaitingWeekServed);
|
|
202
|
+
i0.ɵɵproperty("ngIf", ctx_r1.isMS() && !ctx_r1.isWaitingWeekServed);
|
|
203
203
|
i0.ɵɵadvance(1);
|
|
204
204
|
i0.ɵɵproperty("ngIf", ctx_r1.isMS() && ctx_r1.isWorkSearchWaived && ctx_r1.isWaitingWeekServed);
|
|
205
205
|
i0.ɵɵadvance(1);
|
|
@@ -388,7 +388,7 @@ export class WeeklyWorkSearchJournalComponent extends BasePage {
|
|
|
388
388
|
}
|
|
389
389
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WeeklyWorkSearchJournalComponent, [{
|
|
390
390
|
type: Component,
|
|
391
|
-
args: [{ selector: 'app-weekly-work-search-journal', template: "<div *ngIf=\"!isLoading && errorMsg\" class=\"ion-text-center ion-padding-top\" style=\"padding-top: 50px;\">\r\n <ion-icon name=\"alert-circle-outline\" style=\"font-size: 60px; color: var(--ion-color-danger);\"></ion-icon>\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(errorMsg)\"\r\n style=\"color: var(--ion-color-danger); font-size: larger;\" class=\"ion-text-center ion-padding\"></div>\r\n</div>\r\n\r\n<div *ngIf=\"!isLoading && !errorMsg\">\r\n <ion-grid>\r\n <ion-row>\r\n <ion-col size=\"12\" offsetXl=\"1\">\r\n <h1 class=\"app-heading\">{{'work.search.journal.heading' | translate:dynamicParam }}</h1>\r\n </ion-col>\r\n </ion-row>\r\n </ion-grid>\r\n <!-- There can be below combinations:\r\n 1. Waiting week is NOT served (With or without worksearch waived) - highest priority (Waiting week message)\r\n 2. Waiting week is served & Work search is waived - Worksearch waiver message\r\n 3. Waiting week is served and work search is NOT waived -->\r\n <div *ngIf=\"!isWaitingWeekServed\">\r\n <ion-grid class=\"ion-padding-top\">\r\n <ion-row>\r\n <ion-col ion-col size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"6\" sizeXl=\"5\" offsetLg=\"3\"\r\n offsetXl={{offSetValue}} offsetMd=\"1\">\r\n <span>{{'no.work.search.required' | translate}}</span>\r\n </ion-col>\r\n </ion-row>\r\n </ion-grid>\r\n </div>\r\n <div *ngIf=\"isMS() && isWorkSearchWaived && isWaitingWeekServed\">\r\n <ion-grid class=\"ion-padding-top\">\r\n <ion-row *ngIf=\"this.waiverReason\">\r\n <ion-col ion-col size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"6\" sizeXl=\"5\" offsetLg=\"3\"\r\n offsetXl={{offSetValue}} offsetMd=\"1\">\r\n <span>{{ this.waiverReason}}</span>\r\n </ion-col>\r\n </ion-row>\r\n </ion-grid>\r\n </div>\r\n <div *ngIf=\"(!isWorkSearchWaived || (!isMS() && isWorkSearchWaived)) && isWaitingWeekServed\">\r\n <ion-grid>\r\n <ion-row>\r\n <ion-col size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"6\" sizeXl=\"5\" offsetLg=\"3\"\r\n offsetXl={{offSetValue}} offsetMd=\"1\">\r\n <br />\r\n <ion-row>\r\n <ion-col size=\"6\">\r\n <h1 *ngIf=\"isME()\" style=\"position: fixed; margin-top: -45px;\" class=\"heading\">\r\n {{'work.search.activities' | translate }}</h1>\r\n <app-work-search-counter [count]=\"journals.length\"\r\n [hiredRecordCount]=\"retrieveHiredRecordCount()\"\r\n [msg]=\"getWorkSearchMessage()\"></app-work-search-counter>\r\n </ion-col>\r\n <ion-col class=\"journal-text\" style=\"padding-top: 75px; padding-right: 0px;\" size=\"5\">\r\n <b>+ Add</b> activity\r\n </ion-col>\r\n <ion-col class=\"journal-button\" style=\"padding-top: 60px;\" size=\"1\">\r\n <ion-button style=\"padding: 0px 0px;\" fill=\"outline\" size=\"small\" (click)=\"add()\"\r\n class=\"action-button\">\r\n <fa-icon [icon]=\"['fal', 'plus']\" class=\"action-icon\"></fa-icon>\r\n </ion-button>\r\n </ion-col>\r\n </ion-row>\r\n <div style=\"margin-bottom: 5px;\"></div>\r\n <section *ngIf=\"journals.length === 0\">\r\n <p-table [value]=\"[{}]\" styleClass=\"p-datatable-striped app-datatable\">\r\n <ng-template pTemplate=\"header\">\r\n <tr class=\"row-border\">\r\n <th style=\"height: 75px;\"></th>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n </section>\r\n <p-table [value]=\"journals\" styleClass=\"p-datatable-striped app-datatable\" [loading]=\"isLoading\">\r\n <ng-template pTemplate=\"body\" let-record>\r\n <tr class=\"row-border\">\r\n <td>{{record.workSearchDate | date:'M/d/yyyy'}}</td>\r\n <td style=\"white-space: pre;\">{{record | formatWorksearchRecord}}</td>\r\n <td class=\"ion-text-right\">\r\n <ion-button fill=\"outline\" size=\"small\" (click)=\"edit(record)\"\r\n class=\"action-button\">\r\n <fa-icon [icon]=\"['fal', 'edit']\" class=\"action-icon\"></fa-icon>\r\n </ion-button>\r\n <ion-button fill=\"outline\" size=\"small\" (click)=\"delete(record)\"\r\n class=\"action-button\">\r\n <fa-icon [icon]=\"['fal', 'trash-alt']\" class=\"action-icon\"></fa-icon>\r\n </ion-button>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n </ion-col>\r\n <ion-col size=\"12\" sizeXl=\"5\" offsetXl=\"1\" sizeLg=\"6\" style=\"text-align: center;\" *ngIf=\"!isMS()\">\r\n <h4 class=\"heading\">{{'work.search.journal.weekly.header' | translate}}</h4><br />\r\n <div>\r\n <div [innerHtml]=\"'work.search.journal.weekly.placeholder' | translate \"></div>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n </ion-grid>\r\n </div>\r\n <!-- <app-work-search-employer-ct *ngIf=\"showAddWsRecors && isCT()\" (success)=\"addWsRecord($event)\"\r\n (onClose)=\"closeWsRecord()\" [journal]=\"true\" [sunDate]=\"sunDate\" [satDate]=\"satDate\"\r\n [satDateString]=\"satDateString\" [sunDateString]=\"sunDateString\" [data]=\"journal\"></app-work-search-employer-ct> -->\r\n <app-work-search-employer-me *ngIf=\"showAddWsRecors && isME()\" (success)=\"addWsRecord($event)\"\r\n (onClose)=\"closeWsRecord()\" [journal]=\"true\" [sunDate]=\"sunDate\" [satDate]=\"satDate\"\r\n [satDateString]=\"satDateString\" [sunDateString]=\"sunDateString\" [data]=\"journal\"></app-work-search-employer-me>\r\n <app-work-search-employer-ms *ngIf=\"showAddWsRecors && isMS()\" (success)=\"addWsRecord($event)\"\r\n (onClose)=\"closeWsRecord()\" [journal]=\"true\" [sunDate]=\"sunDate\" [satDate]=\"satDate\"\r\n [satDateString]=\"satDateString\" [sunDateString]=\"sunDateString\" [data]=\"journal\"></app-work-search-employer-ms>\r\n</div>", styles: ["ion-col{padding:12px}.row-border{background:#fff 0% 0% no-repeat padding-box;border:.5px solid #707070;border-bottom:.5px solid #707070;opacity:1}.journal-text,.journal-button{text-align:right}@media (min-width: 344px) and (max-width: 391px){.journal-text{padding-top:100px!important}.journal-button{padding-top:80px!important}}\n"] }]
|
|
391
|
+
args: [{ selector: 'app-weekly-work-search-journal', template: "<div *ngIf=\"!isLoading && errorMsg\" class=\"ion-text-center ion-padding-top\" style=\"padding-top: 50px;\">\r\n <ion-icon name=\"alert-circle-outline\" style=\"font-size: 60px; color: var(--ion-color-danger);\"></ion-icon>\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(errorMsg)\"\r\n style=\"color: var(--ion-color-danger); font-size: larger;\" class=\"ion-text-center ion-padding\"></div>\r\n</div>\r\n\r\n<div *ngIf=\"!isLoading && !errorMsg\">\r\n <ion-grid>\r\n <ion-row>\r\n <ion-col size=\"12\" offsetXl=\"1\">\r\n <h1 class=\"app-heading\">{{'work.search.journal.heading' | translate:dynamicParam }}</h1>\r\n </ion-col>\r\n </ion-row>\r\n </ion-grid>\r\n <!-- There can be below combinations:\r\n 1. Waiting week is NOT served (With or without worksearch waived) - highest priority (Waiting week message)\r\n 2. Waiting week is served & Work search is waived - Worksearch waiver message\r\n 3. Waiting week is served and work search is NOT waived -->\r\n <div *ngIf=\"isMS() && !isWaitingWeekServed\">\r\n <ion-grid class=\"ion-padding-top\">\r\n <ion-row>\r\n <ion-col ion-col size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"6\" sizeXl=\"5\" offsetLg=\"3\"\r\n offsetXl={{offSetValue}} offsetMd=\"1\">\r\n <span>{{'no.work.search.required' | translate}}</span>\r\n </ion-col>\r\n </ion-row>\r\n </ion-grid>\r\n </div>\r\n <div *ngIf=\"isMS() && isWorkSearchWaived && isWaitingWeekServed\">\r\n <ion-grid class=\"ion-padding-top\">\r\n <ion-row *ngIf=\"this.waiverReason\">\r\n <ion-col ion-col size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"6\" sizeXl=\"5\" offsetLg=\"3\"\r\n offsetXl={{offSetValue}} offsetMd=\"1\">\r\n <span>{{ this.waiverReason}}</span>\r\n </ion-col>\r\n </ion-row>\r\n </ion-grid>\r\n </div>\r\n <div *ngIf=\"(!isWorkSearchWaived || (!isMS() && isWorkSearchWaived)) && isWaitingWeekServed\">\r\n <ion-grid>\r\n <ion-row>\r\n <ion-col size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"6\" sizeXl=\"5\" offsetLg=\"3\"\r\n offsetXl={{offSetValue}} offsetMd=\"1\">\r\n <br />\r\n <ion-row>\r\n <ion-col size=\"6\">\r\n <h1 *ngIf=\"isME()\" style=\"position: fixed; margin-top: -45px;\" class=\"heading\">\r\n {{'work.search.activities' | translate }}</h1>\r\n <app-work-search-counter [count]=\"journals.length\"\r\n [hiredRecordCount]=\"retrieveHiredRecordCount()\"\r\n [msg]=\"getWorkSearchMessage()\"></app-work-search-counter>\r\n </ion-col>\r\n <ion-col class=\"journal-text\" style=\"padding-top: 75px; padding-right: 0px;\" size=\"5\">\r\n <b>+ Add</b> activity\r\n </ion-col>\r\n <ion-col class=\"journal-button\" style=\"padding-top: 60px;\" size=\"1\">\r\n <ion-button style=\"padding: 0px 0px;\" fill=\"outline\" size=\"small\" (click)=\"add()\"\r\n class=\"action-button\">\r\n <fa-icon [icon]=\"['fal', 'plus']\" class=\"action-icon\"></fa-icon>\r\n </ion-button>\r\n </ion-col>\r\n </ion-row>\r\n <div style=\"margin-bottom: 5px;\"></div>\r\n <section *ngIf=\"journals.length === 0\">\r\n <p-table [value]=\"[{}]\" styleClass=\"p-datatable-striped app-datatable\">\r\n <ng-template pTemplate=\"header\">\r\n <tr class=\"row-border\">\r\n <th style=\"height: 75px;\"></th>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n </section>\r\n <p-table [value]=\"journals\" styleClass=\"p-datatable-striped app-datatable\" [loading]=\"isLoading\">\r\n <ng-template pTemplate=\"body\" let-record>\r\n <tr class=\"row-border\">\r\n <td>{{record.workSearchDate | date:'M/d/yyyy'}}</td>\r\n <td style=\"white-space: pre;\">{{record | formatWorksearchRecord}}</td>\r\n <td class=\"ion-text-right\">\r\n <ion-button fill=\"outline\" size=\"small\" (click)=\"edit(record)\"\r\n class=\"action-button\">\r\n <fa-icon [icon]=\"['fal', 'edit']\" class=\"action-icon\"></fa-icon>\r\n </ion-button>\r\n <ion-button fill=\"outline\" size=\"small\" (click)=\"delete(record)\"\r\n class=\"action-button\">\r\n <fa-icon [icon]=\"['fal', 'trash-alt']\" class=\"action-icon\"></fa-icon>\r\n </ion-button>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n </ion-col>\r\n <ion-col size=\"12\" sizeXl=\"5\" offsetXl=\"1\" sizeLg=\"6\" style=\"text-align: center;\" *ngIf=\"!isMS()\">\r\n <h4 class=\"heading\">{{'work.search.journal.weekly.header' | translate}}</h4><br />\r\n <div>\r\n <div [innerHtml]=\"'work.search.journal.weekly.placeholder' | translate \"></div>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n </ion-grid>\r\n </div>\r\n <!-- <app-work-search-employer-ct *ngIf=\"showAddWsRecors && isCT()\" (success)=\"addWsRecord($event)\"\r\n (onClose)=\"closeWsRecord()\" [journal]=\"true\" [sunDate]=\"sunDate\" [satDate]=\"satDate\"\r\n [satDateString]=\"satDateString\" [sunDateString]=\"sunDateString\" [data]=\"journal\"></app-work-search-employer-ct> -->\r\n <app-work-search-employer-me *ngIf=\"showAddWsRecors && isME()\" (success)=\"addWsRecord($event)\"\r\n (onClose)=\"closeWsRecord()\" [journal]=\"true\" [sunDate]=\"sunDate\" [satDate]=\"satDate\"\r\n [satDateString]=\"satDateString\" [sunDateString]=\"sunDateString\" [data]=\"journal\"></app-work-search-employer-me>\r\n <app-work-search-employer-ms *ngIf=\"showAddWsRecors && isMS()\" (success)=\"addWsRecord($event)\"\r\n (onClose)=\"closeWsRecord()\" [journal]=\"true\" [sunDate]=\"sunDate\" [satDate]=\"satDate\"\r\n [satDateString]=\"satDateString\" [sunDateString]=\"sunDateString\" [data]=\"journal\"></app-work-search-employer-ms>\r\n</div>", styles: ["ion-col{padding:12px}.row-border{background:#fff 0% 0% no-repeat padding-box;border:.5px solid #707070;border-bottom:.5px solid #707070;opacity:1}.journal-text,.journal-button{text-align:right}@media (min-width: 344px) and (max-width: 391px){.journal-text{padding-top:100px!important}.journal-button{padding-top:80px!important}}\n"] }]
|
|
392
392
|
}], () => [{ type: i1.WorkSearchService }, { type: i2.UtilService }, { type: i3.AlertController }, { type: i4.ReviewService }, { type: i5.DomSanitizer }], null); })();
|
|
393
393
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WeeklyWorkSearchJournalComponent, { className: "WeeklyWorkSearchJournalComponent", filePath: "lib\\components\\weekly-work-search-journal\\weekly-work-search-journal.component.ts", lineNumber: 16 }); })();
|
|
394
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vla2x5LXdvcmstc2VhcmNoLWpvdXJuYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJldXNhLWFwcC1saWIvc3JjL2xpYi9jb21wb25lbnRzL3dlZWtseS13b3JrLXNlYXJjaC1qb3VybmFsL3dlZWtseS13b3JrLXNlYXJjaC1qb3VybmFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy93ZWVrbHktd29yay1zZWFyY2gtam91cm5hbC93ZWVrbHktd29yay1zZWFyY2gtam91cm5hbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBSWxELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7SUNKaEQsOEJBQXVHO0lBQ25HLDhCQUEwRyxhQUFBO0lBRzlHLGlCQUFNOzs7SUFGRyxlQUF5RDtJQUF6RCx3R0FBeUQ7OztJQWdCOUQsMkJBQWtDLGtCQUFBLGNBQUEsaUJBQUEsV0FBQTtJQUtaLFlBQXlDOztJQUFBLGlCQUFPLEVBQUEsRUFBQSxFQUFBLEVBQUE7OztJQUR0RCxlQUF3QjtJQUF4Qix3REFBd0I7SUFDbEIsZUFBeUM7SUFBekMscUVBQXlDOzs7SUFPdkQsK0JBQW1DLGlCQUFBLFdBQUE7SUFHckIsWUFBc0I7SUFBQSxpQkFBTyxFQUFBLEVBQUE7OztJQURuQyxlQUF3QjtJQUF4Qix3REFBd0I7SUFDbEIsZUFBc0I7SUFBdEIseUNBQXNCOzs7SUFMNUMsMkJBQWlFLGtCQUFBO0lBRXpELHFHQUtVO0lBQ2QsaUJBQVcsRUFBQTs7O0lBTkcsZUFBdUI7SUFBdkIsMENBQXVCOzs7SUFnQmpCLDhCQUErRTtJQUMzRSxZQUF5Qzs7SUFBQSxpQkFBSzs7SUFBOUMsZUFBeUM7SUFBekMsOEVBQXlDOzs7SUFtQnpDLDhCQUF1QjtJQUNuQix5QkFBK0I7SUFDbkMsaUJBQUs7Ozs7O0lBTGpCLCtCQUF1QyxrQkFBQTtJQUUvQix5SEFJYztJQUNsQixpQkFBVSxFQUFBOztJQU5ELGVBQWM7SUFBZCw4RUFBYzs7Ozs7O0lBVW5CLDhCQUF1QixTQUFBO0lBQ2YsWUFBMkM7O0lBQUEsaUJBQUs7SUFDcEQsOEJBQThCO0lBQUEsWUFBbUM7O0lBQUEsaUJBQUs7SUFDdEUsOEJBQTJCLHFCQUFBO0lBQ2lCLHVRQUFTLGVBQUEsd0JBQVksQ0FBQSxJQUFDO0lBRTFELDhCQUFnRTtJQUNwRSxpQkFBYTtJQUNiLHVDQUMwQjtJQURjLHdRQUFTLGVBQUEsMEJBQWMsQ0FBQSxJQUFDO0lBRTVELCtCQUFxRTtJQUN6RSxpQkFBYSxFQUFBLEVBQUE7OztJQVZiLGVBQTJDO0lBQTNDLGlGQUEyQztJQUNqQixlQUFtQztJQUFuQyxzREFBbUM7SUFJaEQsZUFBd0I7SUFBeEIsaURBQXdCO0lBSXhCLGVBQTZCO0lBQTdCLGtEQUE2Qjs7O0lBTzlELG1DQUFrRyxhQUFBO0lBQzFFLFlBQW1EOztJQUFBLGlCQUFLO0lBQUEscUJBQU07SUFDbEYsMkJBQUs7SUFDRCwwQkFBK0U7O0lBQ25GLGlCQUFNLEVBQUE7O0lBSGMsZUFBbUQ7SUFBbkQsK0VBQW1EO0lBRTlELGVBQW1FO0lBQW5FLDZHQUFtRTs7Ozs7SUF4RDVGLDJCQUE2RixlQUFBLGNBQUEsa0JBQUE7SUFLN0UscUJBQU07SUFDTiwrQkFBUyxrQkFBQTtJQUVELDRGQUNrRDtJQUNsRCw4Q0FFNkQ7SUFDakUsaUJBQVU7SUFDVixtQ0FBc0YsU0FBQTtJQUMvRSxzQkFBSztJQUFBLGlCQUFJO0lBQUMsMkJBQ2pCO0lBQUEsaUJBQVU7SUFDVixvQ0FBb0Usc0JBQUE7SUFDRSwyTEFBUyxlQUFBLGFBQUssQ0FBQSxJQUFDO0lBRTdFLCtCQUFnRTtJQUNwRSxpQkFBYSxFQUFBLEVBQUE7SUFHckIsMkJBQXVDO0lBQ3ZDLHVHQVFVO0lBQ1Ysb0NBQWlHO0lBQzdGLGtIQWVjO0lBQ2xCLGlCQUFVLEVBQUE7SUFFZCx3R0FLVTtJQUNkLGlCQUFVLEVBQUEsRUFBQTs7O0lBdkRGLGVBQXdCO0lBQXhCLHdEQUF3QjtJQUlYLGVBQVk7SUFBWixvQ0FBWTtJQUVRLGVBQXlCO0lBQXpCLDhDQUF5Qix1REFBQSxzQ0FBQTtJQVVyQyxlQUF3QjtJQUF4QixrREFBd0I7SUFLbkMsZUFBMkI7SUFBM0IsbURBQTJCO0lBUzVCLGVBQWtCO0lBQWxCLHVDQUFrQiw2QkFBQTtJQW1Cb0QsZUFBYTtJQUFiLHFDQUFhOzs7O0lBWTVHLHVEQUVxRjtJQUZ0Qiw4T0FBVyxlQUFBLDJCQUFtQixDQUFBLElBQUMsMk5BQy9FLGVBQUEsdUJBQWUsQ0FBQSxJQURnRTtJQUVULGlCQUE4Qjs7O0lBRG5GLDhCQUFnQiwyQkFBQSwyQkFBQSx1Q0FBQSx1Q0FBQSx3QkFBQTs7OztJQUVoRCx1REFFcUY7SUFGdEIsOE9BQVcsZUFBQSwyQkFBbUIsQ0FBQSxJQUFDLDJOQUMvRSxlQUFBLHVCQUFlLENBQUEsSUFEZ0U7SUFFVCxpQkFBOEI7OztJQURuRiw4QkFBZ0IsMkJBQUEsMkJBQUEsdUNBQUEsdUNBQUEsd0JBQUE7OztJQXJHcEQsMkJBQXFDLGVBQUEsY0FBQSxpQkFBQSxZQUFBO0lBSUcsWUFBMkQ7O0lBQUEsaUJBQUssRUFBQSxFQUFBLEVBQUE7SUFRcEcsdUZBU00sMEVBQUEsNEVBQUEsNEhBQUEsNEhBQUE7SUFrRlYsaUJBQU07OztJQW5Ha0MsZUFBMkQ7SUFBM0QsOEZBQTJEO0lBUXpGLGVBQTBCO0lBQTFCLGtEQUEwQjtJQVUxQixlQUF5RDtJQUF6RCwrRkFBeUQ7SUFVekQsZUFBcUY7SUFBckYsZ0lBQXFGO0lBaUU3RCxlQUErQjtJQUEvQiw4REFBK0I7SUFHL0IsZUFBK0I7SUFBL0IsOERBQStCOztBRDNGakUsTUFBTSxPQUFPLGdDQUFpQyxTQUFRLFFBQVE7SUFzQjVELFlBQW1CLEdBQXVCLEVBQVMsSUFBaUIsRUFBUyxFQUFtQixFQUFVLEVBQWtCLEVBQVMsU0FBdUI7UUFDMUosS0FBSyxFQUFFLENBQUM7UUFEUyxRQUFHLEdBQUgsR0FBRyxDQUFvQjtRQUFTLFNBQUksR0FBSixJQUFJLENBQWE7UUFBUyxPQUFFLEdBQUYsRUFBRSxDQUFpQjtRQUFVLE9BQUUsR0FBRixFQUFFLENBQWdCO1FBQVMsY0FBUyxHQUFULFNBQVMsQ0FBYztRQXJCdEosYUFBUSxHQUE2QixFQUFFLENBQUM7UUFJdkMsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFNeEIsY0FBUyxHQUFhLEtBQUssQ0FBQztRQVE1QixpQkFBWSxHQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFLbkQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFHLElBQUksQ0FBQyxZQUFZLEtBQUssSUFBSSxFQUM3QjtZQUNFLElBQUksQ0FBQyxXQUFXLEdBQUMsQ0FBQyxDQUFBO1NBQ25CO2FBQ0k7WUFDSCxJQUFJLENBQUMsV0FBVyxHQUFDLENBQUMsQ0FBQTtTQUNuQjtRQUVELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQy9DLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxHQUFHLENBQUMsdUJBQXVCLEVBQUU7YUFDekIsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2YsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1lBQ2hFLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsQ0FBQztZQUNoRSxJQUFJLENBQUMsYUFBYSxHQUFHLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQztZQUNqRCxJQUFJLENBQUMsYUFBYSxHQUFHLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQztZQUNqRCxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQztZQUN0QyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsR0FBRyxDQUFDLGtCQUFrQixDQUFDO1lBQ2pELElBQUksQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFDLFlBQVksQ0FBQztZQUNyQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsR0FBRyxDQUFDLG1CQUFtQixDQUFDO1lBQ25ELElBQUksQ0FBQyxZQUFZLEdBQUc7Z0JBQ2xCLGVBQWUsRUFBRSxJQUFJLENBQUMsYUFBYTtnQkFDbkMsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO2FBQ2xDLENBQUM7WUFDRixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN6QixDQUFDLEVBQUMsR0FBRyxDQUFDLEVBQUU7WUFDTixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN2QixJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7SUFDYixDQUFDO0lBRUQsY0FBYyxDQUFDLEtBQUs7UUFDbEIsSUFBSSxTQUFTLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqQyxJQUFJLEVBQUUsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25FLElBQUksRUFBRSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZFLElBQUksSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckUsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUMsRUFBRSxFQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRixHQUFHO1FBQ0EsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7SUFDOUIsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztRQUM3QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztJQUN0QixDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQTZCO1FBQ3ZDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDO2FBQzVCLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNmLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1lBQzdCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLElBQUcsS0FBSyxDQUFDLDJCQUEyQixFQUFDO2dCQUNuQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO2FBQ3JEO2lCQUFJO2dCQUNILElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLDhCQUE4QixDQUFDLENBQUM7YUFDbkQ7WUFDRCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0IsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFO1lBQ1AsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDNUIsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7WUFDN0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQUM7SUFDYixDQUFDO0lBRUQsSUFBSSxDQUFDLFFBQWdDO1FBQ25DLElBQUksQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO0lBQzlCLENBQUM7SUFFRCx3QkFBd0I7UUFDdEIsaUJBQWlCO1FBQ2YsSUFBSSxnQkFBZ0IsR0FBRyxDQUFDLENBQUM7UUFDekIsS0FBSSxJQUFJLENBQUMsR0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUMxQztZQUNFLElBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLEtBQUssTUFBTSxFQUMzQztnQkFDRSxnQkFBZ0IsSUFBRyxDQUFDLENBQUM7YUFDdEI7U0FDRjtRQUNELE9BQU8sZ0JBQWdCLENBQUM7SUFDNUIsQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUksU0FBUyxHQUFFLENBQUMsQ0FBQztRQUNqQixLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQzFDO1lBQ0UsSUFBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksS0FBSyxNQUFNLEVBQzNDO2dCQUNFLFNBQVMsRUFBRSxDQUFDO2FBQ2I7U0FDRjtRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLFFBQWdDO1FBQzNDLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUM7WUFDakMsTUFBTSxFQUFFLFVBQVU7WUFDbEIsT0FBTyxFQUFFLDZDQUE2QztZQUN0RCxPQUFPLEVBQUU7Z0JBQ1A7b0JBQ0UsSUFBSSxFQUFFLFFBQVE7b0JBQ2QsSUFBSSxFQUFFLFFBQVE7b0JBQ2QsUUFBUSxFQUFFLFNBQVM7b0JBQ25CLE9BQU8sRUFBRSxHQUFHLEVBQUUsR0FBRSxDQUFDO2lCQUNsQixFQUFFO29CQUNELElBQUksRUFBRSxNQUFNO29CQUNaLE9BQU8sRUFBRSxHQUFHLEVBQUU7d0JBQ1osSUFBSSxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsMkJBQTJCLENBQUM7NkJBQzdELFNBQVMsQ0FDUixHQUFHLENBQUMsRUFBRTs0QkFDSixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDOzRCQUNsRCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7d0JBQ3ZCLENBQUMsRUFBQyxHQUFHLENBQUMsRUFBRTs0QkFDTixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQzt3QkFDOUIsQ0FBQyxDQUNGLENBQUM7b0JBQ1osQ0FBQztpQkFDRjthQUNGO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsTUFBTSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVDLG9CQUFvQjtRQUNsQixJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztRQUVqQyxpQkFBaUI7UUFDakIsSUFBSSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUV2RCxJQUFJLG1CQUFtQixHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBRW5ELElBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLElBQUksRUFBQztZQUN2QyxJQUFHLEtBQUssR0FBRyxDQUFDLEVBQUM7Z0JBQ1gsT0FBTyxnQ0FBZ0MsQ0FBQTthQUN4QztpQkFBTTtnQkFDTCxPQUFPLDBCQUEwQixDQUFDO2FBQ25DO1NBQ0Y7YUFBSTtZQUNILElBQUksS0FBSyxHQUFHLENBQUMsRUFBRTtnQkFDYixPQUFPLDBGQUEwRixDQUFBO2FBQ2xHO2lCQUFNLElBQUksS0FBSyxHQUFHLENBQUMsSUFBSSxnQkFBZ0IsR0FBRyxDQUFDLElBQUksbUJBQW1CLEdBQUcsQ0FBQyxFQUFHO2dCQUN4RSxPQUFPLDBGQUEwRixDQUFBO2FBQ2xHO2lCQUFNLElBQUksS0FBSyxHQUFHLENBQUMsSUFBSSxnQkFBZ0IsR0FBRyxDQUFDLElBQUksbUJBQW1CLElBQUksQ0FBQyxFQUFDO2dCQUN2RSxPQUFPLHlDQUF5QyxDQUFBO2FBQ2pEO2lCQUFNLElBQUksS0FBSyxHQUFHLENBQUMsSUFBSSxnQkFBZ0IsR0FBRyxDQUFDLElBQUksbUJBQW1CLEdBQUcsQ0FBQyxFQUFHO2dCQUN4RSxPQUFPLHdGQUF3RixDQUFBO2FBQ2hHO2lCQUFNLElBQUksS0FBSyxHQUFHLENBQUMsSUFBSSxnQkFBZ0IsR0FBRyxDQUFDLElBQUksbUJBQW1CLElBQUksQ0FBQyxFQUFHO2dCQUN6RSxPQUFPLHVDQUF1QyxDQUFBO2FBQy9DO2lCQUFNLElBQUksZ0JBQWdCLEdBQUcsQ0FBQyxJQUFJLG1CQUFtQixHQUFHLENBQUMsRUFBRTtnQkFDMUQsT0FBTyxtRUFBbUUsQ0FBQTthQUMzRTtpQkFDSTtnQkFDSCxPQUFPLDBCQUEwQixDQUFDO2FBQ25DO1NBQ0Y7SUFDSCxDQUFDO2lHQWxNUSxnQ0FBZ0M7b0VBQWhDLGdDQUFnQztZQ2Y3QyxpRkFJTSxxRUFBQTs7WUFKQSxxREFBNEI7WUFNNUIsZUFBNkI7WUFBN0Isc0RBQTZCOzs7aUZEU3RCLGdDQUFnQztjQUw1QyxTQUFTOzJCQUNFLGdDQUFnQzs7a0ZBSS9CLGdDQUFnQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBBbGVydENvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XHJcbmltcG9ydCB7IFV0aWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdXRpbC91dGlsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCYXNlUGFnZSB9IGZyb20gJy4uLy4uL3BhZ2VzL0Jhc2VQYWdlJztcclxuaW1wb3J0IHsgQ29tYm9PcHRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvY29tYm8tbW9kZWwnO1xyXG5pbXBvcnQgeyBXb3JrU2VhcmNoUmVjb3JkTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvd2Vla2x5LWNlcnQvd29yay1zZWFyY2gtcmVjb3JkLXYyLW1vZGVsJztcclxuaW1wb3J0IHsgUmV2aWV3U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3dlZWtseS1jZXJ0L3Jldmlldy5zZXJ2aWNlJ1xyXG5pbXBvcnQgeyBXb3JrU2VhcmNoU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3dlZWtseS1jZXJ0L3dvcmstc2VhcmNoLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtd2Vla2x5LXdvcmstc2VhcmNoLWpvdXJuYWwnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi93ZWVrbHktd29yay1zZWFyY2gtam91cm5hbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3dlZWtseS13b3JrLXNlYXJjaC1qb3VybmFsLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgV2Vla2x5V29ya1NlYXJjaEpvdXJuYWxDb21wb25lbnQgZXh0ZW5kcyBCYXNlUGFnZSBpbXBsZW1lbnRzIE9uSW5pdHtcclxuIHB1YmxpYyBqb3VybmFscyA6IFdvcmtTZWFyY2hSZWNvcmRNb2RlbFtdID0gW107XHJcblxyXG4gIHB1YmxpYyBqb3VybmFsIDogV29ya1NlYXJjaFJlY29yZE1vZGVsO1xyXG5cclxuICBwdWJsaWMgc2hvd0FkZFdzUmVjb3JzID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyBzYXREYXRlIDogRGF0ZTtcclxuICBwdWJsaWMgc3VuRGF0ZSA6IERhdGU7XHJcbiAgcHVibGljIHNhdERhdGVTdHJpbmc7XHJcbiAgcHVibGljIHN1bkRhdGVTdHJpbmc7XHJcbiAgcHVibGljIGlzTG9hZGluZyA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgZHluYW1pY1BhcmFtIDogYW55O1xyXG4gIHB1YmxpYyBlcnJvck1zZyA6IHN0cmluZztcclxuICBwdWJsaWMgd2FpdmVyUmVhc29uOiBzdHJpbmc7XHJcbiAgcHVibGljIGlzV29ya1NlYXJjaFdhaXZlZCA6IGJvb2xlYW47XHJcbiAgcHVibGljIGlzV2FpdGluZ1dlZWtTZXJ2ZWQgOiBib29sZWFuO1xyXG4gIGNvbXBTdGF0ZSA6IHN0cmluZztcclxuXHJcbiAgcHVibGljIGN1cnJlbnRTdGF0ZTogc3RyaW5nID0gdGhpcy51dGlsLmdldFN0YXRlKCk7XHJcbiAgcHVibGljIG9mZlNldFZhbHVlOiBudW1iZXJcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHdzcyA6IFdvcmtTZWFyY2hTZXJ2aWNlLCBwdWJsaWMgdXRpbDogVXRpbFNlcnZpY2UsIHB1YmxpYyBhYzogQWxlcnRDb250cm9sbGVyLCBwcml2YXRlIHJzIDogUmV2aWV3U2VydmljZSwgcHVibGljIHNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7IFxyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYodGhpcy5jdXJyZW50U3RhdGUgPT09ICdNUycpXHJcbiAgICB7XHJcbiAgICAgIHRoaXMub2ZmU2V0VmFsdWU9NFxyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMub2ZmU2V0VmFsdWU9MVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY29tcFN0YXRlID0gdGhpcy51dGlsLmdldFN0YXRlTG93ZXJjYXNlKCk7XHJcbiAgICB0aGlzLmZldGNoSm91cm5hbHMoKTtcclxuICB9XHJcblxyXG4gIGZldGNoSm91cm5hbHMoKSB7XHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLndzcy5mZXRjaFdvcmtTZWFyY2hKb3VybmFscygpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLnN1bkRhdGUgPSB0aGlzLmdldEVudGVyZWREYXRlKHJlcy5taW5Xb3JrU2VhcmNoRGF0ZVN0cmluZyk7XHJcbiAgICAgICAgICAgICAgdGhpcy5zYXREYXRlID0gdGhpcy5nZXRFbnRlcmVkRGF0ZShyZXMubWF4V29ya1NlYXJjaERhdGVTdHJpbmcpO1xyXG4gICAgICAgICAgICAgIHRoaXMuc2F0RGF0ZVN0cmluZyA9IHJlcy5tYXhXb3JrU2VhcmNoRGF0ZVN0cmluZztcclxuICAgICAgICAgICAgICB0aGlzLnN1bkRhdGVTdHJpbmcgPSByZXMubWluV29ya1NlYXJjaERhdGVTdHJpbmc7XHJcbiAgICAgICAgICAgICAgdGhpcy5qb3VybmFscyA9IHJlcy53b3JrU2VhcmNoUmVjb3JkcztcclxuICAgICAgICAgICAgICB0aGlzLmlzV29ya1NlYXJjaFdhaXZlZCA9IHJlcy5pc1dvcmtTZWFyY2hXYWl2ZWQ7XHJcbiAgICAgICAgICAgICAgdGhpcy53YWl2ZXJSZWFzb24gPSByZXMud2FpdmVyUmVhc29uO1xyXG4gICAgICAgICAgICAgIHRoaXMuaXNXYWl0aW5nV2Vla1NlcnZlZCA9IHJlcy5pc1dhaXRpbmdXZWVrU2VydmVkO1xyXG4gICAgICAgICAgICAgIHRoaXMuZHluYW1pY1BhcmFtID0ge1xyXG4gICAgICAgICAgICAgICAgJ3NhdHVyZGF5X2RhdGUnOiB0aGlzLnNhdERhdGVTdHJpbmcsXHJcbiAgICAgICAgICAgICAgICAnc3VuZGF5X2RhdGUnOiB0aGlzLnN1bkRhdGVTdHJpbmcsXHJcbiAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9LGVyciA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICB0aGlzLmVycm9yTXNnID0gZXJyLm1zZztcclxuICAgICAgICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRFbnRlcmVkRGF0ZSh2YWx1ZSl7XHJcbiAgICB2YXIgZGF0ZUFycmF5ID0gdmFsdWUuc3BsaXQoXCIvXCIpO1xyXG4gICAgdmFyIGRkID0gcGFyc2VJbnQodGhpcy51dGlsLnByZXBlZFplcm9JZlNpbmdsZURpZ2l0KGRhdGVBcnJheVsxXSkpO1xyXG4gICAgdmFyIE1NID0gcGFyc2VJbnQodGhpcy51dGlsLnByZXBlZFplcm9JZlNpbmdsZURpZ2l0KGRhdGVBcnJheVswXSkpIC0gMTtcclxuICAgIHZhciB5eXl5ID0gcGFyc2VJbnQodGhpcy51dGlsLnByZXBlZFplcm9JZlNpbmdsZURpZ2l0KGRhdGVBcnJheVsyXSkpO1xyXG4gICAgcmV0dXJuIG5ldyBEYXRlKHl5eXksTU0sZGQpO1xyXG4gIH1cclxuXHJcbiBhZGQoKXtcclxuICAgIHRoaXMuam91cm5hbCA9IG51bGw7XHJcbiAgICB0aGlzLnNob3dBZGRXc1JlY29ycyA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBjbG9zZVdzUmVjb3JkKCl7XHJcbiAgICB0aGlzLnNob3dBZGRXc1JlY29ycyA9IGZhbHNlO1xyXG4gICAgdGhpcy5qb3VybmFsID0gbnVsbDtcclxuICB9XHJcblxyXG4gIGFkZFdzUmVjb3JkKGV2ZW50IDogV29ya1NlYXJjaFJlY29yZE1vZGVsKXtcclxuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMud3NzLnNhdmVXb3JrU2VhcmNoSm91cm5hbChldmVudClcclxuICAgICAgICAgICAgLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgdGhpcy5zaG93QWRkV3NSZWNvcnMgPSBmYWxzZTtcclxuICAgICAgICAgICAgICB0aGlzLmpvdXJuYWwgPSBudWxsO1xyXG4gICAgICAgICAgICAgIGlmKGV2ZW50LmNsYWltYW50V29ya1NlYXJjaEpvdXJuYWxJZCl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnV0aWwuc3VjY2VzcyhcIkFjdGl2aXR5IHVwZGF0ZWQgc3VjY2Vzc2Z1bGx5LlwiKTtcclxuICAgICAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgICAgIHRoaXMudXRpbC5zdWNjZXNzKFwiQWN0aXZpdHkgc2F2ZWQgc3VjY2Vzc2Z1bGx5LlwiKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgdGhpcy5mZXRjaEpvdXJuYWxzKCk7XHJcbiAgICAgICAgICAgICAgdGhpcy5ycy5zZXRSZXZpZXdBcHAodHJ1ZSk7XHJcbiAgICAgICAgICAgIH0sIGVyciA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICB0aGlzLnV0aWwuZXJyb3JIYW5kbGVyKGVycik7XHJcbiAgICAgICAgICAgICAgdGhpcy5zaG93QWRkV3NSZWNvcnMgPSBmYWxzZTtcclxuICAgICAgICAgICAgICB0aGlzLmpvdXJuYWwgPSBudWxsO1xyXG4gICAgICAgICAgICB9KTtcclxuICB9XHJcblxyXG4gIGVkaXQod3NSZWNvcmQgOiBXb3JrU2VhcmNoUmVjb3JkTW9kZWwpe1xyXG4gICAgdGhpcy5qb3VybmFsID0gd3NSZWNvcmQ7XHJcbiAgICB0aGlzLnNob3dBZGRXc1JlY29ycyA9IHRydWU7XHJcbiAgfVxyXG5cclxuICByZXRyaWV2ZUhpcmVkUmVjb3JkQ291bnQgKCkgOiBudW1iZXIge1xyXG4gICAgLy9pdGVyYXRlIGpvdXJuYWxcclxuICAgICAgbGV0IGhpcmVkUmVjb3JkQ291bnQgPSAwO1xyXG4gICAgICBmb3IobGV0IGk9MDsgaSA8IHRoaXMuam91cm5hbHMubGVuZ3RoOyBpKyspXHJcbiAgICAgIHtcclxuICAgICAgICBpZih0aGlzLmpvdXJuYWxzW2ldLnNlYXJjaFJlc3VsdCA9PT0gXCJISVJFXCIpXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgaGlyZWRSZWNvcmRDb3VudCs9IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBoaXJlZFJlY29yZENvdW50O1xyXG4gIH1cclxuXHJcbiAgcmV0cmlldmVKb2FwQ291bnQgKCkgOiBudW1iZXIge1xyXG4gICAgbGV0IGpvYXBDb3VudCA9MDtcclxuICAgIGZvcihsZXQgaT0wOyBpIDwgdGhpcy5qb3VybmFscy5sZW5ndGg7IGkrKylcclxuICAgIHtcclxuICAgICAgaWYodGhpcy5qb3VybmFsc1tpXS5hY3Rpdml0eVR5cGUgPT09IFwiSk9BUFwiKVxyXG4gICAgICB7XHJcbiAgICAgICAgam9hcENvdW50Kys7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBqb2FwQ291bnQ7XHJcbiAgfVxyXG5cclxuICBhc3luYyBkZWxldGUod3NSZWNvcmQgOiBXb3JrU2VhcmNoUmVjb3JkTW9kZWwpe1xyXG4gICAgY29uc3QgYWxlcnQgPSBhd2FpdCB0aGlzLmFjLmNyZWF0ZSh7XHJcbiAgICAgIGhlYWRlcjogJ0NvbmZpcm0hJyxcclxuICAgICAgbWVzc2FnZTogJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgdGhpcyBlbnRyeT8nLFxyXG4gICAgICBidXR0b25zOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgdGV4dDogJ0NhbmNlbCcsXHJcbiAgICAgICAgICByb2xlOiAnY2FuY2VsJyxcclxuICAgICAgICAgIGNzc0NsYXNzOiAncHJpbWFyeScsXHJcbiAgICAgICAgICBoYW5kbGVyOiAoKSA9PiB7fVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgIHRleHQ6ICdPa2F5JyxcclxuICAgICAgICAgIGhhbmRsZXI6ICgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy53c3MuZGVsZXRlV29ya1NlYXJjaEpvdXJuYWwod3NSZWNvcmQuY2xhaW1hbnRXb3JrU2VhcmNoSm91cm5hbElkKVxyXG4gICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgICAgICAgICAgICByZXMgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnV0aWwuc3VjY2VzcyhcIlJlY29yZCBkZWxldGVkIHN1Y2Nlc3NmdWxseS5cIik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmV0Y2hKb3VybmFscygpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgfSxlcnIgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnV0aWwuZXJyb3JIYW5kbGVyKGVycik7XHJcbiAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIF1cclxuICAgIH0pO1xyXG5cclxuICAgIGF3YWl0IGFsZXJ0LnByZXNlbnQoKTtcclxuICB9XHJcblxyXG4gICAgZ2V0V29ya1NlYXJjaE1lc3NhZ2UoKSB7XHJcbiAgICAgIGxldCBjb3VudCA9IHRoaXMuam91cm5hbHMubGVuZ3RoO1xyXG5cclxuICAgICAgLy9pdGVyYXRlIGpvdXJuYWxcclxuICAgICAgbGV0IGhpcmVkUmVjb3JkQ291bnQgPSB0aGlzLnJldHJpZXZlSGlyZWRSZWNvcmRDb3VudCgpO1xyXG5cclxuICAgICAgbGV0IGpvYXBBY3Rpdml0aWVzQ291bnQgPSB0aGlzLnJldHJpZXZlSm9hcENvdW50KCk7XHJcbiAgICAgIFxyXG4gICAgICBpZih0aGlzLnV0aWwuZ2V0U3RhdGVMb3dlcmNhc2UoKSA9PSAnbWUnKXtcclxuICAgICAgICBpZihjb3VudCA8IDEpe1xyXG4gICAgICAgICAgcmV0dXJuICdBdCBsZWFzdCBvbmUgYWN0aXZpdHkgcmVxdWlyZWQnXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJldHVybiAnTWluaW11bSByZXF1aXJlbWVudHMgbWV0JztcclxuICAgICAgICB9XHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgIGlmIChjb3VudCA8IDEpIHtcclxuICAgICAgICAgIHJldHVybiAnWW91IG5lZWQgdG8gYWRkIGF0IGxlYXN0IDMgYWN0aXZpdGllcyBmb3IgdGhlIHdlZWsuIDxiPk9uZSBtdXN0IGJlIEFwcGxpZWQgZm9yIHdvcmsuPC9iPidcclxuICAgICAgICB9IGVsc2UgaWYgKGNvdW50IDwgMiAmJiBoaXJlZFJlY29yZENvdW50IDwgMSAmJiBqb2FwQWN0aXZpdGllc0NvdW50IDwgMSApIHtcclxuICAgICAgICAgIHJldHVybiAnWW91IG5lZWQgMiBtb3JlIGFjdGl2aXRpZXMgZm9yIHRoZSB3ZWVrLCBhdCBsZWFzdCBvbmUgd2l0aCBhIGZpbGVkIGFwcGxpY2F0aW9uIG9yIHJlc3VtZSdcclxuICAgICAgICB9IGVsc2UgaWYgKGNvdW50IDwgMiAmJiBoaXJlZFJlY29yZENvdW50IDwgMSAmJiBqb2FwQWN0aXZpdGllc0NvdW50ID49IDEpe1xyXG4gICAgICAgICAgcmV0dXJuICdZb3UgbmVlZCAyIG1vcmUgYWN0aXZpdGllcyBmb3IgdGhlIHdlZWsnXHJcbiAgICAgICAgfSBlbHNlIGlmIChjb3VudCA8IDMgJiYgaGlyZWRSZWNvcmRDb3VudCA8IDEgJiYgam9hcEFjdGl2aXRpZXNDb3VudCA8IDEgKSB7XHJcbiAgICAgICAgICByZXR1cm4gJ1lvdSBuZWVkIDEgbW9yZSBhY3Rpdml0eSBmb3IgdGhlIHdlZWssIGF0IGxlYXN0IG9uZSB3aXRoIGEgZmlsZWQgYXBwbGljYXRpb24gb3IgcmVzdW1lJ1xyXG4gICAgICAgIH0gZWxzZSBpZiAoY291bnQgPCAzICYmIGhpcmVkUmVjb3JkQ291bnQgPCAxICYmIGpvYXBBY3Rpdml0aWVzQ291bnQgPj0gMSApIHtcclxuICAgICAgICAgIHJldHVybiAnWW91IG5lZWQgMSBtb3JlIGFjdGl2aXR5IGZvciB0aGUgd2VlaydcclxuICAgICAgICB9IGVsc2UgaWYgKGhpcmVkUmVjb3JkQ291bnQgPCAxICYmIGpvYXBBY3Rpdml0aWVzQ291bnQgPCAxICl7XHJcbiAgICAgICAgICByZXR1cm4gJ1lvdSBuZWVkIGF0IGxlYXN0IG9uZSBhY3Rpdml0eSB3aXRoIGEgZmlsZWQgYXBwbGljYXRpb24gb3IgcmVzdW1lJ1xyXG4gICAgICAgIH0gIFxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgcmV0dXJuICdNaW5pbXVtIHJlcXVpcmVtZW50cyBtZXQnO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIjxkaXYgKm5nSWY9XCIhaXNMb2FkaW5nICYmIGVycm9yTXNnXCIgY2xhc3M9XCJpb24tdGV4dC1jZW50ZXIgaW9uLXBhZGRpbmctdG9wXCIgc3R5bGU9XCJwYWRkaW5nLXRvcDogNTBweDtcIj5cclxuICAgIDxpb24taWNvbiBuYW1lPVwiYWxlcnQtY2lyY2xlLW91dGxpbmVcIiBzdHlsZT1cImZvbnQtc2l6ZTogNjBweDsgY29sb3I6IHZhcigtLWlvbi1jb2xvci1kYW5nZXIpO1wiPjwvaW9uLWljb24+XHJcbiAgICA8ZGl2IFtpbm5lckhUTUxdPVwic2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGVycm9yTXNnKVwiXHJcbiAgICAgICAgc3R5bGU9XCJjb2xvcjogdmFyKC0taW9uLWNvbG9yLWRhbmdlcik7IGZvbnQtc2l6ZTogbGFyZ2VyO1wiIGNsYXNzPVwiaW9uLXRleHQtY2VudGVyIGlvbi1wYWRkaW5nXCI+PC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiAqbmdJZj1cIiFpc0xvYWRpbmcgJiYgIWVycm9yTXNnXCI+XHJcbiAgICA8aW9uLWdyaWQ+XHJcbiAgICAgICAgPGlvbi1yb3c+XHJcbiAgICAgICAgICAgIDxpb24tY29sIHNpemU9XCIxMlwiIG9mZnNldFhsPVwiMVwiPlxyXG4gICAgICAgICAgICAgICAgPGgxIGNsYXNzPVwiYXBwLWhlYWRpbmdcIj57eyd3b3JrLnNlYXJjaC5qb3VybmFsLmhlYWRpbmcnIHwgdHJhbnNsYXRlOmR5bmFtaWNQYXJhbSB9fTwvaDE+XHJcbiAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICA8L2lvbi1ncmlkPlxyXG4gICAgPCEtLSBUaGVyZSBjYW4gYmUgYmVsb3cgY29tYmluYXRpb25zOlxyXG4gICAgICAgMS4gV2FpdGluZyB3ZWVrIGlzIE5PVCBzZXJ2ZWQgKFdpdGggb3Igd2l0aG91dCB3b3Jrc2VhcmNoIHdhaXZlZCkgLSBoaWdoZXN0IHByaW9yaXR5IChXYWl0aW5nIHdlZWsgbWVzc2FnZSlcclxuICAgICAgIDIuIFdhaXRpbmcgd2VlayBpcyBzZXJ2ZWQgJiBXb3JrIHNlYXJjaCBpcyB3YWl2ZWQgLSBXb3Jrc2VhcmNoIHdhaXZlciBtZXNzYWdlXHJcbiAgICAgICAzLiBXYWl0aW5nIHdlZWsgaXMgc2VydmVkIGFuZCB3b3JrIHNlYXJjaCBpcyBOT1Qgd2FpdmVkICAtLT5cclxuICAgIDxkaXYgKm5nSWY9XCIhaXNXYWl0aW5nV2Vla1NlcnZlZFwiPlxyXG4gICAgICAgIDxpb24tZ3JpZCBjbGFzcz1cImlvbi1wYWRkaW5nLXRvcFwiPlxyXG4gICAgICAgICAgICA8aW9uLXJvdz5cclxuICAgICAgICAgICAgICAgIDxpb24tY29sIGlvbi1jb2wgc2l6ZT1cIjEyXCIgc2l6ZVNtPVwiMTJcIiBzaXplWHM9XCIxMlwiIHNpemVNZD1cIjEwXCIgc2l6ZUxnPVwiNlwiIHNpemVYbD1cIjVcIiBvZmZzZXRMZz1cIjNcIlxyXG4gICAgICAgICAgICAgICAgICAgIG9mZnNldFhsPXt7b2ZmU2V0VmFsdWV9fSBvZmZzZXRNZD1cIjFcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyduby53b3JrLnNlYXJjaC5yZXF1aXJlZCcgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgIDwvaW9uLWdyaWQ+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCJpc01TKCkgJiYgaXNXb3JrU2VhcmNoV2FpdmVkICYmIGlzV2FpdGluZ1dlZWtTZXJ2ZWRcIj5cclxuICAgICAgICA8aW9uLWdyaWQgY2xhc3M9XCJpb24tcGFkZGluZy10b3BcIj5cclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJ0aGlzLndhaXZlclJlYXNvblwiPlxyXG4gICAgICAgICAgICAgICAgPGlvbi1jb2wgaW9uLWNvbCBzaXplPVwiMTJcIiBzaXplU209XCIxMlwiIHNpemVYcz1cIjEyXCIgc2l6ZU1kPVwiMTBcIiBzaXplTGc9XCI2XCIgc2l6ZVhsPVwiNVwiIG9mZnNldExnPVwiM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0WGw9e3tvZmZTZXRWYWx1ZX19IG9mZnNldE1kPVwiMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IHRoaXMud2FpdmVyUmVhc29ufX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICA8L2lvbi1ncmlkPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiKCFpc1dvcmtTZWFyY2hXYWl2ZWQgfHwgKCFpc01TKCkgJiYgaXNXb3JrU2VhcmNoV2FpdmVkKSkgJiYgaXNXYWl0aW5nV2Vla1NlcnZlZFwiPlxyXG4gICAgICAgIDxpb24tZ3JpZD5cclxuICAgICAgICAgICAgPGlvbi1yb3c+XHJcbiAgICAgICAgICAgICAgICA8aW9uLWNvbCBzaXplPVwiMTJcIiBzaXplU209XCIxMlwiIHNpemVYcz1cIjEyXCIgc2l6ZU1kPVwiMTBcIiBzaXplTGc9XCI2XCIgc2l6ZVhsPVwiNVwiIG9mZnNldExnPVwiM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0WGw9e3tvZmZTZXRWYWx1ZX19IG9mZnNldE1kPVwiMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxiciAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpb24tcm93PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW9uLWNvbCBzaXplPVwiNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgxICpuZ0lmPVwiaXNNRSgpXCIgc3R5bGU9XCJwb3NpdGlvbjogZml4ZWQ7IG1hcmdpbi10b3A6IC00NXB4O1wiIGNsYXNzPVwiaGVhZGluZ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7J3dvcmsuc2VhcmNoLmFjdGl2aXRpZXMnIHwgdHJhbnNsYXRlIH19PC9oMT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhcHAtd29yay1zZWFyY2gtY291bnRlciBbY291bnRdPVwiam91cm5hbHMubGVuZ3RoXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaGlyZWRSZWNvcmRDb3VudF09XCJyZXRyaWV2ZUhpcmVkUmVjb3JkQ291bnQoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21zZ109XCJnZXRXb3JrU2VhcmNoTWVzc2FnZSgpXCI+PC9hcHAtd29yay1zZWFyY2gtY291bnRlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImpvdXJuYWwtdGV4dFwiIHN0eWxlPVwicGFkZGluZy10b3A6IDc1cHg7IHBhZGRpbmctcmlnaHQ6IDBweDtcIiBzaXplPVwiNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGI+KyBBZGQ8L2I+IGFjdGl2aXR5XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJqb3VybmFsLWJ1dHRvblwiIHN0eWxlPVwicGFkZGluZy10b3A6IDYwcHg7XCIgc2l6ZT1cIjFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uIHN0eWxlPVwicGFkZGluZzogMHB4IDBweDtcIiBmaWxsPVwib3V0bGluZVwiIHNpemU9XCJzbWFsbFwiIChjbGljayk9XCJhZGQoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhY3Rpb24tYnV0dG9uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZhLWljb24gW2ljb25dPVwiWydmYWwnLCAncGx1cyddXCIgY2xhc3M9XCJhY3Rpb24taWNvblwiPjwvZmEtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwibWFyZ2luLWJvdHRvbTogNXB4O1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uICpuZ0lmPVwiam91cm5hbHMubGVuZ3RoID09PSAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwLXRhYmxlIFt2YWx1ZV09XCJbe31dXCIgc3R5bGVDbGFzcz1cInAtZGF0YXRhYmxlLXN0cmlwZWQgYXBwLWRhdGF0YWJsZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ciBjbGFzcz1cInJvdy1ib3JkZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIHN0eWxlPVwiaGVpZ2h0OiA3NXB4O1wiPjwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcC10YWJsZT5cclxuICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPHAtdGFibGUgW3ZhbHVlXT1cImpvdXJuYWxzXCIgc3R5bGVDbGFzcz1cInAtZGF0YXRhYmxlLXN0cmlwZWQgYXBwLWRhdGF0YWJsZVwiIFtsb2FkaW5nXT1cImlzTG9hZGluZ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiYm9keVwiIGxldC1yZWNvcmQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHIgY2xhc3M9XCJyb3ctYm9yZGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7cmVjb3JkLndvcmtTZWFyY2hEYXRlIHwgZGF0ZTonTS9kL3l5eXknfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBzdHlsZT1cIndoaXRlLXNwYWNlOiBwcmU7XCI+e3tyZWNvcmQgfCBmb3JtYXRXb3Jrc2VhcmNoUmVjb3JkfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImlvbi10ZXh0LXJpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uIGZpbGw9XCJvdXRsaW5lXCIgc2l6ZT1cInNtYWxsXCIgKGNsaWNrKT1cImVkaXQocmVjb3JkKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFjdGlvbi1idXR0b25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cIlsnZmFsJywgJ2VkaXQnXVwiIGNsYXNzPVwiYWN0aW9uLWljb25cIj48L2ZhLWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlvbi1idXR0b24gZmlsbD1cIm91dGxpbmVcIiBzaXplPVwic21hbGxcIiAoY2xpY2spPVwiZGVsZXRlKHJlY29yZClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhY3Rpb24tYnV0dG9uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJbJ2ZhbCcsICd0cmFzaC1hbHQnXVwiIGNsYXNzPVwiYWN0aW9uLWljb25cIj48L2ZhLWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICA8L3AtdGFibGU+XHJcbiAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICA8aW9uLWNvbCBzaXplPVwiMTJcIiBzaXplWGw9XCI1XCIgb2Zmc2V0WGw9XCIxXCIgc2l6ZUxnPVwiNlwiIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiICpuZ0lmPVwiIWlzTVMoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz1cImhlYWRpbmdcIj57eyd3b3JrLnNlYXJjaC5qb3VybmFsLndlZWtseS5oZWFkZXInIHwgdHJhbnNsYXRlfX08L2g0PjxiciAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgW2lubmVySHRtbF09XCInd29yay5zZWFyY2guam91cm5hbC53ZWVrbHkucGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlIFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgPC9pb24tZ3JpZD5cclxuICAgIDwvZGl2PlxyXG4gICAgPCEtLSA8YXBwLXdvcmstc2VhcmNoLWVtcGxveWVyLWN0ICpuZ0lmPVwic2hvd0FkZFdzUmVjb3JzICYmIGlzQ1QoKVwiIChzdWNjZXNzKT1cImFkZFdzUmVjb3JkKCRldmVudClcIlxyXG4gICAgICAgIChvbkNsb3NlKT1cImNsb3NlV3NSZWNvcmQoKVwiIFtqb3VybmFsXT1cInRydWVcIiBbc3VuRGF0ZV09XCJzdW5EYXRlXCIgW3NhdERhdGVdPVwic2F0RGF0ZVwiXHJcbiAgICAgICAgW3NhdERhdGVTdHJpbmddPVwic2F0RGF0ZVN0cmluZ1wiIFtzdW5EYXRlU3RyaW5nXT1cInN1bkRhdGVTdHJpbmdcIiBbZGF0YV09XCJqb3VybmFsXCI+PC9hcHAtd29yay1zZWFyY2gtZW1wbG95ZXItY3Q+IC0tPlxyXG4gICAgPGFwcC13b3JrLXNlYXJjaC1lbXBsb3llci1tZSAqbmdJZj1cInNob3dBZGRXc1JlY29ycyAmJiBpc01FKClcIiAoc3VjY2Vzcyk9XCJhZGRXc1JlY29yZCgkZXZlbnQpXCJcclxuICAgICAgICAob25DbG9zZSk9XCJjbG9zZVdzUmVjb3JkKClcIiBbam91cm5hbF09XCJ0cnVlXCIgW3N1bkRhdGVdPVwic3VuRGF0ZVwiIFtzYXREYXRlXT1cInNhdERhdGVcIlxyXG4gICAgICAgIFtzYXREYXRlU3RyaW5nXT1cInNhdERhdGVTdHJpbmdcIiBbc3VuRGF0ZVN0cmluZ109XCJzdW5EYXRlU3RyaW5nXCIgW2RhdGFdPVwiam91cm5hbFwiPjwvYXBwLXdvcmstc2VhcmNoLWVtcGxveWVyLW1lPlxyXG4gICAgPGFwcC13b3JrLXNlYXJjaC1lbXBsb3llci1tcyAqbmdJZj1cInNob3dBZGRXc1JlY29ycyAmJiBpc01TKClcIiAoc3VjY2Vzcyk9XCJhZGRXc1JlY29yZCgkZXZlbnQpXCJcclxuICAgICAgICAob25DbG9zZSk9XCJjbG9zZVdzUmVjb3JkKClcIiBbam91cm5hbF09XCJ0cnVlXCIgW3N1bkRhdGVdPVwic3VuRGF0ZVwiIFtzYXREYXRlXT1cInNhdERhdGVcIlxyXG4gICAgICAgIFtzYXREYXRlU3RyaW5nXT1cInNhdERhdGVTdHJpbmdcIiBbc3VuRGF0ZVN0cmluZ109XCJzdW5EYXRlU3RyaW5nXCIgW2RhdGFdPVwiam91cm5hbFwiPjwvYXBwLXdvcmstc2VhcmNoLWVtcGxveWVyLW1zPlxyXG48L2Rpdj4iXX0=
|
|
394
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vla2x5LXdvcmstc2VhcmNoLWpvdXJuYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJldXNhLWFwcC1saWIvc3JjL2xpYi9jb21wb25lbnRzL3dlZWtseS13b3JrLXNlYXJjaC1qb3VybmFsL3dlZWtseS13b3JrLXNlYXJjaC1qb3VybmFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy93ZWVrbHktd29yay1zZWFyY2gtam91cm5hbC93ZWVrbHktd29yay1zZWFyY2gtam91cm5hbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBSWxELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7SUNKaEQsOEJBQXVHO0lBQ25HLDhCQUEwRyxhQUFBO0lBRzlHLGlCQUFNOzs7SUFGRyxlQUF5RDtJQUF6RCx3R0FBeUQ7OztJQWdCOUQsMkJBQTRDLGtCQUFBLGNBQUEsaUJBQUEsV0FBQTtJQUt0QixZQUF5Qzs7SUFBQSxpQkFBTyxFQUFBLEVBQUEsRUFBQSxFQUFBOzs7SUFEdEQsZUFBd0I7SUFBeEIsd0RBQXdCO0lBQ2xCLGVBQXlDO0lBQXpDLHFFQUF5Qzs7O0lBT3ZELCtCQUFtQyxpQkFBQSxXQUFBO0lBR3JCLFlBQXNCO0lBQUEsaUJBQU8sRUFBQSxFQUFBOzs7SUFEbkMsZUFBd0I7SUFBeEIsd0RBQXdCO0lBQ2xCLGVBQXNCO0lBQXRCLHlDQUFzQjs7O0lBTDVDLDJCQUFpRSxrQkFBQTtJQUV6RCxxR0FLVTtJQUNkLGlCQUFXLEVBQUE7OztJQU5HLGVBQXVCO0lBQXZCLDBDQUF1Qjs7O0lBZ0JqQiw4QkFBK0U7SUFDM0UsWUFBeUM7O0lBQUEsaUJBQUs7O0lBQTlDLGVBQXlDO0lBQXpDLDhFQUF5Qzs7O0lBbUJ6Qyw4QkFBdUI7SUFDbkIseUJBQStCO0lBQ25DLGlCQUFLOzs7OztJQUxqQiwrQkFBdUMsa0JBQUE7SUFFL0IseUhBSWM7SUFDbEIsaUJBQVUsRUFBQTs7SUFORCxlQUFjO0lBQWQsOEVBQWM7Ozs7OztJQVVuQiw4QkFBdUIsU0FBQTtJQUNmLFlBQTJDOztJQUFBLGlCQUFLO0lBQ3BELDhCQUE4QjtJQUFBLFlBQW1DOztJQUFBLGlCQUFLO0lBQ3RFLDhCQUEyQixxQkFBQTtJQUNpQix1UUFBUyxlQUFBLHdCQUFZLENBQUEsSUFBQztJQUUxRCw4QkFBZ0U7SUFDcEUsaUJBQWE7SUFDYix1Q0FDMEI7SUFEYyx3UUFBUyxlQUFBLDBCQUFjLENBQUEsSUFBQztJQUU1RCwrQkFBcUU7SUFDekUsaUJBQWEsRUFBQSxFQUFBOzs7SUFWYixlQUEyQztJQUEzQyxpRkFBMkM7SUFDakIsZUFBbUM7SUFBbkMsc0RBQW1DO0lBSWhELGVBQXdCO0lBQXhCLGlEQUF3QjtJQUl4QixlQUE2QjtJQUE3QixrREFBNkI7OztJQU85RCxtQ0FBa0csYUFBQTtJQUMxRSxZQUFtRDs7SUFBQSxpQkFBSztJQUFBLHFCQUFNO0lBQ2xGLDJCQUFLO0lBQ0QsMEJBQStFOztJQUNuRixpQkFBTSxFQUFBOztJQUhjLGVBQW1EO0lBQW5ELCtFQUFtRDtJQUU5RCxlQUFtRTtJQUFuRSw2R0FBbUU7Ozs7O0lBeEQ1RiwyQkFBNkYsZUFBQSxjQUFBLGtCQUFBO0lBSzdFLHFCQUFNO0lBQ04sK0JBQVMsa0JBQUE7SUFFRCw0RkFDa0Q7SUFDbEQsOENBRTZEO0lBQ2pFLGlCQUFVO0lBQ1YsbUNBQXNGLFNBQUE7SUFDL0Usc0JBQUs7SUFBQSxpQkFBSTtJQUFDLDJCQUNqQjtJQUFBLGlCQUFVO0lBQ1Ysb0NBQW9FLHNCQUFBO0lBQ0UsMkxBQVMsZUFBQSxhQUFLLENBQUEsSUFBQztJQUU3RSwrQkFBZ0U7SUFDcEUsaUJBQWEsRUFBQSxFQUFBO0lBR3JCLDJCQUF1QztJQUN2Qyx1R0FRVTtJQUNWLG9DQUFpRztJQUM3RixrSEFlYztJQUNsQixpQkFBVSxFQUFBO0lBRWQsd0dBS1U7SUFDZCxpQkFBVSxFQUFBLEVBQUE7OztJQXZERixlQUF3QjtJQUF4Qix3REFBd0I7SUFJWCxlQUFZO0lBQVosb0NBQVk7SUFFUSxlQUF5QjtJQUF6Qiw4Q0FBeUIsdURBQUEsc0NBQUE7SUFVckMsZUFBd0I7SUFBeEIsa0RBQXdCO0lBS25DLGVBQTJCO0lBQTNCLG1EQUEyQjtJQVM1QixlQUFrQjtJQUFsQix1Q0FBa0IsNkJBQUE7SUFtQm9ELGVBQWE7SUFBYixxQ0FBYTs7OztJQVk1Ryx1REFFcUY7SUFGdEIsOE9BQVcsZUFBQSwyQkFBbUIsQ0FBQSxJQUFDLDJOQUMvRSxlQUFBLHVCQUFlLENBQUEsSUFEZ0U7SUFFVCxpQkFBOEI7OztJQURuRiw4QkFBZ0IsMkJBQUEsMkJBQUEsdUNBQUEsdUNBQUEsd0JBQUE7Ozs7SUFFaEQsdURBRXFGO0lBRnRCLDhPQUFXLGVBQUEsMkJBQW1CLENBQUEsSUFBQywyTkFDL0UsZUFBQSx1QkFBZSxDQUFBLElBRGdFO0lBRVQsaUJBQThCOzs7SUFEbkYsOEJBQWdCLDJCQUFBLDJCQUFBLHVDQUFBLHVDQUFBLHdCQUFBOzs7SUFyR3BELDJCQUFxQyxlQUFBLGNBQUEsaUJBQUEsWUFBQTtJQUlHLFlBQTJEOztJQUFBLGlCQUFLLEVBQUEsRUFBQSxFQUFBO0lBUXBHLHVGQVNNLDBFQUFBLDRFQUFBLDRIQUFBLDRIQUFBO0lBa0ZWLGlCQUFNOzs7SUFuR2tDLGVBQTJEO0lBQTNELDhGQUEyRDtJQVF6RixlQUFvQztJQUFwQyxtRUFBb0M7SUFVcEMsZUFBeUQ7SUFBekQsK0ZBQXlEO0lBVXpELGVBQXFGO0lBQXJGLGdJQUFxRjtJQWlFN0QsZUFBK0I7SUFBL0IsOERBQStCO0lBRy9CLGVBQStCO0lBQS9CLDhEQUErQjs7QUQzRmpFLE1BQU0sT0FBTyxnQ0FBaUMsU0FBUSxRQUFRO0lBc0I1RCxZQUFtQixHQUF1QixFQUFTLElBQWlCLEVBQVMsRUFBbUIsRUFBVSxFQUFrQixFQUFTLFNBQXVCO1FBQzFKLEtBQUssRUFBRSxDQUFDO1FBRFMsUUFBRyxHQUFILEdBQUcsQ0FBb0I7UUFBUyxTQUFJLEdBQUosSUFBSSxDQUFhO1FBQVMsT0FBRSxHQUFGLEVBQUUsQ0FBaUI7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFnQjtRQUFTLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFyQnRKLGFBQVEsR0FBNkIsRUFBRSxDQUFDO1FBSXZDLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBTXhCLGNBQVMsR0FBYSxLQUFLLENBQUM7UUFRNUIsaUJBQVksR0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBS25ELENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBRyxJQUFJLENBQUMsWUFBWSxLQUFLLElBQUksRUFDN0I7WUFDRSxJQUFJLENBQUMsV0FBVyxHQUFDLENBQUMsQ0FBQTtTQUNuQjthQUNJO1lBQ0gsSUFBSSxDQUFDLFdBQVcsR0FBQyxDQUFDLENBQUE7U0FDbkI7UUFFRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUMvQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsR0FBRyxDQUFDLHVCQUF1QixFQUFFO2FBQ3pCLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNmLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsQ0FBQztZQUNoRSxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLENBQUM7WUFDaEUsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUMsdUJBQXVCLENBQUM7WUFDakQsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUMsdUJBQXVCLENBQUM7WUFDakQsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsaUJBQWlCLENBQUM7WUFDdEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQztZQUNqRCxJQUFJLENBQUMsWUFBWSxHQUFHLEdBQUcsQ0FBQyxZQUFZLENBQUM7WUFDckMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQztZQUNuRCxJQUFJLENBQUMsWUFBWSxHQUFHO2dCQUNsQixlQUFlLEVBQUUsSUFBSSxDQUFDLGFBQWE7Z0JBQ25DLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYTthQUNsQyxDQUFDO1lBQ0YsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDekIsQ0FBQyxFQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ04sSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ2IsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFLO1FBQ2xCLElBQUksU0FBUyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakMsSUFBSSxFQUFFLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuRSxJQUFJLEVBQUUsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN2RSxJQUFJLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JFLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFDLEVBQUUsRUFBQyxFQUFFLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUYsR0FBRztRQUNBLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO0lBQzlCLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7UUFDN0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDdEIsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUE2QjtRQUN2QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQzthQUM1QixTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDZixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN2QixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztZQUM3QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUNwQixJQUFHLEtBQUssQ0FBQywyQkFBMkIsRUFBQztnQkFDbkMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsZ0NBQWdDLENBQUMsQ0FBQzthQUNyRDtpQkFBSTtnQkFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO2FBQ25EO1lBQ0QsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdCLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRTtZQUNQLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzVCLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1lBQzdCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUFDO0lBQ2IsQ0FBQztJQUVELElBQUksQ0FBQyxRQUFnQztRQUNuQyxJQUFJLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQztRQUN4QixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztJQUM5QixDQUFDO0lBRUQsd0JBQXdCO1FBQ3RCLGlCQUFpQjtRQUNmLElBQUksZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO1FBQ3pCLEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFDMUM7WUFDRSxJQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxLQUFLLE1BQU0sRUFDM0M7Z0JBQ0UsZ0JBQWdCLElBQUcsQ0FBQyxDQUFDO2FBQ3RCO1NBQ0Y7UUFDRCxPQUFPLGdCQUFnQixDQUFDO0lBQzVCLENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLFNBQVMsR0FBRSxDQUFDLENBQUM7UUFDakIsS0FBSSxJQUFJLENBQUMsR0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUMxQztZQUNFLElBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLEtBQUssTUFBTSxFQUMzQztnQkFDRSxTQUFTLEVBQUUsQ0FBQzthQUNiO1NBQ0Y7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFnQztRQUMzQyxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ2pDLE1BQU0sRUFBRSxVQUFVO1lBQ2xCLE9BQU8sRUFBRSw2Q0FBNkM7WUFDdEQsT0FBTyxFQUFFO2dCQUNQO29CQUNFLElBQUksRUFBRSxRQUFRO29CQUNkLElBQUksRUFBRSxRQUFRO29CQUNkLFFBQVEsRUFBRSxTQUFTO29CQUNuQixPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUUsQ0FBQztpQkFDbEIsRUFBRTtvQkFDRCxJQUFJLEVBQUUsTUFBTTtvQkFDWixPQUFPLEVBQUUsR0FBRyxFQUFFO3dCQUNaLElBQUksQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLDJCQUEyQixDQUFDOzZCQUM3RCxTQUFTLENBQ1IsR0FBRyxDQUFDLEVBQUU7NEJBQ0osSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsOEJBQThCLENBQUMsQ0FBQzs0QkFDbEQsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO3dCQUN2QixDQUFDLEVBQUMsR0FBRyxDQUFDLEVBQUU7NEJBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7d0JBQzlCLENBQUMsQ0FDRixDQUFDO29CQUNaLENBQUM7aUJBQ0Y7YUFDRjtTQUNGLENBQUMsQ0FBQztRQUVILE1BQU0sS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFQyxvQkFBb0I7UUFDbEIsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7UUFFakMsaUJBQWlCO1FBQ2pCLElBQUksZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7UUFFdkQsSUFBSSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUVuRCxJQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxJQUFJLEVBQUM7WUFDdkMsSUFBRyxLQUFLLEdBQUcsQ0FBQyxFQUFDO2dCQUNYLE9BQU8sZ0NBQWdDLENBQUE7YUFDeEM7aUJBQU07Z0JBQ0wsT0FBTywwQkFBMEIsQ0FBQzthQUNuQztTQUNGO2FBQUk7WUFDSCxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUU7Z0JBQ2IsT0FBTywwRkFBMEYsQ0FBQTthQUNsRztpQkFBTSxJQUFJLEtBQUssR0FBRyxDQUFDLElBQUksZ0JBQWdCLEdBQUcsQ0FBQyxJQUFJLG1CQUFtQixHQUFHLENBQUMsRUFBRztnQkFDeEUsT0FBTywwRkFBMEYsQ0FBQTthQUNsRztpQkFBTSxJQUFJLEtBQUssR0FBRyxDQUFDLElBQUksZ0JBQWdCLEdBQUcsQ0FBQyxJQUFJLG1CQUFtQixJQUFJLENBQUMsRUFBQztnQkFDdkUsT0FBTyx5Q0FBeUMsQ0FBQTthQUNqRDtpQkFBTSxJQUFJLEtBQUssR0FBRyxDQUFDLElBQUksZ0JBQWdCLEdBQUcsQ0FBQyxJQUFJLG1CQUFtQixHQUFHLENBQUMsRUFBRztnQkFDeEUsT0FBTyx3RkFBd0YsQ0FBQTthQUNoRztpQkFBTSxJQUFJLEtBQUssR0FBRyxDQUFDLElBQUksZ0JBQWdCLEdBQUcsQ0FBQyxJQUFJLG1CQUFtQixJQUFJLENBQUMsRUFBRztnQkFDekUsT0FBTyx1Q0FBdUMsQ0FBQTthQUMvQztpQkFBTSxJQUFJLGdCQUFnQixHQUFHLENBQUMsSUFBSSxtQkFBbUIsR0FBRyxDQUFDLEVBQUU7Z0JBQzFELE9BQU8sbUVBQW1FLENBQUE7YUFDM0U7aUJBQ0k7Z0JBQ0gsT0FBTywwQkFBMEIsQ0FBQzthQUNuQztTQUNGO0lBQ0gsQ0FBQztpR0FsTVEsZ0NBQWdDO29FQUFoQyxnQ0FBZ0M7WUNmN0MsaUZBSU0scUVBQUE7O1lBSkEscURBQTRCO1lBTTVCLGVBQTZCO1lBQTdCLHNEQUE2Qjs7O2lGRFN0QixnQ0FBZ0M7Y0FMNUMsU0FBUzsyQkFDRSxnQ0FBZ0M7O2tGQUkvQixnQ0FBZ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgQWxlcnRDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xyXG5pbXBvcnQgeyBVdGlsU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3V0aWwvdXRpbC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQmFzZVBhZ2UgfSBmcm9tICcuLi8uLi9wYWdlcy9CYXNlUGFnZSc7XHJcbmltcG9ydCB7IENvbWJvT3B0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NvbWJvLW1vZGVsJztcclxuaW1wb3J0IHsgV29ya1NlYXJjaFJlY29yZE1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3dlZWtseS1jZXJ0L3dvcmstc2VhcmNoLXJlY29yZC12Mi1tb2RlbCc7XHJcbmltcG9ydCB7IFJldmlld1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy93ZWVrbHktY2VydC9yZXZpZXcuc2VydmljZSdcclxuaW1wb3J0IHsgV29ya1NlYXJjaFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy93ZWVrbHktY2VydC93b3JrLXNlYXJjaC5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXdlZWtseS13b3JrLXNlYXJjaC1qb3VybmFsJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vd2Vla2x5LXdvcmstc2VhcmNoLWpvdXJuYWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi93ZWVrbHktd29yay1zZWFyY2gtam91cm5hbC5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFdlZWtseVdvcmtTZWFyY2hKb3VybmFsQ29tcG9uZW50IGV4dGVuZHMgQmFzZVBhZ2UgaW1wbGVtZW50cyBPbkluaXR7XHJcbiBwdWJsaWMgam91cm5hbHMgOiBXb3JrU2VhcmNoUmVjb3JkTW9kZWxbXSA9IFtdO1xyXG5cclxuICBwdWJsaWMgam91cm5hbCA6IFdvcmtTZWFyY2hSZWNvcmRNb2RlbDtcclxuXHJcbiAgcHVibGljIHNob3dBZGRXc1JlY29ycyA9IGZhbHNlO1xyXG5cclxuICBwdWJsaWMgc2F0RGF0ZSA6IERhdGU7XHJcbiAgcHVibGljIHN1bkRhdGUgOiBEYXRlO1xyXG4gIHB1YmxpYyBzYXREYXRlU3RyaW5nO1xyXG4gIHB1YmxpYyBzdW5EYXRlU3RyaW5nO1xyXG4gIHB1YmxpYyBpc0xvYWRpbmcgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIGR5bmFtaWNQYXJhbSA6IGFueTtcclxuICBwdWJsaWMgZXJyb3JNc2cgOiBzdHJpbmc7XHJcbiAgcHVibGljIHdhaXZlclJlYXNvbjogc3RyaW5nO1xyXG4gIHB1YmxpYyBpc1dvcmtTZWFyY2hXYWl2ZWQgOiBib29sZWFuO1xyXG4gIHB1YmxpYyBpc1dhaXRpbmdXZWVrU2VydmVkIDogYm9vbGVhbjtcclxuICBjb21wU3RhdGUgOiBzdHJpbmc7XHJcblxyXG4gIHB1YmxpYyBjdXJyZW50U3RhdGU6IHN0cmluZyA9IHRoaXMudXRpbC5nZXRTdGF0ZSgpO1xyXG4gIHB1YmxpYyBvZmZTZXRWYWx1ZTogbnVtYmVyXHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB3c3MgOiBXb3JrU2VhcmNoU2VydmljZSwgcHVibGljIHV0aWw6IFV0aWxTZXJ2aWNlLCBwdWJsaWMgYWM6IEFsZXJ0Q29udHJvbGxlciwgcHJpdmF0ZSBycyA6IFJldmlld1NlcnZpY2UsIHB1YmxpYyBzYW5pdGl6ZXI6IERvbVNhbml0aXplcikgeyBcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGlmKHRoaXMuY3VycmVudFN0YXRlID09PSAnTVMnKVxyXG4gICAge1xyXG4gICAgICB0aGlzLm9mZlNldFZhbHVlPTRcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLm9mZlNldFZhbHVlPTFcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNvbXBTdGF0ZSA9IHRoaXMudXRpbC5nZXRTdGF0ZUxvd2VyY2FzZSgpO1xyXG4gICAgdGhpcy5mZXRjaEpvdXJuYWxzKCk7XHJcbiAgfVxyXG5cclxuICBmZXRjaEpvdXJuYWxzKCkge1xyXG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy53c3MuZmV0Y2hXb3JrU2VhcmNoSm91cm5hbHMoKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5zdW5EYXRlID0gdGhpcy5nZXRFbnRlcmVkRGF0ZShyZXMubWluV29ya1NlYXJjaERhdGVTdHJpbmcpO1xyXG4gICAgICAgICAgICAgIHRoaXMuc2F0RGF0ZSA9IHRoaXMuZ2V0RW50ZXJlZERhdGUocmVzLm1heFdvcmtTZWFyY2hEYXRlU3RyaW5nKTtcclxuICAgICAgICAgICAgICB0aGlzLnNhdERhdGVTdHJpbmcgPSByZXMubWF4V29ya1NlYXJjaERhdGVTdHJpbmc7XHJcbiAgICAgICAgICAgICAgdGhpcy5zdW5EYXRlU3RyaW5nID0gcmVzLm1pbldvcmtTZWFyY2hEYXRlU3RyaW5nO1xyXG4gICAgICAgICAgICAgIHRoaXMuam91cm5hbHMgPSByZXMud29ya1NlYXJjaFJlY29yZHM7XHJcbiAgICAgICAgICAgICAgdGhpcy5pc1dvcmtTZWFyY2hXYWl2ZWQgPSByZXMuaXNXb3JrU2VhcmNoV2FpdmVkO1xyXG4gICAgICAgICAgICAgIHRoaXMud2FpdmVyUmVhc29uID0gcmVzLndhaXZlclJlYXNvbjtcclxuICAgICAgICAgICAgICB0aGlzLmlzV2FpdGluZ1dlZWtTZXJ2ZWQgPSByZXMuaXNXYWl0aW5nV2Vla1NlcnZlZDtcclxuICAgICAgICAgICAgICB0aGlzLmR5bmFtaWNQYXJhbSA9IHtcclxuICAgICAgICAgICAgICAgICdzYXR1cmRheV9kYXRlJzogdGhpcy5zYXREYXRlU3RyaW5nLFxyXG4gICAgICAgICAgICAgICAgJ3N1bmRheV9kYXRlJzogdGhpcy5zdW5EYXRlU3RyaW5nLFxyXG4gICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgfSxlcnIgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgdGhpcy5lcnJvck1zZyA9IGVyci5tc2c7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0RW50ZXJlZERhdGUodmFsdWUpe1xyXG4gICAgdmFyIGRhdGVBcnJheSA9IHZhbHVlLnNwbGl0KFwiL1wiKTtcclxuICAgIHZhciBkZCA9IHBhcnNlSW50KHRoaXMudXRpbC5wcmVwZWRaZXJvSWZTaW5nbGVEaWdpdChkYXRlQXJyYXlbMV0pKTtcclxuICAgIHZhciBNTSA9IHBhcnNlSW50KHRoaXMudXRpbC5wcmVwZWRaZXJvSWZTaW5nbGVEaWdpdChkYXRlQXJyYXlbMF0pKSAtIDE7XHJcbiAgICB2YXIgeXl5eSA9IHBhcnNlSW50KHRoaXMudXRpbC5wcmVwZWRaZXJvSWZTaW5nbGVEaWdpdChkYXRlQXJyYXlbMl0pKTtcclxuICAgIHJldHVybiBuZXcgRGF0ZSh5eXl5LE1NLGRkKTtcclxuICB9XHJcblxyXG4gYWRkKCl7XHJcbiAgICB0aGlzLmpvdXJuYWwgPSBudWxsO1xyXG4gICAgdGhpcy5zaG93QWRkV3NSZWNvcnMgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgY2xvc2VXc1JlY29yZCgpe1xyXG4gICAgdGhpcy5zaG93QWRkV3NSZWNvcnMgPSBmYWxzZTtcclxuICAgIHRoaXMuam91cm5hbCA9IG51bGw7XHJcbiAgfVxyXG5cclxuICBhZGRXc1JlY29yZChldmVudCA6IFdvcmtTZWFyY2hSZWNvcmRNb2RlbCl7XHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLndzcy5zYXZlV29ya1NlYXJjaEpvdXJuYWwoZXZlbnQpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgIHRoaXMuc2hvd0FkZFdzUmVjb3JzID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgdGhpcy5qb3VybmFsID0gbnVsbDtcclxuICAgICAgICAgICAgICBpZihldmVudC5jbGFpbWFudFdvcmtTZWFyY2hKb3VybmFsSWQpe1xyXG4gICAgICAgICAgICAgICAgdGhpcy51dGlsLnN1Y2Nlc3MoXCJBY3Rpdml0eSB1cGRhdGVkIHN1Y2Nlc3NmdWxseS5cIik7XHJcbiAgICAgICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnV0aWwuc3VjY2VzcyhcIkFjdGl2aXR5IHNhdmVkIHN1Y2Nlc3NmdWxseS5cIik7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHRoaXMuZmV0Y2hKb3VybmFscygpO1xyXG4gICAgICAgICAgICAgIHRoaXMucnMuc2V0UmV2aWV3QXBwKHRydWUpO1xyXG4gICAgICAgICAgICB9LCBlcnIgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgdGhpcy51dGlsLmVycm9ySGFuZGxlcihlcnIpO1xyXG4gICAgICAgICAgICAgIHRoaXMuc2hvd0FkZFdzUmVjb3JzID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgdGhpcy5qb3VybmFsID0gbnVsbDtcclxuICAgICAgICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBlZGl0KHdzUmVjb3JkIDogV29ya1NlYXJjaFJlY29yZE1vZGVsKXtcclxuICAgIHRoaXMuam91cm5hbCA9IHdzUmVjb3JkO1xyXG4gICAgdGhpcy5zaG93QWRkV3NSZWNvcnMgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcmV0cmlldmVIaXJlZFJlY29yZENvdW50ICgpIDogbnVtYmVyIHtcclxuICAgIC8vaXRlcmF0ZSBqb3VybmFsXHJcbiAgICAgIGxldCBoaXJlZFJlY29yZENvdW50ID0gMDtcclxuICAgICAgZm9yKGxldCBpPTA7IGkgPCB0aGlzLmpvdXJuYWxzLmxlbmd0aDsgaSsrKVxyXG4gICAgICB7XHJcbiAgICAgICAgaWYodGhpcy5qb3VybmFsc1tpXS5zZWFyY2hSZXN1bHQgPT09IFwiSElSRVwiKVxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGhpcmVkUmVjb3JkQ291bnQrPSAxO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gaGlyZWRSZWNvcmRDb3VudDtcclxuICB9XHJcblxyXG4gIHJldHJpZXZlSm9hcENvdW50ICgpIDogbnVtYmVyIHtcclxuICAgIGxldCBqb2FwQ291bnQgPTA7XHJcbiAgICBmb3IobGV0IGk9MDsgaSA8IHRoaXMuam91cm5hbHMubGVuZ3RoOyBpKyspXHJcbiAgICB7XHJcbiAgICAgIGlmKHRoaXMuam91cm5hbHNbaV0uYWN0aXZpdHlUeXBlID09PSBcIkpPQVBcIilcclxuICAgICAge1xyXG4gICAgICAgIGpvYXBDb3VudCsrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gam9hcENvdW50O1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgZGVsZXRlKHdzUmVjb3JkIDogV29ya1NlYXJjaFJlY29yZE1vZGVsKXtcclxuICAgIGNvbnN0IGFsZXJ0ID0gYXdhaXQgdGhpcy5hYy5jcmVhdGUoe1xyXG4gICAgICBoZWFkZXI6ICdDb25maXJtIScsXHJcbiAgICAgIG1lc3NhZ2U6ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIHRoaXMgZW50cnk/JyxcclxuICAgICAgYnV0dG9uczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIHRleHQ6ICdDYW5jZWwnLFxyXG4gICAgICAgICAgcm9sZTogJ2NhbmNlbCcsXHJcbiAgICAgICAgICBjc3NDbGFzczogJ3ByaW1hcnknLFxyXG4gICAgICAgICAgaGFuZGxlcjogKCkgPT4ge31cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICB0ZXh0OiAnT2theScsXHJcbiAgICAgICAgICBoYW5kbGVyOiAoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMud3NzLmRlbGV0ZVdvcmtTZWFyY2hKb3VybmFsKHdzUmVjb3JkLmNsYWltYW50V29ya1NlYXJjaEpvdXJuYWxJZClcclxuICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgICAgICAgICAgICAgcmVzID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy51dGlsLnN1Y2Nlc3MoXCJSZWNvcmQgZGVsZXRlZCBzdWNjZXNzZnVsbHkuXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZldGNoSm91cm5hbHMoKTtcclxuICAgICAgICAgICAgICAgICAgICAgIH0sZXJyID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy51dGlsLmVycm9ySGFuZGxlcihlcnIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICBdXHJcbiAgICB9KTtcclxuXHJcbiAgICBhd2FpdCBhbGVydC5wcmVzZW50KCk7XHJcbiAgfVxyXG5cclxuICAgIGdldFdvcmtTZWFyY2hNZXNzYWdlKCkge1xyXG4gICAgICBsZXQgY291bnQgPSB0aGlzLmpvdXJuYWxzLmxlbmd0aDtcclxuXHJcbiAgICAgIC8vaXRlcmF0ZSBqb3VybmFsXHJcbiAgICAgIGxldCBoaXJlZFJlY29yZENvdW50ID0gdGhpcy5yZXRyaWV2ZUhpcmVkUmVjb3JkQ291bnQoKTtcclxuXHJcbiAgICAgIGxldCBqb2FwQWN0aXZpdGllc0NvdW50ID0gdGhpcy5yZXRyaWV2ZUpvYXBDb3VudCgpO1xyXG4gICAgICBcclxuICAgICAgaWYodGhpcy51dGlsLmdldFN0YXRlTG93ZXJjYXNlKCkgPT0gJ21lJyl7XHJcbiAgICAgICAgaWYoY291bnQgPCAxKXtcclxuICAgICAgICAgIHJldHVybiAnQXQgbGVhc3Qgb25lIGFjdGl2aXR5IHJlcXVpcmVkJ1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXR1cm4gJ01pbmltdW0gcmVxdWlyZW1lbnRzIG1ldCc7XHJcbiAgICAgICAgfVxyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICBpZiAoY291bnQgPCAxKSB7XHJcbiAgICAgICAgICByZXR1cm4gJ1lvdSBuZWVkIHRvIGFkZCBhdCBsZWFzdCAzIGFjdGl2aXRpZXMgZm9yIHRoZSB3ZWVrLiA8Yj5PbmUgbXVzdCBiZSBBcHBsaWVkIGZvciB3b3JrLjwvYj4nXHJcbiAgICAgICAgfSBlbHNlIGlmIChjb3VudCA8IDIgJiYgaGlyZWRSZWNvcmRDb3VudCA8IDEgJiYgam9hcEFjdGl2aXRpZXNDb3VudCA8IDEgKSB7XHJcbiAgICAgICAgICByZXR1cm4gJ1lvdSBuZWVkIDIgbW9yZSBhY3Rpdml0aWVzIGZvciB0aGUgd2VlaywgYXQgbGVhc3Qgb25lIHdpdGggYSBmaWxlZCBhcHBsaWNhdGlvbiBvciByZXN1bWUnXHJcbiAgICAgICAgfSBlbHNlIGlmIChjb3VudCA8IDIgJiYgaGlyZWRSZWNvcmRDb3VudCA8IDEgJiYgam9hcEFjdGl2aXRpZXNDb3VudCA+PSAxKXtcclxuICAgICAgICAgIHJldHVybiAnWW91IG5lZWQgMiBtb3JlIGFjdGl2aXRpZXMgZm9yIHRoZSB3ZWVrJ1xyXG4gICAgICAgIH0gZWxzZSBpZiAoY291bnQgPCAzICYmIGhpcmVkUmVjb3JkQ291bnQgPCAxICYmIGpvYXBBY3Rpdml0aWVzQ291bnQgPCAxICkge1xyXG4gICAgICAgICAgcmV0dXJuICdZb3UgbmVlZCAxIG1vcmUgYWN0aXZpdHkgZm9yIHRoZSB3ZWVrLCBhdCBsZWFzdCBvbmUgd2l0aCBhIGZpbGVkIGFwcGxpY2F0aW9uIG9yIHJlc3VtZSdcclxuICAgICAgICB9IGVsc2UgaWYgKGNvdW50IDwgMyAmJiBoaXJlZFJlY29yZENvdW50IDwgMSAmJiBqb2FwQWN0aXZpdGllc0NvdW50ID49IDEgKSB7XHJcbiAgICAgICAgICByZXR1cm4gJ1lvdSBuZWVkIDEgbW9yZSBhY3Rpdml0eSBmb3IgdGhlIHdlZWsnXHJcbiAgICAgICAgfSBlbHNlIGlmIChoaXJlZFJlY29yZENvdW50IDwgMSAmJiBqb2FwQWN0aXZpdGllc0NvdW50IDwgMSApe1xyXG4gICAgICAgICAgcmV0dXJuICdZb3UgbmVlZCBhdCBsZWFzdCBvbmUgYWN0aXZpdHkgd2l0aCBhIGZpbGVkIGFwcGxpY2F0aW9uIG9yIHJlc3VtZSdcclxuICAgICAgICB9ICBcclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIHJldHVybiAnTWluaW11bSByZXF1aXJlbWVudHMgbWV0JztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCI8ZGl2ICpuZ0lmPVwiIWlzTG9hZGluZyAmJiBlcnJvck1zZ1wiIGNsYXNzPVwiaW9uLXRleHQtY2VudGVyIGlvbi1wYWRkaW5nLXRvcFwiIHN0eWxlPVwicGFkZGluZy10b3A6IDUwcHg7XCI+XHJcbiAgICA8aW9uLWljb24gbmFtZT1cImFsZXJ0LWNpcmNsZS1vdXRsaW5lXCIgc3R5bGU9XCJmb250LXNpemU6IDYwcHg7IGNvbG9yOiB2YXIoLS1pb24tY29sb3ItZGFuZ2VyKTtcIj48L2lvbi1pY29uPlxyXG4gICAgPGRpdiBbaW5uZXJIVE1MXT1cInNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChlcnJvck1zZylcIlxyXG4gICAgICAgIHN0eWxlPVwiY29sb3I6IHZhcigtLWlvbi1jb2xvci1kYW5nZXIpOyBmb250LXNpemU6IGxhcmdlcjtcIiBjbGFzcz1cImlvbi10ZXh0LWNlbnRlciBpb24tcGFkZGluZ1wiPjwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgKm5nSWY9XCIhaXNMb2FkaW5nICYmICFlcnJvck1zZ1wiPlxyXG4gICAgPGlvbi1ncmlkPlxyXG4gICAgICAgIDxpb24tcm93PlxyXG4gICAgICAgICAgICA8aW9uLWNvbCBzaXplPVwiMTJcIiBvZmZzZXRYbD1cIjFcIj5cclxuICAgICAgICAgICAgICAgIDxoMSBjbGFzcz1cImFwcC1oZWFkaW5nXCI+e3snd29yay5zZWFyY2guam91cm5hbC5oZWFkaW5nJyB8IHRyYW5zbGF0ZTpkeW5hbWljUGFyYW0gfX08L2gxPlxyXG4gICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgPC9pb24tcm93PlxyXG4gICAgPC9pb24tZ3JpZD5cclxuICAgIDwhLS0gVGhlcmUgY2FuIGJlIGJlbG93IGNvbWJpbmF0aW9uczpcclxuICAgICAgIDEuIFdhaXRpbmcgd2VlayBpcyBOT1Qgc2VydmVkIChXaXRoIG9yIHdpdGhvdXQgd29ya3NlYXJjaCB3YWl2ZWQpIC0gaGlnaGVzdCBwcmlvcml0eSAoV2FpdGluZyB3ZWVrIG1lc3NhZ2UpXHJcbiAgICAgICAyLiBXYWl0aW5nIHdlZWsgaXMgc2VydmVkICYgV29yayBzZWFyY2ggaXMgd2FpdmVkIC0gV29ya3NlYXJjaCB3YWl2ZXIgbWVzc2FnZVxyXG4gICAgICAgMy4gV2FpdGluZyB3ZWVrIGlzIHNlcnZlZCBhbmQgd29yayBzZWFyY2ggaXMgTk9UIHdhaXZlZCAgLS0+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiaXNNUygpICYmICFpc1dhaXRpbmdXZWVrU2VydmVkXCI+XHJcbiAgICAgICAgPGlvbi1ncmlkIGNsYXNzPVwiaW9uLXBhZGRpbmctdG9wXCI+XHJcbiAgICAgICAgICAgIDxpb24tcm93PlxyXG4gICAgICAgICAgICAgICAgPGlvbi1jb2wgaW9uLWNvbCBzaXplPVwiMTJcIiBzaXplU209XCIxMlwiIHNpemVYcz1cIjEyXCIgc2l6ZU1kPVwiMTBcIiBzaXplTGc9XCI2XCIgc2l6ZVhsPVwiNVwiIG9mZnNldExnPVwiM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0WGw9e3tvZmZTZXRWYWx1ZX19IG9mZnNldE1kPVwiMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7J25vLndvcmsuc2VhcmNoLnJlcXVpcmVkJyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgPC9pb24tZ3JpZD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cImlzTVMoKSAmJiBpc1dvcmtTZWFyY2hXYWl2ZWQgJiYgaXNXYWl0aW5nV2Vla1NlcnZlZFwiPlxyXG4gICAgICAgIDxpb24tZ3JpZCBjbGFzcz1cImlvbi1wYWRkaW5nLXRvcFwiPlxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cInRoaXMud2FpdmVyUmVhc29uXCI+XHJcbiAgICAgICAgICAgICAgICA8aW9uLWNvbCBpb24tY29sIHNpemU9XCIxMlwiIHNpemVTbT1cIjEyXCIgc2l6ZVhzPVwiMTJcIiBzaXplTWQ9XCIxMFwiIHNpemVMZz1cIjZcIiBzaXplWGw9XCI1XCIgb2Zmc2V0TGc9XCIzXCJcclxuICAgICAgICAgICAgICAgICAgICBvZmZzZXRYbD17e29mZlNldFZhbHVlfX0gb2Zmc2V0TWQ9XCIxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgdGhpcy53YWl2ZXJSZWFzb259fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgIDwvaW9uLWdyaWQ+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCIoIWlzV29ya1NlYXJjaFdhaXZlZCB8fCAoIWlzTVMoKSAmJiBpc1dvcmtTZWFyY2hXYWl2ZWQpKSAmJiBpc1dhaXRpbmdXZWVrU2VydmVkXCI+XHJcbiAgICAgICAgPGlvbi1ncmlkPlxyXG4gICAgICAgICAgICA8aW9uLXJvdz5cclxuICAgICAgICAgICAgICAgIDxpb24tY29sIHNpemU9XCIxMlwiIHNpemVTbT1cIjEyXCIgc2l6ZVhzPVwiMTJcIiBzaXplTWQ9XCIxMFwiIHNpemVMZz1cIjZcIiBzaXplWGw9XCI1XCIgb2Zmc2V0TGc9XCIzXCJcclxuICAgICAgICAgICAgICAgICAgICBvZmZzZXRYbD17e29mZlNldFZhbHVlfX0gb2Zmc2V0TWQ9XCIxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJyIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlvbi1yb3c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpb24tY29sIHNpemU9XCI2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDEgKm5nSWY9XCJpc01FKClcIiBzdHlsZT1cInBvc2l0aW9uOiBmaXhlZDsgbWFyZ2luLXRvcDogLTQ1cHg7XCIgY2xhc3M9XCJoZWFkaW5nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3snd29yay5zZWFyY2guYWN0aXZpdGllcycgfCB0cmFuc2xhdGUgfX08L2gxPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFwcC13b3JrLXNlYXJjaC1jb3VudGVyIFtjb3VudF09XCJqb3VybmFscy5sZW5ndGhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtoaXJlZFJlY29yZENvdW50XT1cInJldHJpZXZlSGlyZWRSZWNvcmRDb3VudCgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbXNnXT1cImdldFdvcmtTZWFyY2hNZXNzYWdlKClcIj48L2FwcC13b3JrLXNlYXJjaC1jb3VudGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpb24tY29sIGNsYXNzPVwiam91cm5hbC10ZXh0XCIgc3R5bGU9XCJwYWRkaW5nLXRvcDogNzVweDsgcGFkZGluZy1yaWdodDogMHB4O1wiIHNpemU9XCI1XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Yj4rIEFkZDwvYj4gYWN0aXZpdHlcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImpvdXJuYWwtYnV0dG9uXCIgc3R5bGU9XCJwYWRkaW5nLXRvcDogNjBweDtcIiBzaXplPVwiMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlvbi1idXR0b24gc3R5bGU9XCJwYWRkaW5nOiAwcHggMHB4O1wiIGZpbGw9XCJvdXRsaW5lXCIgc2l6ZT1cInNtYWxsXCIgKGNsaWNrKT1cImFkZCgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFjdGlvbi1idXR0b25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJbJ2ZhbCcsICdwbHVzJ11cIiBjbGFzcz1cImFjdGlvbi1pY29uXCI+PC9mYS1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJtYXJnaW4tYm90dG9tOiA1cHg7XCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gKm5nSWY9XCJqb3VybmFscy5sZW5ndGggPT09IDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHAtdGFibGUgW3ZhbHVlXT1cIlt7fV1cIiBzdHlsZUNsYXNzPVwicC1kYXRhdGFibGUtc3RyaXBlZCBhcHAtZGF0YXRhYmxlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyIGNsYXNzPVwicm93LWJvcmRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggc3R5bGU9XCJoZWlnaHQ6IDc1cHg7XCI+PC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wLXRhYmxlPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICA8cC10YWJsZSBbdmFsdWVdPVwiam91cm5hbHNcIiBzdHlsZUNsYXNzPVwicC1kYXRhdGFibGUtc3RyaXBlZCBhcHAtZGF0YXRhYmxlXCIgW2xvYWRpbmddPVwiaXNMb2FkaW5nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJib2R5XCIgbGV0LXJlY29yZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ciBjbGFzcz1cInJvdy1ib3JkZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tyZWNvcmQud29ya1NlYXJjaERhdGUgfCBkYXRlOidNL2QveXl5eSd9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIHN0eWxlPVwid2hpdGUtc3BhY2U6IHByZTtcIj57e3JlY29yZCB8IGZvcm1hdFdvcmtzZWFyY2hSZWNvcmR9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiaW9uLXRleHQtcmlnaHRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlvbi1idXR0b24gZmlsbD1cIm91dGxpbmVcIiBzaXplPVwic21hbGxcIiAoY2xpY2spPVwiZWRpdChyZWNvcmQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWN0aW9uLWJ1dHRvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZhLWljb24gW2ljb25dPVwiWydmYWwnLCAnZWRpdCddXCIgY2xhc3M9XCJhY3Rpb24taWNvblwiPjwvZmEtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiBmaWxsPVwib3V0bGluZVwiIHNpemU9XCJzbWFsbFwiIChjbGljayk9XCJkZWxldGUocmVjb3JkKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFjdGlvbi1idXR0b25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cIlsnZmFsJywgJ3RyYXNoLWFsdCddXCIgY2xhc3M9XCJhY3Rpb24taWNvblwiPjwvZmEtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvcC10YWJsZT5cclxuICAgICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICAgIDxpb24tY29sIHNpemU9XCIxMlwiIHNpemVYbD1cIjVcIiBvZmZzZXRYbD1cIjFcIiBzaXplTGc9XCI2XCIgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCIgKm5nSWY9XCIhaXNNUygpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPVwiaGVhZGluZ1wiPnt7J3dvcmsuc2VhcmNoLmpvdXJuYWwud2Vla2x5LmhlYWRlcicgfCB0cmFuc2xhdGV9fTwvaDQ+PGJyIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIdG1sXT1cIid3b3JrLnNlYXJjaC5qb3VybmFsLndlZWtseS5wbGFjZWhvbGRlcicgfCB0cmFuc2xhdGUgXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICA8L2lvbi1ncmlkPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8IS0tIDxhcHAtd29yay1zZWFyY2gtZW1wbG95ZXItY3QgKm5nSWY9XCJzaG93QWRkV3NSZWNvcnMgJiYgaXNDVCgpXCIgKHN1Y2Nlc3MpPVwiYWRkV3NSZWNvcmQoJGV2ZW50KVwiXHJcbiAgICAgICAgKG9uQ2xvc2UpPVwiY2xvc2VXc1JlY29yZCgpXCIgW2pvdXJuYWxdPVwidHJ1ZVwiIFtzdW5EYXRlXT1cInN1bkRhdGVcIiBbc2F0RGF0ZV09XCJzYXREYXRlXCJcclxuICAgICAgICBbc2F0RGF0ZVN0cmluZ109XCJzYXREYXRlU3RyaW5nXCIgW3N1bkRhdGVTdHJpbmddPVwic3VuRGF0ZVN0cmluZ1wiIFtkYXRhXT1cImpvdXJuYWxcIj48L2FwcC13b3JrLXNlYXJjaC1lbXBsb3llci1jdD4gLS0+XHJcbiAgICA8YXBwLXdvcmstc2VhcmNoLWVtcGxveWVyLW1lICpuZ0lmPVwic2hvd0FkZFdzUmVjb3JzICYmIGlzTUUoKVwiIChzdWNjZXNzKT1cImFkZFdzUmVjb3JkKCRldmVudClcIlxyXG4gICAgICAgIChvbkNsb3NlKT1cImNsb3NlV3NSZWNvcmQoKVwiIFtqb3VybmFsXT1cInRydWVcIiBbc3VuRGF0ZV09XCJzdW5EYXRlXCIgW3NhdERhdGVdPVwic2F0RGF0ZVwiXHJcbiAgICAgICAgW3NhdERhdGVTdHJpbmddPVwic2F0RGF0ZVN0cmluZ1wiIFtzdW5EYXRlU3RyaW5nXT1cInN1bkRhdGVTdHJpbmdcIiBbZGF0YV09XCJqb3VybmFsXCI+PC9hcHAtd29yay1zZWFyY2gtZW1wbG95ZXItbWU+XHJcbiAgICA8YXBwLXdvcmstc2VhcmNoLWVtcGxveWVyLW1zICpuZ0lmPVwic2hvd0FkZFdzUmVjb3JzICYmIGlzTVMoKVwiIChzdWNjZXNzKT1cImFkZFdzUmVjb3JkKCRldmVudClcIlxyXG4gICAgICAgIChvbkNsb3NlKT1cImNsb3NlV3NSZWNvcmQoKVwiIFtqb3VybmFsXT1cInRydWVcIiBbc3VuRGF0ZV09XCJzdW5EYXRlXCIgW3NhdERhdGVdPVwic2F0RGF0ZVwiXHJcbiAgICAgICAgW3NhdERhdGVTdHJpbmddPVwic2F0RGF0ZVN0cmluZ1wiIFtzdW5EYXRlU3RyaW5nXT1cInN1bkRhdGVTdHJpbmdcIiBbZGF0YV09XCJqb3VybmFsXCI+PC9hcHAtd29yay1zZWFyY2gtZW1wbG95ZXItbXM+XHJcbjwvZGl2PiJdfQ==
|
|
@@ -169,7 +169,7 @@ export class ChatbotService {
|
|
|
169
169
|
this.botOptions.accessToken = this.ls.getUser().access_token;
|
|
170
170
|
}
|
|
171
171
|
else {
|
|
172
|
-
userId = Math.floor((Math.random() * 10000000) + 1) + "_" + new Date().getMilliseconds() + "@
|
|
172
|
+
userId = Math.floor((Math.random() * 10000000) + 1) + "_" + new Date().getMilliseconds() + "@maine.gov";
|
|
173
173
|
}
|
|
174
174
|
//***CODE_START
|
|
175
175
|
this.botOptions.logLevel = 'debug';
|
|
@@ -189,6 +189,7 @@ export class ChatbotService {
|
|
|
189
189
|
// customData: { connectingMessage: "Welcome to ReEmployME. I am your virtual assistant to help you with ME related queries.", hoverMessage: "Ask Blue", botState: "ME", showCollectUserDetailForm: false, showDisclaimerPopUp: true, botIconImageName: "chatboticon.png", botAvatarImageName: "chatboticon.png", rootFilePath: "UI/", supportedLanguages: ["en", "es"], initialLanguage: "en", disclaimerPopup: { header: "Important Message", message: `The virtual assistant will need to ask for specific identifying information that is needed to answer you question(s) such as date of birth or Social Security number. The agency follows strict federal security guidelines to protect your sensitive information. To further protect your information, if you are on a public computer, please log out and close your browser when you are finished.`, }, headerConfig: { showLanguageToggle: true, showMinimizeButton: true, showExpandbutton: false, showReloadButton: true, } }
|
|
190
190
|
}; // bot name is case sensitive
|
|
191
191
|
//this.botOptions.clientSecret = LibConstants.koreAiClientSecret;
|
|
192
|
+
console.log("customdata ", this.botOptions.botInfo.customData);
|
|
192
193
|
//this.botOptions.reemployUsBearerToken= "";
|
|
193
194
|
// will need to pass token to koreAiChatBotServer when authentication needs to be validated for server side api call
|
|
194
195
|
var chatConfig = {
|
|
@@ -252,4 +253,4 @@ export class ChatbotService {
|
|
|
252
253
|
providedIn: 'root'
|
|
253
254
|
}]
|
|
254
255
|
}], () => [{ type: i0.RendererFactory2 }, { type: i1.LoggerService }, { type: i2.LoginService }, { type: i3.UtilService }], null); })();
|
|
255
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdGJvdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJldXNhLWFwcC1saWIvc3JjL2xpYi9zZXJ2aWNlcy9jaGF0Ym90L2NoYXRib3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUErQixNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBcUNoRCxNQUFNLE9BQU8sY0FBYztJQW1GekIsWUFBWSxlQUFpQyxFQUFVLE1BQXFCLEVBQVUsRUFBZ0IsRUFBVSxJQUFpQjtRQUExRSxXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQVUsT0FBRSxHQUFGLEVBQUUsQ0FBYztRQUFVLFNBQUksR0FBSixJQUFJLENBQWE7UUFqRmpJLFFBQUcsR0FBNEIsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUV6QyxpQkFBWSxHQUFlO1lBQ3pCLGlCQUFpQixFQUFFLDJGQUEyRjtZQUM5RyxZQUFZLEVBQUUsY0FBYztZQUM1QixRQUFRLEVBQUUsSUFBSTtZQUNkLHlCQUF5QixFQUFFLElBQUk7WUFDL0IsbUJBQW1CLEVBQUUsSUFBSTtZQUN6QixzQkFBc0IsRUFBRSxLQUFLO1lBQzdCLGtCQUFrQixFQUFFLGdCQUFnQjtZQUNwQyxnQkFBZ0IsRUFBRSxnQkFBZ0I7WUFDbEMsY0FBYyxFQUFFLEVBQUU7WUFDbEIsWUFBWSxFQUFFLEtBQUs7WUFDbkIsa0JBQWtCLEVBQUUsQ0FBQyxJQUFJLENBQUM7WUFDMUIsZUFBZSxFQUFFLElBQUk7WUFDckIsNkRBQTZEO1lBQzdELGVBQWUsRUFBRTtnQkFDZixNQUFNLEVBQUUsbUJBQW1CO2dCQUMzQixP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U0FBUyxDQUFDO2dCQUM3QyxPQUFPLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDO2dCQUMvQyxPQUFPLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO2dCQUM3QyxRQUFRLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUN4QixVQUFVLENBQUM7b0JBQ1QsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFO3dCQUMxQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztxQkFDakM7Z0JBQ0gsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ1gsQ0FBQztZQUNELEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNiLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUMzQyxDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrRUF6UFUsY0FBYzt1RUFBZCxjQUFjLFdBQWQsY0FBYyxtQkFGYixNQUFNOztpRkFFUCxjQUFjO2NBSDFCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIFJlbmRlcmVyMiwgUmVuZGVyZXJGYWN0b3J5MiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMaWJDb25zdGFudHMgfSBmcm9tICcuLi8uLi9tb2RlbHMvTGliQ29uc3RhbnRzJztcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2NyaXB0Q29uc3RhbnQgfSBmcm9tICcuL3NjcmlwdC5jb25zdCc7XG5pbXBvcnQgeyBMb2dpblNlcnZpY2UgfSBmcm9tICcuLi9sb2dpbi9sb2dpbi5zZXJ2aWNlJztcbmltcG9ydCB7IFV0aWxTZXJ2aWNlIH0gZnJvbSAnLi4vdXRpbC91dGlsLnNlcnZpY2UnO1xuXG5kZWNsYXJlIGNvbnN0IGtvcmVCb3RDaGF0OiBhbnk7XG5kZWNsYXJlIGNvbnN0ICQ6IGFueTtcblxuaW50ZXJmYWNlIERpc2NsYWltZXJQb3B1cCB7XG4gIGhlYWRlcjogc3RyaW5nO1xuICBtZXNzYWdlOiBzdHJpbmdcbn1cbmludGVyZmFjZSBIZWFkZXJDb25maWcge1xuICBzaG93TGFuZ3VhZ2VUb2dnbGU6IGJvb2xlYW47XG4gIHNob3dNaW5pbWl6ZUJ1dHRvbjogYm9vbGVhbjtcbiAgc2hvd0V4cGFuZEJ1dHRvbjogYm9vbGVhbjtcbiAgc2hvd1JlbG9hZEJ1dHRvbjogYm9vbGVhbjtcbn1cbmludGVyZmFjZSBDdXN0b21EYXRhIHtcbiAgY29ubmVjdGluZ01lc3NhZ2U6IHN0cmluZztcbiAgaG92ZXJNZXNzYWdlOiBzdHJpbmc7XG4gIGJvdFN0YXRlOiBzdHJpbmc7XG4gIHNob3dDb2xsZWN0VXNlckRldGFpbEZvcm06IGJvb2xlYW47XG4gIHNob3dEaXNjbGFpbWVyUG9wVXA6IGJvb2xlYW47XG4gIHNob3dDaGF0QnViYmxlQXRDbG9zZWQ6IGJvb2xlYW47XG4gIGJvdEF2YXRhckltYWdlTmFtZTogc3RyaW5nO1xuICBib3RJY29uSW1hZ2VOYW1lOiBzdHJpbmc7XG4gIGZvcm1CYW5uZXJQYXRoOiBzdHJpbmcsXG4gIHJvb3RGaWxlUGF0aDogc3RyaW5nO1xuICBzdXBwb3J0ZWRMYW5ndWFnZXM6IHN0cmluZ1tdO1xuICBpbml0aWFsTGFuZ3VhZ2U6IHN0cmluZztcbiAgZGlzY2xhaW1lclBvcHVwOiBEaXNjbGFpbWVyUG9wdXA7XG4gIGhlYWRlckNvbmZpZzogSGVhZGVyQ29uZmlnO1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDaGF0Ym90U2VydmljZSB7XG5cbiAgbWFwOiBNYXA8c3RyaW5nLCBDdXN0b21EYXRhPiA9IG5ldyBNYXAoKTtcblxuICBtc0N1c3RvbURhdGE6IEN1c3RvbURhdGEgPSB7XG4gICAgY29ubmVjdGluZ01lc3NhZ2U6IFwiV2VsY29tZSB0byBSZUVtcGxveU1TLiBJIGFtIHlvdXIgdmlydHVhbCBhc3Npc3RhbnQgdG8gaGVscCB5b3Ugd2l0aCBNREVTIHJlbGF0ZWQgcXVlcmllcy5cIixcbiAgICBob3Zlck1lc3NhZ2U6IFwiQXNrIGNoYXQgYm90XCIsXG4gICAgYm90U3RhdGU6IFwiTVNcIixcbiAgICBzaG93Q29sbGVjdFVzZXJEZXRhaWxGb3JtOiB0cnVlLFxuICAgIHNob3dEaXNjbGFpbWVyUG9wVXA6IHRydWUsXG4gICAgc2hvd0NoYXRCdWJibGVBdENsb3NlZDogZmFsc2UsXG4gICAgYm90QXZhdGFySW1hZ2VOYW1lOiBcIkF2YXRhckljb24ucG5nXCIsXG4gICAgYm90SWNvbkltYWdlTmFtZTogXCJBdmF0YXJJY29uLnBuZ1wiLFxuICAgIGZvcm1CYW5uZXJQYXRoOiBcIlwiLFxuICAgIHJvb3RGaWxlUGF0aDogXCJVSS9cIixcbiAgICBzdXBwb3J0ZWRMYW5ndWFnZXM6IFtcImVuXCJdLFxuICAgIGluaXRpYWxMYW5ndWFnZTogXCJlblwiLFxuICAgIC8vIHN0YXJ0ZXJUYXNrOiB7ZW46XCJGb3Jnb3QgUGFzc3dvcmRcIiwgZXM6XCJGb3Jnb3QgUGFzc3dvcmRcIn0sXG4gICAgZGlzY2xhaW1lclBvcHVwOiB7XG4gICAgICBoZWFkZXI6IFwiSW1wb3J0YW50IG1lc3NhZ2VcIixcbiAgICAgIG1lc3NhZ2U6IGBNREVTJyB2aXJ0dWFsIGFzc2lzdGFudCB3aWxsIGFzayBmb3Igc3BlY2lmaWMgaWRlbnRpZnlpbmcgaW5mb3JtYXRpb24sIHN1Y2ggYXMgU29jaWFsIFNlY3VyaXR5IE51bWJlciBhbmQgRGF0ZSBvZiBCaXJ0aCwgdGhhdCBpcyBuZWVkZWQgdG8gYW5zd2VyIHlvdXIgcXVlc3Rpb24ocykuPC9icj48L2JyPiBNREVTIGZvbGxvd3Mgc3RyaWN0IGZlZGVyYWwgc2VjdXJpdHkgZ3VpZGVsaW5lcyB0byBwcm90ZWN0IHlvdXIgc2Vuc2l0aXZlIGluZm9ybWF0aW9uLjwvYnI+PC9icj5UbyBmdXJ0aGVyIHByb3RlY3QgeW91ciBpbmZvcm1hdGlvbiB5b3Ugc2hvdWxkIGNsb3NlIHRoZSBjaGF0IHdpbmRvdyBhbmQgYnJvd3NlciB3aGVuIHlvdSBhcmUgZmluaXNoZWQuPC9wPmBcbiAgICB9LFxuICAgIGhlYWRlckNvbmZpZzoge1xuICAgICAgc2hvd0xhbmd1YWdlVG9nZ2xlOiBmYWxzZSxcbiAgICAgIHNob3dNaW5pbWl6ZUJ1dHRvbjogZmFsc2UsXG4gICAgICBzaG93RXhwYW5kQnV0dG9uOiBmYWxzZSxcbiAgICAgIHNob3dSZWxvYWRCdXR0b246IGZhbHNlLFxuICAgIH1cbiAgfVxuXG4gIG1lQ3VzdG9tRGF0YTogQ3VzdG9tRGF0YSA9IHtcbiAgICBjb25uZWN0aW5nTWVzc2FnZTogXCJXZWxjb21lIHRvIFJlRW1wbG95TUUuIEkgYW0geW91ciB2aXJ0dWFsIGFzc2lzdGFudCB0byBoZWxwIHlvdSB3aXRoIE1FIHJlbGF0ZWQgcXVlcmllcy5cIixcbiAgICBob3Zlck1lc3NhZ2U6IFwiQXNrIEJsdWVcIixcbiAgICBib3RTdGF0ZTogXCJNRVwiLFxuICAgIHNob3dDb2xsZWN0VXNlckRldGFpbEZvcm06IGZhbHNlLFxuICAgIHNob3dEaXNjbGFpbWVyUG9wVXA6IHRydWUsXG4gICAgc2hvd0NoYXRCdWJibGVBdENsb3NlZDogZmFsc2UsXG4gICAgYm90SWNvbkltYWdlTmFtZTogXCJCbHVlSWNvbi5zdmdcIixcbiAgICBib3RBdmF0YXJJbWFnZU5hbWU6IFwiQmx1ZUljb24uc3ZnXCIsXG4gICAgZm9ybUJhbm5lclBhdGg6IFwiXCIsXG4gICAgcm9vdEZpbGVQYXRoOiBcIlVJL1wiLFxuICAgIHN1cHBvcnRlZExhbmd1YWdlczogW1wiZW5cIl0sXG4gICAgaW5pdGlhbExhbmd1YWdlOiBcImVuXCIsXG4gICAgZGlzY2xhaW1lclBvcHVwOiB7XG4gICAgICBoZWFkZXI6IFwiSW1wb3J0YW50IG1lc3NhZ2VcIixcbiAgICAgIG1lc3NhZ2U6IGBNRURPTCdzIHZpcnR1YWwgYXNzaXN0YW50IG1heSBhc2sgeW91IHNwZWNpZmljIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uLCBzdWNoIGFzIFNvY2lhbCBTZWN1cml0eSBOdW1iZXIgYW5kIERhdGUgb2YgQmlydGgsIHRoYXQgaXMgbmVlZGVkIHRvIGFuc3dlciB5b3VyIHF1ZXN0aW9uKHMpLiBNRSBET0wgZm9sbG93cyBzdHJpY3QgZmVkZXJhbCBzZWN1cml0eSBndWlkZWxpbmVzIHRvIHByb3RlY3QgeW91ciBzZW5zaXRpdmUgaW5mb3JtYXRpb24uIFRvIGZ1cnRoZXIgcHJvdGVjdCB5b3VyIGluZm9ybWF0aW9uIHlvdSBzaG91bGQgY2xvc2UgdGhlIGNoYXQgd2luZG93IGFuZCBicm93c2VyIHdoZW4geW91IGFyZSBmaW5pc2hlZC5gXG4gICAgfSxcbiAgICBoZWFkZXJDb25maWc6IHtcbiAgICAgIHNob3dMYW5ndWFnZVRvZ2dsZTogZmFsc2UsXG4gICAgICBzaG93TWluaW1pemVCdXR0b246IHRydWUsXG4gICAgICBzaG93RXhwYW5kQnV0dG9uOiBmYWxzZSxcbiAgICAgIHNob3dSZWxvYWRCdXR0b246IHRydWUsXG4gICAgfVxuICB9XG4gIGN0Q3VzdG9tRGF0YTogQ3VzdG9tRGF0YSA9IHtcbiAgICBjb25uZWN0aW5nTWVzc2FnZTogXCJXZWxjb21lIHRvIFJlRW1wbG95Q1QuIEkgYW0geW91ciB2aXJ0dWFsIGFzc2lzdGFudCB0byBoZWxwIHlvdSB3aXRoIE1FIHJlbGF0ZWQgcXVlcmllcy5cIixcbiAgICBob3Zlck1lc3NhZ2U6IFwiQXNrIEJsdWVcIixcbiAgICBib3RTdGF0ZTogXCJDVFwiLFxuICAgIHNob3dDb2xsZWN0VXNlckRldGFpbEZvcm06IHRydWUsXG4gICAgc2hvd0Rpc2NsYWltZXJQb3BVcDogdHJ1ZSxcbiAgICBzaG93Q2hhdEJ1YmJsZUF0Q2xvc2VkOiBmYWxzZSxcbiAgICBib3RJY29uSW1hZ2VOYW1lOiBcImNoYXRib3RpY29uLnBuZ1wiLFxuICAgIGJvdEF2YXRhckltYWdlTmFtZTogXCJjaGF0Ym90aWNvbi5wbmdcIixcbiAgICBmb3JtQmFubmVyUGF0aDogXCJcIixcbiAgICByb290RmlsZVBhdGg6IFwiVUkvXCIsXG4gICAgc3VwcG9ydGVkTGFuZ3VhZ2VzOiBbXCJlblwiLCBcImVzXCJdLFxuICAgIGluaXRpYWxMYW5ndWFnZTogXCJlblwiLFxuICAgIGRpc2NsYWltZXJQb3B1cDoge1xuICAgICAgaGVhZGVyOiBcIkltcG9ydGFudCBtZXNzYWdlXCIsXG4gICAgICBtZXNzYWdlOiBgVGhlIENURE9MIHZpcnR1YWwgYXNzaXN0YW50IHdpbGwgbmVlZCB0byBhc2sgZm9yIHNwZWNpZmljIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uIHRoYXQgaXMgbmVlZGVkIHRvIGFuc3dlciB5b3VyIHF1ZXN0aW9uKHMpIHN1Y2ggYXMgZGF0ZSBvZiBiaXJ0aCBvciBTb2NpYWwgU2VjdXJpdHkgbnVtYmVyLiBUaGUgYWdlbmN5IGZvbGxvd3Mgc3RyaWN0IGZlZGVyYWwgc2VjdXJpdHkgZ3VpZGVsaW5lcyB0byBwcm90ZWN0IHlvdXIgc2Vuc2l0aXZlIGluZm9ybWF0aW9uLiBUbyBmdXJ0aGVyIHByb3RlY3QgeW91ciBpbmZvcm1hdGlvbiwgaWYgeW91IGFyZSBvbiBhIHB1YmxpYyBjb21wdXRlciwgcGxlYXNlIGxvZyBvdXQgYW5kIGNsb3NlIHlvdXIgYnJvd3NlciB3aGVuIHlvdSBhcmUgZmluaXNoZWQuYFxuICAgIH0sXG4gICAgaGVhZGVyQ29uZmlnOiB7XG4gICAgICBzaG93TGFuZ3VhZ2VUb2dnbGU6IHRydWUsXG4gICAgICBzaG93TWluaW1pemVCdXR0b246IHRydWUsXG4gICAgICBzaG93RXhwYW5kQnV0dG9uOiBmYWxzZSxcbiAgICAgIHNob3dSZWxvYWRCdXR0b246IHRydWUsXG4gICAgfVxuICB9XG4gIHB1YmxpYyBib3RPcHRpb25zOiBhbnkgPSB7fTtcbiAgcHVibGljIGtvcmVCb3Q6IGFueSA9IHt9O1xuICBpbml0Q2hhdGJvdDogQmVoYXZpb3JTdWJqZWN0PEJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMjtcbiAgcHVibGljIHNob3dDaGF0Ym90OiBib29sZWFuID0gKExpYkNvbnN0YW50cy5lbmFibGVDaGF0Ym90ID09ICd0cnVlJyk7XG4gIGNvbnN0cnVjdG9yKHJlbmRlcmVyRmFjdG9yeTogUmVuZGVyZXJGYWN0b3J5MiwgcHJpdmF0ZSBsb2dnZXI6IExvZ2dlclNlcnZpY2UsIHByaXZhdGUgbHM6IExvZ2luU2VydmljZSwgcHJpdmF0ZSB1dGlsOiBVdGlsU2VydmljZSkge1xuICAgIHRoaXMucmVuZGVyZXIgPSByZW5kZXJlckZhY3RvcnkuY3JlYXRlUmVuZGVyZXIobnVsbCwgbnVsbCk7XG4gICAgdGhpcy5sb2dnZXIuaW5mbygnQ2hhdGJvdFNlcnZpY2UgaW5pdGlhbGl6emVkIHN1Y2Nlc3NmdWxseS4nKTtcblxuICAgIHRoaXMubWFwLnNldChcIm1zXCIsIHRoaXMubXNDdXN0b21EYXRhKTtcbiAgICB0aGlzLm1hcC5zZXQoXCJtZVwiLCB0aGlzLm1lQ3VzdG9tRGF0YSk7XG4gICAgdGhpcy5tYXAuc2V0KFwiY3RcIiwgdGhpcy5jdEN1c3RvbURhdGEpO1xuICAgIHRoaXMuZ2V0Q2hhdGJvdEJzKCkuc3Vic2NyaWJlKHZhbCA9PiB7XG4gICAgICBpZiAodmFsKSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmluZm8oJ0luaXRpYWxpemluZyBDaGF0Ym90LicpO1xuICAgICAgICB0aGlzLmluaXRpYWxpemVDaGF0Ym90KCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBnZXRDaGF0Ym90QnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdENoYXRib3Q7XG4gIH1cblxuICBpbml0aWFsaXplKCkge1xuICAgIHRoaXMuaW5pdENoYXRib3QubmV4dCh0cnVlKTtcbiAgfVxuXG4gIGxvYWRTY3JpcEFuZFN0eWxlKCkge1xuICAgIGlmICghTGliQ29uc3RhbnRzLnByb2R1Y3Rpb24gJiYgdGhpcy5zaG93Q2hhdGJvdCkgeyAvL3NldCB0aGlzIHByb3BlcnR5IHRvIHRydWUgaWYgeW91IHdhbnQgdG8gdGVzdCB0aGlzIGluIGxvY2FsIGVudi5cbiAgICAgIHRoaXMubG9nZ2VyLmluZm8oJ05vdCBMb2FkaW5nIENoYXRib3QgYXMgY3VycmVudCBlbnZpcm9ubWVudCBpcyBub3QgcHJvZHVjdGlvbi4gU2V0IFwicHJvZHVjdGlvbj10cnVlXCIgYW5kIFwic2hvd0NoYXRib3Q9dHJ1ZVwiIGlmIHlvdSB3YW50IHRvIHRlc3QgY2hhdGJvdCBpbiBsb2NhbCBlbnYuJyk7XG4gICAgICByZXR1cm47O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxvZ2dlci5pbmZvKCdMb2FkaW5nIGNoYXRib3QgLi4uJyk7XG4gICAgfVxuXG4gICAgU2NyaXB0Q29uc3RhbnQuaW1wb3J0VXJscy5mb3JFYWNoKHNjcmlwdEVsZW1lbnQgPT4ge1xuICAgICAgLy8gb3RoZXIgdGhhbiBqcyBhbmQgc3R5bGVzaGVldCBhcmUgaWdub3JlZFxuICAgICAgaWYgKHNjcmlwdEVsZW1lbnQudHlwZSA9PT0gU2NyaXB0Q29uc3RhbnQuanNQcm9wZXJ0eSkge1xuICAgICAgICBjb25zdCBqc1NjcmlwdE5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICAgICAgLy8vLyBqc1NjcmlwdE5vZGUuc3JjID0gZW52aXJvbm1lbnQua29yZUFpV2ViU2RrVXJsICsgc2NyaXB0RWxlbWVudC51cmw7XG4gICAgICAgIGpzU2NyaXB0Tm9kZS5zcmMgPSBMaWJDb25zdGFudHMua29yZUFpV2ViU2RrVXJsICsgc2NyaXB0RWxlbWVudC51cmw7XG5cbiAgICAgICAganNTY3JpcHROb2RlLnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JztcblxuICAgICAgICBpZiAoc2NyaXB0RWxlbWVudC5hc3luYyA9PSBudWxsKSB7XG4gICAgICAgICAgdGhpcy5sb2dnZXIuaW5mbyhqc1NjcmlwdE5vZGUuc3JjICsgXCIgd2lsbCBiZSBsb2FkZWQgYXMgYXN5bmMgYmVjYXVzZSBvZiBudWxsIGFzeW5jIHZhbHVlXCIpO1xuICAgICAgICAgIGpzU2NyaXB0Tm9kZS5hc3luYyA9IHRydWU7XG4gICAgICAgIH0gZWxzZSBpZiAoc2NyaXB0RWxlbWVudC5hc3luYyA9PSB0cnVlKSB7XG4gICAgICAgICAgdGhpcy5sb2dnZXIuaW5mbyhzY3JpcHRFbGVtZW50LnVybCArIFwiIHdpbGwgYmUgbG9hZGVkIGFzIGFzeW5jIGJlY2F1c2Ugb2YgbnVsbCBhc3luYyB0cnVlXCIpO1xuXG4gICAgICAgICAganNTY3JpcHROb2RlLmFzeW5jID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICB0aGlzLmxvZ2dlci5pbmZvKHNjcmlwdEVsZW1lbnQudXJsICsgXCIgd2lsbCBiZSBsb2FkZWQgYXMgYXN5bmM9ZmFsc2VcIik7XG5cbiAgICAgICAgICBqc1NjcmlwdE5vZGUuYXN5bmMgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF0sIGpzU2NyaXB0Tm9kZSk7XG4gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF0uYXBwZW5kQ2hpbGQoanNTY3JpcHROb2RlKTtcbiAgICAgIH0gZWxzZSBpZiAoc2NyaXB0RWxlbWVudC50eXBlID09PSBTY3JpcHRDb25zdGFudC5jc3NQcm9wZXJ0eSkge1xuICAgICAgICBjb25zdCBzdHlsZU5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaW5rJyk7XG4gICAgICAgIHN0eWxlTm9kZS5yZWwgPSAnc3R5bGVzaGVldCc7XG4gICAgICAgIHN0eWxlTm9kZS5ocmVmID0gTGliQ29uc3RhbnRzLmtvcmVBaVdlYlNka1VybCArIHNjcmlwdEVsZW1lbnQudXJsO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF0sIHN0eWxlTm9kZSk7XG4gICAgICB9IGVsc2UgaWYgKHNjcmlwdEVsZW1lbnQudHlwZSA9PT0gU2NyaXB0Q29uc3RhbnQuY3NzUHJvcGVydHlBYnNvbHV0ZSkge1xuICAgICAgICBjb25zdCBzdHlsZU5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaW5rJyk7XG4gICAgICAgIHN0eWxlTm9kZS5yZWwgPSAnc3R5bGVzaGVldCc7XG4gICAgICAgIHN0eWxlTm9kZS5ocmVmID0gc2NyaXB0RWxlbWVudC51cmw7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXSwgc3R5bGVOb2RlKTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcigndXJsICcgKyBzY3JpcHRFbGVtZW50LnVybCArICcgaXMgbm90IGdvaW5nIHRvIGJlIGxvYWRlZCBiZWNhdXNlIG9mIGludmFsaWQgdHlwZSAnICsgc2NyaXB0RWxlbWVudC50eXBlKTtcbiAgICAgIH1cbiAgICB9KTsgLy8gZm9yIGVhY2hcbiAgfVxuXG5cblxuICBwdWJsaWMgaW5pdGlhbGl6ZUNoYXRib3QoKSB7XG4gICAgdGhpcy5vcGVuYm90KCk7XG4gIH1cblxuICAvKioqXG4gICAqIFxuICAgKiBAZGVzY3JpcHRpb24gSW5pdGlhbGl6ZSB0aGUgY2hhdGJvdCB3aXRoIGxvZ2dlZC1pbiB1c2VyLiBJZiB1c2VyIGlzIG5vdCBsb2dnZWQtaW4gdGhlbiBib3Qgc2Vzc2lvbiB3aWxsIGJlIGNyZWF0ZWQgdXNpbmcgdW5pcXVlIHRpbWVzdGFtcC5cbiAgICovXG4gIG9wZW5ib3QoKSB7XG4gICAgbGV0IHVzZXJJZCA9IG51bGw7XG4gICAgaWYgKHRoaXMubHMuZ2V0VXNlcigpKSB7XG4gICAgICB1c2VySWQgPSB0aGlzLmxzLmdldFVzZXIoKS51c2VybmFtZSArICdfJyArIHRoaXMubHMuZ2V0VXNlcigpLnVzZXJUeXBlO1xuICAgICAgdGhpcy5ib3RPcHRpb25zLmFjY2Vzc1Rva2VuID0gdGhpcy5scy5nZXRVc2VyKCkuYWNjZXNzX3Rva2VuO1xuICAgIH0gZWxzZSB7XG4gICAgICB1c2VySWQgPSBNYXRoLmZsb29yKChNYXRoLnJhbmRvbSgpICogMTAwMDAwMDApICsgMSkgKyBcIl9cIiArIG5ldyBEYXRlKCkuZ2V0TWlsbGlzZWNvbmRzKCkgKyBcIkBtZGVzLm1zLmdvdlwiO1xuICAgIH1cbiAgICAvLyoqKkNPREVfU1RBUlRcbiAgICB0aGlzLmJvdE9wdGlvbnMubG9nTGV2ZWwgPSAnZGVidWcnO1xuICAgIHRoaXMuYm90T3B0aW9ucy5rb3JlQVBJVXJsID0gTGliQ29uc3RhbnRzLmtvcmVBaUNoYXRib3RTZXJ2ZXI7XG4gICAgLy9ib3RPcHRpb25zLmtvcmVTcGVlY2hBUElVcmwgPSBcImh0dHBzOi8vc3BlZWNoLmtvcmUuYWkvXCI7XG4gICAgLy9ib3RPcHRpb25zLmJlYXJlciA9IFwiYmVhcmVyIHh5ei0tLS0tLS0tLS0tLS0tLS0tLS1cIjtcbiAgICAvL2JvdE9wdGlvbnMudHRzU29ja2V0VXJsID0gJ3dzczovL3NwZWVjaC5rb3JlLmFpL3R0cy93cyc7XG4gICAgdGhpcy5ib3RPcHRpb25zLnJlY29yZGVyV29ya2VyUGF0aCA9ICcuL2xpYnMvcmVjb3JkZXJXb3JrZXIuanMnO1xuICAgIHRoaXMuYm90T3B0aW9ucy5hc3NlcnRpb25GbiA9IChvcHRpb25zLCBjYWxsYmFjaykgPT4gdGhpcy5hc3NlcnRpb24ob3B0aW9ucywgY2FsbGJhY2spO1xuICAgIC8vYm90T3B0aW9ucy5rb3JlQW5vbnltb3VzRm4gPSBrb3JlQW5vbnltb3VzRm47XG5cbiAgICB0aGlzLmJvdE9wdGlvbnMuSldUVXJsID0gTGliQ29uc3RhbnRzLmtvcmVBaUp3dFNlcnZpY2U7XG4gICAgXG4gICAgdGhpcy5ib3RPcHRpb25zLnVzZXJJZGVudGl0eSA9IHVzZXJJZDsvLyBQcm92aWRlIHVzZXJzIGVtYWlsIGlkIGhlcmVcbiAgICB0aGlzLmJvdE9wdGlvbnMuYm90SW5mbyA9IHtcbiAgICAgIG5hbWU6IExpYkNvbnN0YW50cy5rb3JlQWlCb3ROYW1lLFxuICAgICAgXCJfaWRcIjogTGliQ29uc3RhbnRzLmtvcmVBaUJvdElkLFxuICAgICAgY3VzdG9tRGF0YSA6IHRoaXMubWFwLmdldCh0aGlzLnV0aWwuZ2V0U3RhdGVMb3dlcmNhc2UoKSkgPyB0aGlzLm1hcC5nZXQodGhpcy51dGlsLmdldFN0YXRlTG93ZXJjYXNlKCkpIDogdGhpcy5tYXAuZ2V0KCdtcycpLFxuICAgICAgLy8gY3VzdG9tRGF0YTogeyBjb25uZWN0aW5nTWVzc2FnZTogXCJXZWxjb21lIHRvIFJlRW1wbG95TUUuIEkgYW0geW91ciB2aXJ0dWFsIGFzc2lzdGFudCB0byBoZWxwIHlvdSB3aXRoIE1FIHJlbGF0ZWQgcXVlcmllcy5cIiwgaG92ZXJNZXNzYWdlOiBcIkFzayBCbHVlXCIsIGJvdFN0YXRlOiBcIk1FXCIsIHNob3dDb2xsZWN0VXNlckRldGFpbEZvcm06IGZhbHNlLCBzaG93RGlzY2xhaW1lclBvcFVwOiB0cnVlLCBib3RJY29uSW1hZ2VOYW1lOiBcImNoYXRib3RpY29uLnBuZ1wiLCBib3RBdmF0YXJJbWFnZU5hbWU6IFwiY2hhdGJvdGljb24ucG5nXCIsIHJvb3RGaWxlUGF0aDogXCJVSS9cIiwgc3VwcG9ydGVkTGFuZ3VhZ2VzOiBbXCJlblwiLCBcImVzXCJdLCBpbml0aWFsTGFuZ3VhZ2U6IFwiZW5cIiwgZGlzY2xhaW1lclBvcHVwOiB7IGhlYWRlcjogXCJJbXBvcnRhbnQgTWVzc2FnZVwiLCBtZXNzYWdlOiBgVGhlIHZpcnR1YWwgYXNzaXN0YW50IHdpbGwgbmVlZCB0byBhc2sgZm9yIHNwZWNpZmljIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uIHRoYXQgaXMgbmVlZGVkIHRvIGFuc3dlciB5b3UgcXVlc3Rpb24ocykgc3VjaCBhcyBkYXRlIG9mIGJpcnRoIG9yIFNvY2lhbCBTZWN1cml0eSBudW1iZXIuIFRoZSBhZ2VuY3kgZm9sbG93cyBzdHJpY3QgZmVkZXJhbCBzZWN1cml0eSBndWlkZWxpbmVzIHRvIHByb3RlY3QgeW91ciBzZW5zaXRpdmUgaW5mb3JtYXRpb24uIFRvIGZ1cnRoZXIgcHJvdGVjdCB5b3VyIGluZm9ybWF0aW9uLCBpZiB5b3UgYXJlIG9uIGEgcHVibGljIGNvbXB1dGVyLCBwbGVhc2UgbG9nIG91dCBhbmQgY2xvc2UgeW91ciBicm93c2VyIHdoZW4geW91IGFyZSBmaW5pc2hlZC5gLCB9LCBoZWFkZXJDb25maWc6IHsgc2hvd0xhbmd1YWdlVG9nZ2xlOiB0cnVlLCBzaG93TWluaW1pemVCdXR0b246IHRydWUsIHNob3dFeHBhbmRidXR0b246IGZhbHNlLCBzaG93UmVsb2FkQnV0dG9uOiB0cnVlLCB9IH1cbiAgICB9OyAvLyBib3QgbmFtZSBpcyBjYXNlIHNlbnNpdGl2ZVxuICAgIC8vdGhpcy5ib3RPcHRpb25zLmNsaWVudFNlY3JldCA9IExpYkNvbnN0YW50cy5rb3JlQWlDbGllbnRTZWNyZXQ7XG5cbiAgICAvL3RoaXMuYm90T3B0aW9ucy5yZWVtcGxveVVzQmVhcmVyVG9rZW49IFwiXCI7ICBcbiAgICAvLyB3aWxsIG5lZWQgdG8gcGFzcyB0b2tlbiB0byBrb3JlQWlDaGF0Qm90U2VydmVyIHdoZW4gYXV0aGVudGljYXRpb24gbmVlZHMgdG8gYmUgdmFsaWRhdGVkIGZvciBzZXJ2ZXIgc2lkZSBhcGkgY2FsbFxuXG4gICAgdmFyIGNoYXRDb25maWcgPSB7XG4gICAgICBib3RPcHRpb25zOiB0aGlzLmJvdE9wdGlvbnMsXG4gICAgICBhbGxvd0lmcmFtZTogZmFsc2UsXG4gICAgICBpc1NlbmRCdXR0b246IHRydWUsXG4gICAgICBpc1RUU0VuYWJsZWQ6IGZhbHNlLFxuICAgICAgaXNTcGVlY2hFbmFibGVkOiBmYWxzZSxcbiAgICAgIGFsbG93R29vZ2xlU3BlZWNoOiBmYWxzZSxcbiAgICAgIGFsbG93TG9jYXRpb246IGZhbHNlLFxuICAgICAgbG9hZEhpc3Rvcnk6IGZhbHNlLFxuICAgICAgbWVzc2FnZUhpc3RvcnlMaW1pdDogMTAsXG4gICAgICBhdXRvRW5hYmxlU3BlZWNoQW5kVFRTOiBmYWxzZSxcbiAgICAgIGdyYXBoTGliOiBcImQzXCJcbiAgICB9O1xuICAgIGlmIChPYmplY3Qua2V5cyh0aGlzLmtvcmVCb3QpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5rb3JlQm90ID0ga29yZUJvdENoYXQoKTtcbiAgICAgIHRoaXMua29yZUJvdC5zaG93KGNoYXRDb25maWcpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmtvcmVCb3QucmVzdW1lQ2hhdFdpbmRvdygpXG4gICAgfVxuICAgIC8vKioqQ09ERV9FTkRcblxuICB9XG5cbiAgYXNzZXJ0aW9uKG9wdGlvbnMsIGNhbGxiYWNrKSB7XG4gICAgdmFyIGpzb25EYXRhID0ge1xuICAgICAgXCJib3RJZFwiOiBMaWJDb25zdGFudHMua29yZUFpQm90SWQsXG4gICAgICBcImlkZW50aXR5XCI6IG9wdGlvbnMudXNlcklkZW50aXR5IHx8IHRoaXMuYm90T3B0aW9ucy51c2VySWRlbnRpdHksXG4gICAgICBcImF1ZFwiOiBcIlwiLFxuICAgICAgXCJpc0Fub255bW91c1wiOiAodGhpcy5scy5nZXRVc2VyKCkgPT0gbnVsbCksXG4gICAgICBcImFjY2Vzc1Rva2VuXCI6IHRoaXMuYm90T3B0aW9ucy5hY2Nlc3NUb2tlblxuICAgIH07XG4gICAgJC5hamF4KHtcbiAgICAgIHVybDogdGhpcy5ib3RPcHRpb25zLkpXVFVybCxcbiAgICAgIHR5cGU6ICdwb3N0JyxcbiAgICAgIGRhdGE6IGpzb25EYXRhLFxuICAgICAgZGF0YVR5cGU6ICdqc29uJyxcbiAgICAgIHN1Y2Nlc3M6IChkYXRhKSA9PiB7XG4gICAgICAgIG9wdGlvbnMuYXNzZXJ0aW9uID0gZGF0YS5qd3Q7XG4gICAgICAgIG9wdGlvbnMuaGFuZGxlRXJyb3IgPSB0aGlzLmtvcmVCb3Quc2hvd0Vycm9yO1xuICAgICAgICBvcHRpb25zLmNoYXRIaXN0b3J5ID0gdGhpcy5rb3JlQm90LmNoYXRIaXN0b3J5O1xuICAgICAgICBvcHRpb25zLmJvdERldGFpbHMgPSB0aGlzLmtvcmVCb3QuYm90RGV0YWlscztcbiAgICAgICAgY2FsbGJhY2sobnVsbCwgb3B0aW9ucyk7XG4gICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgIGlmICh0aGlzLmtvcmVCb3QgJiYgdGhpcy5rb3JlQm90LmluaXRUb2tlbikge1xuICAgICAgICAgICAgdGhpcy5rb3JlQm90LmluaXRUb2tlbihvcHRpb25zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sIDIwMDApO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiAoZXJyKSA9PiB7XG4gICAgICAgIHRoaXMua29yZUJvdC5zaG93RXJyb3IoZXJyLnJlc3BvbnNlVGV4dCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
256
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdGJvdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJldXNhLWFwcC1saWIvc3JjL2xpYi9zZXJ2aWNlcy9jaGF0Ym90L2NoYXRib3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUErQixNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBcUNoRCxNQUFNLE9BQU8sY0FBYztJQW1GekIsWUFBWSxlQUFpQyxFQUFVLE1BQXFCLEVBQVUsRUFBZ0IsRUFBVSxJQUFpQjtRQUExRSxXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQVUsT0FBRSxHQUFGLEVBQUUsQ0FBYztRQUFVLFNBQUksR0FBSixJQUFJLENBQWE7UUFqRmpJLFFBQUcsR0FBNEIsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUV6QyxpQkFBWSxHQUFlO1lBQ3pCLGlCQUFpQixFQUFFLDJGQUEyRjtZQUM5RyxZQUFZLEVBQUUsY0FBYztZQUM1QixRQUFRLEVBQUUsSUFBSTtZQUNkLHlCQUF5QixFQUFFLElBQUk7WUFDL0IsbUJBQW1CLEVBQUUsSUFBSTtZQUN6QixzQkFBc0IsRUFBRSxLQUFLO1lBQzdCLGtCQUFrQixFQUFFLGdCQUFnQjtZQUNwQyxnQkFBZ0IsRUFBRSxnQkFBZ0I7WUFDbEMsY0FBYyxFQUFFLEVBQUU7WUFDbEIsWUFBWSxFQUFFLEtBQUs7WUFDbkIsa0JBQWtCLEVBQUUsQ0FBQyxJQUFJLENBQUM7WUFDMUIsZUFBZSxFQUFFLElBQUk7WUFDckIsNkRBQTZEO1lBQzdELGVBQWUsRUFBRTtnQkFDZixNQUFNLEVBQUUsbUJBQW1CO2dCQUMzQixP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QUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO2dCQUM3QixPQUFPLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO2dCQUM3QyxPQUFPLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDO2dCQUMvQyxPQUFPLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO2dCQUM3QyxRQUFRLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUN4QixVQUFVLENBQUM7b0JBQ1QsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFO3dCQUMxQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztxQkFDakM7Z0JBQ0gsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ1gsQ0FBQztZQUNELEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNiLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUMzQyxDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrRUF4UFUsY0FBYzt1RUFBZCxjQUFjLFdBQWQsY0FBYyxtQkFGYixNQUFNOztpRkFFUCxjQUFjO2NBSDFCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIFJlbmRlcmVyMiwgUmVuZGVyZXJGYWN0b3J5MiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMaWJDb25zdGFudHMgfSBmcm9tICcuLi8uLi9tb2RlbHMvTGliQ29uc3RhbnRzJztcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2NyaXB0Q29uc3RhbnQgfSBmcm9tICcuL3NjcmlwdC5jb25zdCc7XG5pbXBvcnQgeyBMb2dpblNlcnZpY2UgfSBmcm9tICcuLi9sb2dpbi9sb2dpbi5zZXJ2aWNlJztcbmltcG9ydCB7IFV0aWxTZXJ2aWNlIH0gZnJvbSAnLi4vdXRpbC91dGlsLnNlcnZpY2UnO1xuXG5kZWNsYXJlIGNvbnN0IGtvcmVCb3RDaGF0OiBhbnk7XG5kZWNsYXJlIGNvbnN0ICQ6IGFueTtcblxuaW50ZXJmYWNlIERpc2NsYWltZXJQb3B1cCB7XG4gIGhlYWRlcjogc3RyaW5nO1xuICBtZXNzYWdlOiBzdHJpbmdcbn1cbmludGVyZmFjZSBIZWFkZXJDb25maWcge1xuICBzaG93TGFuZ3VhZ2VUb2dnbGU6IGJvb2xlYW47XG4gIHNob3dNaW5pbWl6ZUJ1dHRvbjogYm9vbGVhbjtcbiAgc2hvd0V4cGFuZEJ1dHRvbjogYm9vbGVhbjtcbiAgc2hvd1JlbG9hZEJ1dHRvbjogYm9vbGVhbjtcbn1cbmludGVyZmFjZSBDdXN0b21EYXRhIHtcbiAgY29ubmVjdGluZ01lc3NhZ2U6IHN0cmluZztcbiAgaG92ZXJNZXNzYWdlOiBzdHJpbmc7XG4gIGJvdFN0YXRlOiBzdHJpbmc7XG4gIHNob3dDb2xsZWN0VXNlckRldGFpbEZvcm06IGJvb2xlYW47XG4gIHNob3dEaXNjbGFpbWVyUG9wVXA6IGJvb2xlYW47XG4gIHNob3dDaGF0QnViYmxlQXRDbG9zZWQ6IGJvb2xlYW47XG4gIGJvdEF2YXRhckltYWdlTmFtZTogc3RyaW5nO1xuICBib3RJY29uSW1hZ2VOYW1lOiBzdHJpbmc7XG4gIGZvcm1CYW5uZXJQYXRoOiBzdHJpbmcsXG4gIHJvb3RGaWxlUGF0aDogc3RyaW5nO1xuICBzdXBwb3J0ZWRMYW5ndWFnZXM6IHN0cmluZ1tdO1xuICBpbml0aWFsTGFuZ3VhZ2U6IHN0cmluZztcbiAgZGlzY2xhaW1lclBvcHVwOiBEaXNjbGFpbWVyUG9wdXA7XG4gIGhlYWRlckNvbmZpZzogSGVhZGVyQ29uZmlnO1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDaGF0Ym90U2VydmljZSB7XG5cbiAgbWFwOiBNYXA8c3RyaW5nLCBDdXN0b21EYXRhPiA9IG5ldyBNYXAoKTtcblxuICBtc0N1c3RvbURhdGE6IEN1c3RvbURhdGEgPSB7XG4gICAgY29ubmVjdGluZ01lc3NhZ2U6IFwiV2VsY29tZSB0byBSZUVtcGxveU1TLiBJIGFtIHlvdXIgdmlydHVhbCBhc3Npc3RhbnQgdG8gaGVscCB5b3Ugd2l0aCBNREVTIHJlbGF0ZWQgcXVlcmllcy5cIixcbiAgICBob3Zlck1lc3NhZ2U6IFwiQXNrIGNoYXQgYm90XCIsXG4gICAgYm90U3RhdGU6IFwiTVNcIixcbiAgICBzaG93Q29sbGVjdFVzZXJEZXRhaWxGb3JtOiB0cnVlLFxuICAgIHNob3dEaXNjbGFpbWVyUG9wVXA6IHRydWUsXG4gICAgc2hvd0NoYXRCdWJibGVBdENsb3NlZDogZmFsc2UsXG4gICAgYm90QXZhdGFySW1hZ2VOYW1lOiBcIkF2YXRhckljb24ucG5nXCIsXG4gICAgYm90SWNvbkltYWdlTmFtZTogXCJBdmF0YXJJY29uLnBuZ1wiLFxuICAgIGZvcm1CYW5uZXJQYXRoOiBcIlwiLFxuICAgIHJvb3RGaWxlUGF0aDogXCJVSS9cIixcbiAgICBzdXBwb3J0ZWRMYW5ndWFnZXM6IFtcImVuXCJdLFxuICAgIGluaXRpYWxMYW5ndWFnZTogXCJlblwiLFxuICAgIC8vIHN0YXJ0ZXJUYXNrOiB7ZW46XCJGb3Jnb3QgUGFzc3dvcmRcIiwgZXM6XCJGb3Jnb3QgUGFzc3dvcmRcIn0sXG4gICAgZGlzY2xhaW1lclBvcHVwOiB7XG4gICAgICBoZWFkZXI6IFwiSW1wb3J0YW50IG1lc3NhZ2VcIixcbiAgICAgIG1lc3NhZ2U6IGBNREVTJyB2aXJ0dWFsIGFzc2lzdGFudCB3aWxsIGFzayBmb3Igc3BlY2lmaWMgaWRlbnRpZnlpbmcgaW5mb3JtYXRpb24sIHN1Y2ggYXMgU29jaWFsIFNlY3VyaXR5IE51bWJlciBhbmQgRGF0ZSBvZiBCaXJ0aCwgdGhhdCBpcyBuZWVkZWQgdG8gYW5zd2VyIHlvdXIgcXVlc3Rpb24ocykuPC9icj48L2JyPiBNREVTIGZvbGxvd3Mgc3RyaWN0IGZlZGVyYWwgc2VjdXJpdHkgZ3VpZGVsaW5lcyB0byBwcm90ZWN0IHlvdXIgc2Vuc2l0aXZlIGluZm9ybWF0aW9uLjwvYnI+PC9icj5UbyBmdXJ0aGVyIHByb3RlY3QgeW91ciBpbmZvcm1hdGlvbiB5b3Ugc2hvdWxkIGNsb3NlIHRoZSBjaGF0IHdpbmRvdyBhbmQgYnJvd3NlciB3aGVuIHlvdSBhcmUgZmluaXNoZWQuPC9wPmBcbiAgICB9LFxuICAgIGhlYWRlckNvbmZpZzoge1xuICAgICAgc2hvd0xhbmd1YWdlVG9nZ2xlOiBmYWxzZSxcbiAgICAgIHNob3dNaW5pbWl6ZUJ1dHRvbjogZmFsc2UsXG4gICAgICBzaG93RXhwYW5kQnV0dG9uOiBmYWxzZSxcbiAgICAgIHNob3dSZWxvYWRCdXR0b246IGZhbHNlLFxuICAgIH1cbiAgfVxuXG4gIG1lQ3VzdG9tRGF0YTogQ3VzdG9tRGF0YSA9IHtcbiAgICBjb25uZWN0aW5nTWVzc2FnZTogXCJXZWxjb21lIHRvIFJlRW1wbG95TUUuIEkgYW0geW91ciB2aXJ0dWFsIGFzc2lzdGFudCB0byBoZWxwIHlvdSB3aXRoIE1FIHJlbGF0ZWQgcXVlcmllcy5cIixcbiAgICBob3Zlck1lc3NhZ2U6IFwiQXNrIEJsdWVcIixcbiAgICBib3RTdGF0ZTogXCJNRVwiLFxuICAgIHNob3dDb2xsZWN0VXNlckRldGFpbEZvcm06IGZhbHNlLFxuICAgIHNob3dEaXNjbGFpbWVyUG9wVXA6IHRydWUsXG4gICAgc2hvd0NoYXRCdWJibGVBdENsb3NlZDogZmFsc2UsXG4gICAgYm90SWNvbkltYWdlTmFtZTogXCJCbHVlSWNvbi5zdmdcIixcbiAgICBib3RBdmF0YXJJbWFnZU5hbWU6IFwiQmx1ZUljb24uc3ZnXCIsXG4gICAgZm9ybUJhbm5lclBhdGg6IFwiXCIsXG4gICAgcm9vdEZpbGVQYXRoOiBcIlVJL1wiLFxuICAgIHN1cHBvcnRlZExhbmd1YWdlczogW1wiZW5cIl0sXG4gICAgaW5pdGlhbExhbmd1YWdlOiBcImVuXCIsXG4gICAgZGlzY2xhaW1lclBvcHVwOiB7XG4gICAgICBoZWFkZXI6IFwiSW1wb3J0YW50IG1lc3NhZ2VcIixcbiAgICAgIG1lc3NhZ2U6IGBNRURPTCdzIHZpcnR1YWwgYXNzaXN0YW50IG1heSBhc2sgeW91IHNwZWNpZmljIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uLCBzdWNoIGFzIFNvY2lhbCBTZWN1cml0eSBOdW1iZXIgYW5kIERhdGUgb2YgQmlydGgsIHRoYXQgaXMgbmVlZGVkIHRvIGFuc3dlciB5b3VyIHF1ZXN0aW9uKHMpLiBNRSBET0wgZm9sbG93cyBzdHJpY3QgZmVkZXJhbCBzZWN1cml0eSBndWlkZWxpbmVzIHRvIHByb3RlY3QgeW91ciBzZW5zaXRpdmUgaW5mb3JtYXRpb24uIFRvIGZ1cnRoZXIgcHJvdGVjdCB5b3VyIGluZm9ybWF0aW9uIHlvdSBzaG91bGQgY2xvc2UgdGhlIGNoYXQgd2luZG93IGFuZCBicm93c2VyIHdoZW4geW91IGFyZSBmaW5pc2hlZC5gXG4gICAgfSxcbiAgICBoZWFkZXJDb25maWc6IHtcbiAgICAgIHNob3dMYW5ndWFnZVRvZ2dsZTogZmFsc2UsXG4gICAgICBzaG93TWluaW1pemVCdXR0b246IHRydWUsXG4gICAgICBzaG93RXhwYW5kQnV0dG9uOiBmYWxzZSxcbiAgICAgIHNob3dSZWxvYWRCdXR0b246IHRydWUsXG4gICAgfVxuICB9XG4gIGN0Q3VzdG9tRGF0YTogQ3VzdG9tRGF0YSA9IHtcbiAgICBjb25uZWN0aW5nTWVzc2FnZTogXCJXZWxjb21lIHRvIFJlRW1wbG95Q1QuIEkgYW0geW91ciB2aXJ0dWFsIGFzc2lzdGFudCB0byBoZWxwIHlvdSB3aXRoIE1FIHJlbGF0ZWQgcXVlcmllcy5cIixcbiAgICBob3Zlck1lc3NhZ2U6IFwiQXNrIEJsdWVcIixcbiAgICBib3RTdGF0ZTogXCJDVFwiLFxuICAgIHNob3dDb2xsZWN0VXNlckRldGFpbEZvcm06IHRydWUsXG4gICAgc2hvd0Rpc2NsYWltZXJQb3BVcDogdHJ1ZSxcbiAgICBzaG93Q2hhdEJ1YmJsZUF0Q2xvc2VkOiBmYWxzZSxcbiAgICBib3RJY29uSW1hZ2VOYW1lOiBcImNoYXRib3RpY29uLnBuZ1wiLFxuICAgIGJvdEF2YXRhckltYWdlTmFtZTogXCJjaGF0Ym90aWNvbi5wbmdcIixcbiAgICBmb3JtQmFubmVyUGF0aDogXCJcIixcbiAgICByb290RmlsZVBhdGg6IFwiVUkvXCIsXG4gICAgc3VwcG9ydGVkTGFuZ3VhZ2VzOiBbXCJlblwiLCBcImVzXCJdLFxuICAgIGluaXRpYWxMYW5ndWFnZTogXCJlblwiLFxuICAgIGRpc2NsYWltZXJQb3B1cDoge1xuICAgICAgaGVhZGVyOiBcIkltcG9ydGFudCBtZXNzYWdlXCIsXG4gICAgICBtZXNzYWdlOiBgVGhlIENURE9MIHZpcnR1YWwgYXNzaXN0YW50IHdpbGwgbmVlZCB0byBhc2sgZm9yIHNwZWNpZmljIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uIHRoYXQgaXMgbmVlZGVkIHRvIGFuc3dlciB5b3VyIHF1ZXN0aW9uKHMpIHN1Y2ggYXMgZGF0ZSBvZiBiaXJ0aCBvciBTb2NpYWwgU2VjdXJpdHkgbnVtYmVyLiBUaGUgYWdlbmN5IGZvbGxvd3Mgc3RyaWN0IGZlZGVyYWwgc2VjdXJpdHkgZ3VpZGVsaW5lcyB0byBwcm90ZWN0IHlvdXIgc2Vuc2l0aXZlIGluZm9ybWF0aW9uLiBUbyBmdXJ0aGVyIHByb3RlY3QgeW91ciBpbmZvcm1hdGlvbiwgaWYgeW91IGFyZSBvbiBhIHB1YmxpYyBjb21wdXRlciwgcGxlYXNlIGxvZyBvdXQgYW5kIGNsb3NlIHlvdXIgYnJvd3NlciB3aGVuIHlvdSBhcmUgZmluaXNoZWQuYFxuICAgIH0sXG4gICAgaGVhZGVyQ29uZmlnOiB7XG4gICAgICBzaG93TGFuZ3VhZ2VUb2dnbGU6IHRydWUsXG4gICAgICBzaG93TWluaW1pemVCdXR0b246IHRydWUsXG4gICAgICBzaG93RXhwYW5kQnV0dG9uOiBmYWxzZSxcbiAgICAgIHNob3dSZWxvYWRCdXR0b246IHRydWUsXG4gICAgfVxuICB9XG4gIHB1YmxpYyBib3RPcHRpb25zOiBhbnkgPSB7fTtcbiAgcHVibGljIGtvcmVCb3Q6IGFueSA9IHt9O1xuICBpbml0Q2hhdGJvdDogQmVoYXZpb3JTdWJqZWN0PEJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMjtcbiAgcHVibGljIHNob3dDaGF0Ym90OiBib29sZWFuID0gKExpYkNvbnN0YW50cy5lbmFibGVDaGF0Ym90ID09ICd0cnVlJyk7XG4gIGNvbnN0cnVjdG9yKHJlbmRlcmVyRmFjdG9yeTogUmVuZGVyZXJGYWN0b3J5MiwgcHJpdmF0ZSBsb2dnZXI6IExvZ2dlclNlcnZpY2UsIHByaXZhdGUgbHM6IExvZ2luU2VydmljZSwgcHJpdmF0ZSB1dGlsOiBVdGlsU2VydmljZSkge1xuICAgIHRoaXMucmVuZGVyZXIgPSByZW5kZXJlckZhY3RvcnkuY3JlYXRlUmVuZGVyZXIobnVsbCwgbnVsbCk7XG4gICAgdGhpcy5sb2dnZXIuaW5mbygnQ2hhdGJvdFNlcnZpY2UgaW5pdGlhbGl6emVkIHN1Y2Nlc3NmdWxseS4nKTtcblxuICAgIHRoaXMubWFwLnNldChcIm1zXCIsIHRoaXMubXNDdXN0b21EYXRhKTtcbiAgICB0aGlzLm1hcC5zZXQoXCJtZVwiLCB0aGlzLm1lQ3VzdG9tRGF0YSk7XG4gICAgdGhpcy5tYXAuc2V0KFwiY3RcIiwgdGhpcy5jdEN1c3RvbURhdGEpO1xuICAgIHRoaXMuZ2V0Q2hhdGJvdEJzKCkuc3Vic2NyaWJlKHZhbCA9PiB7XG4gICAgICBpZiAodmFsKSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmluZm8oJ0luaXRpYWxpemluZyBDaGF0Ym90LicpO1xuICAgICAgICB0aGlzLmluaXRpYWxpemVDaGF0Ym90KCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBnZXRDaGF0Ym90QnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdENoYXRib3Q7XG4gIH1cblxuICBpbml0aWFsaXplKCkge1xuICAgIHRoaXMuaW5pdENoYXRib3QubmV4dCh0cnVlKTtcbiAgfVxuXG4gIGxvYWRTY3JpcEFuZFN0eWxlKCkge1xuICAgIGlmICghTGliQ29uc3RhbnRzLnByb2R1Y3Rpb24gJiYgdGhpcy5zaG93Q2hhdGJvdCkgeyAvL3NldCB0aGlzIHByb3BlcnR5IHRvIHRydWUgaWYgeW91IHdhbnQgdG8gdGVzdCB0aGlzIGluIGxvY2FsIGVudi5cbiAgICAgIHRoaXMubG9nZ2VyLmluZm8oJ05vdCBMb2FkaW5nIENoYXRib3QgYXMgY3VycmVudCBlbnZpcm9ubWVudCBpcyBub3QgcHJvZHVjdGlvbi4gU2V0IFwicHJvZHVjdGlvbj10cnVlXCIgYW5kIFwic2hvd0NoYXRib3Q9dHJ1ZVwiIGlmIHlvdSB3YW50IHRvIHRlc3QgY2hhdGJvdCBpbiBsb2NhbCBlbnYuJyk7XG4gICAgICByZXR1cm47O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxvZ2dlci5pbmZvKCdMb2FkaW5nIGNoYXRib3QgLi4uJyk7XG4gICAgfVxuXG4gICAgU2NyaXB0Q29uc3RhbnQuaW1wb3J0VXJscy5mb3JFYWNoKHNjcmlwdEVsZW1lbnQgPT4ge1xuICAgICAgLy8gb3RoZXIgdGhhbiBqcyBhbmQgc3R5bGVzaGVldCBhcmUgaWdub3JlZFxuICAgICAgaWYgKHNjcmlwdEVsZW1lbnQudHlwZSA9PT0gU2NyaXB0Q29uc3RhbnQuanNQcm9wZXJ0eSkge1xuICAgICAgICBjb25zdCBqc1NjcmlwdE5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICAgICAgLy8vLyBqc1NjcmlwdE5vZGUuc3JjID0gZW52aXJvbm1lbnQua29yZUFpV2ViU2RrVXJsICsgc2NyaXB0RWxlbWVudC51cmw7XG4gICAgICAgIGpzU2NyaXB0Tm9kZS5zcmMgPSBMaWJDb25zdGFudHMua29yZUFpV2ViU2RrVXJsICsgc2NyaXB0RWxlbWVudC51cmw7XG5cbiAgICAgICAganNTY3JpcHROb2RlLnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JztcblxuICAgICAgICBpZiAoc2NyaXB0RWxlbWVudC5hc3luYyA9PSBudWxsKSB7XG4gICAgICAgICAgdGhpcy5sb2dnZXIuaW5mbyhqc1NjcmlwdE5vZGUuc3JjICsgXCIgd2lsbCBiZSBsb2FkZWQgYXMgYXN5bmMgYmVjYXVzZSBvZiBudWxsIGFzeW5jIHZhbHVlXCIpO1xuICAgICAgICAgIGpzU2NyaXB0Tm9kZS5hc3luYyA9IHRydWU7XG4gICAgICAgIH0gZWxzZSBpZiAoc2NyaXB0RWxlbWVudC5hc3luYyA9PSB0cnVlKSB7XG4gICAgICAgICAgdGhpcy5sb2dnZXIuaW5mbyhzY3JpcHRFbGVtZW50LnVybCArIFwiIHdpbGwgYmUgbG9hZGVkIGFzIGFzeW5jIGJlY2F1c2Ugb2YgbnVsbCBhc3luYyB0cnVlXCIpO1xuXG4gICAgICAgICAganNTY3JpcHROb2RlLmFzeW5jID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICB0aGlzLmxvZ2dlci5pbmZvKHNjcmlwdEVsZW1lbnQudXJsICsgXCIgd2lsbCBiZSBsb2FkZWQgYXMgYXN5bmM9ZmFsc2VcIik7XG5cbiAgICAgICAgICBqc1NjcmlwdE5vZGUuYXN5bmMgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF0sIGpzU2NyaXB0Tm9kZSk7XG4gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF0uYXBwZW5kQ2hpbGQoanNTY3JpcHROb2RlKTtcbiAgICAgIH0gZWxzZSBpZiAoc2NyaXB0RWxlbWVudC50eXBlID09PSBTY3JpcHRDb25zdGFudC5jc3NQcm9wZXJ0eSkge1xuICAgICAgICBjb25zdCBzdHlsZU5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaW5rJyk7XG4gICAgICAgIHN0eWxlTm9kZS5yZWwgPSAnc3R5bGVzaGVldCc7XG4gICAgICAgIHN0eWxlTm9kZS5ocmVmID0gTGliQ29uc3RhbnRzLmtvcmVBaVdlYlNka1VybCArIHNjcmlwdEVsZW1lbnQudXJsO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF0sIHN0eWxlTm9kZSk7XG4gICAgICB9IGVsc2UgaWYgKHNjcmlwdEVsZW1lbnQudHlwZSA9PT0gU2NyaXB0Q29uc3RhbnQuY3NzUHJvcGVydHlBYnNvbHV0ZSkge1xuICAgICAgICBjb25zdCBzdHlsZU5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaW5rJyk7XG4gICAgICAgIHN0eWxlTm9kZS5yZWwgPSAnc3R5bGVzaGVldCc7XG4gICAgICAgIHN0eWxlTm9kZS5ocmVmID0gc2NyaXB0RWxlbWVudC51cmw7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXSwgc3R5bGVOb2RlKTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcigndXJsICcgKyBzY3JpcHRFbGVtZW50LnVybCArICcgaXMgbm90IGdvaW5nIHRvIGJlIGxvYWRlZCBiZWNhdXNlIG9mIGludmFsaWQgdHlwZSAnICsgc2NyaXB0RWxlbWVudC50eXBlKTtcbiAgICAgIH1cbiAgICB9KTsgLy8gZm9yIGVhY2hcbiAgfVxuXG5cblxuICBwdWJsaWMgaW5pdGlhbGl6ZUNoYXRib3QoKSB7XG4gICAgdGhpcy5vcGVuYm90KCk7XG4gIH1cblxuICAvKioqXG4gICAqIFxuICAgKiBAZGVzY3JpcHRpb24gSW5pdGlhbGl6ZSB0aGUgY2hhdGJvdCB3aXRoIGxvZ2dlZC1pbiB1c2VyLiBJZiB1c2VyIGlzIG5vdCBsb2dnZWQtaW4gdGhlbiBib3Qgc2Vzc2lvbiB3aWxsIGJlIGNyZWF0ZWQgdXNpbmcgdW5pcXVlIHRpbWVzdGFtcC5cbiAgICovXG4gIG9wZW5ib3QoKSB7XG4gICAgbGV0IHVzZXJJZCA9IG51bGw7XG4gICAgaWYgKHRoaXMubHMuZ2V0VXNlcigpKSB7XG4gICAgICB1c2VySWQgPSB0aGlzLmxzLmdldFVzZXIoKS51c2VybmFtZSArICdfJyArIHRoaXMubHMuZ2V0VXNlcigpLnVzZXJUeXBlO1xuICAgICAgdGhpcy5ib3RPcHRpb25zLmFjY2Vzc1Rva2VuID0gdGhpcy5scy5nZXRVc2VyKCkuYWNjZXNzX3Rva2VuO1xuICAgIH0gZWxzZSB7XG4gICAgICB1c2VySWQgPSBNYXRoLmZsb29yKChNYXRoLnJhbmRvbSgpICogMTAwMDAwMDApICsgMSkgKyBcIl9cIiArIG5ldyBEYXRlKCkuZ2V0TWlsbGlzZWNvbmRzKCkgKyBcIkBtYWluZS5nb3ZcIjtcbiAgICB9XG4gICAgLy8qKipDT0RFX1NUQVJUXG4gICAgdGhpcy5ib3RPcHRpb25zLmxvZ0xldmVsID0gJ2RlYnVnJztcbiAgICB0aGlzLmJvdE9wdGlvbnMua29yZUFQSVVybCA9IExpYkNvbnN0YW50cy5rb3JlQWlDaGF0Ym90U2VydmVyO1xuICAgIC8vYm90T3B0aW9ucy5rb3JlU3BlZWNoQVBJVXJsID0gXCJodHRwczovL3NwZWVjaC5rb3JlLmFpL1wiO1xuICAgIC8vYm90T3B0aW9ucy5iZWFyZXIgPSBcImJlYXJlciB4eXotLS0tLS0tLS0tLS0tLS0tLS0tXCI7XG4gICAgLy9ib3RPcHRpb25zLnR0c1NvY2tldFVybCA9ICd3c3M6Ly9zcGVlY2gua29yZS5haS90dHMvd3MnO1xuICAgIHRoaXMuYm90T3B0aW9ucy5yZWNvcmRlcldvcmtlclBhdGggPSAnLi9saWJzL3JlY29yZGVyV29ya2VyLmpzJztcbiAgICB0aGlzLmJvdE9wdGlvbnMuYXNzZXJ0aW9uRm4gPSAob3B0aW9ucywgY2FsbGJhY2spID0+IHRoaXMuYXNzZXJ0aW9uKG9wdGlvbnMsIGNhbGxiYWNrKTtcbiAgICAvL2JvdE9wdGlvbnMua29yZUFub255bW91c0ZuID0ga29yZUFub255bW91c0ZuO1xuXG4gICAgdGhpcy5ib3RPcHRpb25zLkpXVFVybCA9IExpYkNvbnN0YW50cy5rb3JlQWlKd3RTZXJ2aWNlO1xuICAgIHRoaXMuYm90T3B0aW9ucy51c2VySWRlbnRpdHkgPSB1c2VySWQ7Ly8gUHJvdmlkZSB1c2VycyBlbWFpbCBpZCBoZXJlXG4gICAgdGhpcy5ib3RPcHRpb25zLmJvdEluZm8gPSB7XG4gICAgICBuYW1lOiBMaWJDb25zdGFudHMua29yZUFpQm90TmFtZSxcbiAgICAgIFwiX2lkXCI6IExpYkNvbnN0YW50cy5rb3JlQWlCb3RJZCxcbiAgICAgIGN1c3RvbURhdGEgOiB0aGlzLm1hcC5nZXQodGhpcy51dGlsLmdldFN0YXRlTG93ZXJjYXNlKCkpID8gdGhpcy5tYXAuZ2V0KHRoaXMudXRpbC5nZXRTdGF0ZUxvd2VyY2FzZSgpKSA6IHRoaXMubWFwLmdldCgnbXMnKSxcbiAgICAgIC8vIGN1c3RvbURhdGE6IHsgY29ubmVjdGluZ01lc3NhZ2U6IFwiV2VsY29tZSB0byBSZUVtcGxveU1FLiBJIGFtIHlvdXIgdmlydHVhbCBhc3Npc3RhbnQgdG8gaGVscCB5b3Ugd2l0aCBNRSByZWxhdGVkIHF1ZXJpZXMuXCIsIGhvdmVyTWVzc2FnZTogXCJBc2sgQmx1ZVwiLCBib3RTdGF0ZTogXCJNRVwiLCBzaG93Q29sbGVjdFVzZXJEZXRhaWxGb3JtOiBmYWxzZSwgc2hvd0Rpc2NsYWltZXJQb3BVcDogdHJ1ZSwgYm90SWNvbkltYWdlTmFtZTogXCJjaGF0Ym90aWNvbi5wbmdcIiwgYm90QXZhdGFySW1hZ2VOYW1lOiBcImNoYXRib3RpY29uLnBuZ1wiLCByb290RmlsZVBhdGg6IFwiVUkvXCIsIHN1cHBvcnRlZExhbmd1YWdlczogW1wiZW5cIiwgXCJlc1wiXSwgaW5pdGlhbExhbmd1YWdlOiBcImVuXCIsIGRpc2NsYWltZXJQb3B1cDogeyBoZWFkZXI6IFwiSW1wb3J0YW50IE1lc3NhZ2VcIiwgbWVzc2FnZTogYFRoZSB2aXJ0dWFsIGFzc2lzdGFudCB3aWxsIG5lZWQgdG8gYXNrIGZvciBzcGVjaWZpYyBpZGVudGlmeWluZyBpbmZvcm1hdGlvbiB0aGF0IGlzIG5lZWRlZCB0byBhbnN3ZXIgeW91IHF1ZXN0aW9uKHMpIHN1Y2ggYXMgZGF0ZSBvZiBiaXJ0aCBvciBTb2NpYWwgU2VjdXJpdHkgbnVtYmVyLiBUaGUgYWdlbmN5IGZvbGxvd3Mgc3RyaWN0IGZlZGVyYWwgc2VjdXJpdHkgZ3VpZGVsaW5lcyB0byBwcm90ZWN0IHlvdXIgc2Vuc2l0aXZlIGluZm9ybWF0aW9uLiBUbyBmdXJ0aGVyIHByb3RlY3QgeW91ciBpbmZvcm1hdGlvbiwgaWYgeW91IGFyZSBvbiBhIHB1YmxpYyBjb21wdXRlciwgcGxlYXNlIGxvZyBvdXQgYW5kIGNsb3NlIHlvdXIgYnJvd3NlciB3aGVuIHlvdSBhcmUgZmluaXNoZWQuYCwgfSwgaGVhZGVyQ29uZmlnOiB7IHNob3dMYW5ndWFnZVRvZ2dsZTogdHJ1ZSwgc2hvd01pbmltaXplQnV0dG9uOiB0cnVlLCBzaG93RXhwYW5kYnV0dG9uOiBmYWxzZSwgc2hvd1JlbG9hZEJ1dHRvbjogdHJ1ZSwgfSB9XG4gICAgfTsgLy8gYm90IG5hbWUgaXMgY2FzZSBzZW5zaXRpdmVcbiAgICAvL3RoaXMuYm90T3B0aW9ucy5jbGllbnRTZWNyZXQgPSBMaWJDb25zdGFudHMua29yZUFpQ2xpZW50U2VjcmV0O1xuICAgIGNvbnNvbGUubG9nKFwiY3VzdG9tZGF0YSBcIix0aGlzLmJvdE9wdGlvbnMuYm90SW5mby5jdXN0b21EYXRhKVxuICAgIC8vdGhpcy5ib3RPcHRpb25zLnJlZW1wbG95VXNCZWFyZXJUb2tlbj0gXCJcIjsgIFxuICAgIC8vIHdpbGwgbmVlZCB0byBwYXNzIHRva2VuIHRvIGtvcmVBaUNoYXRCb3RTZXJ2ZXIgd2hlbiBhdXRoZW50aWNhdGlvbiBuZWVkcyB0byBiZSB2YWxpZGF0ZWQgZm9yIHNlcnZlciBzaWRlIGFwaSBjYWxsXG5cbiAgICB2YXIgY2hhdENvbmZpZyA9IHtcbiAgICAgIGJvdE9wdGlvbnM6IHRoaXMuYm90T3B0aW9ucyxcbiAgICAgIGFsbG93SWZyYW1lOiBmYWxzZSxcbiAgICAgIGlzU2VuZEJ1dHRvbjogdHJ1ZSxcbiAgICAgIGlzVFRTRW5hYmxlZDogZmFsc2UsXG4gICAgICBpc1NwZWVjaEVuYWJsZWQ6IGZhbHNlLFxuICAgICAgYWxsb3dHb29nbGVTcGVlY2g6IGZhbHNlLFxuICAgICAgYWxsb3dMb2NhdGlvbjogZmFsc2UsXG4gICAgICBsb2FkSGlzdG9yeTogZmFsc2UsXG4gICAgICBtZXNzYWdlSGlzdG9yeUxpbWl0OiAxMCxcbiAgICAgIGF1dG9FbmFibGVTcGVlY2hBbmRUVFM6IGZhbHNlLFxuICAgICAgZ3JhcGhMaWI6IFwiZDNcIlxuICAgIH07XG4gICAgaWYgKE9iamVjdC5rZXlzKHRoaXMua29yZUJvdCkubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLmtvcmVCb3QgPSBrb3JlQm90Q2hhdCgpO1xuICAgICAgdGhpcy5rb3JlQm90LnNob3coY2hhdENvbmZpZyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMua29yZUJvdC5yZXN1bWVDaGF0V2luZG93KClcbiAgICB9XG4gICAgLy8qKipDT0RFX0VORFxuXG4gIH1cblxuICBhc3NlcnRpb24ob3B0aW9ucywgY2FsbGJhY2spIHtcbiAgICB2YXIganNvbkRhdGEgPSB7XG4gICAgICBcImJvdElkXCI6IExpYkNvbnN0YW50cy5rb3JlQWlCb3RJZCxcbiAgICAgIFwiaWRlbnRpdHlcIjogb3B0aW9ucy51c2VySWRlbnRpdHkgfHwgdGhpcy5ib3RPcHRpb25zLnVzZXJJZGVudGl0eSxcbiAgICAgIFwiYXVkXCI6IFwiXCIsXG4gICAgICBcImlzQW5vbnltb3VzXCI6ICh0aGlzLmxzLmdldFVzZXIoKSA9PSBudWxsKSxcbiAgICAgIFwiYWNjZXNzVG9rZW5cIjogdGhpcy5ib3RPcHRpb25zLmFjY2Vzc1Rva2VuXG4gICAgfTtcbiAgICAkLmFqYXgoe1xuICAgICAgdXJsOiB0aGlzLmJvdE9wdGlvbnMuSldUVXJsLFxuICAgICAgdHlwZTogJ3Bvc3QnLFxuICAgICAgZGF0YToganNvbkRhdGEsXG4gICAgICBkYXRhVHlwZTogJ2pzb24nLFxuICAgICAgc3VjY2VzczogKGRhdGEpID0+IHtcbiAgICAgICAgb3B0aW9ucy5hc3NlcnRpb24gPSBkYXRhLmp3dDtcbiAgICAgICAgb3B0aW9ucy5oYW5kbGVFcnJvciA9IHRoaXMua29yZUJvdC5zaG93RXJyb3I7XG4gICAgICAgIG9wdGlvbnMuY2hhdEhpc3RvcnkgPSB0aGlzLmtvcmVCb3QuY2hhdEhpc3Rvcnk7XG4gICAgICAgIG9wdGlvbnMuYm90RGV0YWlscyA9IHRoaXMua29yZUJvdC5ib3REZXRhaWxzO1xuICAgICAgICBjYWxsYmFjayhudWxsLCBvcHRpb25zKTtcbiAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgaWYgKHRoaXMua29yZUJvdCAmJiB0aGlzLmtvcmVCb3QuaW5pdFRva2VuKSB7XG4gICAgICAgICAgICB0aGlzLmtvcmVCb3QuaW5pdFRva2VuKG9wdGlvbnMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSwgMjAwMCk7XG4gICAgICB9LFxuICAgICAgZXJyb3I6IChlcnIpID0+IHtcbiAgICAgICAgdGhpcy5rb3JlQm90LnNob3dFcnJvcihlcnIucmVzcG9uc2VUZXh0KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl19
|