@reusa/ngx-reusa-app-lib 0.0.1363 → 0.0.1365

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.
Files changed (30) hide show
  1. package/esm2022/lib/components/add-employer/add-employer.component.mjs +1 -1
  2. package/esm2022/lib/components/mfa/mfa.component.mjs +2 -1
  3. package/esm2022/lib/components/questionnaire/dynamic-form-question.component.mjs +24 -12
  4. package/esm2022/lib/components/user-login/user-login.component.mjs +4 -1
  5. package/esm2022/lib/components/weekly-cert-employer/weekly-cert-employer.component.mjs +253 -171
  6. package/esm2022/lib/models/OtpAuthModel.mjs +1 -1
  7. package/esm2022/lib/models/UserModel.mjs +1 -1
  8. package/esm2022/lib/models/questionnaire/QuestionnaireSaveModel.mjs +1 -1
  9. package/esm2022/lib/pages/common/login/login.component.mjs +3 -1
  10. package/esm2022/lib/services/login/login.service.mjs +4 -1
  11. package/esm2022/lib/validations/AppValidators.mjs +9 -9
  12. package/fesm2022/reusa-ngx-reusa-app-lib.mjs +292 -189
  13. package/fesm2022/reusa-ngx-reusa-app-lib.mjs.map +1 -1
  14. package/lib/components/add-employer/add-employer.component.d.ts.map +1 -1
  15. package/lib/components/mfa/mfa.component.d.ts.map +1 -1
  16. package/lib/components/questionnaire/dynamic-form-question.component.d.ts +1 -0
  17. package/lib/components/questionnaire/dynamic-form-question.component.d.ts.map +1 -1
  18. package/lib/components/user-login/user-login.component.d.ts.map +1 -1
  19. package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts.map +1 -1
  20. package/lib/models/OtpAuthModel.d.ts +1 -0
  21. package/lib/models/OtpAuthModel.d.ts.map +1 -1
  22. package/lib/models/UserModel.d.ts +1 -0
  23. package/lib/models/UserModel.d.ts.map +1 -1
  24. package/lib/models/questionnaire/QuestionnaireSaveModel.d.ts +1 -0
  25. package/lib/models/questionnaire/QuestionnaireSaveModel.d.ts.map +1 -1
  26. package/lib/pages/common/login/login.component.d.ts.map +1 -1
  27. package/lib/services/login/login.service.d.ts.map +1 -1
  28. package/lib/validations/AppValidators.d.ts +8 -8
  29. package/lib/validations/AppValidators.d.ts.map +1 -1
  30. package/package.json +1 -1
@@ -2652,4 +2652,4 @@ export class AddEmployerComponent {
2652
2652
  args: ['employerForm']
2653
2653
  }] }); })();
2654
2654
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(AddEmployerComponent, { className: "AddEmployerComponent", filePath: "lib\\components\\add-employer\\add-employer.component.ts", lineNumber: 27 }); })();
2655
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWVtcGxveWVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9hZGQtZW1wbG95ZXIvYWRkLWVtcGxveWVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9hZGQtZW1wbG95ZXIvYWRkLWVtcGxveWVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBMEQsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHcEcsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDdkcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBTXBFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQU9oRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUNObEMsMkJBQStCO0lBQzdCLFlBQThEOztJQUFBLGlCQUFNOzs7SUFBcEUsZUFBOEQ7SUFBOUQsZ0hBQThEOzs7SUFJaEUsMkJBQW1CO0lBQ2pCLHFCQUFJO0lBQ0osWUFDRjs7SUFBQSxpQkFBTTs7SUFESixlQUNGO0lBREUsb0dBQ0Y7OztJQU1RLDBCQUFnQyxRQUFBO0lBQzNCLFlBQThCO0lBQUEsaUJBQUksRUFBQTs7O0lBQWxDLGVBQThCO0lBQTlCLGtEQUE4Qjs7O0lBSW5DLDBCQUFnQztJQUM5QixZQUNGOztJQUFBLGlCQUFLOzs7SUFESCxlQUNGO0lB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U0FBUzttQkFBQyxjQUFjOztrRkE5RmQsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVudHlwZWRGb3JtQXJyYXksIFVudHlwZWRGb3JtQnVpbGRlciwgVW50eXBlZEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRmlsdGVyU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IENsYWltQXBwRW1wbG95ZXJEZXRhaWxzTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9DbGFpbUFwcEVtcGxveWVyRGV0YWlsc01vZGVsJztcclxuaW1wb3J0IHsgQ29tYm9PcHRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9Db21ib01vZGVsJztcclxuaW1wb3J0IHsgRW1wbG95ZXJEZXRhaWxTZWFyY2hSZXN1bHQgfSBmcm9tICcuLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9FbXBsb3llckRldGFpbFNlYXJjaFJlc3VsdCc7XHJcbmltcG9ydCB7IFF0clllYXJFbXBsb3llcldhZ2VNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL1F0clllYXJFbXBsb3llcldhZ2VNb2RlbCc7XHJcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3F1ZXN0aW9ubmFpcmUvdmFsaWRhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVXRpbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91dGlsL3V0aWwuc2VydmljZSc7XHJcbmltcG9ydCB7IEFwcFZhbGlkYXRvcnMgfSBmcm9tICcuLi8uLi92YWxpZGF0aW9ucy9BcHBWYWxpZGF0b3JzJztcclxuaW1wb3J0IHsgQWRkcmVzc0NvbXBvbmVudE1vZGVsLCBDaG9pY2VzTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvQWRkcmVzc0NvbXBvbmVudE1vZGVsJztcclxuaW1wb3J0IHsgQ2xhaW1TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2xhaW1zL2NsYWltcy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQWRkcmVzc0NvbXBvbmVudCB9IGZyb20gJy4uL2FkZHJlc3MvYWRkcmVzcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMb2dpblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sb2dpbi9sb2dpbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBLZXlWYWx1ZU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvS2V5VmFsdWVNb2RlbCc7XHJcbmltcG9ydCB7IEJhc2VQYWdlIH0gZnJvbSAnLi4vLi4vcGFnZXMvQmFzZVBhZ2UnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1hZGQtZW1wbG95ZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hZGQtZW1wbG95ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2FkZC1lbXBsb3llci5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWRkRW1wbG95ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBAVmlld0NoaWxkKCdhZGRyZXNzMScpIGFkZHJlc3MxOiBBZGRyZXNzQ29tcG9uZW50OyBcclxuICBAVmlld0NoaWxkKCdhZGRyZXNzMicpIGFkZHJlc3MyOiBBZGRyZXNzQ29tcG9uZW50OyBcclxuXHJcbiAgcHVibGljIGVtcGxveWVyVHlwZU9wdGlvbnM6IGFueSA9IFtdO1xyXG4gIHB1YmxpYyBjb3VudHJ5T3B0aW9uczogYW55ID0gW107XHJcbiAgcHVibGljIGNvdW50cnlGZWRPcHRpb25zOiBhbnkgPSBbXTtcclxuICBwdWJsaWMgcGF5UmF0ZU9wdGlvbnM6IGFueSA9IFtdO1xyXG4gIHB1YmxpYyBzdGF0ZU9wdGlvbnM6IGFueSA9IFtdO1xyXG4gIHB1YmxpYyBmZWRTdGF0ZU9wdGlvbnM6IGFueSA9IFtdO1xyXG4gIHB1YmxpYyBqb2JUaWxlT3JQb3NpdGlvbk9wdGlvbnM6IGFueSA9W107XHJcbiAgcHVibGljIGZlZEpvYlRpbGVPcHRpb25zOiBhbnkgPVtdO1xyXG4gIHB1YmxpYyByYWRpb09wdGlvbnM6IGFueSA9W107XHJcbiAgcHVibGljIHdvcmtPcHRpb25zOiBhbnkgPVtdO1xyXG4gIHB1YmxpYyB5ZXNOb05hT3B0aW9uczogYW55ID1bXTtcclxuICBwdWJsaWMgcGF5TWV0aG9kT3B0aW9uczogYW55ID1bXTtcclxuICBwdWJsaWMgd2FnZVByb29mT3B0aW9uczogYW55ID1bXTtcclxuICBwdWJsaWMgZGlzY2hhcmdlUmVhc29uT3B0aW9uczogQ2hvaWNlc01vZGVsW10gPSBbXTtcclxuICBwdWJsaWMgdm9sUXVpdFJlYXNvbk9wdGlvbnM6IENob2ljZXNNb2RlbFtdID0gW107XHJcbiAgcHVibGljIHN0YXRlc09wdGlvbnM6IGFueSA9W107XHJcbiAgcHVibGljIG5vbktTU3RhdGVzT3B0aW9ucyA6IGFueSA9W107XHJcbiAgcHVibGljIHBheVBlcmlvZDogYW55ID1bXTtcclxuICBwdWJsaWMgZW1wbG95bWVudFN0YXR1c09wdGlvbnM6IENob2ljZXNNb2RlbFtdID0gW107XHJcbiAgcHVibGljIHdvcmtDb3VudHJ5T3B0aW9uczogYW55ID1bXTtcclxuICBwdWJsaWMgbWlsaXRhcnlTZXJ2aWNlT3B0aW9uczogYW55ID1bXTtcclxuICBwdWJsaWMgcmVtdW5lcmF0aW9uVHlwZU9wdGlvbnM6IGFueSA9W107XHJcbiAgcHVibGljIGFkZEVtcGxveWVyRm9ybTogVW50eXBlZEZvcm1Hcm91cDtcclxuICBwdWJsaWMgZGlzcGxheTogYm9vbGVhbjtcclxuICBwdWJsaWMgYmFzZVBlcmlvZFN0YXJ0RGF0ZTogRGF0ZTtcclxuICBwdWJsaWMgYmFzZVBlcmlvZEVuZERhdGU6IERhdGU7XHJcbiAgcHVibGljIGJwU3RhcnREYXRlVG9EaXNwbGF5OiBEYXRlO1xyXG4gIHB1YmxpYyBtaW5EYXRlOiBEYXRlO1xyXG4gIHB1YmxpYyBtaW5TdGFydERhdGU6IERhdGU7XHJcbiAgcHVibGljIHF1YXJ0ZXJSYW5nZU9uZT86IHN0cmluZztcclxuICBwdWJsaWMgcXVhcnRlclJhbmdlVHdvPzogc3RyaW5nO1xyXG4gIHB1YmxpYyBxdWFydGVyUmFuZ2VUaHJlZT86IHN0cmluZztcclxuICBwdWJsaWMgcXVhcnRlclJhbmdlRm91cj86IHN0cmluZztcclxuICBwdWJsaWMgY3VycmVudFF1YXJ0ZXJSYW5nZT86IHN0cmluZztcclxuICBwdWJsaWMgcXVhcnRlclJhbmdlRml2ZT86IHN0cmluZztcclxuICBwdWJsaWMgZGF0ZVRpbWUgPSBuZXcgRGF0ZSgpO1xyXG4gIHB1YmxpYyBncm91cGVkUmVhc29uczogYW55ID1bXTtcclxuICBwdWJsaWMgbWluV29ya1N0YXJ0RGF0ZSA6IERhdGU7XHJcbiAgcHVibGljIHByZXZXb3JrZWRTdGF0ZU9wdGlvbnM6IGFueSA9W107XHJcblxyXG4gIHB1YmxpYyBkaXNjaGFyZ2VSZWFzb25PcHRpb25zQWxsOiBDaG9pY2VzTW9kZWxbXSA9IFtdO1xyXG4gIHB1YmxpYyB2b2xRdWl0UmVhc29uT3B0aW9uc0FsbDogQ2hvaWNlc01vZGVsW10gPSBbXTtcclxuICBwdWJsaWMgZW1wbG95bWVudFN0YXR1c09wdGlvbnNBbGw6IENob2ljZXNNb2RlbFtdID0gW107XHJcblxyXG4gIHB1YmxpYyBzZjhJbmZvPVwiU0YtOFwiO1xyXG4gIHB1YmxpYyBkZDIxNEluZm89XCJERCAyMTRcIjtcclxuXHJcbiAgcHVibGljIHBhcmFPbmUgPVwiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5kZDIxNC55ZXMucGFyYS5vbmVcIjtcclxuICBwdWJsaWMgcGFyYVR3bz1cImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwuZGQyMTQueWVzLnBhcmEudHdvXCI7XHJcbiAgcHVibGljIHBhcmFUaHJlZT1cImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwuZGQyMTQueWVzLnBhcmEudGhyZWVcIjtcclxuICBwdWJsaWMgcGFyYUZvdXI9XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQubWlsLmRkMjE0Lnllcy5wYXJhLmZvdXJcIjtcclxuICBwdWJsaWMgcGFyYUZpdmU9XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQubWlsLmRkMjE0Lnllcy5wYXJhLmZpdmVcIjtcclxuICBwdWJsaWMgcGFyYVNpeD1cImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwuZGQyMTQueWVzLnBhcmEuc2l4XCI7XHJcblxyXG4gIHB1YmxpYyBub1BhcmFPbmUgPVwiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5kZDIxNC5uby5wYXJhLm9uZVwiO1xyXG4gIHB1YmxpYyBub1BhcmFUd289XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQubWlsLmRkMjE0Lm5vLnBhcmEudHdvXCI7XHJcbiAgcHVibGljIG5vUGFyYVRocmVlPVwiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5kZDIxNC5uby5wYXJhLnRocmVlXCI7XHJcbiAgcHVibGljIG5vUGFyYUZvdXI9XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQubWlsLmRkMjE0Lm5vLnBhcmEuZm91clwiO1xyXG4gIHB1YmxpYyBub1BhcmFGaXZlPVwiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5kZDIxNC5uby5wYXJhLmZpdmVcIjtcclxuXHJcbiAgcHVibGljIGVtcGxveWVyUHJvdmlkZWRXYWdlczogUXRyWWVhckVtcGxveWVyV2FnZU1vZGVsW107XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIG1vZGVsQ2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBzdWNjZXNzOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcmVjb3JkSW5kZXhUb0VkaXQ6IG51bWJlcjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaXNCYXNlUGVyaW9kRW1wbG95ZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBub0VkaXRNb2RlOiBib29sZWFuO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBpc05ld0NsYWltOiBib29sZWFuO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBkb2I6IERhdGU7XHJcblxyXG4gIHB1YmxpYyBoaWRlRmljQ29kZTogdHJ1ZTtcclxuICBwdWJsaWMgaXNNYW51YWxFbnRlckVtcDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBPdXRwdXQoKSBcclxuICBiYXNlUGVyaW9kSW5kZXg6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gICBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2VtcGxveWVyRm9ybScpIGVtcGxveWVyRm9ybUVsZW1lbnQ6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XHJcblxyXG4gIHB1YmxpYyBjdXJyZW50U3RhdGUgOiBzdHJpbmc7XHJcbiAgcHVibGljIGN1c3RvbWVyTmFtZTogc3RyaW5nO1xyXG4gIHB1YmxpYyBhbGlhc05hbWU6IHN0cmluZztcclxuICBwdWJsaWMgbWFpbGluZ0FkZHJlc3NEaXNwbGF5OiBzdHJpbmc7XHJcbiAgcHVibGljIHNjaG9vbEZsYWc6c3RyaW5nO1xyXG4gIHB1YmxpYyBpc09zYUVtcGxveWVyOnN0cmluZyA9IFwiMFwiO1xyXG4gIHB1YmxpYyBpc0NTUjpib29sZWFuO1xyXG4gIHB1YmxpYyBzaG93V29ya1N0YXRlOiBib29sZWFuID0gdHJ1ZTtcclxuICBwdWJsaWMgbm9uS3NTdGF0ZTp7dGV4dDpzdHJpbmcsIHZhbHVlOnN0cmluZ31bXTtcclxuICBwdWJsaWMgcXRyV2FnZUxpc3Q6IFF0clllYXJFbXBsb3llcldhZ2VNb2RlbFtdO1xyXG4gIHB1YmxpYyBpc0Zvcm1TdWJtaXR0ZWQgPSB7c3VibWl0dGVkOiBmYWxzZX1cclxuICBwcml2YXRlIG9uQ2hhbmdlOiBGdW5jdGlvbiA9ICh2YWx1ZTogU3RyaW5nKSA9PiB7XHJcblxyXG4gIH07XHJcblxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyLCBcclxuICAgIHB1YmxpYyB2YWxpZGF0aW9uU2VydmljZTogVmFsaWRhdGlvblNlcnZpY2UsIFxyXG4gICAgcHVibGljIHV0aWw6IFV0aWxTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBmaWx0ZXJTZXJ2aWNlOiBGaWx0ZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBsb2dnZXI6IExvZ2dlclNlcnZpY2UsIFxyXG4gICAgcHVibGljIHNhbml0aXplcjogRG9tU2FuaXRpemVyLCBcclxuICAgIHB1YmxpYyBjbGFpbXNTZXJ2aWNlIDogQ2xhaW1TZXJ2aWNlLFxyXG4gICAgcHVibGljIGxzOiBMb2dpblNlcnZpY2UsXHJcbiAgICBwdWJsaWMgZWw6IEVsZW1lbnRSZWYsIFxyXG4gICAgcHJpdmF0ZSBhcjogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBwdWJsaWMgdHJhbnNsYXRlU2VydmljZSA6IFRyYW5zbGF0ZVNlcnZpY2VcclxuICApIHsgfVxyXG4gIG5nT25Jbml0KCkge1xyXG5cclxuICAgIHRoaXMuc2V0V29ya1N0YXJ0RGF0ZSgpO1xyXG4gICAgXHJcbiAgICB0aGlzLmxvYWRNYXN0ZXJEYXRhKCk7XHJcblxyXG4gICAgaWYobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJsYW5ndWFnZVwiKSA9PT0gXCJlc1wiKXtcclxuICAgICAgdGhpcy5lbXBsb3llclR5cGVPcHRpb25zID0gQ29tYm9PcHRpb24uRU1QTE9ZRVJfVFlQRV9FUztcclxuICAgICAgdGhpcy5jb3VudHJ5T3B0aW9ucyA9IENvbWJvT3B0aW9uLkNPVU5UUllfRVM7XHJcbiAgICAgIHRoaXMuY291bnRyeUZlZE9wdGlvbnMgPSBDb21ib09wdGlvbi5DT1VOVFJZX0VTO1xyXG4gICAgICB0aGlzLnBheVJhdGVPcHRpb25zID0gQ29tYm9PcHRpb24uUEFZX1BFUklPRF9FUztcclxuICAgICAgdGhpcy5yYWRpb09wdGlvbnMgPSBDb21ib09wdGlvbi5ZRVNfTk9fRVM7XHJcbiAgICAgIHRoaXMud29ya09wdGlvbnMgPSBDb21ib09wdGlvbi5XT1JLX0ZPUl9FTVBMX0VTO1xyXG4gICAgICB0aGlzLnllc05vTmFPcHRpb25zID0gQ29tYm9PcHRpb24uWUVTX05PX05BX0VTO1xyXG4gICAgICB0aGlzLnBheU1ldGhvZE9wdGlvbnMgPSBDb21ib09wdGlvbi5QQVlNRU5UX01FVEhPRF9FUztcclxuICAgICAgdGhpcy53YWdlUHJvb2ZPcHRpb25zID0gQ29tYm9PcHRpb24uV0FHRV9QUk9PRl9FUztcclxuICAgICAgdGhpcy5zdGF0ZXNPcHRpb25zID0gQ29tYm9PcHRpb24uVVNfU1RBVEVTX0VTO1xyXG4gICAgICB0aGlzLm5vbktTU3RhdGVzT3B0aW9ucyA9IENvbWJvT3B0aW9uLk5PTl9LU19TVEFURVNfRVM7XHJcbiAgICAgIHRoaXMucGF5UGVyaW9kID0gQ29tYm9PcHRpb24uUEFZX1BFUklPRF9FUztcclxuICAgICAgdGhpcy53b3JrQ291bnRyeU9wdGlvbnMgPSBDb21ib09wdGlvbi5XT1JLX0NPVU5UUllfRVM7XHJcbiAgICAgIHRoaXMubWlsaXRhcnlTZXJ2aWNlT3B0aW9ucyA9IENvbWJvT3B0aW9uLk1JTElUQVJZX1NFUlZJQ0VfRVM7XHJcbiAgICAgIHRoaXMucmVtdW5lcmF0aW9uVHlwZU9wdGlvbnMgPSBDb21ib09wdGlvbi5SRU1VTkVSQVRJT05fVFlQRVNfRVM7XHJcbiAgICAgIHRoaXMuZ3JvdXBlZFJlYXNvbnM9IENvbWJvT3B0aW9uLkdST1VQX1JFQVNPTlNfRVM7XHJcbiAgICAgIHRoaXMucHJldldvcmtlZFN0YXRlT3B0aW9ucz0gQ29tYm9PcHRpb24uV09SS0VEX1NUQVRFX0VTO1xyXG4gICAgICBjb25zdCBjdXJyZW50U3RhdGUgPSBDb21ib09wdGlvbi5VU19TVEFURVNfRVMuZmluZChzdGF0ZSA9PiBzdGF0ZS52YWx1ZSA9PSB0aGlzLnV0aWwuZ2V0U3RhdGUoKSlcclxuICAgICAgdGhpcy5zdGF0ZXNPcHRpb25zID0gW2N1cnJlbnRTdGF0ZSwgLi4uQ29tYm9PcHRpb24uVVNfU1RBVEVTX0VTLmZpbHRlcihzdGF0ZSA9PiBzdGF0ZS52YWx1ZSAhPSB0aGlzLnV0aWwuZ2V0U3RhdGUoKSldO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5lbXBsb3llclR5cGVPcHRpb25zID0gQ29tYm9PcHRpb24uRU1QTE9ZRVJfVFlQRTtcclxuICAgICAgdGhpcy5jb3VudHJ5T3B0aW9ucyA9IENvbWJvT3B0aW9uLkNPVU5UUlk7XHJcbiAgICAgIHRoaXMuY291bnRyeUZlZE9wdGlvbnMgPSBDb21ib09wdGlvbi5DT1VOVFJZO1xyXG4gICAgICB0aGlzLnBheVJhdGVPcHRpb25zID0gQ29tYm9PcHRpb24uUEFZX1BFUklPRDtcclxuICAgICAgdGhpcy5yYWRpb09wdGlvbnMgPSBDb21ib09wdGlvbi5ZRVNfTk87XHJcbiAgICAgIHRoaXMud29ya09wdGlvbnMgPSBDb21ib09wdGlvbi5XT1JLX0ZPUl9FTVBMO1xyXG4gICAgICB0aGlzLnllc05vTmFPcHRpb25zID0gQ29tYm9PcHRpb24uWUVTX05PX05BO1xyXG4gICAgICB0aGlzLnBheU1ldGhvZE9wdGlvbnMgPSBDb21ib09wdGlvbi5QQVlNRU5UX01FVEhPRDtcclxuICAgICAgdGhpcy53YWdlUHJvb2ZPcHRpb25zID0gQ29tYm9PcHRpb24uV0FHRV9QUk9PRjtcclxuICAgICAgdGhpcy5zdGF0ZXNPcHRpb25zID0gQ29tYm9PcHRpb24uVVNfU1RBVEVTO1xyXG4gICAgICB0aGlzLm5vbktTU3RhdGVzT3B0aW9ucyA9IENvbWJvT3B0aW9uLk5PTl9LU19TVEFURVM7XHJcbiAgICAgIHRoaXMucGF5UGVyaW9kID0gQ29tYm9PcHRpb24uUEFZX1BFUklPRDtcclxuICAgICAgdGhpcy53b3JrQ291bnRyeU9wdGlvbnMgPSBDb21ib09wdGlvbi5XT1JLX0NPVU5UUlk7XHJcbiAgICAgIHRoaXMubWlsaXRhcnlTZXJ2aWNlT3B0aW9ucyA9IENvbWJvT3B0aW9uLk1JTElUQVJZX1NFUlZJQ0U7XHJcbiAgICAgIHRoaXMucmVtdW5lcmF0aW9uVHlwZU9wdGlvbnMgPSBDb21ib09wdGlvbi5SRU1VTkVSQVRJT05fVFlQRVM7XHJcbiAgICAgIHRoaXMuZ3JvdXBlZFJlYXNvbnM9IENvbWJvT3B0aW9uLkdST1VQX1JFQVNPTlM7XHJcbiAgICAgIHRoaXMucHJldldvcmtlZFN0YXRlT3B0aW9ucz0gQ29tYm9PcHRpb24uV09SS0VEX1NUQVRFO1xyXG4gICAgICBjb25zdCBjdXJyZW50U3RhdGUgPSBDb21ib09wdGlvbi5VU19TVEFURVMuZmluZChzdGF0ZSA9PiBzdGF0ZS52YWx1ZSA9PSB0aGlzLnV0aWwuZ2V0U3RhdGUoKSlcclxuICAgICAgdGhpcy5zdGF0ZXNPcHRpb25zID0gW2N1cnJlbnRTdGF0ZSwgLi4uQ29tYm9PcHRpb24uVVNfU1RBVEVTLmZpbHRlcihzdGF0ZSA9PiBzdGF0ZS52YWx1ZSAhPSB0aGlzLnV0aWwuZ2V0U3RhdGUoKSldO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdpc0Jhc2VQZXJpb2RFbXBsb3llciBpcyA9ICcsIHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIsIHRoaXMuc3RhdGVzT3B0aW9ucyk7XHJcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnaXNOZXdDbGFpbSA9ICcsIHRoaXMuaXNOZXdDbGFpbSk7XHJcbiAgICB0aGlzLmN1cnJlbnRTdGF0ZSA9IHRoaXMudXRpbC5nZXRTdGF0ZSgpO1xyXG4gICAgdGhpcy5pc0NTUiA9IHRoaXMubHMuaXNDc3IoKTtcclxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKFwiQ3VycmVudCBTdGF0ZSA9IFwiLCB0aGlzLmN1cnJlbnRTdGF0ZSk7XHJcbiAgICBsZXQgZXNtOiBDbGFpbUFwcEVtcGxveWVyRGV0YWlsc01vZGVsO1xyXG4gICAgdGhpcy5sb2dnZXIuZGVidWcoXCJjYWxsIHNlcnZpY2UgPVwiLCB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmJwRW1wTHN0RnJtU2VydmljZS5nZXRWYWx1ZSgpKTtcclxuICAgIGlmICh0aGlzLnJlY29yZEluZGV4VG9FZGl0ID09PSB1bmRlZmluZWQgfHwgdGhpcy5yZWNvcmRJbmRleFRvRWRpdCA9PT0gbnVsbCkge1xyXG4gICAgICBlc20gPSBuZXcgQ2xhaW1BcHBFbXBsb3llckRldGFpbHNNb2RlbCgpO1xyXG4gICAgICB0aGlzLnF0cldhZ2VMaXN0ID0gdGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UuZ2V0VmFsdWUoKT8ucXRyWWVhcldhZ2VMaXN0R2VuZXJpYzsgICAgICBcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdyZWNvcmRJbmRleFRvRWRpdCcsIHRoaXMucmVjb3JkSW5kZXhUb0VkaXQpXHJcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCd0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmJwRW1wTHN0RnJtU2VydmljZS5nZXRWYWx1ZSgpJywgdGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UuZ2V0VmFsdWUoKSk7XHJcbiAgICAgIHRoaXMubm9FZGl0TW9kZSA9IHRydWU7XHJcbiAgICAgIGVzbSA9IHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlLmdldFZhbHVlKCkuYnBFbXBMaXN0W3RoaXMucmVjb3JkSW5kZXhUb0VkaXRdO1xyXG4gICAgICB0aGlzLnF0cldhZ2VMaXN0ID0gZXNtLndhZ2VBbW91bnRBcnJheSBhcyBRdHJZZWFyRW1wbG95ZXJXYWdlTW9kZWxbXTtcclxuICAgICAgdGhpcy5jdXN0b21lck5hbWUgPSBlc20uZW1wbG95ZXJEYXRhLmRpc3BsYXlOYW1lO1xyXG4gICAgICBpZihlc20uZW1wbG95ZXJEYXRhLnRyYWRlTmFtZSl7XHJcbiAgICAgICAgdGhpcy5hbGlhc05hbWUgPSBlc20uZW1wbG95ZXJEYXRhLnRyYWRlTmFtZTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmFsaWFzTmFtZSA9IG51bGw7XHJcbiAgICAgIH1cclxuICAgICAgaWYoZXNtLm9zYUJwRW1wbG95ZXJGbGFnKXtcclxuICAgICAgICB0aGlzLmlzT3NhRW1wbG95ZXIgPSBlc20ub3NhQnBFbXBsb3llckZsYWc7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXCJpc09zYUVtcGxveWVyID09PT09PT0gXCIgLCB0aGlzLmlzT3NhRW1wbG95ZXIpO1xyXG4gICAgICB0aGlzLm1haWxpbmdBZGRyZXNzRGlzcGxheSA9IGVzbS5lbXBsb3llckRhdGEubWFpbGluZ0FkZHJlc3NEaXNwbGF5O1xyXG4gICAgICB0aGlzLnNjaG9vbEZsYWcgPSBlc20uZW1wbG95ZXJEYXRhLnNjaG9vbEZsYWc7XHJcbiAgICAgIGlmKHRoaXMuaXNDU1IgJiYgZXNtLmVtcGxveWVyUHJvdmlkZWRXYWdlcyAmJiBlc20uZW1wbG95ZXJQcm92aWRlZFdhZ2VzLndhZ2VzTGlzdFF0cldpc2Upe1xyXG4gICAgICAgIHRoaXMuZW1wbG95ZXJQcm92aWRlZFdhZ2VzID0gZXNtLmVtcGxveWVyUHJvdmlkZWRXYWdlcy53YWdlc0xpc3RRdHJXaXNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5iYXNlUGVyaW9kU3RhcnREYXRlID0gdGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UuZ2V0VmFsdWUoKT8uYmFzZVBlcmlvZFN0YXJ0RGF0ZTtcclxuICAgIHRoaXMuYmFzZVBlcmlvZEVuZERhdGUgPSB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmJwRW1wTHN0RnJtU2VydmljZS5nZXRWYWx1ZSgpPy5iYXNlUGVyaW9kRW5kRGF0ZTtcclxuICAgIHRoaXMuYnBTdGFydERhdGVUb0Rpc3BsYXkgPSBuZXcgRGF0ZSh0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmJwRW1wTHN0RnJtU2VydmljZS5nZXRWYWx1ZSgpPy5icFN0YXJ0RGF0ZVRvRGlzcGxheSk7XHJcblxyXG4gICAgY29uc29sZS5sb2coXCJ0aGlzLm1pbldvcmtTdGFydERhdGVcIiwgdGhpcy5taW5Xb3JrU3RhcnREYXRlKTtcclxuICAgIGlmKHRoaXMubWluV29ya1N0YXJ0RGF0ZSl7XHJcbiAgICAgIHRoaXMuYnBTdGFydERhdGVUb0Rpc3BsYXkgPSB0aGlzLm1pbldvcmtTdGFydERhdGU7XHJcbiAgICB9IGVsc2V7XHJcbiAgICAgIHRoaXMubWluV29ya1N0YXJ0RGF0ZSA9IHRoaXMuZG9iO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY2xhaW1zU2VydmljZS5sb2FkTWFzdGVyRGF0YSgpO1xyXG4gICAgXHJcblxyXG4gICAgdGhpcy5hZGRFbXBsb3llckZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcclxuICAgICAgJ2VtcGxveWVyVHlwZSc6IFtlc20uZW1wbG95ZXJUeXBlID8/IG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgICAnZW1wbG95ZXJOYW1lJzogW2VzbS5lbXBsb3llck5hbWUgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ1JFRycgJiYgdGhpcy5wcmV2V29ya2VkU3RhdGUudmFsdWUgPT09ICdLUycpXSxcclxuICAgICAgJ290aFN0YXRlRW1wTmFtZSc6IFtlc20ub3RoU3RhdGVFbXBOYW1lID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdSRUcnICYmIHRoaXMucHJldldvcmtlZFN0YXRlLnZhbHVlID09PSAnT1QnKV0sXHJcbiAgICAgICdmZWRFbXBsb3llck5hbWUnOiBbZXNtLmZlZEVtcGxveWVyTmFtZSA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnRkVEJyldLFxyXG4gICAgICAnZW1wbG95ZXJUZWxlcGhvbmVOdW1iZXInOiBbZXNtLmVtcGxveWVyVGVsZXBob25lTnVtYmVyID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdSRUcnKV0sXHJcbiAgICAgICdlbmREYXRlJzogW2VzbS5lbmREYXRlID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdSRUcnKV0sXHJcbiAgICAgICdzdGFydERhdGUnOiBbZXNtLnN0YXJ0RGF0ZSA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnUkVHJyldLFxyXG4gICAgICAnam9iVGlsZU9yUG9zaXRpb24nOiBbZXNtLmpvYlRpbGVPclBvc2l0aW9uID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdSRUcnKV0sXHJcbiAgICAgICdyZWFzb25TZXBhcmF0aW9uJzogW2VzbS5yZWFzb25TZXBhcmF0aW9uID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdSRUcnIHx8IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ0ZFRCcpXSxcclxuICAgICAgJ2Rpc2NoYXJnZURldGFpbCc6IFtlc20uZGlzY2hhcmdlRGV0YWlsID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUhPSdNSUwnICYmIHRoaXMucmVhc29uU2VwYXJhdGlvbj8udmFsdWU/LnZhbHVlID09PSAnRENGSScpXSxcclxuICAgICAgJ3ZvbFF1aXREZXRhaWxzJzogW2VzbS52b2xRdWl0RGV0YWlscyA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlIT0nTUlMJyAmJiAgdGhpcy5yZWFzb25TZXBhcmF0aW9uPy52YWx1ZT8udmFsdWUgPT09ICdWT0xRJyldLFxyXG4gICAgICAncGF5UmF0ZSc6IFtlc20ucGF5UmF0ZSA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlPT09J1JFRycgJiYgKCh0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMud29ya0ZsYWc/LnZhbHVlPT09J1knKSB8fCAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikpXSxcclxuICAgICAgJ3BheVJhdGVGcmVxdWVuY3knOiBbZXNtLnBheVJhdGVGcmVxdWVuY3kgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZT09PSdSRUcnICYmICgodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLndvcmtGbGFnPy52YWx1ZT09PSdZJykgfHwgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpKV0sXHJcbiAgICAgICdwZW5zaW9uRmxhZyc6IFtlc20ucGVuc2lvbkZsYWcgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZT09PSdSRUcnICYmIHRoaXMud29ya0ZsYWc/LnZhbHVlPT09J1knKV0sXHJcbiAgICAgICdwZW5zaW9uUmVjdkRhdGUnOiBbZXNtLnBlbnNpb25SZWN2RGF0ZSA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnUkVHJyAmJiB0aGlzLnBlbnNpb25GbGFnLnZhbHVlID09PSAnWScgJiYgdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcildLFxyXG4gICAgICAncmVnUGVuc2lvbkZsYWcnOiBbZXNtLnJlZ1BlbnNpb25GbGFnID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWU9PT0nUkVHJyldLFxyXG4gICAgICAncmVnUGVuc2lvblJlY3ZEYXRlJzpbZXNtLnJlZ1BlbnNpb25SZWN2RGF0ZSA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnUkVHJyAmJiB0aGlzLnJlZ1BlbnNpb25GbGFnLnZhbHVlID09PSAnWScpXSwgICAgICBcclxuICAgICAgLy8gJ2lzQ2xtdFBhaWRXaGlsZUxvdyc6IFtlc20uaXNDbG10UGFpZFdoaWxlTG93ICE9IG51bGwgPyBlc20uaXNDbG10UGFpZFdoaWxlTG93IDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICgodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLndvcmtGbGFnLnZhbHVlID09PSAnWScpIHx8ICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSAmJiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdSRUcnKV0sXHJcbiAgICAgIC8vICdoYXNTaG9ydFRlcm1EaXNhYmlsaXR5JzogW2VzbS5oYXNTaG9ydFRlcm1EaXNhYmlsaXR5ICE9IG51bGwgPyBlc20uaGFzU2hvcnRUZXJtRGlzYWJpbGl0eSA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdSRUcnICYmIHRoaXMuY3VycmVudFN0YXRlID09PSAnTUUnKV0sXHJcbiAgICAgIC8vICdoYXNSZWN2UmVtdW5lcmF0aW9uJzogW2VzbS5oYXNSZWN2UmVtdW5lcmF0aW9uICE9IG51bGwgPyBlc20uaGFzUmVjdlJlbXVuZXJhdGlvbiA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAoKHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy53b3JrRmxhZy52YWx1ZSA9PT0gJ1knKSB8fCAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikgJiYgdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnUkVHJyAmJiB0aGlzLmN1cnJlbnRTdGF0ZSA9PT0gJ01FJyldLFxyXG4gICAgICAncmVtdW5lcmF0aW9uVHlwZXMnOiBbZXNtLnJlbXVuZXJhdGlvblR5cGVzID8/IG51bGxdLFxyXG4gICAgICAvLyAndmFjYXRpb24nOiBbZXNtLnZhY2F0aW9uICE9IG51bGwgPyBlc20udmFjYXRpb24gOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKCh0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMud29ya0ZsYWcudmFsdWUgPT09ICdZJyAmJiB0aGlzLnNjaG9vbEZsYWcgPT09JzEnKSB8fCAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikgJiYgdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnUkVHJyAmJiB0aGlzLmN1cnJlbnRTdGF0ZSA9PT0gJ01FJyldLFxyXG4gICAgICBcclxuICAgICAgJ2dyb3NzV2FnZXMnOiBbZXNtLmdyb3NzV2FnZXMgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZT09PSdSRUcnICYmICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmICh0aGlzLm9zYUJwRW1wbG95ZXJGbGFnPy52YWx1ZSA9PT0nMScgfHwgdGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcz8udmFsdWUpKV0sXHJcbiAgICAgIC8vJ3BhaWRCeSc6IFtlc20ucGFpZEJ5ICE9IG51bGwgPyBlc20ucGFpZEJ5IDogbnVsbCxBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuaXNDbG10UGFpZFdoaWxlTG93LnZhbHVlPT09J1knKSldLFxyXG4gICAgICAncGF5bWVudFR5cGUnOiBbZXNtLnBheW1lbnRUeXBlID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzPy52YWx1ZSAmJiAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWU9PT0nUkVHJyldLFxyXG4gICAgICAnZG9jc1JlY2VpdmVkJzogW2VzbS5kb2NzUmVjZWl2ZWQgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXM/LnZhbHVlICYmIHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ1JFRycpXSxcclxuICAgICAgJ290aGVyU1NORmxhZyc6IFtlc20ub3RoZXJTU05GbGFnID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzPy52YWx1ZSAmJiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdSRUcnKV0sXHJcbiAgICAgICdvdGhlclNTTic6IFtlc20ub3RoZXJTU04gPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ1JFRycgJiYgdGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZSAmJiB0aGlzLm90aGVyU1NORmxhZy52YWx1ZSA9PT0gJ1knKV0sXHJcbiAgICAgICdvdGhlck5hbWVGbGFnJzogW2VzbS5vdGhlck5hbWVGbGFnID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzPy52YWx1ZSAmJiAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWU9PT0nUkVHJyldLFxyXG4gICAgICAnb3RoZXJOYW1lJzogW2VzbS5vdGhlck5hbWUgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMub3RoZXJOYW1lRmxhZy52YWx1ZSA9PT0gJ1knKV0sXHJcbiAgICAgIC8vJ2RvaW5nQnVzaW5lc3NBcyc6IFtlc20uZG9pbmdCdXNpbmVzc0FzICE9IG51bGwgPyBlc20uZG9pbmdCdXNpbmVzc0FzIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnZhbHVlICYmICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICAmJiB0aGlzLndvcmtTdGF0ZS52YWx1ZSAmJiB0aGlzLndvcmtTdGF0ZS52YWx1ZS52YWx1ZT09PSdLUycpKV0sXHJcbiAgICAgICdwcmV2V29ya2VkU3RhdGUnOiBbZXNtLnByZXZXb3JrZWRTdGF0ZSA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnUkVHJyAmJiAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcildLFxyXG4gICAgICAnd29ya1N0YXRlJzogW2VzbS53b3JrU3RhdGUgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ1JFRycgJiYgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpXSxcclxuICAgICAgJ3dvcmtDaXR5JzogW2VzbS53b3JrQ2l0eSA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnUkVHJyAmJiAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcildLFxyXG4gICAgICAvLydudW1iZXJFbXBsb3llZCc6IFtlc20ubnVtYmVyRW1wbG95ZWQgIT0gbnVsbCA/IGVzbS5udW1iZXJFbXBsb3llZCA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZSAmJiAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikpXSxcclxuICAgICAgJ3dvcmtUeXBlJzogW2VzbS53b3JrVHlwZSA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcz8udmFsdWUgJiYgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlPT09J1JFRycpXSxcclxuICAgICAvLyAnZmVpbic6IFtlc20uZmVpbl0sXHJcbiAgICAgLy8gJ2hpcmVkQnknOiBbZXNtLmhpcmVkQnksIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZSAmJiAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAgJiYgdGhpcy53b3JrU3RhdGUudmFsdWUgJiYgdGhpcy53b3JrU3RhdGUudmFsdWUudmFsdWU9PT0nS1MnKSldLFxyXG4gICAgICAvLydidXNpbmVzc093bmVyJzogW2VzbS5idXNpbmVzc093bmVyLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUgJiYgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgICYmIHRoaXMud29ya1N0YXRlLnZhbHVlICYmIHRoaXMud29ya1N0YXRlLnZhbHVlLnZhbHVlPT09J0tTJykpXSxcclxuICAgICAgJ2J1c2luZXNzTmF0dXJlJzogW2VzbS5idXNpbmVzc05hdHVyZSA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcz8udmFsdWUgJiYgdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnUkVHJyldLFxyXG4gICAgICAnd29ya0ZsYWcnOiBbZXNtLndvcmtGbGFnID8/IG51bGxdLFxyXG4gICAgICAvLydxdWl0cmVhc29uJzogW2VzbS5xdWl0cmVhc29uICE9IG51bGwgPyBlc20ucXVpdHJlYXNvbiA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAoKCgodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLndvcmtGbGFnLnZhbHVlID09PSAnWScpIHx8ICghdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikpICYmIHRoaXMucmVhc29uU2VwYXJhdGlvbi52YWx1ZSAmJiB0aGlzLnJlYXNvblNlcGFyYXRpb24udmFsdWUudmFsdWUgPT09ICdWT0xRJykpKV0sXHJcbiAgICAgICdkaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcyc6IFtlc20uZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMgPz8gbnVsbF0sXHJcbiAgICAgICdmaWNEZXN0aW5hdGlvbkNvZGUnOiBbZXNtLmZpY0Rlc3RpbmF0aW9uQ29kZSA/PyBudWxsXSxcclxuICAgICAgJ2ZpY0NvZGUnOiBbZXNtLmZpY0NvZGUgPz8gbnVsbF0sXHJcbiAgICAgICdmaWNEZXN0aW5hdGlvbk5hbWUnOiBbZXNtLmZpY0Rlc3RpbmF0aW9uTmFtZSA/PyBudWxsXSxcclxuICAgICAgJ2ZpY0Rlc3RpbmF0aW9uSWQnOiBbZXNtLmZpY0Rlc3RpbmF0aW9uSWQgPz8gbnVsbF0sXHJcbiAgICAgICdzZkVpZ2h0ZmxhZyc6IFtlc20uc2ZFaWdodGZsYWcgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ0ZFRCcpXSxcclxuICAgICAgJ2ZlZFdvcmtDaXR5JzogW2VzbS5mZWRXb3JrQ2l0eSA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnRkVEJyldLFxyXG4gICAgICAnZmVkV29ya1N0YXRlJzogW2VzbS5mZWRXb3JrU3RhdGUgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ0ZFRCcpXSxcclxuICAgICAgJ2ZlZFdvcmtDb3VudHJ5JzogW2VzbS5mZWRXb3JrQ291bnRyeSA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnRkVEJyldLFxyXG4gICAgICAnc3RhcnREYXRlRmVkJzogW2VzbS5zdGFydERhdGVGZWQgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ0ZFRCcpXSxcclxuICAgICAgJ2VuZERhdGVGZWQnOiBbZXNtLmVuZERhdGVGZWQgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ0ZFRCcpXSxcclxuICAgICAgJ2ZlZEpvYlRpbGVPclBvc2l0aW9uJzogW2VzbS5mZWRKb2JUaWxlT3JQb3NpdGlvbiA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ0ZFRCcpKV0sXHJcbiAgICAgIC8vJ2NsYWltYW50RW1wbG95ZWRXaXRoRW1wcic6IFtlc20uY2xhaW1hbnRFbXBsb3llZFdpdGhFbXByICE9IG51bGwgPyBlc20uY2xhaW1hbnRFbXBsb3llZFdpdGhFbXByIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdGRUQnKSldLFxyXG4gICAgICAncGVyZm9ybWVkU2VydmljZSc6IFtlc20ucGVyZm9ybWVkU2VydmljZSA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnRkVEJyldLFxyXG4gICAgICAnZmVkUGVuc2lvbkZsYWcnOiBbZXNtLmZlZFBlbnNpb25GbGFnID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnRkVEJykpXSxcclxuICAgICAgJ2ZlZFBlbnNpb25SZWN2RGF0ZSc6W2VzbS5mZWRQZW5zaW9uUmVjdkRhdGUgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdGRUQnICYmIHRoaXMuZmVkUGVuc2lvbkZsYWcudmFsdWUgPT09ICdZJykpXSxcclxuICAgICAgJ3NldlBheUZsYWcnOiBbZXNtLnNldlBheUZsYWcgPz8gbnVsbF0sXHJcbiAgICAgICd3ZWVrbHlBbW91bnQnOiBbZXNtLndlZWtseUFtb3VudCA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ0ZFRCcgJiYgdGhpcy5zZXZQYXlGbGFnLnZhbHVlID09PSAnWScpKV0sXHJcbiAgICAgICdudW1iZXJPZldlZWtzJzogW2VzbS5udW1iZXJPZldlZWtzID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnRkVEJyAmJiB0aGlzLnNldlBheUZsYWcudmFsdWUgPT09ICdZJykpXSxcclxuICAgICAgJ3NldlBheUFtb3VudCc6IFtlc20uc2V2UGF5QW1vdW50ID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnRkVEJyAmJiB0aGlzLnNldlBheUZsYWcudmFsdWUgPT09ICdZJykpXSxcclxuICAgICAgJ3NldlBheVN0YXJ0RGF0ZSc6IFtlc20uc2V2UGF5U3RhcnREYXRlID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnRkVEJyAmJiB0aGlzLnNldlBheUZsYWcudmFsdWUgPT09ICdZJykpXSxcclxuICAgICAgJ3NldlBheUVuZERhdGUnOiBbZXNtLnNldlBheUVuZERhdGUgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdGRUQnICYmIHRoaXMuc2V2UGF5RmxhZy52YWx1ZSA9PT0gJ1knKSldLFxyXG4gICAgICAnc2V2UGF5UGF5bWVudFN0YXJ0RGF0ZSc6IFtlc20uc2V2UGF5UGF5bWVudFN0YXJ0RGF0ZSA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ0ZFRCcgJiYgdGhpcy5zZXZQYXlGbGFnLnZhbHVlID09PSAnWScpKV0sXHJcbiAgICAgICdyZWdFbXBsb3llckZvdW5kJzogW2VzbS5yZWdFbXBsb3llckZvdW5kID8/IG51bGxdLFxyXG4gICAgICAnZW1wbG95ZXJJZCc6IFtlc20uZW1wbG95ZXJJZCA/PyBudWxsXSxcclxuICAgICAgJ3NlcnZpY2VCcmFuY2gnOiBbZXNtLnNlcnZpY2VCcmFuY2ggPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ01JTCcpXSxcclxuICAgICAgJ3N0YXJ0RGF0ZU1pbCc6IFtlc20uc3RhcnREYXRlTWlsID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdNSUwnKV0sXHJcbiAgICAgICdlbmREYXRlTWlsJzogW2VzbS5lbmREYXRlTWlsID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdNSUwnKV0sXHJcbiAgICAgICdkZDIxNEZsYWcnOiBbZXNtLmRkMjE0RmxhZyA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnTUlMJyldLFxyXG4gICAgICAnbGFzdFBheUdyYWRlJzogW2VzbS5sYXN0UGF5R3JhZGUgPz8gbnVsbF0sXHJcbiAgICAgICdsYXN0ZHV0eSc6IFtlc20ubGFzdGR1dHkgPz8gbnVsbF0sXHJcbiAgICAgICdwbGFjZVNlcGFyYXRlZCc6IFtlc20ucGxhY2VTZXBhcmF0ZWQgPz8gbnVsbF0sXHJcbiAgICAgICdub0xlYXZlRGF5cyc6IFtlc20ubm9MZWF2ZURheXMgPz8gbnVsbF0sXHJcbiAgICAgICdjb21wbGV0ZWRGdWxsVGVybUZsYWcnOiBbZXNtLmNvbXBsZXRlZEZ1bGxUZXJtRmxhZyA/PyBudWxsXSxcclxuICAgICAgJ3Jlc2VydmVPckd1YXJkRmxhZyc6IFtlc20ucmVzZXJ2ZU9yR3VhcmRGbGFnID8/IG51bGxdLFxyXG4gICAgICAnbWlsUGVuc2lvbkZsYWcnOiBbZXNtLm1pbFBlbnNpb25GbGFnID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdNSUwnKV0sXHJcbiAgICAgICdtaWxQZW5zaW9uUmVjdkRhdGUnOltlc20ubWlsUGVuc2lvblJlY3ZEYXRlID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnTUlMJyAmJiB0aGlzLm1pbFBlbnNpb25GbGFnLnZhbHVlID09PSAnWScpKV0sXHJcbiAgICAgICdtaWxTdGF0ZSc6W251bGwsIFtBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnTUlMJyksIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRLYW5zYXNdXSxcclxuICAgICAgJ2FkZHJlc3NMaW5lMSc6IFtlc20uYWRkcmVzc0xpbmUxID8/IG51bGxdLFxyXG4gICAgICAnYWRkcmVzc0xpbmUyJzogW2VzbS5hZGRyZXNzTGluZTIgPz8gbnVsbF0sXHJcbiAgICAgICdhZGRyZXNzTGluZTMnOiBbZXNtLmFkZHJlc3NMaW5lMyA/PyBudWxsXSxcclxuICAgICAgJ3Jlc2VydmVCcmFuY2gnOltlc20ucmVzZXJ2ZUJyYW5jaCA/PyBudWxsXSxcclxuICAgICAgJ3N0YXJ0RGF0ZVJlc2VydmUnOltlc20uc3RhcnREYXRlUmVzZXJ2ZSA/PyBudWxsXSxcclxuICAgICAgJ2VuZERhdGVSZXNlcnZlJzpbZXNtLmVuZERhdGVSZXNlcnZlID8/IG51bGxdLFxyXG4gICAgICAnZGQyMTRGaWxlJzpbZXNtLmRkMjE0RmlsZSA/PyBudWxsXSxcclxuICAgICAgJ2FkZHJlc3MnOltlc20uYWRkcmVzcyA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ1JFRycgfHwgdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnRkVEJykpXSxcclxuICAgICAgJ3dhZ2VBbW91bnRBcnJheSc6IHRoaXMuZm9ybUJ1aWxkZXIuYXJyYXkoW10pLFxyXG4gICAgICAndGVzdEVtcCcgOiBbZXNtLmVtcGxveWVyUHJvdmlkZWRXYWdlcz8ud2FnZXNMaXN0UXRyV2lzZSA/PyBudWxsXSxcclxuICAgICAgJ29zYUJwRW1wbG95ZXJGbGFnJzpbZXNtLm9zYUJwRW1wbG95ZXJGbGFnID8/IFwiMFwiXSxcclxuICAgICAgJ3NldmVyYW5jZSc6W2VzbS5zZXZlcmFuY2UgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ1JFRycpXVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+e1xyXG4gICAgICAvLyB1bmNvbW1lbnQgdGhpcyBpZiB0aGVyZSBpcyBhbiBpc3N1ZSB3aXRoIGNoYW5naW5nIGVtcGxveWVyIHR5cGUuXHJcbiAgICAgIC8vUEdMUC01MjIgdGhpcyBiZWxvdyBjb2RlIHdhcyB1bmNvbW1lbnRlZFxyXG4gICAgICBPYmplY3QuZW50cmllcyh0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9scykuZm9yRWFjaCgodHVwbGUpPT4ge2lmKHR1cGxlWzBdICE9PSBcImVtcGxveWVyVHlwZVwiICYmIHR1cGxlWzBdICE9PSBcIndhZ2VBbW91bnRBcnJheVwiICYmICF0dXBsZVsxXS52YWxpZCkgdHVwbGVbMV0ucmVzZXQoKTt9KTtcclxuICAgICAgdGhpcy5pc0Zvcm1TdWJtaXR0ZWQuc3VibWl0dGVkID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnRkVEJyA/IHRoaXMuYWRkcmVzcy5kaXNhYmxlKCk6IHRoaXMuYWRkcmVzcy5lbmFibGUoKTsgICAgICBcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgQmFzZVBhZ2UucHJpbWVOR0ZpeGVzKCk7ICAgICAgICAgXHJcbiAgICAgIH0sIDUwMCk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMucmVhc29uU2VwYXJhdGlvbi52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCBfID0+IHtcclxuICAgICAgdGhpcy5kaXNjaGFyZ2VEZXRhaWwucmVzZXQoKTtcclxuICAgICAgdGhpcy52b2xRdWl0RGV0YWlscy5yZXNldCgpO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICBCYXNlUGFnZS5wcmltZU5HRml4ZXMoKTsgICAgICAgICBcclxuICAgICAgfSwgMTAwKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5vdGhlclNTTkZsYWcudmFsdWVDaGFuZ2VzLnN1YnNjcmliZShfID0+IHtcclxuICAgICAgdGhpcy5vdGhlclNTTi5yZXNldCgpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLm90aGVyTmFtZUZsYWcudmFsdWVDaGFuZ2VzLnN1YnNjcmliZShfID0+IHtcclxuICAgICAgdGhpcy5vdGhlck5hbWUucmVzZXQoKTtcclxuICAgIH1cclxuICAgIClcclxuIFxyXG4gICAgLy9QR0xQLTUyMiB0aGlzIGJlbG93IGNvZGUgd2FzIGFkZGVkLiBpZiAgZW1wbG95ZXJUeXBlIGlzIFJFRyBhbmQgbm9uIGJhc2VwZXJpb2RFbXBsb3llci4gSWYgdXNlciBjaGFuZ2UgdGhlICByZWdQZW5zaW9uRmxhZyAnWUVTJyB0byAnTk8nIHRoZW4gcmVnUGVuc2lvblJlY3ZEYXRlIHZhbGlkYXRpb24gd2FzIHJlc2V0XHJcbiAgICB0aGlzLnJlZ1BlbnNpb25GbGFnLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoXyA9PiB7XHJcbiAgICAgIHRoaXMucmVnUGVuc2lvblJlY3ZEYXRlLnJlc2V0KCk7XHJcbiAgICB9XHJcbiAgICApXHJcbiAgICAgLy9QR0xQLTUyMiB0aGlzIGJlbG93IGNvZGUgd2FzIGFkZGVkLiBpZiAgZW1wbG95ZXJUeXBlIGlzIFJFRyBhbmQgIGJhc2VwZXJpb2RFbXBsb3llci4gSWYgdXNlciBjaGFuZ2UgdGhlICBwZW5zaW9uRmxhZyAnWUVTJyB0byAnTk8nIHRoZW4gUGVuc2lvblJlY2l2ZURhdGUgdmFsaWRhdGlvbiB3YXMgcmVzZXRcclxuICAgICB0aGlzLnBlbnNpb25GbGFnLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoXyA9PiB7XHJcbiAgICAgIHRoaXMucGVuc2lvblJlY3ZEYXRlLnJlc2V0KCk7XHJcbiAgICB9XHJcbiAgICApXHJcblxyXG5cclxuICAgIC8vUEdMUC01MjIgdGhpcyBiZWxvdyBjb2RlIHdhcyBhZGRlZC4gaWYgIGVtcGxveWVyVHlwZSBpcyBSRUcgYW5kICBiYXNlcGVyaW9kRW1wbG95ZXIuIElmIHVzZXIgY2hhbmdlIHRoZSAgcGVuc2lvbkZsYWcgJ1lFUycgdG8gJ05PJyB0aGVuIFBlbnNpb25SZWNpdmVEYXRlIHZhbGlkYXRpb24gd2FzIHJlc2V0XHJcbiAgICB0aGlzLmZlZFBlbnNpb25GbGFnLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoXyA9PiB7XHJcbiAgICAgIHRoaXMuZmVkUGVuc2lvblJlY3ZEYXRlLnJlc2V0KCk7XHJcbiAgICB9XHJcbiAgICApXHJcblxyXG4gICAgICAvL1BHTFAtNTIyIHRoaXMgYmVsb3cgY29kZSB3YXMgYWRkZWQuIGlmICBlbXBsb3llclR5cGUgaXMgTUlMIGFuZCAgYmFzZXBlcmlvZEVtcGxveWVyLiBJZiB1c2VyIGNoYW5nZSB0aGUgIHBlbnNpb25GbGFnICdZRVMnIHRvICdOTycgdGhlbiBtaWxQZW5zaW9uUmVjdkRhdGUgdmFsaWRhdGlvbiB3YXMgcmVzZXRcclxuICAgICAgdGhpcy5taWxQZW5zaW9uRmxhZy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKF8gPT4ge1xyXG4gICAgICAgIHRoaXMubWlsUGVuc2lvblJlY3ZEYXRlLnJlc2V0KCk7XHJcbiAgICAgIH1cclxuICAgICAgKVxyXG5cclxuXHJcblxyXG4gICAgXHJcbiAgICBpZighdGhpcy5wYXlSYXRlRnJlcXVlbmN5LnZhbHVlKXtcclxuICAgICAgdGhpcy5wYXlSYXRlRnJlcXVlbmN5LnBhdGNoVmFsdWUoeyB2YWx1ZTogJ0hPVVInLCB0ZXh0OiAnSG91cicgfSk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UpIHtcclxuICAgICAgaWYgKHRoaXMucXRyV2FnZUxpc3QpIHtcclxuICAgICAgICBmb3IgKHZhciBxdHJXYWdlIG9mIHRoaXMucXRyV2FnZUxpc3QpIHtcclxuICAgICAgICAgIHRoaXMud2FnZUFtb3VudEFycmF5LnB1c2godGhpcy53YWdlQXJyYXkocXRyV2FnZSkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZih0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnZhbHVlIHx8ICh0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PSAnRkVEJyAmJiB0aGlzLmlzTmV3Q2xhaW0pKSB7XHJcbiAgICAgICAgdGhpcy5zZXRXYWdlVmFsaWRhdGlvbigpO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gIH1cclxuICBzZXRXb3JrU3RhcnREYXRlKCkge1xyXG4gICAgbGV0IGRhdGEgPSB0aGlzLmFyLnNuYXBzaG90LnF1ZXJ5UGFyYW1NYXAuZ2V0KCdkYXRhJyk7XHJcbiAgICBpZihkYXRhKXtcclxuICAgICAgbGV0IHBhcnNlZERhdGEgOiBLZXlWYWx1ZU1vZGVsW10gPSBKU09OLnBhcnNlKGF0b2IoZGF0YSkpO1xyXG4gICAgICBpZihBcnJheS5pc0FycmF5KHBhcnNlZERhdGEpKXtcclxuICAgICAgICBsZXQgbGFzdEN3ZSA9IHBhcnNlZERhdGEuZmlsdGVyKGsgPT4gay5rZXkgPT0gJ2xhc3RDd2VEYXRlJyk7XHJcbiAgICAgICAgaWYobGFzdEN3ZS5sZW5ndGggPiAwICYmIGxhc3RDd2VbMF0ua2V5ID09ICdsYXN0Q3dlRGF0ZScgJiYgIXRoaXMuaXNOZXdDbGFpbSl7XHJcbiAgICAgICAgICB0aGlzLm1pbldvcmtTdGFydERhdGUgPSBuZXcgRGF0ZShsYXN0Q3dlWzBdLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGxvYWRNYXN0ZXJEYXRhKCl7XHJcblxyXG4gICAgdGhpcy5jbGFpbXNTZXJ2aWNlLmdldFJlYXNvblNlcGFyYXRpb24oKS5zdWJzY3JpYmUoXHJcbiAgICAgIHZhbHVlID0+IHtcclxuICAgICAgICB2YWx1ZS5mb3JFYWNoKGFyciA9PiAgdGhpcy5lbXBsb3ltZW50U3RhdHVzT3B0aW9uc0FsbC5wdXNoKGFycikpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMuY2xhaW1zU2VydmljZS5nZXREaXNjaGFyZ2VSZWFzb25zKCkuc3Vic2NyaWJlKFxyXG4gICAgICB2YWx1ZSA9PiB7XHJcbiAgICAgICAgdmFsdWUuZm9yRWFjaChhcnIgPT4gIHRoaXMuZGlzY2hhcmdlUmVhc29uT3B0aW9uc0FsbC5wdXNoKGFycikpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMuY2xhaW1zU2VydmljZS5nZXRRdWl0UmVhc29ucygpLnN1YnNjcmliZShcclxuICAgICAgdmFsdWUgPT4ge1xyXG4gICAgICAgIHZhbHVlLmZvckVhY2goYXJyID0+ICB0aGlzLnZvbFF1aXRSZWFzb25PcHRpb25zQWxsLnB1c2goYXJyKSk7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgICBcclxuICBpZih0aGlzLmVtcGxveW1lbnRTdGF0dXNPcHRpb25zIT0gbnVsbClcclxuICAgICAgcmV0dXJuIHRydWVcclxuICB9XHJcblxyXG4gIGdldCB3YWdlQW1vdW50QXJyYXkoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbXCJ3YWdlQW1vdW50QXJyYXlcIl0gYXMgVW50eXBlZEZvcm1BcnJheTtcclxuICB9XHJcblxyXG4gIGdldCB0ZXN0RW1wKCl7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbXCJ0ZXN0RW1wXCJdIDtcclxuICB9XHJcbiAgZ2V0IHNldmVyYW5jZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snc2V2ZXJhbmNlJ107XHJcbiAgfVxyXG4gIGdldCBlbXBsb3llclR5cGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0/LmNvbnRyb2xzWydlbXBsb3llclR5cGUnXTtcclxuICB9XHJcbiAgZ2V0IGVtcGxveWVyTmFtZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZW1wbG95ZXJOYW1lJ107XHJcbiAgfVxyXG4gIGdldCBvdGhTdGF0ZUVtcE5hbWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ290aFN0YXRlRW1wTmFtZSddO1xyXG4gIH1cclxuICBnZXQgZW1wbG95ZXJUZWxlcGhvbmVOdW1iZXIoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2VtcGxveWVyVGVsZXBob25lTnVtYmVyJ107XHJcbiAgfVxyXG5cclxuICBnZXQgc3RhcnREYXRlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydzdGFydERhdGUnXTtcclxuICB9XHJcblxyXG4gIGdldCBlbmREYXRlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydlbmREYXRlJ107XHJcbiAgfVxyXG5cclxuICBnZXQgam9iVGlsZU9yUG9zaXRpb24oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2pvYlRpbGVPclBvc2l0aW9uJ107XHJcbiAgfVxyXG5cclxuICBnZXQgcmVhc29uU2VwYXJhdGlvbigpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybT8uY29udHJvbHNbJ3JlYXNvblNlcGFyYXRpb24nXTtcclxuICB9XHJcblxyXG4gIGdldCBkaXNjaGFyZ2VEZXRhaWwoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2Rpc2NoYXJnZURldGFpbCddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHZvbFF1aXREZXRhaWxzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWyd2b2xRdWl0RGV0YWlscyddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHBheVJhdGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3BheVJhdGUnXTtcclxuICB9XHJcblxyXG4gIGdldCBncm9zc1dhZ2VzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydncm9zc1dhZ2VzJ107XHJcbiAgfVxyXG5cclxuICBnZXQgcGF5UmF0ZUZyZXF1ZW5jeSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncGF5UmF0ZUZyZXF1ZW5jeSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHBlbnNpb25GbGFnKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydwZW5zaW9uRmxhZyddO1xyXG4gIH1cclxuICBcclxuICBnZXQgcGVuc2lvblJlY3ZEYXRlKCl7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3BlbnNpb25SZWN2RGF0ZSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHJlZ1BlbnNpb25GbGFnKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydyZWdQZW5zaW9uRmxhZyddO1xyXG4gIH1cclxuICBcclxuICBnZXQgcmVnUGVuc2lvblJlY3ZEYXRlKCl7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3JlZ1BlbnNpb25SZWN2RGF0ZSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGhhc1Nob3J0VGVybURpc2FiaWxpdHkoKXtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snaGFzU2hvcnRUZXJtRGlzYWJpbGl0eSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGhhc1JlY3ZSZW11bmVyYXRpb24oKXtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snaGFzUmVjdlJlbXVuZXJhdGlvbiddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHJlbXVuZXJhdGlvblR5cGVzKCl7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3JlbXVuZXJhdGlvblR5cGVzJ107XHJcbiAgfVxyXG5cclxuICBnZXQgdmFjYXRpb24oKXtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sndmFjYXRpb24nXTtcclxuICB9XHJcblxyXG4gIGdldCBwYXltZW50VHlwZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncGF5bWVudFR5cGUnXTtcclxuICB9XHJcblxyXG4gIGdldCBkb2NzUmVjZWl2ZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2RvY3NSZWNlaXZlZCddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG90aGVyU1NORmxhZygpe1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydvdGhlclNTTkZsYWcnXTtcclxuICB9XHJcblxyXG4gIGdldCBvdGhlclNTTigpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snb3RoZXJTU04nXTtcclxuICB9XHJcblxyXG4gIGdldCBvdGhlck5hbWVGbGFnKCl7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ290aGVyTmFtZUZsYWcnXTtcclxuICB9XHJcblxyXG4gIGdldCBvdGhlck5hbWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ290aGVyTmFtZSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGRvaW5nQnVzaW5lc3NBcygpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZG9pbmdCdXNpbmVzc0FzJ107XHJcbiAgfVxyXG5cclxuICBnZXQgd29ya0ZsYWcoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3dvcmtGbGFnJ107XHJcbiAgfVxyXG5cclxuICAvLyBnZXQgcXVpdHJlYXNvbigpIHtcclxuICAvLyAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncXVpdHJlYXNvbiddO1xyXG4gIC8vIH1cclxuXHJcbiAgZ2V0IHdvcmtDaXR5KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWyd3b3JrQ2l0eSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHdvcmtTdGF0ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snd29ya1N0YXRlJ107XHJcbiAgfVxyXG4gIGdldCBtaWxTdGF0ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snbWlsU3RhdGUnXTtcclxuICB9XHJcblxyXG4gIC8qZ2V0IGhpcmVkQnkoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2hpcmVkQnknXTtcclxuICB9XHJcblxyXG4gIGdldCBmZWluKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydmZWluJ107XHJcbiAgfSovXHJcblxyXG4gIGdldCB3b3JrVHlwZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snd29ya1R5cGUnXTtcclxuICB9XHJcblxyXG4gIC8qZ2V0IG51bWJlckVtcGxveWVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydudW1iZXJFbXBsb3llZCddO1xyXG4gIH0qL1xyXG5cclxuICBnZXQgYnVzaW5lc3NOYXR1cmUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2J1c2luZXNzTmF0dXJlJ107XHJcbiAgfVxyXG5cclxuICBnZXQgZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2Rpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzJ107XHJcbiAgfVxyXG5cclxuICAvLyBnZXQgd2FnZVF1YXJ0ZXIxKCkge1xyXG4gIC8vICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWyd3YWdlUXVhcnRlcjEnXTtcclxuICAvLyB9XHJcblxyXG4gIC8vIGdldCB3YWdlUXVhcnRlcjIoKSB7XHJcbiAgLy8gICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3dhZ2VRdWFydGVyMiddO1xyXG4gIC8vIH1cclxuXHJcblxyXG4gIC8vIGdldCB3YWdlUXVhcnRlcjMoKSB7XHJcbiAgLy8gICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3dhZ2VRdWFydGVyMyddO1xyXG4gIC8vIH1cclxuXHJcblxyXG5cclxuICAvLyBnZXQgd2FnZVF1YXJ0ZXI0KCkge1xyXG4gIC8vICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWyd3YWdlUXVhcnRlcjQnXTtcclxuICAvLyB9XHJcblxyXG4gIGdldCBmaWNDb2RlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydmaWNDb2RlJ107XHJcbiAgfVxyXG5cclxuICBnZXQgZmljRGVzdGluYXRpb25Db2RlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydmaWNEZXN0aW5hdGlvbkNvZGUnXTtcclxuICB9XHJcblxyXG4gIGdldCBmaWNEZXN0aW5hdGlvbklkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydmaWNEZXN0aW5hdGlvbklkJ107XHJcbiAgfVxyXG4gICAgICBcclxuICBcclxuICAvLyBnZXQgZm9ybWVybHlLbm93bkFzKCkge1xyXG4gIC8vICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydmb3JtZXJseUtub3duQXMnXTtcclxuICAvLyB9XHJcblxyXG4gIGdldCBzZkVpZ2h0ZmxhZygpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snc2ZFaWdodGZsYWcnXTtcclxuICB9XHJcblxyXG4gIGdldCBmZWRXb3JrQ2l0eSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZmVkV29ya0NpdHknXTtcclxuICB9XHJcblxyXG4gIGdldCBmZWRXb3JrU3RhdGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2ZlZFdvcmtTdGF0ZSddO1xyXG4gIH1cclxuXHJcblxyXG4gIGdldCBmZWRXb3JrQ291bnRyeSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZmVkV29ya0NvdW50cnknXTtcclxuICB9XHJcblxyXG5cclxuICBnZXQgc3RhcnREYXRlRmVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydzdGFydERhdGVGZWQnXTtcclxuICB9XHJcblxyXG4gIGdldCBlbmREYXRlRmVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydlbmREYXRlRmVkJ107XHJcbiAgfVxyXG5cclxuICBnZXQgZmVkSm9iVGlsZU9yUG9zaXRpb24oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2ZlZEpvYlRpbGVPclBvc2l0aW9uJ107XHJcbiAgfVxyXG5cclxuICAvKiBnZXQgY2xhaW1hbnRFbXBsb3llZFdpdGhFbXByKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydjbGFpbWFudEVtcGxveWVkV2l0aEVtcHInXTtcclxuICB9ICovXHJcblxyXG4gIGdldCBwZXJmb3JtZWRTZXJ2aWNlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydwZXJmb3JtZWRTZXJ2aWNlJ107XHJcbiAgfVxyXG5cclxuICBnZXQgZmVkUGVuc2lvbkZsYWcoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2ZlZFBlbnNpb25GbGFnJ107XHJcbiAgfVxyXG5cclxuICBnZXQgZmVkUGVuc2lvblJlY3ZEYXRlKCl7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2ZlZFBlbnNpb25SZWN2RGF0ZSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHNldlBheUZsYWcoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3NldlBheUZsYWcnXTtcclxuICB9XHJcblxyXG4gIGdldCB3ZWVrbHlBbW91bnQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3dlZWtseUFtb3VudCddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG51bWJlck9mV2Vla3MoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ251bWJlck9mV2Vla3MnXTtcclxuICB9XHJcblxyXG4gIGdldCBzZXZQYXlBbW91bnQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3NldlBheUFtb3VudCddO1xyXG4gIH1cclxuXHJcblxyXG4gIGdldCBzZXZQYXlTdGFydERhdGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3NldlBheVN0YXJ0RGF0ZSddO1xyXG4gIH1cclxuXHJcblxyXG4gIGdldCBzZXZQYXlFbmREYXRlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydzZXZQYXlFbmREYXRlJ107XHJcbiAgfVxyXG5cclxuICBnZXQgc2V2UGF5UGF5bWVudFN0YXJ0RGF0ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snc2V2UGF5UGF5bWVudFN0YXJ0RGF0ZSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHJlZ0VtcGxveWVyRm91bmQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3JlZ0VtcGxveWVyRm91bmQnXTtcclxuICB9XHJcblxyXG4gIGdldCBlbXBsb3llcklkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydlbXBsb3llcklkJ107XHJcbiAgfVxyXG5cclxuICBnZXQgZmVkRW1wbG95ZXJOYW1lKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydmZWRFbXBsb3llck5hbWUnXTtcclxuICB9XHJcbiAgZ2V0IHNlcnZpY2VCcmFuY2goKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3NlcnZpY2VCcmFuY2gnXTtcclxuICB9XHJcblxyXG4gIGdldCBzdGFydERhdGVNaWwoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3N0YXJ0RGF0ZU1pbCddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGVuZERhdGVNaWwoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2VuZERhdGVNaWwnXTtcclxuICB9XHJcblxyXG4gIGdldCBkZDIxNEZsYWcoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2RkMjE0RmxhZyddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGxhc3RQYXlHcmFkZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snbGFzdFBheUdyYWRlJ107XHJcbiAgfVxyXG5cclxuICBnZXQgbGFzdGR1dHkoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2xhc3RkdXR5J107XHJcbiAgfVxyXG5cclxuICBnZXQgcGxhY2VTZXBhcmF0ZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3BsYWNlU2VwYXJhdGVkJ107XHJcbiAgfVxyXG5cclxuICBnZXQgbm9MZWF2ZURheXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ25vTGVhdmVEYXlzJ107XHJcbiAgfVxyXG5cclxuICBnZXQgY29tcGxldGVkRnVsbFRlcm1GbGFnKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydjb21wbGV0ZWRGdWxsVGVybUZsYWcnXTtcclxuICB9XHJcblxyXG4gIGdldCByZXNlcnZlT3JHdWFyZEZsYWcoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3Jlc2VydmVPckd1YXJkRmxhZyddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG1pbFBlbnNpb25GbGFnKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydtaWxQZW5zaW9uRmxhZyddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG1pbFBlbnNpb25SZWN2RGF0ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snbWlsUGVuc2lvblJlY3ZEYXRlJ107XHJcbiAgfVxyXG5cclxuICBnZXQgYWRkcmVzc0xpbmUxKCl7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2FkZHJlc3NMaW5lMSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGFkZHJlc3NMaW5lMigpe1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydhZGRyZXNzTGluZTInXTtcclxuICB9XHJcblxyXG4gIGdldCBhZGRyZXNzTGluZTMoKXtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snYWRkcmVzc0xpbmUzJ107XHJcbiAgfVxyXG5cclxuICBnZXQgZmljRGVzdGluYXRpb25OYW1lKCl7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2ZpY0Rlc3RpbmF0aW9uTmFtZSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHJlc2VydmVCcmFuY2goKXtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncmVzZXJ2ZUJyYW5jaCddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHN0YXJ0RGF0ZVJlc2VydmUoKXtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snc3RhcnREYXRlUmVzZXJ2ZSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGVuZERhdGVSZXNlcnZlKCl7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2VuZERhdGVSZXNlcnZlJ107XHJcbiAgfVxyXG4gIFxyXG4gIGdldCBkZDIxNEZpbGUoKXtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZGQyMTRGaWxlJ107XHJcbiAgfVxyXG5cclxuICBnZXQgYWRkcmVzcygpe1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydhZGRyZXNzJ107XHJcbiAgfVxyXG5cclxuICBnZXQgb3NhQnBFbXBsb3llckZsYWcoKXtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snb3NhQnBFbXBsb3llckZsYWcnXTtcclxuICB9XHJcblxyXG4gIGdldCBwcmV2V29ya2VkU3RhdGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0/LmNvbnRyb2xzWydwcmV2V29ya2VkU3RhdGUnXTtcclxuICB9XHJcblxyXG5cclxuXHJcblxyXG4gIG9uVG9nZ2xlQ2hhbmdlUHJldldvcmtlZFN0YXRlKG9iajogYW55KSB7XHJcbiAgICAgIHRoaXMucmVhc29uU2VwYXJhdGlvbi5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgdGhpcy5hZGRyZXNzLmVuYWJsZSgpO1xyXG4gICAgICB0aGlzLmFkZHJlc3Muc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMuZmljQ29kZS5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgdGhpcy5maWNEZXN0aW5hdGlvbkNvZGUuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMuYWRkcmVzc0xpbmUxLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICB0aGlzLmFkZHJlc3NMaW5lMi5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgdGhpcy5hZGRyZXNzTGluZTMuc2V0VmFsdWUobnVsbCk7ICBcclxuICAgICAgdGhpcy5wZW5zaW9uUmVjdkRhdGUuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMud29ya1R5cGUuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMuZW1wbG95ZXJOYW1lLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICB0aGlzLm90aFN0YXRlRW1wTmFtZS5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgdGhpcy53b3JrU3RhdGUuc2V0VmFsdWUobnVsbCk7IFxyXG4gICAgICB0aGlzLndvcmtDaXR5LnNldFZhbHVlKG51bGwpOyBcclxuICAgICAgdGhpcy5zdGFydERhdGUuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMuZW5kRGF0ZS5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgdGhpcy5wYXlSYXRlLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICB0aGlzLnBheVJhdGVGcmVxdWVuY3kuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMucGVuc2lvbkZsYWcuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMuZW1wbG95ZXJUZWxlcGhvbmVOdW1iZXIuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMuam9iVGlsZU9yUG9zaXRpb24uc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMucmVnUGVuc2lvbkZsYWcuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMucmVnUGVuc2lvblJlY3ZEYXRlLnNldFZhbHVlKG51bGwpO1xyXG4gIH1cclxuXHJcbiAgb25Nb2RlbENhbmNlbChjYW5jZWw6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMubW9kZWxDYW5jZWwuZW1pdChjYW5jZWwpO1xyXG4gIH1cclxuXHJcbiAgc2V0RW1wbG95ZXIoZW1wbG95ZXI6IEVtcGxveWVyRGV0YWlsU2VhcmNoUmVzdWx0KSB7XHJcbiAgICB0aGlzLmxvZ2dlci5kZWJ1Zygnc2V0RW1wbG95ZXIgY2FsbGVkJywgZW1wbG95ZXIsIFwidHlwZVwiLCB0aGlzLmVtcGxveWVyVHlwZSwgJ3RoaXMuYWRkRW1wbG95ZXJGb3JtJyx0aGlzLmFkZEVtcGxveWVyRm9ybSk7XHJcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnZW1wbG95ZXIuc3RhdGUnLCBlbXBsb3llci5zdGF0ZSlcclxuICAgIHRoaXMuYWRkcmVzcy5zZXRWYWx1ZSh7Y291bnRyeTplbXBsb3llci5jb3VudHJ5LCBjaXR5OmVtcGxveWVyLmNpdHlcclxuICAgICwgemlwOmVtcGxveWVyLnppcCxzdHJlZXRBZGRyZXNzOmVtcGxveWVyLmFkZHJlc3NEaXNwbGF5VmFsLHN0YXRlOmVtcGxveWVyLnN0YXRlLFxyXG4gICAgb3B0aW9uYWxBZGRyZXNzOm51bGwsY291bnR5Om51bGwsdG93bjpudWxsXHJcbiAgICB9KTtcclxuICAgIHRoaXMuYWRkcmVzcy5kaXNhYmxlKCk7XHJcbiAgICB0aGlzLmFkZHJlc3Muc2V0RXJyb3JzKHt9KTtcclxuICAgIHRoaXMuZW1wbG95ZXJOYW1lLnNldFZhbHVlKGVtcGxveWVyLmVtcGxveWVyTmFtZSk7XHJcbiAgICB0aGlzLmVtcGxveWVySWQuc2V0VmFsdWUoZW1wbG95ZXIuZW1wbG95ZXJJZCk7XHJcbiAgICB0aGlzLmFkZHJlc3NMaW5lMS5zZXRWYWx1ZShlbXBsb3llci5hZGRyZXNzTGluZTEpO1xyXG4gICAgdGhpcy5hZGRyZXNzTGluZTIuc2V0VmFsdWUoZW1wbG95ZXIuYWRkcmVzc0xpbmUyKTtcclxuICAgIHRoaXMuYWRkcmVzc0xpbmUzLnNldFZhbHVlKGVtcGxveWVyLmFkZHJlc3NMaW5lMyk7XHJcbiAgICB0aGlzLnJlZ0VtcGxveWVyRm91bmQuc2V0VmFsdWUodHJ1ZSk7XHJcbiAgICB0aGlzLmlzTWFudWFsRW50ZXJFbXAgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHNldEZlZEVtcGxveWVyKGVtcGxveWVyOiBFbXBsb3llckRldGFpbFNlYXJjaFJlc3VsdCl7XHJcbiAgICB0aGlzLmFkZHJlc3MyLnJlYWRvbmx5ID0gZmFsc2VcclxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdzZXRGZWRFbXBsb3llciBjYWxsZWQnLCBlbXBsb3llciwgXCJ6aXAgXCIsIGVtcGxveWVyLnppcCk7XHJcbiAgICB0aGlzLmZpY0NvZGUuZW5hYmxlKCk7XHJcbiAgICB0aGlzLmZpY0NvZGUuc2V0VmFsdWUoZW1wbG95ZXIuZmljQ29kZSk7XHJcbiAgICB0aGlzLmZpY0NvZGUuZGlzYWJsZSgpO1xyXG4gICAgdGhpcy5mZWRFbXBsb3llck5hbWUuc2V0VmFsdWUoZW1wbG95ZXIuZW1wbG95ZXJOYW1lKTtcclxuICAgIHRoaXMuZmljRGVzdGluYXRpb25OYW1lLmVuYWJsZSgpO1xyXG4gICAgdGhpcy5maWNEZXN0aW5hdGlvbk5hbWUuc2V0VmFsdWUoZW1wbG95ZXIuZmljRGVzdGluYXRpb25OYW1lKTtcclxuICAgIHRoaXMuZmljRGVzdGluYXRpb25JZC5zZXRWYWx1ZShlbXBsb3llci5maWNEZXN0aW5hdGlvbklkKTtcclxuICAgIHRoaXMuZmljRGVzdGluYXRpb25OYW1lLmRpc2FibGUoKTtcclxuICAgIHRoaXMuZmljRGVzdGluYXRpb25Db2RlLnNldFZhbHVlKGVtcGxveWVyLmZpY0Rlc3RpbmF0aW9uQ29kZSk7XHJcbiAgICB0aGlzLmFkZHJlc3Muc2V0VmFsdWUoe2NvdW50cnk6ZW1wbG95ZXIuY291bnRyeSwgY2l0eTplbXBsb3llci5jaXR5XHJcbiAgICAgICwgemlwOmVtcGxveWVyLnppcCxzdHJlZXRBZGRyZXNzOmVtcGxveWVyLmFkZHJlc3NMaW5lMSxzdGF0ZTplbXBsb3llci5zdGF0ZSxcclxuICAgICAgb3B0aW9uYWxBZGRyZXNzOmVtcGxveWVyLmFkZHJlc3NMaW5lMixjb3VudHk6bnVsbCx0b3duOm51bGxcclxuICAgICAgfSk7XHJcbiAgICB0aGlzLmFkZHJlc3MuZGlzYWJsZSgpO1xyXG4gICAgdGhpcy5lbXBsb3llcklkLnNldFZhbHVlKGVtcGxveWVyLmVtcGxveWVySWQpO1xyXG4gICAgdGhpcy5hZGRyZXNzTGluZTEuc2V0VmFsdWUoZW1wbG95ZXIuYWRkcmVzc0xpbmUxKTtcclxuICAgIHRoaXMuYWRkcmVzc0xpbmUyLnNldFZhbHVlKGVtcGxveWVyLmFkZHJlc3NMaW5lMik7XHJcbiAgICB0aGlzLmFkZHJlc3NMaW5lMy5zZXRWYWx1ZShlbXBsb3llci5hZGRyZXNzTGluZTMpO1xyXG4gICAgdGhpcy5yZWdFbXBsb3llckZvdW5kLnNldFZhbHVlKGZhbHNlKTtcclxuICAgIHRoaXMuYWRkcmVzczIucmVhZG9ubHkgPSB0cnVlO1xyXG4gICAgdGhpcy5pc01hbnVhbEVudGVyRW1wID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICByZXNldEZlZEVtcGxveWVyKGVtcGxveWVyOiBFbXBsb3llckRldGFpbFNlYXJjaFJlc3VsdCl7XHJcbiAgICB0aGlzLmFkZHJlc3MuZW5hYmxlKCk7XHJcbiAgICB0aGlzLmFkZHJlc3Muc2V0VmFsdWUoe2NvdW50cnk6bnVsbCwgY2l0eTpudWxsXHJcbiAgICAgICwgemlwOm51bGwsc3RyZWV0QWRkcmVzczpudWxsLHN0YXRlOm51bGwsXHJcbiAgICAgIG9wdGlvbmFsQWRkcmVzczpudWxsLGNvdW50eTpudWxsLHRvd246bnVsbFxyXG4gICAgICB9KTtcclxuICAgIHRoaXMucmVnRW1wbG95ZXJGb3VuZC5zZXRWYWx1ZShmYWxzZSk7XHJcbiAgfVxyXG5cclxuICByZXNldEVtcGxveWVyKGVtcGxveWVyOiBFbXBsb3llckRldGFpbFNlYXJjaFJlc3VsdCkge1xyXG4gICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdyZXNldEVtcGxveWVyIGNhbGxlZCcsIGVtcGxveWVyKTtcclxuICAgICB0aGlzLmFkZHJlc3MuZW5hYmxlKCk7XHJcbiAgICAgdGhpcy5hZGRyZXNzLnNldFZhbHVlKHtjb3VudHJ5Om51bGwsIGNpdHk6bnVsbFxyXG4gICAgICAsIHppcDpudWxsLHN0cmVldEFkZHJlc3M6bnVsbCxzdGF0ZTpudWxsLFxyXG4gICAgICBvcHRpb25hbEFkZHJlc3M6bnVsbCxjb3VudHk6bnVsbCx0b3duOm51bGxcclxuICAgICAgfSk7XHJcbiAgICB0aGlzLnJlZ0VtcGxveWVyRm91bmQuc2V0VmFsdWUoZmFsc2UpO1xyXG4gIH1cclxuXHJcblxyXG4gIHB1dE1pbFJlc0JyYW5jaFZhbGlkYXRpb24oZXZlbnQpe1xyXG4gICAgaWYgKGV2ZW50Lm9wdGlvbi52YWx1ZSA9PT0gJ1knKSB7XHJcbiAgICB9XHJcbiAgICBlbHNle1xyXG4gICAgICB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncmVzZXJ2ZUJyYW5jaCddLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snc3RhcnREYXRlUmVzZXJ2ZSddLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZW5kRGF0ZVJlc2VydmUnXS5zZXRWYWx1ZShudWxsKTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBvbk9wdGlvbkNoYW5nZShldmVudCkge1xyXG4gICAgaWYgKGV2ZW50Lm9wdGlvbi52YWx1ZSAhPT0gJ1knKSB7XHJcbiAgICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydlbXBsb3llclRlbGVwaG9uZU51bWJlciddLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snc3RhcnREYXRlJ10uc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydlbmREYXRlJ10uc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydqb2JUaWxlT3JQb3NpdGlvbiddLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncmVhc29uU2VwYXJhdGlvbiddLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncGF5UmF0ZSddLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncGF5UmF0ZUZyZXF1ZW5jeSddLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncGVuc2lvbkZsYWcnXS5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgLy8gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2lzQ2xtdFBhaWRXaGlsZUxvdyddLnNldFZhbHVlKG51bGwpO1xyXG4gICAgfVxyXG4gIH1cclxuICBzYXZlKCkge1xyXG4gICAgaWYodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikge1xyXG4gICAgICAvL3JlbW92ZSB2YWxpZGF0b3Igc2luY2UgYmFzZVBlcmlvZCBlbXBsb3llciBhbHJlYWR5IGhhcyBlbXBsb3llciBjb21pbmcgZnJvbSBiYWNrZW5kXHJcbiAgICAgIHRoaXMuYWRkcmVzcy5jbGVhclZhbGlkYXRvcnMoKTtcclxuICAgICAgdGhpcy5hZGRyZXNzLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgIH1cclxuICAgIHRoaXMuaXNGb3JtU3VibWl0dGVkLnN1Ym1pdHRlZCA9IHRydWU7XHJcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygndGhpcy5zYXZlLnZhbHVlJywgdGhpcy5hZGRFbXBsb3llckZvcm0pO1xyXG4gICAgdGhpcy5hZGRyZXNzLmVuYWJsZSgpO1xyXG4gICAgdGhpcy52YWxpZGF0ZVdhZ2VHcmlkKClcclxuICAgIGlmICh0aGlzLmFkZEVtcGxveWVyRm9ybS52YWxpZCAmJiB0aGlzLmFkZHJlc3MuZXJyb3JzID09PSBudWxsKSAge1xyXG4gICAgIHRoaXMuc3VjY2Vzcy5lbWl0KHRoaXMuYWRkRW1wbG95ZXJGb3JtLnZhbHVlKTtcclxuICAgICAgdGhpcy5kaXNwbGF5ID0gZmFsc2U7IFxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5hZGRyZXNzLmRpc2FibGUoKTtcclxuICAgICAgY29uc29sZS5sb2codGhpcy5hZGRFbXBsb3llckZvcm0pO1xyXG4gICAgICBjb25zdCBmaXhGaWVsZHMgPSBPYmplY3QuZW50cmllcyh0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9scykuZmlsdGVyKHggPT4gIXhbMV0udmFsaWQpLm1hcCh4ID0+IHhbMF0pO1xyXG4gICAgICBjb25zb2xlLmxvZyhcImZpeCBmaWVsZHM6XCIsIGZpeEZpZWxkcyk7XHJcbiAgICAgIFxyXG4gICAgICB0aGlzLmxvZ2dlci5pbmZvKFwiYWRkIGVtcGxveWVyIGZhaWx1cmUgaW5mbzpcIiwgdGhpcy5scy5nZXRVc2VyKCkuY2xhaW1hbnRJZCwgZml4RmllbGRzLCB0aGlzLmFkZEVtcGxveWVyRm9ybS52YWx1ZSk7XHJcbiAgICAgIHRoaXMubG9nZ2VyLmVycm9yKFwiYWRkIGVtcGxveWVyIGZhaWx1cmUgZXJyb3I6XCIsIHRoaXMubHMuZ2V0VXNlcigpLmNsYWltYW50SWQsIGZpeEZpZWxkcywgdGhpcy5hZGRFbXBsb3llckZvcm0udmFsdWUpO1xyXG4gICAgICB0aGlzLmxvZ2dlci5sb2coXCJhZGQgZW1wbG95ZXIgZmFpbHVyZSBsb2c6XCIsIHRoaXMubHMuZ2V0VXNlcigpLmNsYWltYW50SWQsIGZpeEZpZWxkcywgdGhpcy5hZGRFbXBsb3llckZvcm0udmFsdWUpOyBcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFkZCgpIHtcclxuICAgIHRoaXMuaXNGb3JtU3VibWl0dGVkLnN1Ym1pdHRlZCA9IHRydWU7XHJcblx0ICBpZih0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSAhPSAnTUlMJykge1xyXG4gICAgICB0aGlzLnZhbGlkYXRlV2FnZUdyaWQoKTtcclxuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ3ZhbGlkYXRlIGFkZHJlc3MgY29tcG9uZW50Jyk7XHJcbiAgICAgIGlmKHRoaXMuaXNNYW51YWxFbnRlckVtcCkge1xyXG4gICAgICAgIC8vVmFsaWRhdGUgYWRkcmVzcyBvbmx5IHdoZW4gYWRkcmVzcyBpcyBtYW51YWwgZW50ZXJlZFxyXG4gICAgICAgIHRoaXMudmFsaWRhdGVBZGRyZXNzKCk7XHJcbiAgICAgIH0gZWxzZXtcclxuICAgICAgICB0aGlzLmFkZHJlc3MuZW5hYmxlKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgaWYgKHRoaXMuYWRkRW1wbG95ZXJGb3JtLmludmFsaWQgfHwgKHRoaXMuYWRkcmVzcy5lcnJvcnMgJiYgT2JqZWN0LmtleXModGhpcy5hZGRyZXNzLmVycm9ycykubGVuZ3RoID4gMCkpIHtcclxuICAgICAgY29uc29sZS5sb2codGhpcy5hZGRFbXBsb3llckZvcm0pO1xyXG4gICAgICBjb25zdCBmaXhGaWVsZHMgPSBPYmplY3QuZW50cmllcyh0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9scykuZmlsdGVyKHggPT4gIXhbMV0udmFsaWQpLm1hcCh4ID0+IHhbMF0pO1xyXG4gICAgICBjb25zb2xlLmxvZyhcImZpeCBmaWVsZHM6XCIsIGZpeEZpZWxkcyk7XHJcblxyXG4gICAgICB0aGlzLmxvZ2dlci5pbmZvKFwiYWRkIGVtcGxveWVyIGZhaWx1cmUgaW5mbzpcIiwgdGhpcy5scy5nZXRVc2VyKCkuY2xhaW1hbnRJZCwgZml4RmllbGRzLCB0aGlzLmFkZEVtcGxveWVyRm9ybS52YWx1ZSk7XHJcbiAgICAgIHRoaXMubG9nZ2VyLmVycm9yKFwiYWRkIGVtcGxveWVyIGZhaWx1cmUgZXJyb3I6XCIsIHRoaXMubHMuZ2V0VXNlcigpLmNsYWltYW50SWQsIGZpeEZpZWxkcywgdGhpcy5hZGRFbXBsb3llckZvcm0udmFsdWUpO1xyXG4gICAgICB0aGlzLmxvZ2dlci5sb2coXCJhZGQgZW1wbG95ZXIgZmFpbHVyZSBsb2c6XCIsIHRoaXMubHMuZ2V0VXNlcigpLmNsYWltYW50SWQsIGZpeEZpZWxkcywgdGhpcy5hZGRFbXBsb3llckZvcm0udmFsdWUpO1xyXG4gICAgICBcclxuICAgICAgLy90aGlzLmFkZHJlc3MuZGlzYWJsZSgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9IFxyXG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ3RoaXMuYWRkLnZhbHVlJywgdGhpcy5hZGRFbXBsb3llckZvcm0pOyBcclxuICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydmaWNDb2RlJ10uZW5hYmxlKCk7XHJcbiAgICB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZmljRGVzdGluYXRpb25OYW1lJ10uZW5hYmxlKCk7XHJcbiAgICB0aGlzLmFkZHJlc3MuZW5hYmxlKCk7XHJcbiAgICB0aGlzLnN1Y2Nlc3MuZW1pdCh0aGlzLmFkZEVtcGxveWVyRm9ybS52YWx1ZSk7XHJcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcImFkZCBmb3JtIGRldGFpbHMgYWRkKCktIFwiLCB0aGlzLmFkZEVtcGxveWVyRm9ybSk7XHJcbiAgICB0aGlzLmRpc3BsYXkgPSBmYWxzZTtcclxuXHJcbiAgfVxyXG4gIHZhbGlkYXRlV2FnZUdyaWQoKSB7XHJcbiAgICB0aGlzLndhZ2VBbW91bnRBcnJheS5zZXRFcnJvcnMobnVsbCk7XHJcbiAgICBpZiAodGhpcy5lbXBsb3llclR5cGUudmFsdWUhPT0nRkVEJyAmJiAhKHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycgJiYgdGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcz8udmFsdWUpKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmIChPYmplY3QudmFsdWVzKHRoaXMud2FnZUFtb3VudEFycmF5LmNvbnRyb2xzKS5maWx0ZXIoeCA9PiB4LnZhbHVlLndhZ2VBbW91bnQgIT09IDApLmxlbmd0aCAhPT0gMCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLndhZ2VBbW91bnRBcnJheS5zZXRFcnJvcnMoe3JlcXVpcmVDaGVja2JveFRvQmVDaGVja2VkOiB0cnVlfSk7XHJcbiAgfVxyXG4gIHZhbGlkYXRlQWRkcmVzcygpIHtcclxuICAgIC8vIENsZWFyIHByZXZpb3VzIGVycm9ycyBvbiB0aGUgYWRkcmVzcyBjb250cm9sXHJcbiAgICBjb25zdCBhZGRyZXNzQ29udHJvbCA9IHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydhZGRyZXNzJ107XHJcbiAgXHJcbiAgICAvLyBHZXQgdGhlIGFkZHJlc3MgY29tcG9uZW50IHZhbHVlXHJcbiAgICBjb25zdCBhZGRyZXNzQ29tcFZhbHVlOiBBZGRyZXNzQ29tcG9uZW50TW9kZWwgPSBhZGRyZXNzQ29udHJvbC52YWx1ZTtcclxuICBcclxuICAgIC8vIExpc3Qgb2YgYWRkcmVzcyBmaWVsZHMgdG8gdmFsaWRhdGVcclxuICAgIGNvbnN0IGFkZHJlc3NGaWVsZHMgPSBbJ3N0cmVldEFkZHJlc3MnLCAnY2l0eScsICdzdGF0ZScsICd6aXAnLCAnY291bnRyeSddO1xyXG4gIFxyXG4gICAgbGV0IGhhc0Vycm9ycyA9IGZhbHNlO1xyXG4gIFxyXG4gICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZmllbGQgYW5kIHZhbGlkYXRlXHJcbiAgICBhZGRyZXNzRmllbGRzLmZvckVhY2goZmllbGQgPT4ge1xyXG4gICAgICBjb25zdCBmaWVsZFZhbHVlID0gYWRkcmVzc0NvbXBWYWx1ZT8uW2ZpZWxkXTtcclxuICBcclxuICAgICAgLy8gQ2hlY2sgaWYgdGhlIGZpZWxkIGlzIG1pc3Npbmcgb3IgZW1wdHlcclxuICAgICAgaWYgKCFmaWVsZFZhbHVlKSB7XHJcbiAgICAgICAgLy8gU2V0IHJlcXVpcmVkIGVycm9yIGlmIGZpZWxkIGlzIG1pc3NpbmdcclxuICAgICAgICB0aGlzLnNldEZpZWxkRXJyb3IoZmllbGQsIHRydWUpO1xyXG4gICAgICAgIGhhc0Vycm9ycyA9IHRydWU7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgLy8gQ2xlYXIgZXJyb3IgaWYgZmllbGQgaGFzIHZhbHVlXHJcbiAgICAgICAgdGhpcy5zZXRGaWVsZEVycm9yKGZpZWxkLCBmYWxzZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIFxyXG4gICAgLy8gSWYgdGhlcmUgYXJlIGVycm9ycyBpbiBhbnkgZmllbGQsIG1hcmsgdGhlIGFkZHJlc3MgY29udHJvbCBhcyBpbnZhbGlkXHJcbiAgICBpZiAoaGFzRXJyb3JzKSB7XHJcbiAgICAgIGFkZHJlc3NDb250cm9sLnNldEVycm9ycyh7IGFkZHJlc3NWYWxpZGF0aW9uRmxhZzogdHJ1ZSB9KTtcclxuICAgICAgaWYgKHRoaXMuZW1wbG95ZXJGb3JtRWxlbWVudCkge1xyXG4gICAgICAgIHRoaXMuZW1wbG95ZXJGb3JtRWxlbWVudC5uYXRpdmVFbGVtZW50LnNjcm9sbEludG9WaWV3KHsgYmVoYXZpb3I6ICdzbW9vdGgnLCBibG9jazogJ3N0YXJ0JyB9KTsgIC8vIEZvY3VzIHRoZSBlcnJvciBlbGVtZW50XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGFkZHJlc3NDb250cm9sLnNldEVycm9ycyhudWxsKTsgIC8vIENsZWFyIGVycm9yIGlmIGV2ZXJ5dGhpbmcgaXMgdmFsaWRcclxuICAgIH1cclxuICAgIC8vIFVwZGF0ZSB2YWxpZGl0eSBvZiB0aGUgZm9ybVxyXG4gICAgdGhpcy5hZGRFbXBsb3llckZvcm0udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gIFxyXG4gICAgLy8gU3VibWl0IGFkZHJlc3MxIGFuZCBhZGRyZXNzMiBpZiB0aGV5IGV4aXN0XHJcbiAgICBpZih0aGlzLmFkZHJlc3MxKXtcclxuICAgICAgdGhpcy5hZGRyZXNzMS5zdWJtaXQoKTtcclxuICAgIH1cclxuICAgIGlmKHRoaXMuYWRkcmVzczIpe1xyXG4gICAgICB0aGlzLmFkZHJlc3MyLnN1Ym1pdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgIC8vIEhlbHBlciBmdW5jdGlvbiB0byBzZXQgb3IgY2xlYXIgZXJyb3JzIGZvciBlYWNoIGFkZHJlc3MgZmllbGRcclxuICAgc2V0RmllbGRFcnJvcihmaWVsZDogc3RyaW5nLCBpc0Vycm9yOiBib29sZWFuKSB7XHJcbiAgICBjb25zdCBjb250cm9sID0gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2FkZHJlc3MnXS5nZXQoZmllbGQpO1xyXG4gICAgaWYgKGlzRXJyb3IpIHtcclxuICAgICAgY29udHJvbD8uc2V0RXJyb3JzKHsgcmVxdWlyZWQ6IHRydWUgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb250cm9sPy5zZXRFcnJvcnMobnVsbCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRGZWRXb3JrU3RhdGVWYWx1ZXMoZXZlbnQpe1xyXG4gICAgaWYoZXZlbnQudmFsdWUgIT09ICdVUycpe1xyXG4gICAgICB0aGlzLmZlZFdvcmtTdGF0ZS5zZXRWYWx1ZShudWxsKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGZpbHRlckpvYlRpbGVPclBvc2l0aW9uKGV2ZW50KSB7XHJcbiAgICB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmdldChgL2NsYWltcy1zZXJ2aWNlL2NsYWltL2pvYnRpdGxlL2AgKyBgJHtldmVudC5xdWVyeX1gKS5zdWJzY3JpYmUoXHJcbiAgICAgIHJlcyA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ3JlcycsIHJlcyk7XHJcbiAgICAgICAgdGhpcy5qb2JUaWxlT3JQb3NpdGlvbk9wdGlvbnMgPSByZXM7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZmlsdGVyRmVkSm9iVGlsZU9yUG9zaXRpb24oZXZlbnQpIHtcclxuICAgIHRoaXMudmFsaWRhdGlvblNlcnZpY2UuZ2V0KGAvY2xhaW1zLXNlcnZpY2UvY2xhaW0vam9idGl0bGUvYCArIGAke2V2ZW50LnF1ZXJ5fWApLnN1YnNjcmliZShcclxuICAgICAgcmVzID0+IHtcclxuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygncmVzJywgcmVzKTtcclxuICAgICAgICB0aGlzLmZlZEpvYlRpbGVPcHRpb25zID0gcmVzO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIGZpbHRlckRpc2NoYXJnZVJlYXNvbnMoZXZlbnQpIHtcclxuICAgIGxldCBmaWx0ZXJlZDogYW55W10gPSBbXTtcclxuICAgIGxldCBxdWVyeSA9IGV2ZW50LnF1ZXJ5O1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmRpc2NoYXJnZVJlYXNvbk9wdGlvbnNBbGwubGVuZ3RoOyBpKyspIHtcclxuICAgICAgbGV0IHNlcFJlYXNvbiA9IHRoaXMuZGlzY2hhcmdlUmVhc29uT3B0aW9uc0FsbFtpXTtcclxuICAgICAgaWYgKHNlcFJlYXNvbi50ZXh0LnRvTG93ZXJDYXNlKCkuaW5kZXhPZihxdWVyeS50b0xvd2VyQ2FzZSgpKSA9PSAwKSB7XHJcbiAgICAgICAgZmlsdGVyZWQucHVzaChzZXBSZWFzb24pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLmRpc2NoYXJnZVJlYXNvbk9wdGlvbnMgPSBmaWx0ZXJlZDtcclxuICB9XHJcblxyXG4gIGZpbHRlclZvbHVudGFyeVJlYXNvbihldmVudCkge1xyXG4gICAgbGV0IGZpbHRlcmVkOiBhbnlbXSA9IFtdO1xyXG4gICAgbGV0IHF1ZXJ5ID0gZXZlbnQucXVlcnk7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMudm9sUXVpdFJlYXNvbk9wdGlvbnNBbGwubGVuZ3RoOyBpKyspIHtcclxuICAgICAgbGV0IHNlcFJlYXNvbiA9IHRoaXMudm9sUXVpdFJlYXNvbk9wdGlvbnNBbGxbaV07XHJcbiAgICAgIGlmIChzZXBSZWFzb24udGV4dC50b0xvd2VyQ2FzZSgpLmluZGV4T2YocXVlcnkudG9Mb3dlckNhc2UoKSkgPT0gMCkge1xyXG4gICAgICAgIGZpbHRlcmVkLnB1c2goc2VwUmVhc29uKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy52b2xRdWl0UmVhc29uT3B0aW9ucyA9IGZpbHRlcmVkO1xyXG4gIH1cclxuXHJcbiAgdmFsaWRhdGUoZXZlbnQpIHtcclxuICAgIGlmKGV2ZW50LnRhcmdldD8udmFsdWUpe1xyXG4gICAgICB0aGlzLm1pbkRhdGUgPSBuZXcgRGF0ZShldmVudC50YXJnZXQudmFsdWUpO1xyXG4gICAgfSBlbHNlIGlmKCBldmVudCBpbnN0YW5jZW9mIERhdGUpe1xyXG4gICAgICB0aGlzLm1pbkRhdGUgPSBldmVudDtcclxuICAgIH1cclxuICAgIHRoaXMuZW5kRGF0ZS5zZXRWYWx1ZShudWxsKTtcclxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCd0aGlzLmJhc2VQZXJpb2RTdGFydERhdGUnLCB0aGlzLmJhc2VQZXJpb2RTdGFydERhdGUpICBcclxuICB9XHJcblxyXG53YWdlQXJyYXkocXRyV2FnZTpRdHJZZWFyRW1wbG95ZXJXYWdlTW9kZWwpOiBVbnR5cGVkRm9ybUdyb3VwIHtcclxuICByZXR1cm4gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XHJcbiAgICB3YWdlQW1vdW50OiBbcXRyV2FnZS53YWdlQW1vdW50IT1udWxsP3F0cldhZ2Uud2FnZUFtb3VudDpudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKCgodGhpcy5lbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJykgfHwgKHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycgJiYgcXRyV2FnZS5kaXNwbGF5Rm9yQWxsICYmIHRoaXMud29ya1N0YXRlLnZhbHVlICYmIHRoaXMud29ya1N0YXRlLnZhbHVlLnZhbHVlPT09dGhpcy5jdXJyZW50U3RhdGUpICkpKV0sXHJcbiAgICBxdWFydGVyOiBbcXRyV2FnZS5xdWFydGVyIT1udWxsP3F0cldhZ2UucXVhcnRlcjpudWxsXSxcclxuICAgIHllYXI6IFtxdHJXYWdlLnllYXIhPW51bGw/cXRyV2FnZS55ZWFyOm51bGxdLFxyXG4gICAgcXRyWWVhckRpc3BsYXlTdHJpbmc6IFtxdHJXYWdlLnF0clllYXJEaXNwbGF5U3RyaW5nIT1udWxsP3F0cldhZ2UucXRyWWVhckRpc3BsYXlTdHJpbmc6bnVsbF0sXHJcbiAgICBkaXNwbGF5T3JkZXI6IFtxdHJXYWdlLmRpc3BsYXlPcmRlciE9bnVsbD9xdHJXYWdlLmRpc3BsYXlPcmRlcjpudWxsXSxcclxuICAgIGRpc3BsYXlGb3JBbGw6IFtxdHJXYWdlLmRpc3BsYXlGb3JBbGwhPW51bGw/cXRyV2FnZS5kaXNwbGF5Rm9yQWxsOm51bGxdLFxyXG4gIH0pXHJcbn1cclxuXHJcbnNldFdhZ2VWYWxpZGF0aW9uKCkge1xyXG4gIHRoaXMudXRpbC5zZXRWYWxpZGF0aW9uKHRoaXMud2FnZUFtb3VudEFycmF5LCBBcHBWYWxpZGF0b3JzLmF0TGVhc3RPbmVOb25aZXJvVmFsdWVWYWxpZGF0b3IoMSwgJ3dhZ2VBbW91bnQnKSk7XHJcbiAgdGhpcy5sb2dnZXIuZGVidWcoJ3NldHRpbmcgdmFsaWRhdGlvbiBmb3IgZmVkIGVtcGxveWVyJyk7XHJcbn1cclxuXHJcbnJlbW92ZVdhZ2VWYWxpZGF0aW9uKCkge1xyXG4gIGlmKHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlICE9ICdGRUQnKXtcclxuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy53YWdlQW1vdW50QXJyYXkpO1xyXG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ3JlbW92aW5nIHZhbGlkYXRpb24gZm9yIGZlZCBlbXBsb3llcicpO1xyXG4gIH1cclxufVxyXG5cclxuICB2YWxpZGF0ZVdhZ2VzRGlzcGxheShldmVudCl7XHJcbiAgICBsZXQgYnBTdGFydERhdGU6IERhdGUgPSBuZXcgRGF0ZSh0aGlzLmJhc2VQZXJpb2RTdGFydERhdGUpO1xyXG4gICAgbGV0IGJwRW5kRGF0ZTogRGF0ZSA9IG5ldyBEYXRlKHRoaXMuYmFzZVBlcmlvZEVuZERhdGUpO1xyXG4gICAgbGV0IHN0YXJ0ZURhdGVWYWw6IERhdGUgPSBuZXcgRGF0ZSh0aGlzLnN0YXJ0RGF0ZS52YWx1ZSk7XHJcbiAgICBsZXQgZW5kRGF0ZVZhbDogRGF0ZSA9IG5ldyBEYXRlKHRoaXMuZW5kRGF0ZS52YWx1ZSk7XHJcbiAgICAvLyBsZXQgZW5kRGF0ZVZhbDogRGF0ZSA9IGV2ZW50LnRhcmdldD8udmFsdWUgPyBuZXcgRGF0ZShldmVudC50YXJnZXQudmFsdWUpIDogZXZlbnQ7XHJcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnYnBTdGFydERhdGUgJywgYnBTdGFydERhdGUsICdzdGFydGVEYXRlVmFsICcsIHN0YXJ0ZURhdGVWYWwpO1xyXG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ2VuZERhdGVWYWwgJywgZW5kRGF0ZVZhbCwgJ2JwRW5kRGF0ZSAnLCBicEVuZERhdGUpO1xyXG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ3N0YXJ0ZURhdGVWYWwgYmVmb3JlIGJwRW5kRGF0ZSAnLCBzdGFydGVEYXRlVmFsIDwgYnBFbmREYXRlKTtcclxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdlbmREYXRlVmFsIGFmdGVyIGJwU3RhcnREYXRlICcsIGVuZERhdGVWYWwgPiBicFN0YXJ0RGF0ZSk7XHJcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygndGhpcy53b3JrU3RhdGUgJywgdGhpcy53b3JrU3RhdGUpO1xyXG4gICAgaWYgKHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ1JFRycgJiYgdGhpcy53b3JrU3RhdGUudmFsdWUgJiYgdGhpcy53b3JrU3RhdGUudmFsdWUudmFsdWUgPT0gdGhpcy5jdXJyZW50U3RhdGUgJiYgdGhpcy5pc05ld0NsYWltKSB7XHJcbiAgICAgICAgaWYgKHN0YXJ0ZURhdGVWYWwuZ2V0VGltZSgpIDwgYnBFbmREYXRlLmdldFRpbWUoKSAmJiBlbmREYXRlVmFsLmdldFRpbWUoKT4gYnBTdGFydERhdGUuZ2V0VGltZSgpKSB7XHJcbiAgICAgICAgICB0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnNldFZhbHVlKHRydWUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnNldFZhbHVlKGZhbHNlKTtcclxuICAgICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnNldFZhbHVlKGZhbHNlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGZpbHRlckdyb3VwZWRSZWFzb24oZXZlbnQpIHtcclxuICAgIGxldCBxdWVyeSA9IGV2ZW50LnF1ZXJ5O1xyXG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ3F1ZXJ5JyxxdWVyeSk7XHJcbiAgICBsZXQgZmlsdGVyZWRHcm91cHMgPSBbXTtcclxuICAgIGlmKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwibGFuZ3VhZ2VcIikgPT09IFwiZXNcIil7XHJcbiAgICAgIHRoaXMuZ3JvdXBlZFJlYXNvbnM9IENvbWJvT3B0aW9uLkdST1VQX1JFQVNPTlNfRVM7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmdyb3VwZWRSZWFzb25zPSBDb21ib09wdGlvbi5HUk9VUF9SRUFTT05TO1xyXG4gICAgfVxyXG4gICAgZm9yIChsZXQgb3B0Z3JvdXAgb2YgdGhpcy5ncm91cGVkUmVhc29ucykge1xyXG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1Zygnb3B0Z3JvdXAuaXRlbXMnLG9wdGdyb3VwLml0ZW1zKTtcclxuICAgICAgbGV0IGZpbHRlcmVkU3ViT3B0aW9ucyA9IHRoaXMuZmlsdGVyU2VydmljZS5maWx0ZXIoXHJcbiAgICAgICAgb3B0Z3JvdXAuaXRlbXMsXHJcbiAgICAgICAgW1wibGFiZWxcIl0sXHJcbiAgICAgICAgcXVlcnksXHJcbiAgICAgICAgXCJjb250YWluc1wiXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdmaWx0ZXJlZFN1Yk9wdGlvbnMnLGZpbHRlcmVkU3ViT3B0aW9ucyk7XHJcbiAgICAgIGlmIChmaWx0ZXJlZFN1Yk9wdGlvbnMgJiYgZmlsdGVyZWRTdWJPcHRpb25zLmxlbmd0aCkge1xyXG4gICAgICAgIGZpbHRlcmVkR3JvdXBzLnB1c2goe1xyXG4gICAgICAgICAgbGFiZWw6IG9wdGdyb3VwLmxhYmVsLFxyXG4gICAgICAgICAgdmFsdWU6IG9wdGdyb3VwLnZhbHVlLFxyXG4gICAgICAgICAgaXRlbXM6IGZpbHRlcmVkU3ViT3B0aW9uc1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5ncm91cGVkUmVhc29ucyA9IGZpbHRlcmVkR3JvdXBzO1xyXG4gIH1cclxuXHJcbiAgb25DbGVhckFjdGlvbihldmVudCkge1xyXG4gICAgdGhpcy5vbkNoYW5nZShudWxsKTtcclxuICB9ICBcclxuICBcclxuXHJcbiAgZGF0ZUlucHV0KGV2ZW50KXtcclxuICAgIGxldCBjdXJyZW50VmFsdWUgOiBzdHJpbmcgPSBldmVudC5zcmNFbGVtZW50LnZhbHVlO1xyXG4gICAgaWYoY3VycmVudFZhbHVlKXtcclxuICAgICAgICBpZihjdXJyZW50VmFsdWUubGVuZ3RoID09IDIgJiYgY3VycmVudFZhbHVlLmNoYXJBdCgyKSAhPSAnLycpe1xyXG4gICAgICAgICAgICBldmVudC50YXJnZXQudmFsdWUgPSBjdXJyZW50VmFsdWUgKyBcIi9cIjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYoY3VycmVudFZhbHVlLmxlbmd0aCA9PSA1ICYmIGN1cnJlbnRWYWx1ZS5jaGFyQXQoNSkgIT0gJy8nKXtcclxuICAgICAgICAgICAgZXZlbnQudGFyZ2V0LnZhbHVlID0gY3VycmVudFZhbHVlICsgXCIvXCI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBnZXQgcmVxdWlyZWQoKXtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnY29tbW9uLnJlcXVpcmVkJyk7XHJcbiAgfVxyXG5cclxuICBnZXQgcmVxdWlyZWRLYW5zYXMoKXtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlcXVpcmVkLmthbnNhcycpO1xyXG4gIH1cclxufVxyXG5cclxuIiwiPHAtZGlhbG9nIHZpc2libGU9XCJ0cnVlXCIgcG9zaXRpb249XCJ0b3BcIiBhcHBlbmRUbz1cImJvZHlcIiBbc2hvd0hlYWRlcl09XCJmYWxzZVwiIFtkcmFnZ2FibGVdPVwiZmFsc2VcIlxyXG4gIFtyZXNpemFibGVdPVwiZmFsc2VcIiBbc3R5bGVdPVwie3dpZHRoOiAnNjB2dyd9XCJcclxuICBbYnJlYWtwb2ludHNdPVwieycxMjAwcHgnOiAnNjYwcHgnLCAnOTkycHgnOiAnNjYwcHgnLCAnNzY4cHgnOiAnNjYwcHgnLCAnNTc2cHgnOiAnMTAwdncnfVwiPlxyXG4gIDxoNCBzdHlsZT1cImNvbG9yOiB2YXIoLS1pb24tY29sb3ItZ3JleSk7IHBhZGRpbmctbGVmdDogMjBweDtcIj4ge3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQuaGVhZGluZ1wifHRyYW5zbGF0ZX19XHJcbiAgPC9oND5cclxuICA8Zm9ybSAjZW1wbG95ZXJGb3JtIFtmb3JtR3JvdXBdPVwiYWRkRW1wbG95ZXJGb3JtXCI+XHJcbiAgICA8aW9uLWdyaWQgKm5nSWY9XCJhZGRFbXBsb3llckZvcm0/LmNvbnRyb2xzXCI+IDwhLS1UbyBSZXZpZXctLT5cclxuICAgICAgPGlvbi1yb3c+XHJcbiAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tcGFkZGluZ1wiIHNpemU9XCIxMlwiIHNpemVTbT1cIjEyXCIgc2l6ZVhzPVwiMTJcIiBzaXplTWQ9XCI2XCIgc2l6ZUxnPVwiNlwiIHNpemVYbD1cIjZcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLWZsdWlkIHAtZm9ybWdyaWRcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJpc0Jhc2VQZXJpb2RFbXBsb3llclwiPlxyXG4gICAgICAgICAgICAgIHt7Y3VzdG9tZXJOYW1lfX1cclxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiYWxpYXNOYW1lICE9IG51bGxcIj5cclxuICAgICAgICAgICAgICAgIHt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LmRiYVwifHRyYW5zbGF0ZX19IHt7YWxpYXNOYW1lfX08L2Rpdj5cclxuICAgICAgICAgICAgICA8YnI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9XCJmb250LXNpemU6IDEycHg7XCI+IHt7bWFpbGluZ0FkZHJlc3NEaXNwbGF5fX1cclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImlzQ1NSXCI+XHJcbiAgICAgICAgICAgICAgICA8YnI+XHJcbiAgICAgICAgICAgICAgICB7e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5lbXBsb3llci53YWdlc1wifHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJpc0NTUlwiPlxyXG4gICAgICAgICAgICAgICAgPHAtdGFibGUgW3ZhbHVlXT1cImVtcGxveWVyUHJvdmlkZWRXYWdlc1wiIHN0eWxlQ2xhc3M9XCJwLWRhdGF0YWJsZS1zdHJpcGVkIGFwcC1kYXRhdGFibGUgaW9uLXBhZGRpbmctdG9wXCJcclxuICAgICAgICAgICAgICAgICAgW2NvbHVtbnNdPVwiZW1wbG95ZXJQcm92aWRlZFdhZ2VzXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIiBsZXQtY29sdW1ucz5cclxuICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8dGggKm5nRm9yPVwibGV0IGNvbCBvZiBjb2x1bW5zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxiPnt7IGNvbC5xdHJZZWFyRGlzcGxheVN0cmluZyB9fTwvYj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8dGQgKm5nRm9yPVwibGV0IGNvbCBvZiBjb2x1bW5zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7Y29sLndhZ2VBbW91bnQgfCBjdXJyZW5jeX19XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICA8L3AtdGFibGU+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJ3b3JrRmxhZz8udmFsdWUgPT0gJ1knXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LndvcmtmbGFnLm5vXCJ8dHJhbnNsYXRlfX08YnIgLz4gPGJyIC8+XHJcbiAgICAgICAgICAgICAgICB7e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC53b3JrZmxhZy5uby5saW5lMlwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgPC9kaXY+IFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cIiFpc0Jhc2VQZXJpb2RFbXBsb3llclwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJlbXBsb3llclR5cGVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmVtcGxveWVyLnR5cGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImlubGluZS1zaXplOiBpbmhlcml0O1wiPlxyXG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIGlucHV0SWQ9XCJlbXBsb3llclR5cGVcIiBbb3B0aW9uc109XCJlbXBsb3llclR5cGVPcHRpb25zXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJlbXBsb3llclR5cGVcIiBbY2xhc3MuZGlzYWJsZWRdPVwibm9FZGl0TW9kZVwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZW1wbG95ZXJUeXBlJyBbZXJyRGVmXT1cInsgICAgXHJcbiAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cIiFpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiBlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyAgXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInByZXZXb3JrZWRTdGF0ZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQud29yay5zdGF0ZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiaW5saW5lLXNpemU6IG1pbi1jb250ZW50O1wiPlxyXG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIGlucHV0SWQ9XCJwcmV2V29ya2VkU3RhdGVcIiBbb3B0aW9uc109XCJwcmV2V29ya2VkU3RhdGVPcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cInByZXZXb3JrZWRTdGF0ZVwiIG9wdGlvbkxhYmVsPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgIG9wdGlvblZhbHVlPVwidmFsdWVcIiBbY2xhc3MuZGlzYWJsZWRdPVwibm9FZGl0TW9kZVwiXHJcbiAgICAgICAgICAgICAgICAgIChvbk9wdGlvbkNsaWNrKT1cIm9uVG9nZ2xlQ2hhbmdlUHJldldvcmtlZFN0YXRlKCRldmVudClcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3ByZXZXb3JrZWRTdGF0ZScgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiIWlzQmFzZVBlcmlvZEVtcGxveWVyICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnICBcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZW1wbG95ZXJOYW1lXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5lbXBsb3llci5uYW1lXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJwcmV2V29ya2VkU3RhdGUudmFsdWU9PT0nS1MnOyBlbHNlIGVsc2VCbG9ja1wiPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1zZWFyY2gtZW1wbG95ZXIgaW5wdXRJZD1cImVtcGxveWVyTmFtZVwiIFtmb3JtQ29udHJvbF09XCJlbXBsb3llck5hbWVcIiBlbXBUeXBlPVwiUkVHXCIgKG9uRm91bmQpPVwic2V0RW1wbG95ZXIoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgIChvbkVtcHR5KT1cInJlc2V0RW1wbG95ZXIoJGV2ZW50KVwiPjwvYXBwLXNlYXJjaC1lbXBsb3llcj5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdlbXBsb3llck5hbWUnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZWxzZUJsb2NrPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cImVtcGxveWVyTmFtZVwiIHR5cGU9XCJpbnB1dFwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sXT1cIm90aFN0YXRlRW1wTmFtZVwiIG1heGxlbmd0aD1cIjUwXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdvdGhTdGF0ZUVtcE5hbWUnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgc3R5bGU9XCJ3aWR0aDogaW5oZXJpdCAhaW1wb3J0YW50O1wiICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCdcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZmVkRW1wbG95ZXJOYW1lXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5lbXBsb3llci5mZWQubmFtZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8YXBwLXNlYXJjaC1lbXBsb3llciBbZm9ybUNvbnRyb2xdPVwiZmVkRW1wbG95ZXJOYW1lXCIgZW1wVHlwZT1cIkZFRFwiIChvbkZvdW5kKT1cInNldEZlZEVtcGxveWVyKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgKG9uRW1wdHkpPVwicmVzZXRGZWRFbXBsb3llcigkZXZlbnQpXCI+PC9hcHAtc2VhcmNoLWVtcGxveWVyPlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdmZWRFbXBsb3llck5hbWUnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdNSUwnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGlkPVwic2VydmljZUJyYW5jaC1sYWJlbFwiIGZvcj1cInNlcnZpY2VCcmFuY2hcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5zZXJ2aWNlLmJyYW5jaFwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8cC1kcm9wZG93biBbb3B0aW9uc109XCJtaWxpdGFyeVNlcnZpY2VPcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cInNlcnZpY2VCcmFuY2hcIiBvcHRpb25MYWJlbD1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgYXBwZW5kVG89XCJib2R5XCIgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiBpbnB1dElkPVwic2VydmljZUJyYW5jaFwiPjwvcC1kcm9wZG93bj5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nc2VydmljZUJyYW5jaCcgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J01JTCdcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgaWQ9XCJtaWwtc3RhdGUtbGFiZWxcIiBmb3I9XCJtaWwtc3RhdGVcIj5cclxuICAgICAgICAgICAgICAgIHt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucGh5c2ljYWwubG9jYXRpb25cInx0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPHAtZHJvcGRvd24gW2Zvcm1Db250cm9sXT1cIm1pbFN0YXRlXCIgW29wdGlvbnNdPVwic3RhdGVzT3B0aW9uc1wiIG9wdGlvbkxhYmVsPVwidGV4dFwiIGlucHV0SWQ9XCJtaWwtc3RhdGVcIiBhcHBlbmRUbz1cImJvZHlcIj5cclxuXHJcbiAgICAgICAgICAgICAgPC9wLWRyb3Bkb3duPlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgY2xhc3M9XCJhcHAtZ3JpZFwiIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtmaWVsZF09XCJtaWxTdGF0ZVwiIFtlcnJEZWZdPVwie1xyXG4gICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWRLYW5zYXM6IHJlcXVpcmVkS2Fuc2FzXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nTUlMJ1wiPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZzogMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJzdGFydERhdGVNaWxcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5zdGFydGRhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxwLWNhbGVuZGFyIGljb25BcmlhTGFiZWw9XCJzdGFydERhdGVNaWxcIiBbc2hvd0ljb25dPVwidHJ1ZVwiIGlucHV0SWQ9XCJzdGFydERhdGVNaWxcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJzdGFydERhdGVNaWxcIiBbbWF4RGF0ZV09XCJkYXRlVGltZVwiIFt5ZWFyTmF2aWdhdG9yXT1cInRydWVcIiB5ZWFyUmFuZ2U9XCIxOTAxOjIwNTBcIlxyXG4gICAgICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiIGRhdGVGb3JtYXQ9XCJtbS9kZC95eVwiIHBsYWNlaG9sZGVyPVwibW0vZGQveXl5eVwiIChvbkJsdXIpPVwidmFsaWRhdGUoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKG9uU2VsZWN0KT1cInZhbGlkYXRlKCRldmVudClcIiBkYXRhVHlwZT1cInN0cmluZ1wiIFtzaG93T25Gb2N1c109XCJmYWxzZVwiIChvbklucHV0KT1cImRhdGVJbnB1dCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICBbbWluRGF0ZV09XCJtaW5Xb3JrU3RhcnREYXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvcC1jYWxlbmRhcj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3N0YXJ0RGF0ZU1pbCcgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZFxyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc2l6ZT1cIjFcIj48L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImVuZERhdGVNaWxcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5lbmRkYXRlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBpY29uQXJpYUxhYmVsPVwiZW5kRGF0ZU1pbFwiIFtzaG93SWNvbl09XCJ0cnVlXCIgaW5wdXRJZD1cImVuZERhdGVNaWxcIiBbbWF4RGF0ZV09XCJkYXRlVGltZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW21pbkRhdGVdPVwibWluRGF0ZVwiIGRhdGVGb3JtYXQ9XCJtbS9kZC95eVwiIHBsYWNlaG9sZGVyPVwibW0vZGQveXl5eVwiIFt5ZWFyTmF2aWdhdG9yXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiIHllYXJSYW5nZT1cIjE5MDE6MjA1MFwiIGRhdGFUeXBlPVwic3RyaW5nXCIgW2Zvcm1Db250cm9sXT1cImVuZERhdGVNaWxcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtzaG93T25Gb2N1c109XCJmYWxzZVwiIChvbklucHV0KT1cImRhdGVJbnB1dCgkZXZlbnQpXCI+PC9wLWNhbGVuZGFyPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZW5kRGF0ZU1pbCcgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZFxyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJyAmJiBoaWRlRmljQ29kZVwiPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZzogMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJmaWNDb2RlXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQuZmljLmNvZGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cImZpY0NvZGVcIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJmaWNDb2RlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2ZpY0NvZGUnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWRcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHNpemU9XCIxXCI+PC9pb24tY29sPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZzogMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJmaWNEZXN0aW5hdGlvbk5hbWVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC5maWMuZGVzdGluYXRpb25cInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cImZpY0Rlc3RpbmF0aW9uTmFtZVwiIHR5cGU9XCJpbnB1dFwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sXT1cImZpY0Rlc3RpbmF0aW9uTmFtZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdmaWNEZXN0aW5hdGlvbk5hbWUnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnICYmICFpc0Jhc2VQZXJpb2RFbXBsb3llclwiPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZy1sZWZ0OiAwcHg7IHBhZGRpbmctcmlnaHQ6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxhcHAtYWRkcmVzcyAjYWRkcmVzczEgW2Zvcm1Db250cm9sXT1cImFkZHJlc3NcIiBbY291bnR5UmVxdWlyZWRdPVwiZmFsc2VcIiBbZnJvbVBvcHVwXT1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgIDwvYXBwLWFkZHJlc3M+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCdcIj5cclxuICAgICAgICAgICAgICA8YXBwLWFkZHJlc3MgcmVhZG9ubHk9XCJ0cnVlXCIgI2FkZHJlc3MyIFtmb3JtQ29udHJvbF09XCJhZGRyZXNzXCIgW2NvdW50eVJlcXVpcmVkXT1cImZhbHNlXCIgW2Zyb21Qb3B1cF09XCJ0cnVlXCI+IDwvYXBwLWFkZHJlc3M+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09XCJhZGRyZXNzXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8bWF0LWVycm9yIGNsYXNzPVwiYXBwLWdyaWRcIiAqbmdJZj1cImFkZHJlc3M/LmVycm9ycz8uYWRkcmVzc1ZhbGlkYXRpb25GbGFnICYmIGlzRm9ybVN1Ym1pdHRlZC5zdWJtaXR0ZWRcIj5cclxuICAgICAgICAgICAgICAgIHt7XCJjb21tb24udmFsaWQuYWRkcmVzc1wifHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnICYmICFpc0Jhc2VQZXJpb2RFbXBsb3llclwiPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZzogMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ3b3JrQ2l0eVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQud29yay5sb2NhdGlvbi5jaXR5XCJ8dHJhbnNsYXRlfX0gPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPVwid29ya0NpdHlcIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJ3b3JrQ2l0eVwiIG1heGxlbmd0aD1cIjMwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3dvcmtDaXR5JyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc2l6ZT1cIjFcIj48L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGlkPVwid29ya1N0YXRlLWxhYmVsXCIgZm9yPVwid29ya1N0YXRlXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC53b3JrLmxvY2F0aW9uLnN0YXRlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1kcm9wZG93biBbb3B0aW9uc109XCJwcmV2V29ya2VkU3RhdGUudmFsdWU9PT0nS1MnP3N0YXRlc09wdGlvbnM6bm9uS1NTdGF0ZXNPcHRpb25zXCJcclxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwid29ya1N0YXRlXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgYXBwZW5kVG89XCJib2R5XCIgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgIGlucHV0SWQ9XCJ3b3JrU3RhdGVcIiAob25DaGFuZ2UpPVwidmFsaWRhdGVXYWdlc0Rpc3BsYXkoJGV2ZW50KVwiPjwvcC1kcm9wZG93bj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3dvcmtTdGF0ZScgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCdcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgaWQ9XCJmZWRXb3JrQ291bnRyeS1sYWJlbFwiIGZvcj1cImZlZFdvcmtDb3VudHJ5XCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQud29yay5sb2NhdGlvbi5jb3VudHJ5XCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxwLWRyb3Bkb3duIFtvcHRpb25zXT1cIndvcmtDb3VudHJ5T3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJmZWRXb3JrQ291bnRyeVwiIG9wdGlvbkxhYmVsPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIiBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIGlucHV0SWQ9XCJmZWRXb3JrQ291bnRyeVwiPjwvcC1kcm9wZG93bj5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZmVkV29ya0NvdW50cnknIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImZlZFdvcmtDaXR5XCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC53b3JrLmxvY2F0aW9uLmNpdHlcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cImZlZFdvcmtDaXR5XCIgdHlwZT1cImlucHV0XCIgcElucHV0VGV4dCBbZm9ybUNvbnRyb2xdPVwiZmVkV29ya0NpdHlcIiBtYXhsZW5ndGg9XCIzMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdmZWRXb3JrQ2l0eScgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHNpemU9XCIxXCI+PC9pb24tY29sPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZzogMHB4O1wiICpuZ0lmPVwic2hvd1dvcmtTdGF0ZSA9PT0gdHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBpZD1cImZlZFdvcmtTdGF0ZS1sYWJlbFwiIGZvcj1cImZlZFdvcmtTdGF0ZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQud29yay5sb2NhdGlvbi5zdGF0ZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtZHJvcGRvd24gW29wdGlvbnNdPVwic3RhdGVzT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJmZWRXb3JrU3RhdGVcIiBvcHRpb25MYWJlbD1cInRleHRcIiBhcHBlbmRUbz1cImJvZHlcIlxyXG4gICAgICAgICAgICAgICAgICAgIFthdXRvRGlzcGxheUZpcnN0XT1cImZhbHNlXCIgaW5wdXRJZD1cImZlZFdvcmtTdGF0ZVwiPjwvcC1kcm9wZG93bj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2ZlZFdvcmtTdGF0ZScgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCdcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwic3RhcnREYXRlRmVkXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQuc3RhcnRkYXRlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBpY29uQXJpYUxhYmVsPVwic3RhcnREYXRlRmVkXCIgW3Nob3dJY29uXT1cInRydWVcIiBbbWF4RGF0ZV09XCJkYXRlVGltZVwiIGlucHV0SWQ9XCJzdGFydERhdGVGZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJzdGFydERhdGVGZWRcIiBbeWVhck5hdmlnYXRvcl09XCJ0cnVlXCIgeWVhclJhbmdlPVwiMTkwMToyMDUwXCIgYXBwZW5kVG89XCJib2R5XCJcclxuICAgICAgICAgICAgICAgICAgICBkYXRlRm9ybWF0PVwibW0vZGQveXlcIiBwbGFjZWhvbGRlcj1cIm1tL2RkL3l5eXlcIiAob25CbHVyKT1cInZhbGlkYXRlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIChvblNlbGVjdCk9XCJ2YWxpZGF0ZSgkZXZlbnQpXCIgZGF0YVR5cGU9XCJzdHJpbmdcIiBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW21pbkRhdGVdPVwibWluV29ya1N0YXJ0RGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L3AtY2FsZW5kYXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdzdGFydERhdGVGZWQnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzaXplPVwiMVwiPjwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZW5kRGF0ZUZlZFwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLmVuZGRhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxwLWNhbGVuZGFyIGljb25BcmlhTGFiZWw9XCJlbmREYXRlRmVkXCIgW3Nob3dJY29uXT1cInRydWVcIiBpbnB1dElkPVwiZW5kRGF0ZUZlZFwiIFttYXhEYXRlXT1cImRhdGVUaW1lXCJcclxuICAgICAgICAgICAgICAgICAgICBbbWluRGF0ZV09XCJtaW5EYXRlXCIgZGF0ZUZvcm1hdD1cIm1tL2RkL3l5XCIgcGxhY2Vob2xkZXI9XCJtbS9kZC95eXl5XCIgW3llYXJOYXZpZ2F0b3JdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgYXBwZW5kVG89XCJib2R5XCIgeWVhclJhbmdlPVwiMTkwMToyMDUwXCIgZGF0YVR5cGU9XCJzdHJpbmdcIiBbZm9ybUNvbnRyb2xdPVwiZW5kRGF0ZUZlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3Nob3dPbkZvY3VzXT1cImZhbHNlXCIgKG9uSW5wdXQpPVwiZGF0ZUlucHV0KCRldmVudClcIj48L3AtY2FsZW5kYXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdlbmREYXRlRmVkJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCdcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZmVkSm9iVGlsZU9yUG9zaXRpb25cIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC5qb2J0aXRsZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJmZWRKb2JUaWxlT3JQb3NpdGlvblwiIHR5cGU9XCJpbnB1dFwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sXT1cImZlZEpvYlRpbGVPclBvc2l0aW9uXCJcclxuICAgICAgICAgICAgICAgIG1heGxlbmd0aD1cIjEwMFwiIC8+XHJcbiAgICAgICAgICAgICAgPCEtLSAgPHAtYXV0b0NvbXBsZXRlIFtmb3JtQ29udHJvbF09XCJmZWRKb2JUaWxlT3JQb3NpdGlvblwiIFtzdWdnZXN0aW9uc109XCJmZWRKb2JUaWxlT3B0aW9uc1wiIFxyXG4gICAgICAgICAgICAgICAgKGNvbXBsZXRlTWV0aG9kKT1cImZpbHRlckZlZEpvYlRpbGVPclBvc2l0aW9uKCRldmVudClcIiBmaWVsZD1cImpvYlRpdGxlXCIgW2Ryb3Bkb3duXT1cImZhbHNlXCIgXHJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlN0YXJ0Li4uIHR5cGluZyBqb2IgdGl0bGVcIiBtaW5MZW5ndGg9MyBmb3JjZVNlbGVjdGlvbj1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtdmFsdWUgcFRlbXBsYXRlPVwiaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXY+e3t2YWx1ZS5qb2JUaXRsZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICA8L3AtYXV0b0NvbXBsZXRlPiAtLT5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZmVkSm9iVGlsZU9yUG9zaXRpb24nIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInNmRWlnaHRmbGFnXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQuc2ZlaWdodFwifHRyYW5zbGF0ZX19IDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImlubGluZS1zaXplOiBtaW4tY29udGVudDtcIj5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBpbnB1dElkPVwic2ZFaWdodGZsYWdcIiB1bnNlbGVjdGFibGU9XCJ0cnVlXCIgW29wdGlvbnNdPVwicmFkaW9PcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cInNmRWlnaHRmbGFnXCJcclxuICAgICAgICAgICAgICAgICAgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3NmRWlnaHRmbGFnJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJ1wiPlxyXG5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwic3RhcnREYXRlXCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQuc3RhcnRkYXRlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBpY29uQXJpYUxhYmVsPVwic3RhcnREYXRlXCIgW3Nob3dJY29uXT1cInRydWVcIiBpbnB1dElkPVwic3RhcnREYXRlXCIgW21heERhdGVdPVwiZGF0ZVRpbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJzdGFydERhdGVcIiBbeWVhck5hdmlnYXRvcl09XCJ0cnVlXCIgeWVhclJhbmdlPVwiMTkwMToyMDUwXCIgW21pbkRhdGVdPVwibWluV29ya1N0YXJ0RGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgYXBwZW5kVG89XCJib2R5XCIgZGF0ZUZvcm1hdD1cIm1tL2RkL3l5XCIgcGxhY2Vob2xkZXI9XCJtbS9kZC95eXl5XCIgKG9uQmx1cik9XCJ2YWxpZGF0ZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAob25TZWxlY3QpPVwidmFsaWRhdGUoJGV2ZW50KVwiIGRhdGFUeXBlPVwic3RyaW5nXCIgW3Nob3dPbkZvY3VzXT1cImZhbHNlXCIgKG9uSW5wdXQpPVwiZGF0ZUlucHV0KCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgICAgPC9wLWNhbGVuZGFyPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nc3RhcnREYXRlJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc2l6ZT1cIjFcIj48L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImVuZERhdGVcIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5lbmRkYXRlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBpY29uQXJpYUxhYmVsPVwiZW5kRGF0ZVwiIFtzaG93SWNvbl09XCJ0cnVlXCIgaW5wdXRJZD1cImVuZERhdGVcIiBbbWluRGF0ZV09XCJtaW5EYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICBbbWF4RGF0ZV09XCJkYXRlVGltZVwiIGRhdGVGb3JtYXQ9XCJtbS9kZC95eVwiIHBsYWNlaG9sZGVyPVwibW0vZGQveXl5eVwiIFt5ZWFyTmF2aWdhdG9yXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiIHllYXJSYW5nZT1cIjE5MDE6MjA1MFwiIGRhdGFUeXBlPVwic3RyaW5nXCIgW2Zvcm1Db250cm9sXT1cImVuZERhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIChvbkJsdXIpPVwidmFsaWRhdGVXYWdlc0Rpc3BsYXkoJGV2ZW50KVwiIFtzaG93T25Gb2N1c109XCJmYWxzZVwiIChvbklucHV0KT1cImRhdGVJbnB1dCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAob25TZWxlY3QpPVwidmFsaWRhdGVXYWdlc0Rpc3BsYXkoJGV2ZW50KVwiPjwvcC1jYWxlbmRhcj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2VuZERhdGUnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJkaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZSAmJiAhaXNCYXNlUGVyaW9kRW1wbG95ZXIgICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnXCI+ICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgPCEtLSA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwibnVtYmVyRW1wbG95ZWRcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlZy5lbXBsb3llZXMubm9cIiB8IHRyYW5zbGF0ZX19IDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxwLWlucHV0TnVtYmVyIFtpZF09XCJudW1iZXJFbXBsb3llZFwiIFt1c2VHcm91cGluZ109XCJmYWxzZVwiIFtmb3JtQ29udHJvbF09XCJudW1iZXJFbXBsb3llZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgbWF4bGVuZ3RoPVwiOVwiPjwvcC1pbnB1dE51bWJlcj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J251bWJlckVtcGxveWVkJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc2l6ZT1cIjFcIj48L2lvbi1jb2w+IC0tPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZzogMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ3b3JrVHlwZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLndvcmsudHlwZVwiIHwgdHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJ3b3JrVHlwZVwiIHR5cGU9XCJpbnB1dFwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sXT1cIndvcmtUeXBlXCIgbWF4bGVuZ3RoPVwiNTBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nd29ya1R5cGUnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCdcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiY2xhaW1hbnRFbXBsb3llZFdpdGhFbXByXCI+V2VyZSB5b3UgZW1wbG95ZWQgd2hpbGUgYSBzcG91c2Ugb2YgYSBVUyBtaWxpdGFyeSBtZW1iZXIgc3RhdGlvbmVkIGF0XHJcbiAgICAgICAgICAgICAgICBhIGZvcmVpZ24gbWlsaXRhcnkgYmFzZT88L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWluLWNvbnRlbnQ7XCI+XHJcbiAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gdW5zZWxlY3RhYmxlPVwidHJ1ZVwiIFtvcHRpb25zXT1cInllc05vTmFPcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cImNsYWltYW50RW1wbG95ZWRXaXRoRW1wclwiIG9wdGlvbkxhYmVsPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2NsYWltYW50RW1wbG95ZWRXaXRoRW1wcicgICAgICAgICAgICAgICAgICAgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInBlcmZvcm1lZFNlcnZpY2VcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC5jaXZpbGlhbi53b3JrXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWluLWNvbnRlbnQ7XCI+XHJcbiAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gaW5wdXRJZD1cInBlcmZvcm1lZFNlcnZpY2VcIiB1bnNlbGVjdGFibGU9XCJ0cnVlXCIgW29wdGlvbnNdPVwicmFkaW9PcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cInBlcmZvcm1lZFNlcnZpY2VcIlxyXG4gICAgICAgICAgICAgICAgICBvcHRpb25MYWJlbD1cInRleHRcIiBvcHRpb25WYWx1ZT1cInZhbHVlXCI+PC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdwZXJmb3JtZWRTZXJ2aWNlJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJqb2JUaWxlT3JQb3NpdGlvblwiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LmpvYnRpdGxlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxpbnB1dCBpZD1cImpvYlRpbGVPclBvc2l0aW9uXCIgdHlwZT1cImlucHV0XCIgcElucHV0VGV4dCBbZm9ybUNvbnRyb2xdPVwiam9iVGlsZU9yUG9zaXRpb25cIiBtYXhsZW5ndGg9XCIxMDBcIiAvPlxyXG4gICAgICAgICAgICAgIDwhLS0gPHAtYXV0b0NvbXBsZXRlIFtmb3JtQ29udHJvbF09XCJqb2JUaWxlT3JQb3NpdGlvblwiIFtzdWdnZXN0aW9uc109XCJqb2JUaWxlT3JQb3NpdGlvbk9wdGlvbnNcIiBcclxuICAgICAgICAgICAgICAgIChjb21wbGV0ZU1ldGhvZCk9XCJmaWx0ZXJKb2JUaWxlT3JQb3NpdGlvbigkZXZlbnQpXCIgZmllbGQ9XCJqb2JUaXRsZVwiIChvbkNsZWFyKT1cIm9uQ2xlYXJBY3Rpb24oJGV2ZW50KVwiIFxyXG4gICAgICAgICAgICAgICAgIFtkcm9wZG93bl09XCJmYWxzZVwiIHBsYWNlaG9sZGVyPVwiU3RhcnQuLi4gdHlwaW5nIGpvYiB0aXRsZVwiIG1pbkxlbmd0aD0zIGZvcmNlU2VsZWN0aW9uPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC12YWx1ZSBwVGVtcGxhdGU9XCJpdGVtXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdj57e3ZhbHVlLmpvYlRpdGxlfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgIDwvcC1hdXRvQ29tcGxldGU+IC0tPlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdqb2JUaWxlT3JQb3NpdGlvbicgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycgJiYgaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgd29ya0ZsYWcudmFsdWU9PT0nWSdcIj5cclxuICAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nLXJpZ2h0OjVweDsgcGFkZGluZy1sZWZ0OiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInBheVJhdGVcIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5wYXlyYXRlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1pbnB1dE51bWJlciBpbnB1dElkPVwicGF5UmF0ZVwiIFtmb3JtQ29udHJvbF09XCJwYXlSYXRlXCIgbW9kZT1cImN1cnJlbmN5XCIgY3VycmVuY3k9XCJVU0RcIiBbbWF4XT1cIjk5OTk5OS45OVwiIG1heGxlbmd0aD1cIjEyXCJcclxuICAgICAgICAgICAgICAgICAgICBsb2NhbGU9XCJlbi1VU1wiPjwvcC1pbnB1dE51bWJlcj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3BheVJhdGUnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmctcmlnaHQ6NXB4OyBwYWRkaW5nLWxlZnQ6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgaWQ9XCJwYXlSYXRlRnJlcXVlbmN5LWxhYmVsXCIgZm9yPVwicGF5UmF0ZUZyZXF1ZW5jeVwiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LnBlclwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtZHJvcGRvd24gW29wdGlvbnNdPVwicGF5UmF0ZU9wdGlvbnNcIiBbZm9ybUNvbnRyb2xdPVwicGF5UmF0ZUZyZXF1ZW5jeVwiIG9wdGlvbkxhYmVsPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgYXBwZW5kVG89XCJib2R5XCIgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiBpbnB1dElkPVwicGF5UmF0ZUZyZXF1ZW5jeVwiPjwvcC1kcm9wZG93bj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3BheVJhdGVGcmVxdWVuY3knIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImVtcGxveWVyVGVsZXBob25lTnVtYmVyXCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQuZW1wbG95ZXIucGhvbmVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgIDxwLWlucHV0TWFzayBtYXNrPVwiOTk5LTk5OS05OTk5XCIgaW5wdXRJZD1cImVtcGxveWVyVGVsZXBob25lTnVtYmVyXCIgW2Zvcm1Db250cm9sXT1cImVtcGxveWVyVGVsZXBob25lTnVtYmVyXCJcclxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiOTk5LTk5OS05OTk5XCI+PC9wLWlucHV0TWFzaz5cclxuXHJcblxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdlbXBsb3llclRlbGVwaG9uZU51bWJlcicgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT0nUkVHJyB8fCBlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBpZD1cInJlYXNvblNlcGFyYXRpb24tbGFiZWxcIiBmb3I9XCJyZWFzb25TZXBhcmF0aW9uXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJ1wiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LnJlYXNvbi5zZXBhcmF0aW9uXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBpZD1cInJlYXNvblNlcGFyYXRpb24tbGFiZWxcIiBmb3I9XCJyZWFzb25TZXBhcmF0aW9uXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJ1wiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLnJlYXNvbi5zZXBhcmF0aW9uXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxwLWRyb3Bkb3duIFtvcHRpb25zXT1cImVtcGxveW1lbnRTdGF0dXNPcHRpb25zQWxsXCIgW2Zvcm1Db250cm9sXT1cInJlYXNvblNlcGFyYXRpb25cIiBvcHRpb25MYWJlbD1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgYXBwZW5kVG89XCJib2R5XCIgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiBpbnB1dElkPVwicmVhc29uU2VwYXJhdGlvblwiPjwvcC1kcm9wZG93bj5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0ncmVhc29uU2VwYXJhdGlvbicgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwhLS0gYWRkIGZvciBxdWl0IGFuZCBkaXNjaGFyZ2UgLS0+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwicmVhc29uU2VwYXJhdGlvbi52YWx1ZT8udmFsdWUgPT09ICdEQ0ZJJyBcclxuICAgICAgICAgICAgICAgICYmIGVtcGxveWVyVHlwZS52YWx1ZSE9J01JTCdcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgaWQ9XCJkaXNjaGFyZ2VEZXRhaWwtbGFiZWxcIiBmb3I9XCJkaXNjaGFyZ2VEZXRhaWxcIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5yZWFzb24uc2VwYXJhdGlvbi5kaXNjaGFyZ2VcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPHAtZHJvcGRvd24gW29wdGlvbnNdPVwiZGlzY2hhcmdlUmVhc29uT3B0aW9uc0FsbFwiIFtmb3JtQ29udHJvbF09XCJkaXNjaGFyZ2VEZXRhaWxcIiBvcHRpb25MYWJlbD1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgYXBwZW5kVG89XCJib2R5XCIgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiBpbnB1dElkPVwiZGlzY2hhcmdlRGV0YWlsXCI+PC9wLWRyb3Bkb3duPlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdkaXNjaGFyZ2VEZXRhaWwnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cInJlYXNvblNlcGFyYXRpb24udmFsdWU/LnZhbHVlID09PSAnVk9MUScgXHJcbiAgICAgICAgICAgICAgJiYgZW1wbG95ZXJUeXBlLnZhbHVlIT0nTUlMJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBpZD1cInZvbFF1aXREZXRhaWxzLWxhYmVsXCIgZm9yPVwidm9sUXVpdERldGFpbHNcIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5yZWFzb24uc2VwYXJhdGlvbi5xdWl0XCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxwLWRyb3Bkb3duIFtvcHRpb25zXT1cInZvbFF1aXRSZWFzb25PcHRpb25zQWxsXCIgW2Zvcm1Db250cm9sXT1cInZvbFF1aXREZXRhaWxzXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiIFthdXRvRGlzcGxheUZpcnN0XT1cImZhbHNlXCIgaW5wdXRJZD1cInZvbFF1aXREZXRhaWxzXCI+PC9wLWRyb3Bkb3duPlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSd2b2xRdWl0RGV0YWlscycgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J01JTCcgXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIm1pbFBlbnNpb25GbGFnXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwucGVuc2lvblwifHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICAgICAgICA8YnI+IHt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQubWlsLnBlbnNpb24uZGlzY2xhaW1lclwifHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiaW5saW5lLXNpemU6IG1pbi1jb250ZW50O1wiPlxyXG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIGlucHV0SWQ9XCJtaWxQZW5zaW9uRmxhZ1wiIHVuc2VsZWN0YWJsZT1cInRydWVcIiBbb3B0aW9uc109XCJyYWRpb09wdGlvbnNcIiBbZm9ybUNvbnRyb2xdPVwibWlsUGVuc2lvbkZsYWdcIlxyXG4gICAgICAgICAgICAgICAgICBvcHRpb25MYWJlbD1cInRleHRcIiBvcHRpb25WYWx1ZT1cInZhbHVlXCI+PC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdtaWxQZW5zaW9uRmxhZycgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nTUlMJyAmJiB0aGlzLm1pbFBlbnNpb25GbGFnLnZhbHVlID09PSAnWScgJiYgdGhpcy5jdXJyZW50U3RhdGUgIT0gJ01FJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJtaWxQZW5zaW9uUmVjdkRhdGVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5wZW5zaW9uLmRhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgIDxwLWNhbGVuZGFyIFtzaG93SWNvbl09XCJ0cnVlXCIgaW5wdXRJZD1cIm1pbFBlbnNpb25SZWN2RGF0ZVwiIFtmb3JtQ29udHJvbF09XCJtaWxQZW5zaW9uUmVjdkRhdGVcIlxyXG4gICAgICAgICAgICAgICAgICBbeWVhck5hdmlnYXRvcl09XCJ0cnVlXCIgYXBwZW5kVG89XCJib2R5XCIgeWVhclJhbmdlPVwiMTkwMToyMDUwXCIgZGF0ZUZvcm1hdD1cIm1tL2RkL3l5XCJcclxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJtbS9kZC95eXl5XCIgZGF0YVR5cGU9XCJzdHJpbmdcIiBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgPC9wLWNhbGVuZGFyPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J21pbFBlbnNpb25SZWN2RGF0ZScgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nTUlMJyBcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZGQyMTRGbGFnXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwuZGQyMTRcInx0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+PGJyPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWluLWNvbnRlbnQ7IGRpc3BsYXk6IGlubGluZS1mbGV4O1wiPlxyXG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIGlucHV0SWQ9XCJkZDIxNEZsYWdcIiB1bnNlbGVjdGFibGU9XCJ0cnVlXCIgW29wdGlvbnNdPVwicmFkaW9PcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cImRkMjE0RmxhZ1wiXHJcbiAgICAgICAgICAgICAgICAgIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1vdmVybGF5LWluZm8gW292ZXJsYXlUZXh0XT1cImRkMjE0SW5mb1wiPjwvYXBwLW92ZXJsYXktaW5mbz5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdkZDIxNEZsYWcnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi1wYWRkaW5nXCIgc2l6ZT1cIjEyXCIgc2l6ZVNtPVwiMTJcIiBzaXplWHM9XCIxMlwiIHNpemVNZD1cIjZcIiBzaXplTGc9XCI2XCIgc2l6ZVhsPVwiNlwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInAtZmx1aWQgcC1mb3JtZ3JpZFwiPlxyXG5cclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCIhaXNCYXNlUGVyaW9kRW1wbG95ZXJcIiBjbGFzcz1cImlvbi1oaWRlLXNtLWRvd25cIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cIiFpc0Jhc2VQZXJpb2RFbXBsb3llclwiIGNsYXNzPVwiaW9uLWhpZGUtc20tZG93blwiPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiIWlzQmFzZVBlcmlvZEVtcGxveWVyXCIgY2xhc3M9XCJpb24taGlkZS1zbS1kb3duXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj48L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJpc0Jhc2VQZXJpb2RFbXBsb3llclwiIGNsYXNzPVwiaW9uLWhpZGUtc20tZG93blwiPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiaXNCYXNlUGVyaW9kRW1wbG95ZXJcIiBjbGFzcz1cImlvbi1oaWRlLXNtLWRvd25cIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdNSUwnICYmIGRkMjE0RmxhZy52YWx1ZT09PSdZJ1wiPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwiYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJwYXJhT25lIHwgdHJhbnNsYXRlXCI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwhLS0gPGFwcC1maWxlLXVwbG9hZGVyIFtmb3JtQ29udHJvbF09XCJkZDIxNEZpbGVcIiBbdXBsb2FkZWRGaWxlRm9yRWRpdF09XCJkZDIxNEZpbGUudmFsdWVcIj48L2FwcC1maWxlLXVwbG9hZGVyPiAtLT5cclxuICAgICAgICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwocGFyYVR3byB8IHRyYW5zbGF0ZSlcIj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cInNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChwYXJhVGhyZWUgfCB0cmFuc2xhdGUpXCI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwocGFyYUZvdXIgfCB0cmFuc2xhdGUpXCI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwocGFyYUZpdmUgfCB0cmFuc2xhdGUpXCI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwocGFyYVNpeHwgdHJhbnNsYXRlKVwiIHN0eWxlPVwicGFkZGluZy1sZWZ0OiAxNXB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdNSUwnICYmIGRkMjE0RmxhZy52YWx1ZT09PSdOJ1wiPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwiYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cIm5vUGFyYU9uZSB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8IS0tIDxhcHAtZmlsZS11cGxvYWRlciBbZm9ybUNvbnRyb2xdPVwiZGQyMTRGaWxlXCIgW3VwbG9hZGVkRmlsZUZvckVkaXRdPVwiZGQyMTRGaWxlLnZhbHVlXCI+PC9hcHAtZmlsZS11cGxvYWRlcj4gLS0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwic2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKG5vUGFyYVR3byB8IHRyYW5zbGF0ZSlcIj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cInNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChub1BhcmFUaHJlZSB8IHRyYW5zbGF0ZSlcIj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cInNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChub1BhcmFGb3VyIHwgdHJhbnNsYXRlKVwiXHJcbiAgICAgICAgICAgICAgICAgIHN0eWxlPVwicGFkZGluZy1sZWZ0OiAxNXB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwic2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKG5vUGFyYUZpdmUgfCB0cmFuc2xhdGUpXCI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnICYmICFpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiBvc2FCcEVtcGxveWVyRmxhZy52YWx1ZSA9PT0nMSdcIj4gPCEtLU9sZCBjb2RlLS0+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nLXRvcDogMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJncm9zc1dhZ2VzXCIgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWF4LWNvbnRlbnQ7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC50b3RhbC53YWdlcy5lYXJuZWRcInx0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1pbnB1dE51bWJlciBpbnB1dElkPVwiZ3Jvc3NXYWdlc1wiIFtmb3JtQ29udHJvbF09XCJncm9zc1dhZ2VzXCIgbW9kZT1cImN1cnJlbmN5XCIgY3VycmVuY3k9XCJVU0RcIiBtYXhsZW5ndGg9XCIxMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgW21heF09XCI5OTk5OTkuOTlcIiBsb2NhbGU9XCJlbi1VU1wiPlxyXG4gICAgICAgICAgICAgICAgICA8L3AtaW5wdXROdW1iZXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdncm9zc1dhZ2VzJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyAmJiAhaXNCYXNlUGVyaW9kRW1wbG95ZXJcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmctcmlnaHQ6NXB4OyBwYWRkaW5nLWxlZnQ6IDBweDsgcGFkZGluZy10b3A6IDBweDtcIiAqbmdJZj1cIiFpc0Jhc2VQZXJpb2RFbXBsb3llclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJwYXlSYXRlXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5wYXlyYXRlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1pbnB1dE51bWJlciBpbnB1dElkPVwicGF5UmF0ZVwiIFtmb3JtQ29udHJvbF09XCJwYXlSYXRlXCIgbW9kZT1cImN1cnJlbmN5XCIgY3VycmVuY3k9XCJVU0RcIlxyXG4gICAgICAgICAgICAgICAgICAgIFttYXhdPVwiOTk5OTk5Ljk5XCIgbWF4bGVuZ3RoPVwiMTJcIiBsb2NhbGU9XCJlbi1VU1wiPjwvcC1pbnB1dE51bWJlcj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3BheVJhdGUnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmctcmlnaHQ6NXB4O3BhZGRpbmctdG9wOiAwcHg7XCIgKm5nSWY9XCIhaXNCYXNlUGVyaW9kRW1wbG95ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgaWQ9XCJwYXlSYXRlRnJlcXVlbmN5LWxhYmVsXCIgZm9yPVwicGF5UmF0ZUZyZXF1ZW5jeVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucGVyXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1kcm9wZG93biBbb3B0aW9uc109XCJwYXlSYXRlT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJwYXlSYXRlRnJlcXVlbmN5XCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIiBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIGlucHV0SWQ9XCJwYXlSYXRlRnJlcXVlbmN5XCI+PC9wLWRyb3Bkb3duPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0ncGF5UmF0ZUZyZXF1ZW5jeScgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgIDwhLS0gPGlvbi1jb2wgKm5nSWY9XCJkaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZVwiIHN0eWxlPVwicGFkZGluZy10b3A6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZ3Jvc3NXYWdlc1wiICBzdHlsZT1cImlubGluZS1zaXplOiBtYXgtY29udGVudDtcIj5Ub3RhbCBXYWdlcyBFYXJuZWQ8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1pbnB1dE51bWJlciBbZm9ybUNvbnRyb2xdPVwiZ3Jvc3NXYWdlc1wiIG1vZGU9XCJjdXJyZW5jeVwiIGN1cnJlbmN5PVwiVVNEXCIgbWF4bGVuZ3RoPVwiMTJcIiBbbWF4XT1cIjk5OTk5OS45OVwiIGxvY2FsZT1cImVuLVVTXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvcC1pbnB1dE51bWJlcj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2dyb3NzV2FnZXMnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD4gLS0+XHJcbiAgICAgICAgICAgICAgPCEtLTxpb24tY29sICpuZ0lmPVwiZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUgIHN0eWxlPVwicGFkZGluZy10b3A6IDBweDtcIj4gIE9sZCBDb2RlLS0+XHJcbiAgICAgICAgICAgICAgICA8aW9uLWNvbCAqbmdJZj1cImRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnZhbHVlICYmICFpc0Jhc2VQZXJpb2RFbXBsb3llclwiIHN0eWxlPVwicGFkZGluZy10b3A6IDBweDtcIj4gPCEtLU5ldyBjb25kaXRpb24gd2FzIGFkZGVkLS0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImdyb3NzV2FnZXNcIiAgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWF4LWNvbnRlbnQ7XCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC50b3RhbC53YWdlcy5lYXJuZWRcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxwLWlucHV0TnVtYmVyIGlucHV0SWQ9XCJncm9zc1dhZ2VzXCIgW2Zvcm1Db250cm9sXT1cImdyb3NzV2FnZXNcIiBtb2RlPVwiY3VycmVuY3lcIiBjdXJyZW5jeT1cIlVTRFwiIG1heGxlbmd0aD1cIjEyXCIgW21heF09XCI5OTk5OTkuOTlcIiBsb2NhbGU9XCJlbi1VU1wiPlxyXG4gICAgICAgICAgICAgICAgICA8L3AtaW5wdXROdW1iZXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdncm9zc1dhZ2VzJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+IFxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCcgXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImZlZFBlbnNpb25GbGFnXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQucGVuc2lvblwifHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICAgICAgICA8YnI+IHt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLnBlbnNpb24uZGlzY2xhaW1lclwifHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiaW5saW5lLXNpemU6IG1pbi1jb250ZW50OyBkaXNwbGF5OmZsZXhcIj5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBpbnB1dElkPVwiZmVkUGVuc2lvbkZsYWdcIiB1bnNlbGVjdGFibGU9XCJ0cnVlXCIgW29wdGlvbnNdPVwicmFkaW9PcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cImZlZFBlbnNpb25GbGFnXCJcclxuICAgICAgICAgICAgICAgICAgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YXBwLW92ZXJsYXktaW5mbyBvdmVybGF5VGV4dD1cInt7J2luZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQucGVuc2lvbi5pbmZvJ3wgdHJhbnNsYXRlfX1cIlxyXG4gICAgICAgICAgICAgICAgICBzdHlsZT1cIm1hcmdpbi10b3A6IDJweDsgbWFyZ2luLWxlZnQ6IDZweDtcIj48L2FwcC1vdmVybGF5LWluZm8+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2ZlZFBlbnNpb25GbGFnJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCJcclxuICAgICAgICAgICAgICAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnICYmIHRoaXMuZmVkUGVuc2lvbkZsYWcudmFsdWUgPT09ICdZJyAmJiB0aGlzLmN1cnJlbnRTdGF0ZSAhPSAnTUUnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImZlZFBlbnNpb25SZWN2RGF0ZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLnBlbnNpb24uZGF0ZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgPHAtY2FsZW5kYXIgW3Nob3dJY29uXT1cInRydWVcIiBpbnB1dElkPVwiZmVkUGVuc2lvblJlY3ZEYXRlXCIgW2Zvcm1Db250cm9sXT1cImZlZFBlbnNpb25SZWN2RGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgIFt5ZWFyTmF2aWdhdG9yXT1cInRydWVcIiBhcHBlbmRUbz1cImJvZHlcIiB5ZWFyUmFuZ2U9XCIxOTAxOjIwNTBcIiBkYXRlRm9ybWF0PVwibW0vZGQveXlcIlxyXG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIm1tL2RkL3l5eXlcIiBkYXRhVHlwZT1cInN0cmluZ1wiIFtzaG93T25Gb2N1c109XCJmYWxzZVwiIChvbklucHV0KT1cImRhdGVJbnB1dCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICA8L3AtY2FsZW5kYXI+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZmVkUGVuc2lvblJlY3ZEYXRlJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnICYmIHRoaXMuY3VycmVudFN0YXRlID09PSAnTUUnIFwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJzZXZQYXlGbGFnXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQuc2V2ZXJhbmNlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWluLWNvbnRlbnQ7XCI+XHJcbiAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gaW5wdXRJZD1cInNldlBheUZsYWdcIiB1bnNlbGVjdGFibGU9XCJ0cnVlXCIgW29wdGlvbnNdPVwicmFkaW9PcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cInNldlBheUZsYWdcIlxyXG4gICAgICAgICAgICAgICAgICBvcHRpb25MYWJlbD1cInRleHRcIiBvcHRpb25WYWx1ZT1cInZhbHVlXCI+PC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdzZXZQYXlGbGFnJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJyAmJiBzZXZQYXlGbGFnLnZhbHVlPT09J1knXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nLXJpZ2h0OjVweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwid2Vla2x5QW1vdW50XCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQuc2V2ZXJhbmNlLndlZWtseS5hbXRcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxwLWlucHV0TnVtYmVyIGlucHV0SWQ9XCJ3ZWVrbHlBbW91bnRcIiBbZm9ybUNvbnRyb2xdPVwid2Vla2x5QW1vdW50XCIgbW9kZT1cImN1cnJlbmN5XCIgY3VycmVuY3k9XCJVU0RcIiBtYXhsZW5ndGg9XCIxMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgW21heF09XCI5OTk5OTkuOTlcIiBsb2NhbGU9XCJlbi1VU1wiPlxyXG4gICAgICAgICAgICAgICAgICA8L3AtaW5wdXROdW1iZXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSd3ZWVrbHlBbW91bnQnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmctcmlnaHQ6NXB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJudW1iZXJPZldlZWtzXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQuc2V2ZXJhbmNlLndlZWtzXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1pbnB1dE51bWJlciBpbnB1dElkPVwibnVtYmVyT2ZXZWVrc1wiIFt1c2VHcm91cGluZ109XCJmYWxzZVwiIFtmb3JtQ29udHJvbF09XCJudW1iZXJPZldlZWtzXCIgbWF4bGVuZ3RoPVwiNFwiPlxyXG4gICAgICAgICAgICAgICAgICA8L3AtaW5wdXROdW1iZXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdudW1iZXJPZldlZWtzJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcblxyXG4gICAgICAgICAgICAgIDxpb24tY29sPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJzZXZQYXlBbW91bnRcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC5zZXZlcmFuY2UuZW50aXRsZW1lbnRcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxwLWlucHV0TnVtYmVyIGlucHV0SWQ9XCJzZXZQYXlBbW91bnRcIiBbZm9ybUNvbnRyb2xdPVwic2V2UGF5QW1vdW50XCIgbW9kZT1cImN1cnJlbmN5XCIgY3VycmVuY3k9XCJVU0RcIiBtYXhsZW5ndGg9XCIxMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgW21heF09XCI5OTk5OTkuOTlcIiBsb2NhbGU9XCJlbi1VU1wiPlxyXG4gICAgICAgICAgICAgICAgICA8L3AtaW5wdXROdW1iZXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdzZXZQYXlBbW91bnQnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG5cclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJyAmJiBzZXZQYXlGbGFnLnZhbHVlPT09J1knXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nLXJpZ2h0OjVweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwic2V2UGF5U3RhcnREYXRlXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQuc2V2ZXJhbmNlLnN0YXJ0LmRhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxwLWNhbGVuZGFyIFtzaG93SWNvbl09XCJ0cnVlXCIgaW5wdXRJZD1cInNldlBheVN0YXJ0RGF0ZVwiIChvbkJsdXIpPVwidmFsaWRhdGUoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKG9uU2VsZWN0KT1cInZhbGlkYXRlKCRldmVudClcIiBbZm9ybUNvbnRyb2xdPVwic2V2UGF5U3RhcnREYXRlXCIgW3llYXJOYXZpZ2F0b3JdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgeWVhclJhbmdlPVwiMTkwMToyMDUwXCIgYXBwZW5kVG89XCJib2R5XCIgZGF0ZUZvcm1hdD1cIm1tL2RkL3l5XCIgcGxhY2Vob2xkZXI9XCJtbS9kZC95eXl5XCJcclxuICAgICAgICAgICAgICAgICAgICBkYXRhVHlwZT1cInN0cmluZ1wiIFtzaG93T25Gb2N1c109XCJmYWxzZVwiIChvbklucHV0KT1cImRhdGVJbnB1dCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvcC1jYWxlbmRhcj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3NldlBheVN0YXJ0RGF0ZScgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmctcmlnaHQ6NXB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJzZXZQYXlFbmREYXRlXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQuc2V2ZXJhbmNlLmVuZC5kYXRlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBbc2hvd0ljb25dPVwidHJ1ZVwiIGlucHV0SWQ9XCJzZXZQYXlFbmREYXRlXCIgW2Zvcm1Db250cm9sXT1cInNldlBheUVuZERhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFt5ZWFyTmF2aWdhdG9yXT1cInRydWVcIiB5ZWFyUmFuZ2U9XCIxOTAxOjIwNTBcIiBkYXRlRm9ybWF0PVwibW0vZGQveXlcIiBwbGFjZWhvbGRlcj1cIm1tL2RkL3l5eXlcIlxyXG4gICAgICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiIFttaW5EYXRlXT1cIm1pbkRhdGVcIiBkYXRhVHlwZT1cInN0cmluZ1wiIFtzaG93T25Gb2N1c109XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKG9uSW5wdXQpPVwiZGF0ZUlucHV0KCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgICAgPC9wLWNhbGVuZGFyPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nc2V2UGF5RW5kRGF0ZScgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbFxyXG4gICAgICAgICAgICAgICAgICAgIGZvcj1cInNldlBheVBheW1lbnRTdGFydERhdGVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC5zZXZlcmFuY2UucGF5LmRhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxwLWNhbGVuZGFyIFtzaG93SWNvbl09XCJ0cnVlXCIgaW5wdXRJZD1cInNldlBheVBheW1lbnRTdGFydERhdGVcIiBbZm9ybUNvbnRyb2xdPVwic2V2UGF5UGF5bWVudFN0YXJ0RGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3llYXJOYXZpZ2F0b3JdPVwidHJ1ZVwiIGFwcGVuZFRvPVwiYm9keVwiIHllYXJSYW5nZT1cIjE5MDE6MjA1MFwiIGRhdGVGb3JtYXQ9XCJtbS9kZC95eVwiXHJcbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJtbS9kZC95eXl5XCIgZGF0YVR5cGU9XCJzdHJpbmdcIiBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L3AtY2FsZW5kYXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdzZXZQYXlQYXltZW50U3RhcnREYXRlJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyAmJiB3b3JrRmxhZy52YWx1ZT09PSdZJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJwZW5zaW9uRmxhZ1wiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LnBlbnNpb25cInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImlubGluZS1zaXplOiBtaW4tY29udGVudDtcIj5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBpbnB1dElkPVwicGVuc2lvbkZsYWdcIiB1bnNlbGVjdGFibGU9XCJ0cnVlXCIgW29wdGlvbnNdPVwicmFkaW9PcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cInBlbnNpb25GbGFnXCJcclxuICAgICAgICAgICAgICAgICAgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0ncGVuc2lvbkZsYWcnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PiBcclxuICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHdvcmtGbGFnLnZhbHVlPT09J1knICYmIHBlbnNpb25GbGFnLnZhbHVlPT09J1knXHJcbiAgICAgICAgICAgICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnIFwiPiA8IS0tIHRoaXMgaXMgcXVlc3Rpb25hYmxlIGJlY2F1c2UgYWJvdmUgZGVwZW5kZW50IHF1ZXN0aW9uIGRvZXMgbm90IGhhdmUgaXNCYXNlUGVyaW9kRW1wbG95ZXIgLS0+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInBlbnNpb25SZWN2RGF0ZVwiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LnBlbnNpb24uZGF0ZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgPHAtY2FsZW5kYXIgW3Nob3dJY29uXT1cInRydWVcIiBpbnB1dElkPVwicGVuc2lvblJlY3ZEYXRlXCIgW2Zvcm1Db250cm9sXT1cInBlbnNpb25SZWN2RGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgIFt5ZWFyTmF2aWdhdG9yXT1cInRydWVcIiBhcHBlbmRUbz1cImJvZHlcIiB5ZWFyUmFuZ2U9XCIxOTAxOjIwNTBcIiBkYXRlRm9ybWF0PVwibW0vZGQveXlcIlxyXG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIm1tL2RkL3l5eXlcIiBkYXRhVHlwZT1cInN0cmluZ1wiIFtzaG93T25Gb2N1c109XCJmYWxzZVwiIChvbklucHV0KT1cImRhdGVJbnB1dCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICA8L3AtY2FsZW5kYXI+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0ncGVuc2lvblJlY3ZEYXRlJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiIWlzQmFzZVBlcmlvZEVtcGxveWVyICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInJlZ1BlbnNpb25GbGFnXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcucGVuc2lvblwifHRyYW5zbGF0ZX19IDxiciAvPlxyXG4gICAgICAgICAgICAgICAge3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcucGVuc2lvbi5kaXNjbGFpbWVyXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWluLWNvbnRlbnQ7IGRpc3BsYXk6ZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIGlucHV0SWQ9XCJyZWdQZW5zaW9uRmxhZ1wiIHVuc2VsZWN0YWJsZT1cInRydWVcIiBbb3B0aW9uc109XCJyYWRpb09wdGlvbnNcIiBbZm9ybUNvbnRyb2xdPVwicmVnUGVuc2lvbkZsYWdcIlxyXG4gICAgICAgICAgICAgICAgICBvcHRpb25MYWJlbD1cInRleHRcIiBvcHRpb25WYWx1ZT1cInZhbHVlXCI+PC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxhcHAtb3ZlcmxheS1pbmZvIG92ZXJsYXlUZXh0PVwie3snaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlZy5wZW5zaW9uLmluZm8nfCB0cmFuc2xhdGV9fVwiXHJcbiAgICAgICAgICAgICAgICAgIHN0eWxlPVwibWFyZ2luLXRvcDogMnB4OyBtYXJnaW4tbGVmdDogNnB4O1wiPjwvYXBwLW92ZXJsYXktaW5mbz5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0ncmVnUGVuc2lvbkZsYWcnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCIhaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRydcclxuICAgICAgICAgICAgJiYgcmVnUGVuc2lvbkZsYWcudmFsdWU9PT0nWSdcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicmVnUGVuc2lvblJlY3ZEYXRlXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcucGVuc2lvbi5kYXRlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBbc2hvd0ljb25dPVwidHJ1ZVwiIGlucHV0SWQ9XCJyZWdQZW5zaW9uUmVjdkRhdGVcIiBbZm9ybUNvbnRyb2xdPVwicmVnUGVuc2lvblJlY3ZEYXRlXCJcclxuICAgICAgICAgICAgICAgICAgW3llYXJOYXZpZ2F0b3JdPVwidHJ1ZVwiIGFwcGVuZFRvPVwiYm9keVwiIHllYXJSYW5nZT1cIjE5MDE6MjA1MFwiIGRhdGVGb3JtYXQ9XCJtbS9kZC95eVwiXHJcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwibW0vZGQveXl5eVwiIGRhdGFUeXBlPVwic3RyaW5nXCIgW3Nob3dPbkZvY3VzXT1cImZhbHNlXCIgKG9uSW5wdXQpPVwiZGF0ZUlucHV0KCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgIDwvcC1jYWxlbmRhcj5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdyZWdQZW5zaW9uUmVjdkRhdGUnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJmaWVsZFwiXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJpc0NsbXRQYWlkV2hpbGVMb3dcIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5lbXBsb3llci5wYXkucmV0dXJuLnRvLndvcmtcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImlubGluZS1zaXplOiBtaW4tY29udGVudDsgZGlzcGxheTpmbGV4O1wiPlxyXG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIHVuc2VsZWN0YWJsZT1cInRydWVcIiBbb3B0aW9uc109XCJyYWRpb09wdGlvbnNcIiBbZm9ybUNvbnRyb2xdPVwiaXNDbG10UGFpZFdoaWxlTG93XCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtb3ZlcmxheS1pbmZvIG92ZXJsYXlUZXh0PVwie3snaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlZy5lbXBsb3llclBheVJldHVyblRvV29ya0luZm8nfCB0cmFuc2xhdGV9fVwiIFxyXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJtYXJnaW4tdG9wOiAycHg7IG1hcmdpbi1sZWZ0OiA2cHg7XCI+PC9hcHAtb3ZlcmxheS1pbmZvPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdpc0NsbXRQYWlkV2hpbGVMb3cnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj4gLS0+XHJcblxyXG4gICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJmaWVsZFwiXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyAmJiBjdXJyZW50U3RhdGUgPT09J01FJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJoYXNTaG9ydFRlcm1EaXNhYmlsaXR5XCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQuc2hvcnR0ZXJtZGlzYWJpbGl0eVwifHRyYW5zbGF0ZX19IHt7YnBTdGFydERhdGVUb0Rpc3BsYXkgfCBkYXRlOidNTU1NIGQsIHl5eXknfX0gPzwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImlubGluZS1zaXplOiBtaW4tY29udGVudDtcIj5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiB1bnNlbGVjdGFibGU9XCJ0cnVlXCIgW29wdGlvbnNdPVwicmFkaW9PcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cImhhc1Nob3J0VGVybURpc2FiaWxpdHlcIiBvcHRpb25MYWJlbD1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgICBvcHRpb25WYWx1ZT1cInZhbHVlXCI+PC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdoYXNTaG9ydFRlcm1EaXNhYmlsaXR5JyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj4gLS0+XHJcblxyXG4gICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJmaWVsZFwiXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCIoKGlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHdvcmtGbGFnLnZhbHVlPT09J1knKSB8fCAhaXNCYXNlUGVyaW9kRW1wbG95ZXIpJiYgZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycgJiYgY3VycmVudFN0YXRlPT09J01FJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJoYXNSZWN2UmVtdW5lcmF0aW9uXCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQucmVtdW5lcmF0aW9uLnBheVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiaW5saW5lLXNpemU6IG1pbi1jb250ZW50O1wiPlxyXG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIHVuc2VsZWN0YWJsZT1cInRydWVcIiBbb3B0aW9uc109XCJyYWRpb09wdGlvbnNcIiBbZm9ybUNvbnRyb2xdPVwiaGFzUmVjdlJlbXVuZXJhdGlvblwiIG9wdGlvbkxhYmVsPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2hhc1JlY3ZSZW11bmVyYXRpb24nIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyAmJiBjdXJyZW50U3RhdGU9PT0nTUUnICYmIGhhc1JlY3ZSZW11bmVyYXRpb24udmFsdWU9PT0nWScgJiYgb3NhQnBFbXBsb3llckZsYWcudmFsdWU9PT0nMCdcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicmVtdW5lcmF0aW9uVHlwZXNcIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5yZW11bmVyYXRpb24udHlwZXNcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPHAtY2hlY2tib3ggW25hbWVdPVwiJ3JlbXVuZXJhdGlvbnR5cGVzLWdyb3VwJ1wiIFt2YWx1ZV09XCJjaG9pY2UudmFsdWVcIiBcclxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCJjaG9pY2UudGV4dFwiICpuZ0Zvcj1cImxldCBjaG9pY2Ugb2YgcmVtdW5lcmF0aW9uVHlwZU9wdGlvbnNcIiAgW2Zvcm1Db250cm9sXT1cInJlbXVuZXJhdGlvblR5cGVzXCJcclxuICAgICAgICAgICAgICAgIHN0eWxlQ2xhc3M9XCJhcHAtcC1jaGVja2JveFwiPjwvcC1jaGVja2JveD5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0ncmVtdW5lcmF0aW9uVHlwZXMnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImZpZWxkXCJcclxuICAgICAgICAgICAgICAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnICYmIGN1cnJlbnRTdGF0ZSA9PT0nTUUnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInZhY2F0aW9uXCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQudmFjYXRpb24uYnJlYWtcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImlubGluZS1zaXplOiBtaW4tY29udGVudDtcIj5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiB1bnNlbGVjdGFibGU9XCJ0cnVlXCIgW29wdGlvbnNdPVwicmFkaW9PcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cInZhY2F0aW9uXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0ndmFjYXRpb24nIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuXHJcbiAgICAgICAgICAgIDwhLS08ZGl2ICpuZ0lmPVwiZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUgJiYgZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRydcIj4gU3RlcGhlbiBDb2RlLS0+XHJcbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnZhbHVlICYmICFpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiBlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJ1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxoND57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlZy52ZXJpZmljYXRpb24ud2FnZXMuaGVhZGVyXCJ8dHJhbnNsYXRlfX08L2g0PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLnZlcmlmaWNhdGlvbi53YWdlcy5zdWJoZWFkZXJcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJwYXltZW50VHlwZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLnZlcmlmaWNhdGlvbi53YWdlcy5wYXltb2RlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIGlucHV0SWQ9XCJwYXltZW50VHlwZVwiIHVuc2VsZWN0YWJsZT1cInRydWVcIiBbb3B0aW9uc109XCJwYXlNZXRob2RPcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cInBheW1lbnRUeXBlXCJcclxuICAgICAgICAgICAgICAgICAgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0ncGF5bWVudFR5cGUnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJkb2NzUmVjZWl2ZWRcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlZy52ZXJpZmljYXRpb24ud2FnZXMuZG9jc1wifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBpbnB1dElkPVwiZG9jc1JlY2VpdmVkXCIgdW5zZWxlY3RhYmxlPVwidHJ1ZVwiIFtvcHRpb25zXT1cIndhZ2VQcm9vZk9wdGlvbnNcIiBbZm9ybUNvbnRyb2xdPVwiZG9jc1JlY2VpdmVkXCJcclxuICAgICAgICAgICAgICAgICAgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZG9jc1JlY2VpdmVkJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJvdGhlclNTTkZsYWdcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlZy52ZXJpZmljYXRpb24ud2FnZXMub3RoZXIuc3NuLmZsYWdcInx0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWluLWNvbnRlbnQ7XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBpbnB1dElkPVwib3RoZXJTU05GbGFnXCIgdW5zZWxlY3RhYmxlPVwidHJ1ZVwiIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJvdGhlclNTTkZsYWdcIlxyXG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nb3RoZXJTU05GbGFnJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwidGhpcy5vdGhlclNTTkZsYWcudmFsdWUgPT09ICdZJ1wiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIm90aGVyU1NOXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcudmVyaWZpY2F0aW9uLndhZ2VzLm90aGVyLnNzblwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxwLWlucHV0TWFzayBpbnB1dElkPVwib3RoZXJTU05cIiBtYXNrPVwiOTk5LTk5LTk5OTlcIiBbZm9ybUNvbnRyb2xdPVwib3RoZXJTU05cIiBwbGFjZWhvbGRlcj1cIjk5OS05OS05OTk5XCI+XHJcbiAgICAgICAgICAgICAgICA8L3AtaW5wdXRNYXNrPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J290aGVyU1NOJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiaGlyZWRCeVwiPk1hbmFnZXIncyBOYW1lICYgVGl0bGU8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJoaXJlZEJ5XCIgdHlwZT1cImlucHV0XCIgcElucHV0VGV4dCBbZm9ybUNvbnRyb2xdPVwiaGlyZWRCeVwiIG1heGxlbmd0aD1cIjQwXCIvPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0naGlyZWRCeScgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPiAgICAgICAgICAgICBcclxuICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8IS0tICA8aW9uLXJvdyAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnXCI+IFN0ZXBoZW4gQ29kZSAtLT5cclxuXHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUgJiYgIWlzQmFzZVBlcmlvZEVtcGxveWVyICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnXCI+ICAgICAgICAgICBcclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWxcclxuICAgICAgICAgICAgICAgICAgICBmb3I9XCJvdGhlck5hbWVGbGFnXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcudmVyaWZpY2F0aW9uLndhZ2VzLm90aGVyLm5hbWUuZmxhZ1wifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImlubGluZS1zaXplOiBtaW4tY29udGVudDtcIj5cclxuICAgICAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gaW5wdXRJZD1cIm90aGVyTmFtZUZsYWdcIiB1bnNlbGVjdGFibGU9XCJ0cnVlXCIgW29wdGlvbnNdPVwicmFkaW9PcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cIm90aGVyTmFtZUZsYWdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J290aGVyTmFtZUZsYWcnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJ0aGlzLm90aGVyTmFtZUZsYWcudmFsdWUgPT09ICdZJ1wiPlxyXG4gICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgPGxhYmVsXHJcbiAgICAgICAgICAgICAgICAgICAgZm9yPVwib3RoZXJOYW1lXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcudmVyaWZpY2F0aW9uLndhZ2VzLm90aGVyLm5hbWVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cIm90aGVyTmFtZVwiIHR5cGU9XCJpbnB1dFwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sXT1cIm90aGVyTmFtZVwiIG1heGxlbmd0aD1cIjMwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J290aGVyTmFtZScgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gPGlvbi1yb3cgKm5nSWY9XCJ3b3JrU3RhdGUudmFsdWUgJiYgd29ya1N0YXRlLnZhbHVlLnZhbHVlPT09J0tTJyAmJiBkaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZSAmJiAhaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRydcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZmVpblwiPkZFSU48L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1pbnB1dE51bWJlciBbaWRdPVwiZmVpblwiIFt1c2VHcm91cGluZ109XCJmYWxzZVwiIFtmb3JtQ29udHJvbF09XCJmZWluXCIgbWF4bGVuZ3RoPVwiOVwiPjwvcC1pbnB1dE51bWJlcj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2ZlaW4nIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzaXplPVwiMVwiPjwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZG9pbmdCdXNpbmVzc0FzXCI+RG9pbmcgQnVzaW5lc3MgQXMvVHJhZGUgTmFtZTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cImRvaW5nQnVzaW5lc3NBc1wiIHR5cGU9XCJpbnB1dFwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sXT1cImRvaW5nQnVzaW5lc3NBc1wiIG1heGxlbmd0aD1cIjEwMFwiLz5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2RvaW5nQnVzaW5lc3NBcycgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+IC0tPlxyXG5cclxuICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnICYmIGRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzPy52YWx1ZSBcclxuICAgICAgICAgICAgICAgICYmICFpc0Jhc2VQZXJpb2RFbXBsb3llclwiPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZzogMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJidXNpbmVzc05hdHVyZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLnZlcmlmaWNhdGlvbi5uYXR1cmVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cImJ1c2luZXNzTmF0dXJlXCIgdHlwZT1cImlucHV0XCIgcElucHV0VGV4dCBbZm9ybUNvbnRyb2xdPVwiYnVzaW5lc3NOYXR1cmVcIiBtYXhsZW5ndGg9XCIyNTBcIi8+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdidXNpbmVzc05hdHVyZScgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZFxyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICA8IS0tIDxkaXYgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJyB8fCAoZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXM/LnZhbHVlICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnICYmIHByZXZXb3JrZWRTdGF0ZT8udmFsdWUgPT09ICdLUycpXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJ1wiPiBTdGVwaGVuIENvZGUgLS0+XHJcbiAgICAgICAgICAgICAgPCEtLSA8ZGl2ICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCcgJiYgaXNOZXdDbGFpbVwiPlxyXG4gICAgICAgICAgICAgICAgPCEtLTxsYWJlbD57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC52ZXJpZmljYXRpb24ud2FnZXNcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJkaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZSAmJiAhaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRydcIj5cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWw+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQudmVyaWZpY2F0aW9uLndhZ2VzLnN0YXRlbWVudFwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnIHx8IChlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyAmJiBkaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcz8udmFsdWUpXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWw+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcudmVyaWZpY2F0aW9uLndhZ2VzXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPHRhYmxlIHJ1bGVzPVwicm93c1wiPlxyXG4gICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRoIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLnZlcmlmaWNhdGlvbi53YWdlcy5jb2wxXCJ8dHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0aD57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlZy52ZXJpZmljYXRpb24ud2FnZXMuY29sMlwifHRyYW5zbGF0ZX19PC90aD5cclxuICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgZm9ybUFycmF5TmFtZT1cIndhZ2VBbW91bnRBcnJheVwiPlxyXG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB3YWdlQW1vdW50Rm9ybSBvZiB3YWdlQW1vdW50QXJyYXkuY29udHJvbHM7IGxldCBpID0gaW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtmb3JtR3JvdXBOYW1lXT1cImlcIj5cclxuICAgICAgICAgICAgICAgICAgICA8dHIgKm5nSWY9XCIoKGVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnKSB8fCAoZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycgJiYgd2FnZUFtb3VudEZvcm0udmFsdWUuZGlzcGxheUZvckFsbD09PXRydWUpIClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIFtmb3JdPVwiJ3dhZ2VBbW91bnRBcnJheS0nICsgaVwiID57e3dhZ2VBbW91bnRGb3JtLnZhbHVlLnF0clllYXJEaXNwbGF5U3RyaW5nfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHAtaW5wdXROdW1iZXIgW2lucHV0SWRdPVwiJ3dhZ2VBbW91bnRBcnJheS0nICsgaVwiIGFyaWFMYWJlbD1cIndhZ2VBbW91bnRcIiBmb3JtQ29udHJvbE5hbWU9XCJ3YWdlQW1vdW50XCIgbW9kZT1cImN1cnJlbmN5XCIgW21pbl09XCIwLjAwXCIgW21heF09XCI5OTk5OTkuOTlcIiBtYXhsZW5ndGg9XCIxMlwiIGN1cnJlbmN5PVwiVVNEXCIgbG9jYWxlPVwiZW4tVVNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wLWlucHV0TnVtYmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8dHIgKm5nSWY9XCJ3YWdlQW1vdW50QXJyYXkuZXJyb3JzPy5yZXF1aXJlQ2hlY2tib3hUb0JlQ2hlY2tlZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8dGQgY29sc3Bhbj1cIjJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nd2FnZUFtb3VudEFycmF5JyBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbZXJyRGVmXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVDaGVja2JveFRvQmVDaGVja2VkOiAnYXQgbGVhc3Qgb25lIGFtb3VudCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiB6ZXJvJ1xyXG4gICAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgIDwvdHI+ICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDwvdGFibGU+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInNldmVyYW5jZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLnNldmVyYW5jZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIGlucHV0SWQ9XCJzZXZlcmFuY2VcIiBbb3B0aW9uc109XCJyYWRpb09wdGlvbnNcIiBbZm9ybUNvbnRyb2xdPVwic2V2ZXJhbmNlXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3NldmVyYW5jZSdcclxuICAgICAgICAgICAgICAgIFtlcnJEZWZdPVwie3JlcXVpcmVkOiByZXF1aXJlZH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICBcclxuICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgPGlvbi1yb3c+XHJcbiAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tdGV4dC1yaWdodFwiPlxyXG4gICAgICAgICAgPGlvbi1idXR0b24gW2F1dG9mb2N1c109XCJ0cnVlXCIgdGFiaW5kZXg9XCIwXCIgc2hhcGU9XCJyb3VuZFwiIHN0eWxlPVwid2lkdGg6IDgwcHg7XCIgZmlsbD1cIm91dGxpbmVcIiAoY2xpY2spPVwib25Nb2RlbENhbmNlbChmYWxzZSlcIiAoa2V5dXAuc3BhY2UpPVwib25Nb2RlbENhbmNlbChmYWxzZSlcIiAoa2V5dXAuZW50ZXIpPVwib25Nb2RlbENhbmNlbChmYWxzZSlcIlxyXG4gICAgICAgICAgICB0eXBlPVwicmVzZXRcIj57e1wiaW5kdWN0aW9uLmVtcGxveW1lbnQuYnV0dG9uLmNhbmNlbFwifHRyYW5zbGF0ZX19IDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICAgIDxpb24tYnV0dG9uIHRhYmluZGV4PVwiMFwiIHNoYXBlPVwicm91bmRcIiBzdHlsZT1cIndpZHRoOiA4MHB4O1wiIChjbGljayk9XCJzYXZlKClcIiB0eXBlPVwic3VibWl0XCIgKm5nSWY9XCJpc0Jhc2VQZXJpb2RFbXBsb3llclwiIChrZXl1cC5zcGFjZSk9XCJzYXZlKClcIiAoa2V5dXAuZW50ZXIpPVwic2F2ZSgpXCI+XHJcbiAgICAgICAgICAgIHt7XCJpbmR1Y3Rpb24uZW1wbG95bWVudC5idXR0b24uc2F2ZVwifHRyYW5zbGF0ZX19IDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICAgIDxpb24tYnV0dG9uIHRhYmluZGV4PVwiMFwiIHNoYXBlPVwicm91bmRcIiBzdHlsZT1cIndpZHRoOiA4MHB4O1wiIChjbGljayk9XCJhZGQoKVwiIHR5cGU9XCJzdWJtaXRcIiAqbmdJZj1cIiFpc0Jhc2VQZXJpb2RFbXBsb3llclwiIChrZXl1cC5zcGFjZSk9XCJhZGQoKVwiIChrZXl1cC5lbnRlcik9XCJhZGQoKVwiXHJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0FkZCBhbiBlbXBsb3llcicgfCB0cmFuc2xhdGVcIj4ge3tcImluZHVjdGlvbi5lbXBsb3ltZW50LmJ1dHRvbi5hZGRcInx0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgPC9pb24tcm93PlxyXG4gICAgPC9pb24tZ3JpZD5cclxuICA8L2Zvcm0+XHJcbjwvcC1kaWFsb2c+Il19
2655
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWVtcGxveWVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9hZGQtZW1wbG95ZXIvYWRkLWVtcGxveWVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9hZGQtZW1wbG95ZXIvYWRkLWVtcGxveWVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBMEQsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHcEcsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDdkcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBTXBFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQU9oRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUNObEMsMkJBQStCO0lBQzdCLFlBQThEOztJQUFBLGlCQUFNOzs7SUFBcEUsZUFBOEQ7SUFBOUQsZ0hBQThEOzs7SUFJaEUsMkJBQW1CO0lBQ2pCLHFCQUFJO0lBQ0osWUFDRjs7SUFBQSxpQkFBTTs7SUFESixlQUNGO0lBREUsb0dBQ0Y7OztJQU1RLDBCQUFnQyxRQUFBO0lBQzNCLFlBQThCO0lBQUEsaUJBQUksRUFBQTs7O0lBQWxDLGVBQThCO0lBQTlCLGtEQUE4Qjs7O0lBSW5DLDBCQUFnQztJQUM5QixZQUNGOztJQUFBLGlCQUFLOzs7SUFESCxlQUNGO0lB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LFNBQVM7bUJBQUMsY0FBYzs7a0ZBOUZkLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBVbnR5cGVkRm9ybUFycmF5LCBVbnR5cGVkRm9ybUJ1aWxkZXIsIFVudHlwZWRGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEZpbHRlclNlcnZpY2UgfSBmcm9tICdwcmltZW5nL2FwaSc7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBDbGFpbUFwcEVtcGxveWVyRGV0YWlsc01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvQ2xhaW1BcHBFbXBsb3llckRldGFpbHNNb2RlbCc7XHJcbmltcG9ydCB7IENvbWJvT3B0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvQ29tYm9Nb2RlbCc7XHJcbmltcG9ydCB7IEVtcGxveWVyRGV0YWlsU2VhcmNoUmVzdWx0IH0gZnJvbSAnLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvRW1wbG95ZXJEZXRhaWxTZWFyY2hSZXN1bHQnO1xyXG5pbXBvcnQgeyBRdHJZZWFyRW1wbG95ZXJXYWdlTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9RdHJZZWFyRW1wbG95ZXJXYWdlTW9kZWwnO1xyXG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbG9nZ2VyL2xvZ2dlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVmFsaWRhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9xdWVzdGlvbm5haXJlL3ZhbGlkYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFV0aWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdXRpbC91dGlsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBcHBWYWxpZGF0b3JzIH0gZnJvbSAnLi4vLi4vdmFsaWRhdGlvbnMvQXBwVmFsaWRhdG9ycyc7XHJcbmltcG9ydCB7IEFkZHJlc3NDb21wb25lbnRNb2RlbCwgQ2hvaWNlc01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL0FkZHJlc3NDb21wb25lbnRNb2RlbCc7XHJcbmltcG9ydCB7IENsYWltU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NsYWltcy9jbGFpbXMuc2VydmljZSc7XHJcbmltcG9ydCB7IEFkZHJlc3NDb21wb25lbnQgfSBmcm9tICcuLi9hZGRyZXNzL2FkZHJlc3MuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTG9naW5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbG9naW4vbG9naW4uc2VydmljZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgS2V5VmFsdWVNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL0tleVZhbHVlTW9kZWwnO1xyXG5pbXBvcnQgeyBCYXNlUGFnZSB9IGZyb20gJy4uLy4uL3BhZ2VzL0Jhc2VQYWdlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtYWRkLWVtcGxveWVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWRkLWVtcGxveWVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hZGQtZW1wbG95ZXIuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFkZEVtcGxveWVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQFZpZXdDaGlsZCgnYWRkcmVzczEnKSBhZGRyZXNzMTogQWRkcmVzc0NvbXBvbmVudDsgXHJcbiAgQFZpZXdDaGlsZCgnYWRkcmVzczInKSBhZGRyZXNzMjogQWRkcmVzc0NvbXBvbmVudDsgXHJcblxyXG4gIHB1YmxpYyBlbXBsb3llclR5cGVPcHRpb25zOiBhbnkgPSBbXTtcclxuICBwdWJsaWMgY291bnRyeU9wdGlvbnM6IGFueSA9IFtdO1xyXG4gIHB1YmxpYyBjb3VudHJ5RmVkT3B0aW9uczogYW55ID0gW107XHJcbiAgcHVibGljIHBheVJhdGVPcHRpb25zOiBhbnkgPSBbXTtcclxuICBwdWJsaWMgc3RhdGVPcHRpb25zOiBhbnkgPSBbXTtcclxuICBwdWJsaWMgZmVkU3RhdGVPcHRpb25zOiBhbnkgPSBbXTtcclxuICBwdWJsaWMgam9iVGlsZU9yUG9zaXRpb25PcHRpb25zOiBhbnkgPVtdO1xyXG4gIHB1YmxpYyBmZWRKb2JUaWxlT3B0aW9uczogYW55ID1bXTtcclxuICBwdWJsaWMgcmFkaW9PcHRpb25zOiBhbnkgPVtdO1xyXG4gIHB1YmxpYyB3b3JrT3B0aW9uczogYW55ID1bXTtcclxuICBwdWJsaWMgeWVzTm9OYU9wdGlvbnM6IGFueSA9W107XHJcbiAgcHVibGljIHBheU1ldGhvZE9wdGlvbnM6IGFueSA9W107XHJcbiAgcHVibGljIHdhZ2VQcm9vZk9wdGlvbnM6IGFueSA9W107XHJcbiAgcHVibGljIGRpc2NoYXJnZVJlYXNvbk9wdGlvbnM6IENob2ljZXNNb2RlbFtdID0gW107XHJcbiAgcHVibGljIHZvbFF1aXRSZWFzb25PcHRpb25zOiBDaG9pY2VzTW9kZWxbXSA9IFtdO1xyXG4gIHB1YmxpYyBzdGF0ZXNPcHRpb25zOiBhbnkgPVtdO1xyXG4gIHB1YmxpYyBub25LU1N0YXRlc09wdGlvbnMgOiBhbnkgPVtdO1xyXG4gIHB1YmxpYyBwYXlQZXJpb2Q6IGFueSA9W107XHJcbiAgcHVibGljIGVtcGxveW1lbnRTdGF0dXNPcHRpb25zOiBDaG9pY2VzTW9kZWxbXSA9IFtdO1xyXG4gIHB1YmxpYyB3b3JrQ291bnRyeU9wdGlvbnM6IGFueSA9W107XHJcbiAgcHVibGljIG1pbGl0YXJ5U2VydmljZU9wdGlvbnM6IGFueSA9W107XHJcbiAgcHVibGljIHJlbXVuZXJhdGlvblR5cGVPcHRpb25zOiBhbnkgPVtdO1xyXG4gIHB1YmxpYyBhZGRFbXBsb3llckZvcm06IFVudHlwZWRGb3JtR3JvdXA7XHJcbiAgcHVibGljIGRpc3BsYXk6IGJvb2xlYW47XHJcbiAgcHVibGljIGJhc2VQZXJpb2RTdGFydERhdGU6IERhdGU7XHJcbiAgcHVibGljIGJhc2VQZXJpb2RFbmREYXRlOiBEYXRlO1xyXG4gIHB1YmxpYyBicFN0YXJ0RGF0ZVRvRGlzcGxheTogRGF0ZTtcclxuICBwdWJsaWMgbWluRGF0ZTogRGF0ZTtcclxuICBwdWJsaWMgbWluU3RhcnREYXRlOiBEYXRlO1xyXG4gIHB1YmxpYyBxdWFydGVyUmFuZ2VPbmU/OiBzdHJpbmc7XHJcbiAgcHVibGljIHF1YXJ0ZXJSYW5nZVR3bz86IHN0cmluZztcclxuICBwdWJsaWMgcXVhcnRlclJhbmdlVGhyZWU/OiBzdHJpbmc7XHJcbiAgcHVibGljIHF1YXJ0ZXJSYW5nZUZvdXI/OiBzdHJpbmc7XHJcbiAgcHVibGljIGN1cnJlbnRRdWFydGVyUmFuZ2U/OiBzdHJpbmc7XHJcbiAgcHVibGljIHF1YXJ0ZXJSYW5nZUZpdmU/OiBzdHJpbmc7XHJcbiAgcHVibGljIGRhdGVUaW1lID0gbmV3IERhdGUoKTtcclxuICBwdWJsaWMgZ3JvdXBlZFJlYXNvbnM6IGFueSA9W107XHJcbiAgcHVibGljIG1pbldvcmtTdGFydERhdGUgOiBEYXRlO1xyXG4gIHB1YmxpYyBwcmV2V29ya2VkU3RhdGVPcHRpb25zOiBhbnkgPVtdO1xyXG5cclxuICBwdWJsaWMgZGlzY2hhcmdlUmVhc29uT3B0aW9uc0FsbDogQ2hvaWNlc01vZGVsW10gPSBbXTtcclxuICBwdWJsaWMgdm9sUXVpdFJlYXNvbk9wdGlvbnNBbGw6IENob2ljZXNNb2RlbFtdID0gW107XHJcbiAgcHVibGljIGVtcGxveW1lbnRTdGF0dXNPcHRpb25zQWxsOiBDaG9pY2VzTW9kZWxbXSA9IFtdO1xyXG5cclxuICBwdWJsaWMgc2Y4SW5mbz1cIlNGLThcIjtcclxuICBwdWJsaWMgZGQyMTRJbmZvPVwiREQgMjE0XCI7XHJcblxyXG4gIHB1YmxpYyBwYXJhT25lID1cImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwuZGQyMTQueWVzLnBhcmEub25lXCI7XHJcbiAgcHVibGljIHBhcmFUd289XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQubWlsLmRkMjE0Lnllcy5wYXJhLnR3b1wiO1xyXG4gIHB1YmxpYyBwYXJhVGhyZWU9XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQubWlsLmRkMjE0Lnllcy5wYXJhLnRocmVlXCI7XHJcbiAgcHVibGljIHBhcmFGb3VyPVwiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5kZDIxNC55ZXMucGFyYS5mb3VyXCI7XHJcbiAgcHVibGljIHBhcmFGaXZlPVwiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5kZDIxNC55ZXMucGFyYS5maXZlXCI7XHJcbiAgcHVibGljIHBhcmFTaXg9XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQubWlsLmRkMjE0Lnllcy5wYXJhLnNpeFwiO1xyXG5cclxuICBwdWJsaWMgbm9QYXJhT25lID1cImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwuZGQyMTQubm8ucGFyYS5vbmVcIjtcclxuICBwdWJsaWMgbm9QYXJhVHdvPVwiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5kZDIxNC5uby5wYXJhLnR3b1wiO1xyXG4gIHB1YmxpYyBub1BhcmFUaHJlZT1cImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwuZGQyMTQubm8ucGFyYS50aHJlZVwiO1xyXG4gIHB1YmxpYyBub1BhcmFGb3VyPVwiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5kZDIxNC5uby5wYXJhLmZvdXJcIjtcclxuICBwdWJsaWMgbm9QYXJhRml2ZT1cImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwuZGQyMTQubm8ucGFyYS5maXZlXCI7XHJcblxyXG4gIHB1YmxpYyBlbXBsb3llclByb3ZpZGVkV2FnZXM6IFF0clllYXJFbXBsb3llcldhZ2VNb2RlbFtdO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBtb2RlbENhbmNlbCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgc3VjY2VzczogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJlY29yZEluZGV4VG9FZGl0OiBudW1iZXI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGlzQmFzZVBlcmlvZEVtcGxveWVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbm9FZGl0TW9kZTogYm9vbGVhbjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaXNOZXdDbGFpbTogYm9vbGVhbjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZG9iOiBEYXRlO1xyXG5cclxuICBwdWJsaWMgaGlkZUZpY0NvZGU6IHRydWU7XHJcbiAgcHVibGljIGlzTWFudWFsRW50ZXJFbXA6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBAT3V0cHV0KCkgXHJcbiAgYmFzZVBlcmlvZEluZGV4OiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9ICAgbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAVmlld0NoaWxkKCdlbXBsb3llckZvcm0nKSBlbXBsb3llckZvcm1FbGVtZW50OiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xyXG5cclxuICBwdWJsaWMgY3VycmVudFN0YXRlIDogc3RyaW5nO1xyXG4gIHB1YmxpYyBjdXN0b21lck5hbWU6IHN0cmluZztcclxuICBwdWJsaWMgYWxpYXNOYW1lOiBzdHJpbmc7XHJcbiAgcHVibGljIG1haWxpbmdBZGRyZXNzRGlzcGxheTogc3RyaW5nO1xyXG4gIHB1YmxpYyBzY2hvb2xGbGFnOnN0cmluZztcclxuICBwdWJsaWMgaXNPc2FFbXBsb3llcjpzdHJpbmcgPSBcIjBcIjtcclxuICBwdWJsaWMgaXNDU1I6Ym9vbGVhbjtcclxuICBwdWJsaWMgc2hvd1dvcmtTdGF0ZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgcHVibGljIG5vbktzU3RhdGU6e3RleHQ6c3RyaW5nLCB2YWx1ZTpzdHJpbmd9W107XHJcbiAgcHVibGljIHF0cldhZ2VMaXN0OiBRdHJZZWFyRW1wbG95ZXJXYWdlTW9kZWxbXTtcclxuICBwdWJsaWMgaXNGb3JtU3VibWl0dGVkID0ge3N1Ym1pdHRlZDogZmFsc2V9XHJcbiAgcHJpdmF0ZSBvbkNoYW5nZTogRnVuY3Rpb24gPSAodmFsdWU6IFN0cmluZykgPT4ge1xyXG5cclxuICB9O1xyXG5cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgZm9ybUJ1aWxkZXI6IFVudHlwZWRGb3JtQnVpbGRlciwgXHJcbiAgICBwdWJsaWMgdmFsaWRhdGlvblNlcnZpY2U6IFZhbGlkYXRpb25TZXJ2aWNlLCBcclxuICAgIHB1YmxpYyB1dGlsOiBVdGlsU2VydmljZSxcclxuICAgIHByaXZhdGUgZmlsdGVyU2VydmljZTogRmlsdGVyU2VydmljZSxcclxuICAgIHByaXZhdGUgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlLCBcclxuICAgIHB1YmxpYyBzYW5pdGl6ZXI6IERvbVNhbml0aXplciwgXHJcbiAgICBwdWJsaWMgY2xhaW1zU2VydmljZSA6IENsYWltU2VydmljZSxcclxuICAgIHB1YmxpYyBsczogTG9naW5TZXJ2aWNlLFxyXG4gICAgcHVibGljIGVsOiBFbGVtZW50UmVmLCBcclxuICAgIHByaXZhdGUgYXI6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgcHVibGljIHRyYW5zbGF0ZVNlcnZpY2UgOiBUcmFuc2xhdGVTZXJ2aWNlXHJcbiAgKSB7IH1cclxuICBuZ09uSW5pdCgpIHtcclxuXHJcbiAgICB0aGlzLnNldFdvcmtTdGFydERhdGUoKTtcclxuICAgIFxyXG4gICAgdGhpcy5sb2FkTWFzdGVyRGF0YSgpO1xyXG5cclxuICAgIGlmKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwibGFuZ3VhZ2VcIikgPT09IFwiZXNcIil7XHJcbiAgICAgIHRoaXMuZW1wbG95ZXJUeXBlT3B0aW9ucyA9IENvbWJvT3B0aW9uLkVNUExPWUVSX1RZUEVfRVM7XHJcbiAgICAgIHRoaXMuY291bnRyeU9wdGlvbnMgPSBDb21ib09wdGlvbi5DT1VOVFJZX0VTO1xyXG4gICAgICB0aGlzLmNvdW50cnlGZWRPcHRpb25zID0gQ29tYm9PcHRpb24uQ09VTlRSWV9FUztcclxuICAgICAgdGhpcy5wYXlSYXRlT3B0aW9ucyA9IENvbWJvT3B0aW9uLlBBWV9QRVJJT0RfRVM7XHJcbiAgICAgIHRoaXMucmFkaW9PcHRpb25zID0gQ29tYm9PcHRpb24uWUVTX05PX0VTO1xyXG4gICAgICB0aGlzLndvcmtPcHRpb25zID0gQ29tYm9PcHRpb24uV09SS19GT1JfRU1QTF9FUztcclxuICAgICAgdGhpcy55ZXNOb05hT3B0aW9ucyA9IENvbWJvT3B0aW9uLllFU19OT19OQV9FUztcclxuICAgICAgdGhpcy5wYXlNZXRob2RPcHRpb25zID0gQ29tYm9PcHRpb24uUEFZTUVOVF9NRVRIT0RfRVM7XHJcbiAgICAgIHRoaXMud2FnZVByb29mT3B0aW9ucyA9IENvbWJvT3B0aW9uLldBR0VfUFJPT0ZfRVM7XHJcbiAgICAgIHRoaXMuc3RhdGVzT3B0aW9ucyA9IENvbWJvT3B0aW9uLlVTX1NUQVRFU19FUztcclxuICAgICAgdGhpcy5ub25LU1N0YXRlc09wdGlvbnMgPSBDb21ib09wdGlvbi5OT05fS1NfU1RBVEVTX0VTO1xyXG4gICAgICB0aGlzLnBheVBlcmlvZCA9IENvbWJvT3B0aW9uLlBBWV9QRVJJT0RfRVM7XHJcbiAgICAgIHRoaXMud29ya0NvdW50cnlPcHRpb25zID0gQ29tYm9PcHRpb24uV09SS19DT1VOVFJZX0VTO1xyXG4gICAgICB0aGlzLm1pbGl0YXJ5U2VydmljZU9wdGlvbnMgPSBDb21ib09wdGlvbi5NSUxJVEFSWV9TRVJWSUNFX0VTO1xyXG4gICAgICB0aGlzLnJlbXVuZXJhdGlvblR5cGVPcHRpb25zID0gQ29tYm9PcHRpb24uUkVNVU5FUkFUSU9OX1RZUEVTX0VTO1xyXG4gICAgICB0aGlzLmdyb3VwZWRSZWFzb25zPSBDb21ib09wdGlvbi5HUk9VUF9SRUFTT05TX0VTO1xyXG4gICAgICB0aGlzLnByZXZXb3JrZWRTdGF0ZU9wdGlvbnM9IENvbWJvT3B0aW9uLldPUktFRF9TVEFURV9FUztcclxuICAgICAgY29uc3QgY3VycmVudFN0YXRlID0gQ29tYm9PcHRpb24uVVNfU1RBVEVTX0VTLmZpbmQoc3RhdGUgPT4gc3RhdGUudmFsdWUgPT0gdGhpcy51dGlsLmdldFN0YXRlKCkpXHJcbiAgICAgIHRoaXMuc3RhdGVzT3B0aW9ucyA9IFtjdXJyZW50U3RhdGUsIC4uLkNvbWJvT3B0aW9uLlVTX1NUQVRFU19FUy5maWx0ZXIoc3RhdGUgPT4gc3RhdGUudmFsdWUgIT0gdGhpcy51dGlsLmdldFN0YXRlKCkpXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZW1wbG95ZXJUeXBlT3B0aW9ucyA9IENvbWJvT3B0aW9uLkVNUExPWUVSX1RZUEU7XHJcbiAgICAgIHRoaXMuY291bnRyeU9wdGlvbnMgPSBDb21ib09wdGlvbi5DT1VOVFJZO1xyXG4gICAgICB0aGlzLmNvdW50cnlGZWRPcHRpb25zID0gQ29tYm9PcHRpb24uQ09VTlRSWTtcclxuICAgICAgdGhpcy5wYXlSYXRlT3B0aW9ucyA9IENvbWJvT3B0aW9uLlBBWV9QRVJJT0Q7XHJcbiAgICAgIHRoaXMucmFkaW9PcHRpb25zID0gQ29tYm9PcHRpb24uWUVTX05PO1xyXG4gICAgICB0aGlzLndvcmtPcHRpb25zID0gQ29tYm9PcHRpb24uV09SS19GT1JfRU1QTDtcclxuICAgICAgdGhpcy55ZXNOb05hT3B0aW9ucyA9IENvbWJvT3B0aW9uLllFU19OT19OQTtcclxuICAgICAgdGhpcy5wYXlNZXRob2RPcHRpb25zID0gQ29tYm9PcHRpb24uUEFZTUVOVF9NRVRIT0Q7XHJcbiAgICAgIHRoaXMud2FnZVByb29mT3B0aW9ucyA9IENvbWJvT3B0aW9uLldBR0VfUFJPT0Y7XHJcbiAgICAgIHRoaXMuc3RhdGVzT3B0aW9ucyA9IENvbWJvT3B0aW9uLlVTX1NUQVRFUztcclxuICAgICAgdGhpcy5ub25LU1N0YXRlc09wdGlvbnMgPSBDb21ib09wdGlvbi5OT05fS1NfU1RBVEVTO1xyXG4gICAgICB0aGlzLnBheVBlcmlvZCA9IENvbWJvT3B0aW9uLlBBWV9QRVJJT0Q7XHJcbiAgICAgIHRoaXMud29ya0NvdW50cnlPcHRpb25zID0gQ29tYm9PcHRpb24uV09SS19DT1VOVFJZO1xyXG4gICAgICB0aGlzLm1pbGl0YXJ5U2VydmljZU9wdGlvbnMgPSBDb21ib09wdGlvbi5NSUxJVEFSWV9TRVJWSUNFO1xyXG4gICAgICB0aGlzLnJlbXVuZXJhdGlvblR5cGVPcHRpb25zID0gQ29tYm9PcHRpb24uUkVNVU5FUkFUSU9OX1RZUEVTO1xyXG4gICAgICB0aGlzLmdyb3VwZWRSZWFzb25zPSBDb21ib09wdGlvbi5HUk9VUF9SRUFTT05TO1xyXG4gICAgICB0aGlzLnByZXZXb3JrZWRTdGF0ZU9wdGlvbnM9IENvbWJvT3B0aW9uLldPUktFRF9TVEFURTtcclxuICAgICAgY29uc3QgY3VycmVudFN0YXRlID0gQ29tYm9PcHRpb24uVVNfU1RBVEVTLmZpbmQoc3RhdGUgPT4gc3RhdGUudmFsdWUgPT0gdGhpcy51dGlsLmdldFN0YXRlKCkpXHJcbiAgICAgIHRoaXMuc3RhdGVzT3B0aW9ucyA9IFtjdXJyZW50U3RhdGUsIC4uLkNvbWJvT3B0aW9uLlVTX1NUQVRFUy5maWx0ZXIoc3RhdGUgPT4gc3RhdGUudmFsdWUgIT0gdGhpcy51dGlsLmdldFN0YXRlKCkpXTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnaXNCYXNlUGVyaW9kRW1wbG95ZXIgaXMgPSAnLCB0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyLCB0aGlzLnN0YXRlc09wdGlvbnMpO1xyXG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ2lzTmV3Q2xhaW0gPSAnLCB0aGlzLmlzTmV3Q2xhaW0pO1xyXG4gICAgdGhpcy5jdXJyZW50U3RhdGUgPSB0aGlzLnV0aWwuZ2V0U3RhdGUoKTtcclxuICAgIHRoaXMuaXNDU1IgPSB0aGlzLmxzLmlzQ3NyKCk7XHJcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcIkN1cnJlbnQgU3RhdGUgPSBcIiwgdGhpcy5jdXJyZW50U3RhdGUpO1xyXG4gICAgbGV0IGVzbTogQ2xhaW1BcHBFbXBsb3llckRldGFpbHNNb2RlbDtcclxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKFwiY2FsbCBzZXJ2aWNlID1cIiwgdGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UuZ2V0VmFsdWUoKSk7XHJcbiAgICBpZiAodGhpcy5yZWNvcmRJbmRleFRvRWRpdCA9PT0gdW5kZWZpbmVkIHx8IHRoaXMucmVjb3JkSW5kZXhUb0VkaXQgPT09IG51bGwpIHtcclxuICAgICAgZXNtID0gbmV3IENsYWltQXBwRW1wbG95ZXJEZXRhaWxzTW9kZWwoKTtcclxuICAgICAgdGhpcy5xdHJXYWdlTGlzdCA9IHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlLmdldFZhbHVlKCk/LnF0clllYXJXYWdlTGlzdEdlbmVyaWM7ICAgICAgXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygncmVjb3JkSW5kZXhUb0VkaXQnLCB0aGlzLnJlY29yZEluZGV4VG9FZGl0KVxyXG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygndGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UuZ2V0VmFsdWUoKScsIHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlLmdldFZhbHVlKCkpO1xyXG4gICAgICB0aGlzLm5vRWRpdE1vZGUgPSB0cnVlO1xyXG4gICAgICBlc20gPSB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmJwRW1wTHN0RnJtU2VydmljZS5nZXRWYWx1ZSgpLmJwRW1wTGlzdFt0aGlzLnJlY29yZEluZGV4VG9FZGl0XTtcclxuICAgICAgdGhpcy5xdHJXYWdlTGlzdCA9IGVzbS53YWdlQW1vdW50QXJyYXkgYXMgUXRyWWVhckVtcGxveWVyV2FnZU1vZGVsW107XHJcbiAgICAgIHRoaXMuY3VzdG9tZXJOYW1lID0gZXNtLmVtcGxveWVyRGF0YS5kaXNwbGF5TmFtZTtcclxuICAgICAgaWYoZXNtLmVtcGxveWVyRGF0YS50cmFkZU5hbWUpe1xyXG4gICAgICAgIHRoaXMuYWxpYXNOYW1lID0gZXNtLmVtcGxveWVyRGF0YS50cmFkZU5hbWU7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5hbGlhc05hbWUgPSBudWxsO1xyXG4gICAgICB9XHJcbiAgICAgIGlmKGVzbS5vc2FCcEVtcGxveWVyRmxhZyl7XHJcbiAgICAgICAgdGhpcy5pc09zYUVtcGxveWVyID0gZXNtLm9zYUJwRW1wbG95ZXJGbGFnO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFwiaXNPc2FFbXBsb3llciA9PT09PT09IFwiICwgdGhpcy5pc09zYUVtcGxveWVyKTtcclxuICAgICAgdGhpcy5tYWlsaW5nQWRkcmVzc0Rpc3BsYXkgPSBlc20uZW1wbG95ZXJEYXRhLm1haWxpbmdBZGRyZXNzRGlzcGxheTtcclxuICAgICAgdGhpcy5zY2hvb2xGbGFnID0gZXNtLmVtcGxveWVyRGF0YS5zY2hvb2xGbGFnO1xyXG4gICAgICBpZih0aGlzLmlzQ1NSICYmIGVzbS5lbXBsb3llclByb3ZpZGVkV2FnZXMgJiYgZXNtLmVtcGxveWVyUHJvdmlkZWRXYWdlcy53YWdlc0xpc3RRdHJXaXNlKXtcclxuICAgICAgICB0aGlzLmVtcGxveWVyUHJvdmlkZWRXYWdlcyA9IGVzbS5lbXBsb3llclByb3ZpZGVkV2FnZXMud2FnZXNMaXN0UXRyV2lzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYmFzZVBlcmlvZFN0YXJ0RGF0ZSA9IHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlLmdldFZhbHVlKCk/LmJhc2VQZXJpb2RTdGFydERhdGU7XHJcbiAgICB0aGlzLmJhc2VQZXJpb2RFbmREYXRlID0gdGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UuZ2V0VmFsdWUoKT8uYmFzZVBlcmlvZEVuZERhdGU7XHJcbiAgICB0aGlzLmJwU3RhcnREYXRlVG9EaXNwbGF5ID0gbmV3IERhdGUodGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UuZ2V0VmFsdWUoKT8uYnBTdGFydERhdGVUb0Rpc3BsYXkpO1xyXG5cclxuICAgIGNvbnNvbGUubG9nKFwidGhpcy5taW5Xb3JrU3RhcnREYXRlXCIsIHRoaXMubWluV29ya1N0YXJ0RGF0ZSk7XHJcbiAgICBpZih0aGlzLm1pbldvcmtTdGFydERhdGUpe1xyXG4gICAgICB0aGlzLmJwU3RhcnREYXRlVG9EaXNwbGF5ID0gdGhpcy5taW5Xb3JrU3RhcnREYXRlO1xyXG4gICAgfSBlbHNle1xyXG4gICAgICB0aGlzLm1pbldvcmtTdGFydERhdGUgPSB0aGlzLmRvYjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNsYWltc1NlcnZpY2UubG9hZE1hc3RlckRhdGEoKTtcclxuICAgIFxyXG5cclxuICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XHJcbiAgICAgICdlbXBsb3llclR5cGUnOiBbZXNtLmVtcGxveWVyVHlwZSA/PyBudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcclxuICAgICAgJ2VtcGxveWVyTmFtZSc6IFtlc20uZW1wbG95ZXJOYW1lID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdSRUcnICYmIHRoaXMucHJldldvcmtlZFN0YXRlLnZhbHVlID09PSAnS1MnKV0sXHJcbiAgICAgICdvdGhTdGF0ZUVtcE5hbWUnOiBbZXNtLm90aFN0YXRlRW1wTmFtZSA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnUkVHJyAmJiB0aGlzLnByZXZXb3JrZWRTdGF0ZS52YWx1ZSA9PT0gJ09UJyldLFxyXG4gICAgICAnZmVkRW1wbG95ZXJOYW1lJzogW2VzbS5mZWRFbXBsb3llck5hbWUgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ0ZFRCcpXSxcclxuICAgICAgJ2VtcGxveWVyVGVsZXBob25lTnVtYmVyJzogW2VzbS5lbXBsb3llclRlbGVwaG9uZU51bWJlciA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnUkVHJyldLFxyXG4gICAgICAnZW5kRGF0ZSc6IFtlc20uZW5kRGF0ZSA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnUkVHJyldLFxyXG4gICAgICAnc3RhcnREYXRlJzogW2VzbS5zdGFydERhdGUgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ1JFRycpXSxcclxuICAgICAgJ2pvYlRpbGVPclBvc2l0aW9uJzogW2VzbS5qb2JUaWxlT3JQb3NpdGlvbiA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnUkVHJyldLFxyXG4gICAgICAncmVhc29uU2VwYXJhdGlvbic6IFtlc20ucmVhc29uU2VwYXJhdGlvbiA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnUkVHJyB8fCB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdGRUQnKV0sXHJcbiAgICAgICdkaXNjaGFyZ2VEZXRhaWwnOiBbZXNtLmRpc2NoYXJnZURldGFpbCA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlIT0nTUlMJyAmJiB0aGlzLnJlYXNvblNlcGFyYXRpb24/LnZhbHVlPy52YWx1ZSA9PT0gJ0RDRkknKV0sXHJcbiAgICAgICd2b2xRdWl0RGV0YWlscyc6IFtlc20udm9sUXVpdERldGFpbHMgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSE9J01JTCcgJiYgIHRoaXMucmVhc29uU2VwYXJhdGlvbj8udmFsdWU/LnZhbHVlID09PSAnVk9MUScpXSxcclxuICAgICAgJ3BheVJhdGUnOiBbZXNtLnBheVJhdGUgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZT09PSdSRUcnICYmICgodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLndvcmtGbGFnPy52YWx1ZT09PSdZJykgfHwgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpKV0sXHJcbiAgICAgICdwYXlSYXRlRnJlcXVlbmN5JzogW2VzbS5wYXlSYXRlRnJlcXVlbmN5ID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWU9PT0nUkVHJyAmJiAoKHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy53b3JrRmxhZz8udmFsdWU9PT0nWScpIHx8ICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSldLFxyXG4gICAgICAncGVuc2lvbkZsYWcnOiBbZXNtLnBlbnNpb25GbGFnID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWU9PT0nUkVHJyAmJiB0aGlzLndvcmtGbGFnPy52YWx1ZT09PSdZJyldLFxyXG4gICAgICAncGVuc2lvblJlY3ZEYXRlJzogW2VzbS5wZW5zaW9uUmVjdkRhdGUgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ1JFRycgJiYgdGhpcy5wZW5zaW9uRmxhZy52YWx1ZSA9PT0gJ1knICYmIHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpXSxcclxuICAgICAgJ3JlZ1BlbnNpb25GbGFnJzogW2VzbS5yZWdQZW5zaW9uRmxhZyA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlPT09J1JFRycpXSxcclxuICAgICAgJ3JlZ1BlbnNpb25SZWN2RGF0ZSc6W2VzbS5yZWdQZW5zaW9uUmVjdkRhdGUgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ1JFRycgJiYgdGhpcy5yZWdQZW5zaW9uRmxhZy52YWx1ZSA9PT0gJ1knKV0sICAgICAgXHJcbiAgICAgIC8vICdpc0NsbXRQYWlkV2hpbGVMb3cnOiBbZXNtLmlzQ2xtdFBhaWRXaGlsZUxvdyAhPSBudWxsID8gZXNtLmlzQ2xtdFBhaWRXaGlsZUxvdyA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAoKHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy53b3JrRmxhZy52YWx1ZSA9PT0gJ1knKSB8fCAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikgJiYgdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnUkVHJyldLFxyXG4gICAgICAvLyAnaGFzU2hvcnRUZXJtRGlzYWJpbGl0eSc6IFtlc20uaGFzU2hvcnRUZXJtRGlzYWJpbGl0eSAhPSBudWxsID8gZXNtLmhhc1Nob3J0VGVybURpc2FiaWxpdHkgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnUkVHJyAmJiB0aGlzLmN1cnJlbnRTdGF0ZSA9PT0gJ01FJyldLFxyXG4gICAgICAvLyAnaGFzUmVjdlJlbXVuZXJhdGlvbic6IFtlc20uaGFzUmVjdlJlbXVuZXJhdGlvbiAhPSBudWxsID8gZXNtLmhhc1JlY3ZSZW11bmVyYXRpb24gOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKCh0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMud29ya0ZsYWcudmFsdWUgPT09ICdZJykgfHwgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpICYmIHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ1JFRycgJiYgdGhpcy5jdXJyZW50U3RhdGUgPT09ICdNRScpXSxcclxuICAgICAgJ3JlbXVuZXJhdGlvblR5cGVzJzogW2VzbS5yZW11bmVyYXRpb25UeXBlcyA/PyBudWxsXSxcclxuICAgICAgLy8gJ3ZhY2F0aW9uJzogW2VzbS52YWNhdGlvbiAhPSBudWxsID8gZXNtLnZhY2F0aW9uIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICgodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLndvcmtGbGFnLnZhbHVlID09PSAnWScgJiYgdGhpcy5zY2hvb2xGbGFnID09PScxJykgfHwgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpICYmIHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ1JFRycgJiYgdGhpcy5jdXJyZW50U3RhdGUgPT09ICdNRScpXSxcclxuICAgICAgXHJcbiAgICAgICdncm9zc1dhZ2VzJzogW2VzbS5ncm9zc1dhZ2VzID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWU9PT0nUkVHJyAmJiAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiAodGhpcy5vc2FCcEVtcGxveWVyRmxhZz8udmFsdWUgPT09JzEnIHx8IHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXM/LnZhbHVlKSldLFxyXG4gICAgICAvLydwYWlkQnknOiBbZXNtLnBhaWRCeSAhPSBudWxsID8gZXNtLnBhaWRCeSA6IG51bGwsQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmlzQ2xtdFBhaWRXaGlsZUxvdy52YWx1ZT09PSdZJykpXSxcclxuICAgICAgJ3BheW1lbnRUeXBlJzogW2VzbS5wYXltZW50VHlwZSA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcz8udmFsdWUgJiYgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlPT09J1JFRycpXSxcclxuICAgICAgJ2RvY3NSZWNlaXZlZCc6IFtlc20uZG9jc1JlY2VpdmVkID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzPy52YWx1ZSAmJiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdSRUcnKV0sXHJcbiAgICAgICdvdGhlclNTTkZsYWcnOiBbZXNtLm90aGVyU1NORmxhZyA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcz8udmFsdWUgJiYgdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnUkVHJyldLFxyXG4gICAgICAnb3RoZXJTU04nOiBbZXNtLm90aGVyU1NOID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdSRUcnICYmIHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUgJiYgdGhpcy5vdGhlclNTTkZsYWcudmFsdWUgPT09ICdZJyldLFxyXG4gICAgICAnb3RoZXJOYW1lRmxhZyc6IFtlc20ub3RoZXJOYW1lRmxhZyA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcz8udmFsdWUgJiYgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlPT09J1JFRycpXSxcclxuICAgICAgJ290aGVyTmFtZSc6IFtlc20ub3RoZXJOYW1lID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLm90aGVyTmFtZUZsYWcudmFsdWUgPT09ICdZJyldLFxyXG4gICAgICAvLydkb2luZ0J1c2luZXNzQXMnOiBbZXNtLmRvaW5nQnVzaW5lc3NBcyAhPSBudWxsID8gZXNtLmRvaW5nQnVzaW5lc3NBcyA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZSAmJiAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAgJiYgdGhpcy53b3JrU3RhdGUudmFsdWUgJiYgdGhpcy53b3JrU3RhdGUudmFsdWUudmFsdWU9PT0nS1MnKSldLFxyXG4gICAgICAncHJldldvcmtlZFN0YXRlJzogW2VzbS5wcmV2V29ya2VkU3RhdGUgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ1JFRycgJiYgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpXSxcclxuICAgICAgJ3dvcmtTdGF0ZSc6IFtlc20ud29ya1N0YXRlID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdSRUcnICYmICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKV0sXHJcbiAgICAgICd3b3JrQ2l0eSc6IFtlc20ud29ya0NpdHkgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ1JFRycgJiYgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpXSxcclxuICAgICAgLy8nbnVtYmVyRW1wbG95ZWQnOiBbZXNtLm51bWJlckVtcGxveWVkICE9IG51bGwgPyBlc20ubnVtYmVyRW1wbG95ZWQgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUgJiYgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpKV0sXHJcbiAgICAgICd3b3JrVHlwZSc6IFtlc20ud29ya1R5cGUgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXM/LnZhbHVlICYmICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZT09PSdSRUcnKV0sXHJcbiAgICAgLy8gJ2ZlaW4nOiBbZXNtLmZlaW5dLFxyXG4gICAgIC8vICdoaXJlZEJ5JzogW2VzbS5oaXJlZEJ5LCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUgJiYgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgICYmIHRoaXMud29ya1N0YXRlLnZhbHVlICYmIHRoaXMud29ya1N0YXRlLnZhbHVlLnZhbHVlPT09J0tTJykpXSxcclxuICAgICAgLy8nYnVzaW5lc3NPd25lcic6IFtlc20uYnVzaW5lc3NPd25lciwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnZhbHVlICYmICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICAmJiB0aGlzLndvcmtTdGF0ZS52YWx1ZSAmJiB0aGlzLndvcmtTdGF0ZS52YWx1ZS52YWx1ZT09PSdLUycpKV0sXHJcbiAgICAgICdidXNpbmVzc05hdHVyZSc6IFtlc20uYnVzaW5lc3NOYXR1cmUgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXM/LnZhbHVlICYmIHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ1JFRycpXSxcclxuICAgICAgJ3dvcmtGbGFnJzogW2VzbS53b3JrRmxhZyA/PyBudWxsXSxcclxuICAgICAgLy8ncXVpdHJlYXNvbic6IFtlc20ucXVpdHJlYXNvbiAhPSBudWxsID8gZXNtLnF1aXRyZWFzb24gOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKCgoKHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy53b3JrRmxhZy52YWx1ZSA9PT0gJ1knKSB8fCAoIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpKSAmJiB0aGlzLnJlYXNvblNlcGFyYXRpb24udmFsdWUgJiYgdGhpcy5yZWFzb25TZXBhcmF0aW9uLnZhbHVlLnZhbHVlID09PSAnVk9MUScpKSldLFxyXG4gICAgICAnZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMnOiBbZXNtLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzID8/IG51bGxdLFxyXG4gICAgICAnZmljRGVzdGluYXRpb25Db2RlJzogW2VzbS5maWNEZXN0aW5hdGlvbkNvZGUgPz8gbnVsbF0sXHJcbiAgICAgICdmaWNDb2RlJzogW2VzbS5maWNDb2RlID8/IG51bGxdLFxyXG4gICAgICAnZmljRGVzdGluYXRpb25OYW1lJzogW2VzbS5maWNEZXN0aW5hdGlvbk5hbWUgPz8gbnVsbF0sXHJcbiAgICAgICdmaWNEZXN0aW5hdGlvbklkJzogW2VzbS5maWNEZXN0aW5hdGlvbklkID8/IG51bGxdLFxyXG4gICAgICAnc2ZFaWdodGZsYWcnOiBbZXNtLnNmRWlnaHRmbGFnID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdGRUQnKV0sXHJcbiAgICAgICdmZWRXb3JrQ2l0eSc6IFtlc20uZmVkV29ya0NpdHkgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ0ZFRCcpXSxcclxuICAgICAgJ2ZlZFdvcmtTdGF0ZSc6IFtlc20uZmVkV29ya1N0YXRlID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdGRUQnKV0sXHJcbiAgICAgICdmZWRXb3JrQ291bnRyeSc6IFtlc20uZmVkV29ya0NvdW50cnkgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ0ZFRCcpXSxcclxuICAgICAgJ3N0YXJ0RGF0ZUZlZCc6IFtlc20uc3RhcnREYXRlRmVkID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdGRUQnKV0sXHJcbiAgICAgICdlbmREYXRlRmVkJzogW2VzbS5lbmREYXRlRmVkID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdGRUQnKV0sXHJcbiAgICAgICdmZWRKb2JUaWxlT3JQb3NpdGlvbic6IFtlc20uZmVkSm9iVGlsZU9yUG9zaXRpb24gPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdGRUQnKSldLFxyXG4gICAgICAvLydjbGFpbWFudEVtcGxveWVkV2l0aEVtcHInOiBbZXNtLmNsYWltYW50RW1wbG95ZWRXaXRoRW1wciAhPSBudWxsID8gZXNtLmNsYWltYW50RW1wbG95ZWRXaXRoRW1wciA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnRkVEJykpXSxcclxuICAgICAgJ3BlcmZvcm1lZFNlcnZpY2UnOiBbZXNtLnBlcmZvcm1lZFNlcnZpY2UgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ0ZFRCcpXSxcclxuICAgICAgJ2ZlZFBlbnNpb25GbGFnJzogW2VzbS5mZWRQZW5zaW9uRmxhZyA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ0ZFRCcpKV0sXHJcbiAgICAgICdmZWRQZW5zaW9uUmVjdkRhdGUnOltlc20uZmVkUGVuc2lvblJlY3ZEYXRlID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnRkVEJyAmJiB0aGlzLmZlZFBlbnNpb25GbGFnLnZhbHVlID09PSAnWScpKV0sXHJcbiAgICAgICdzZXZQYXlGbGFnJzogW2VzbS5zZXZQYXlGbGFnID8/IG51bGxdLFxyXG4gICAgICAnd2Vla2x5QW1vdW50JzogW2VzbS53ZWVrbHlBbW91bnQgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdGRUQnICYmIHRoaXMuc2V2UGF5RmxhZy52YWx1ZSA9PT0gJ1knKSldLFxyXG4gICAgICAnbnVtYmVyT2ZXZWVrcyc6IFtlc20ubnVtYmVyT2ZXZWVrcyA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ0ZFRCcgJiYgdGhpcy5zZXZQYXlGbGFnLnZhbHVlID09PSAnWScpKV0sXHJcbiAgICAgICdzZXZQYXlBbW91bnQnOiBbZXNtLnNldlBheUFtb3VudCA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ0ZFRCcgJiYgdGhpcy5zZXZQYXlGbGFnLnZhbHVlID09PSAnWScpKV0sXHJcbiAgICAgICdzZXZQYXlTdGFydERhdGUnOiBbZXNtLnNldlBheVN0YXJ0RGF0ZSA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ0ZFRCcgJiYgdGhpcy5zZXZQYXlGbGFnLnZhbHVlID09PSAnWScpKV0sXHJcbiAgICAgICdzZXZQYXlFbmREYXRlJzogW2VzbS5zZXZQYXlFbmREYXRlID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnRkVEJyAmJiB0aGlzLnNldlBheUZsYWcudmFsdWUgPT09ICdZJykpXSxcclxuICAgICAgJ3NldlBheVBheW1lbnRTdGFydERhdGUnOiBbZXNtLnNldlBheVBheW1lbnRTdGFydERhdGUgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdGRUQnICYmIHRoaXMuc2V2UGF5RmxhZy52YWx1ZSA9PT0gJ1knKSldLFxyXG4gICAgICAncmVnRW1wbG95ZXJGb3VuZCc6IFtlc20ucmVnRW1wbG95ZXJGb3VuZCA/PyBudWxsXSxcclxuICAgICAgJ2VtcGxveWVySWQnOiBbZXNtLmVtcGxveWVySWQgPz8gbnVsbF0sXHJcbiAgICAgICdzZXJ2aWNlQnJhbmNoJzogW2VzbS5zZXJ2aWNlQnJhbmNoID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdNSUwnKV0sXHJcbiAgICAgICdzdGFydERhdGVNaWwnOiBbZXNtLnN0YXJ0RGF0ZU1pbCA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnTUlMJyldLFxyXG4gICAgICAnZW5kRGF0ZU1pbCc6IFtlc20uZW5kRGF0ZU1pbCA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnTUlMJyldLFxyXG4gICAgICAnZGQyMTRGbGFnJzogW2VzbS5kZDIxNEZsYWcgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ01JTCcpXSxcclxuICAgICAgJ2xhc3RQYXlHcmFkZSc6IFtlc20ubGFzdFBheUdyYWRlID8/IG51bGxdLFxyXG4gICAgICAnbGFzdGR1dHknOiBbZXNtLmxhc3RkdXR5ID8/IG51bGxdLFxyXG4gICAgICAncGxhY2VTZXBhcmF0ZWQnOiBbZXNtLnBsYWNlU2VwYXJhdGVkID8/IG51bGxdLFxyXG4gICAgICAnbm9MZWF2ZURheXMnOiBbZXNtLm5vTGVhdmVEYXlzID8/IG51bGxdLFxyXG4gICAgICAnY29tcGxldGVkRnVsbFRlcm1GbGFnJzogW2VzbS5jb21wbGV0ZWRGdWxsVGVybUZsYWcgPz8gbnVsbF0sXHJcbiAgICAgICdyZXNlcnZlT3JHdWFyZEZsYWcnOiBbZXNtLnJlc2VydmVPckd1YXJkRmxhZyA/PyBudWxsXSxcclxuICAgICAgJ21pbFBlbnNpb25GbGFnJzogW2VzbS5taWxQZW5zaW9uRmxhZyA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnTUlMJyldLFxyXG4gICAgICAnbWlsUGVuc2lvblJlY3ZEYXRlJzpbZXNtLm1pbFBlbnNpb25SZWN2RGF0ZSA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ01JTCcgJiYgdGhpcy5taWxQZW5zaW9uRmxhZy52YWx1ZSA9PT0gJ1knKSldLFxyXG4gICAgICAnbWlsU3RhdGUnOltudWxsLCBbQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ01JTCcpLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkS2Fuc2FzXV0sXHJcbiAgICAgICdhZGRyZXNzTGluZTEnOiBbZXNtLmFkZHJlc3NMaW5lMSA/PyBudWxsXSxcclxuICAgICAgJ2FkZHJlc3NMaW5lMic6IFtlc20uYWRkcmVzc0xpbmUyID8/IG51bGxdLFxyXG4gICAgICAnYWRkcmVzc0xpbmUzJzogW2VzbS5hZGRyZXNzTGluZTMgPz8gbnVsbF0sXHJcbiAgICAgICdyZXNlcnZlQnJhbmNoJzpbZXNtLnJlc2VydmVCcmFuY2ggPz8gbnVsbF0sXHJcbiAgICAgICdzdGFydERhdGVSZXNlcnZlJzpbZXNtLnN0YXJ0RGF0ZVJlc2VydmUgPz8gbnVsbF0sXHJcbiAgICAgICdlbmREYXRlUmVzZXJ2ZSc6W2VzbS5lbmREYXRlUmVzZXJ2ZSA/PyBudWxsXSxcclxuICAgICAgJ2RkMjE0RmlsZSc6W2VzbS5kZDIxNEZpbGUgPz8gbnVsbF0sXHJcbiAgICAgICdhZGRyZXNzJzpbZXNtLmFkZHJlc3MgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdSRUcnIHx8IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ0ZFRCcpKV0sXHJcbiAgICAgICd3YWdlQW1vdW50QXJyYXknOiB0aGlzLmZvcm1CdWlsZGVyLmFycmF5KFtdKSxcclxuICAgICAgJ3Rlc3RFbXAnIDogW2VzbS5lbXBsb3llclByb3ZpZGVkV2FnZXM/LndhZ2VzTGlzdFF0cldpc2UgPz8gbnVsbF0sXHJcbiAgICAgICdvc2FCcEVtcGxveWVyRmxhZyc6W2VzbS5vc2FCcEVtcGxveWVyRmxhZyA/PyBcIjBcIl0sXHJcbiAgICAgICdzZXZlcmFuY2UnOltlc20uc2V2ZXJhbmNlID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdSRUcnKV1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5lbXBsb3llclR5cGUudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PntcclxuICAgICAgLy8gdW5jb21tZW50IHRoaXMgaWYgdGhlcmUgaXMgYW4gaXNzdWUgd2l0aCBjaGFuZ2luZyBlbXBsb3llciB0eXBlLlxyXG4gICAgICAvL1BHTFAtNTIyIHRoaXMgYmVsb3cgY29kZSB3YXMgdW5jb21tZW50ZWRcclxuICAgICAgT2JqZWN0LmVudHJpZXModGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHMpLmZvckVhY2goKHR1cGxlKT0+IHtpZih0dXBsZVswXSAhPT0gXCJlbXBsb3llclR5cGVcIiAmJiB0dXBsZVswXSAhPT0gXCJ3YWdlQW1vdW50QXJyYXlcIiAmJiAhdHVwbGVbMV0udmFsaWQpIHR1cGxlWzFdLnJlc2V0KCk7fSk7XHJcbiAgICAgIHRoaXMuaXNGb3JtU3VibWl0dGVkLnN1Ym1pdHRlZCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ0ZFRCcgPyB0aGlzLmFkZHJlc3MuZGlzYWJsZSgpOiB0aGlzLmFkZHJlc3MuZW5hYmxlKCk7ICAgICAgXHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIEJhc2VQYWdlLnByaW1lTkdGaXhlcygpOyAgICAgICAgIFxyXG4gICAgICB9LCA1MDApO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnJlYXNvblNlcGFyYXRpb24udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSggXyA9PiB7XHJcbiAgICAgIHRoaXMuZGlzY2hhcmdlRGV0YWlsLnJlc2V0KCk7XHJcbiAgICAgIHRoaXMudm9sUXVpdERldGFpbHMucmVzZXQoKTtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgQmFzZVBhZ2UucHJpbWVOR0ZpeGVzKCk7ICAgICAgICAgXHJcbiAgICAgIH0sIDEwMCk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMub3RoZXJTU05GbGFnLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoXyA9PiB7XHJcbiAgICAgIHRoaXMub3RoZXJTU04ucmVzZXQoKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5vdGhlck5hbWVGbGFnLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoXyA9PiB7XHJcbiAgICAgIHRoaXMub3RoZXJOYW1lLnJlc2V0KCk7XHJcbiAgICB9XHJcbiAgICApXHJcbiBcclxuICAgIC8vUEdMUC01MjIgdGhpcyBiZWxvdyBjb2RlIHdhcyBhZGRlZC4gaWYgIGVtcGxveWVyVHlwZSBpcyBSRUcgYW5kIG5vbiBiYXNlcGVyaW9kRW1wbG95ZXIuIElmIHVzZXIgY2hhbmdlIHRoZSAgcmVnUGVuc2lvbkZsYWcgJ1lFUycgdG8gJ05PJyB0aGVuIHJlZ1BlbnNpb25SZWN2RGF0ZSB2YWxpZGF0aW9uIHdhcyByZXNldFxyXG4gICAgdGhpcy5yZWdQZW5zaW9uRmxhZy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKF8gPT4ge1xyXG4gICAgICB0aGlzLnJlZ1BlbnNpb25SZWN2RGF0ZS5yZXNldCgpO1xyXG4gICAgfVxyXG4gICAgKVxyXG4gICAgIC8vUEdMUC01MjIgdGhpcyBiZWxvdyBjb2RlIHdhcyBhZGRlZC4gaWYgIGVtcGxveWVyVHlwZSBpcyBSRUcgYW5kICBiYXNlcGVyaW9kRW1wbG95ZXIuIElmIHVzZXIgY2hhbmdlIHRoZSAgcGVuc2lvbkZsYWcgJ1lFUycgdG8gJ05PJyB0aGVuIFBlbnNpb25SZWNpdmVEYXRlIHZhbGlkYXRpb24gd2FzIHJlc2V0XHJcbiAgICAgdGhpcy5wZW5zaW9uRmxhZy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKF8gPT4ge1xyXG4gICAgICB0aGlzLnBlbnNpb25SZWN2RGF0ZS5yZXNldCgpO1xyXG4gICAgfVxyXG4gICAgKVxyXG5cclxuXHJcbiAgICAvL1BHTFAtNTIyIHRoaXMgYmVsb3cgY29kZSB3YXMgYWRkZWQuIGlmICBlbXBsb3llclR5cGUgaXMgUkVHIGFuZCAgYmFzZXBlcmlvZEVtcGxveWVyLiBJZiB1c2VyIGNoYW5nZSB0aGUgIHBlbnNpb25GbGFnICdZRVMnIHRvICdOTycgdGhlbiBQZW5zaW9uUmVjaXZlRGF0ZSB2YWxpZGF0aW9uIHdhcyByZXNldFxyXG4gICAgdGhpcy5mZWRQZW5zaW9uRmxhZy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKF8gPT4ge1xyXG4gICAgICB0aGlzLmZlZFBlbnNpb25SZWN2RGF0ZS5yZXNldCgpO1xyXG4gICAgfVxyXG4gICAgKVxyXG5cclxuICAgICAgLy9QR0xQLTUyMiB0aGlzIGJlbG93IGNvZGUgd2FzIGFkZGVkLiBpZiAgZW1wbG95ZXJUeXBlIGlzIE1JTCBhbmQgIGJhc2VwZXJpb2RFbXBsb3llci4gSWYgdXNlciBjaGFuZ2UgdGhlICBwZW5zaW9uRmxhZyAnWUVTJyB0byAnTk8nIHRoZW4gbWlsUGVuc2lvblJlY3ZEYXRlIHZhbGlkYXRpb24gd2FzIHJlc2V0XHJcbiAgICAgIHRoaXMubWlsUGVuc2lvbkZsYWcudmFsdWVDaGFuZ2VzLnN1YnNjcmliZShfID0+IHtcclxuICAgICAgICB0aGlzLm1pbFBlbnNpb25SZWN2RGF0ZS5yZXNldCgpO1xyXG4gICAgICB9XHJcbiAgICAgIClcclxuXHJcblxyXG5cclxuICAgIFxyXG4gICAgaWYoIXRoaXMucGF5UmF0ZUZyZXF1ZW5jeS52YWx1ZSl7XHJcbiAgICAgIHRoaXMucGF5UmF0ZUZyZXF1ZW5jeS5wYXRjaFZhbHVlKHsgdmFsdWU6ICdIT1VSJywgdGV4dDogJ0hvdXInIH0pO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlKSB7XHJcbiAgICAgIGlmICh0aGlzLnF0cldhZ2VMaXN0KSB7XHJcbiAgICAgICAgZm9yICh2YXIgcXRyV2FnZSBvZiB0aGlzLnF0cldhZ2VMaXN0KSB7XHJcbiAgICAgICAgICB0aGlzLndhZ2VBbW91bnRBcnJheS5wdXNoKHRoaXMud2FnZUFycmF5KHF0cldhZ2UpKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYodGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZSB8fCAodGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT0gJ0ZFRCcgJiYgdGhpcy5pc05ld0NsYWltKSkge1xyXG4gICAgICAgIHRoaXMuc2V0V2FnZVZhbGlkYXRpb24oKTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICB9XHJcbiAgc2V0V29ya1N0YXJ0RGF0ZSgpIHtcclxuICAgIGxldCBkYXRhID0gdGhpcy5hci5zbmFwc2hvdC5xdWVyeVBhcmFtTWFwLmdldCgnZGF0YScpO1xyXG4gICAgaWYoZGF0YSl7XHJcbiAgICAgIGxldCBwYXJzZWREYXRhIDogS2V5VmFsdWVNb2RlbFtdID0gSlNPTi5wYXJzZShhdG9iKGRhdGEpKTtcclxuICAgICAgaWYoQXJyYXkuaXNBcnJheShwYXJzZWREYXRhKSl7XHJcbiAgICAgICAgbGV0IGxhc3RDd2UgPSBwYXJzZWREYXRhLmZpbHRlcihrID0+IGsua2V5ID09ICdsYXN0Q3dlRGF0ZScpO1xyXG4gICAgICAgIGlmKGxhc3RDd2UubGVuZ3RoID4gMCAmJiBsYXN0Q3dlWzBdLmtleSA9PSAnbGFzdEN3ZURhdGUnICYmICF0aGlzLmlzTmV3Q2xhaW0pe1xyXG4gICAgICAgICAgdGhpcy5taW5Xb3JrU3RhcnREYXRlID0gbmV3IERhdGUobGFzdEN3ZVswXS52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBsb2FkTWFzdGVyRGF0YSgpe1xyXG5cclxuICAgIHRoaXMuY2xhaW1zU2VydmljZS5nZXRSZWFzb25TZXBhcmF0aW9uKCkuc3Vic2NyaWJlKFxyXG4gICAgICB2YWx1ZSA9PiB7XHJcbiAgICAgICAgdmFsdWUuZm9yRWFjaChhcnIgPT4gIHRoaXMuZW1wbG95bWVudFN0YXR1c09wdGlvbnNBbGwucHVzaChhcnIpKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLmNsYWltc1NlcnZpY2UuZ2V0RGlzY2hhcmdlUmVhc29ucygpLnN1YnNjcmliZShcclxuICAgICAgdmFsdWUgPT4ge1xyXG4gICAgICAgIHZhbHVlLmZvckVhY2goYXJyID0+ICB0aGlzLmRpc2NoYXJnZVJlYXNvbk9wdGlvbnNBbGwucHVzaChhcnIpKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLmNsYWltc1NlcnZpY2UuZ2V0UXVpdFJlYXNvbnMoKS5zdWJzY3JpYmUoXHJcbiAgICAgIHZhbHVlID0+IHtcclxuICAgICAgICB2YWx1ZS5mb3JFYWNoKGFyciA9PiAgdGhpcy52b2xRdWl0UmVhc29uT3B0aW9uc0FsbC5wdXNoKGFycikpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gICAgXHJcbiAgaWYodGhpcy5lbXBsb3ltZW50U3RhdHVzT3B0aW9ucyE9IG51bGwpXHJcbiAgICAgIHJldHVybiB0cnVlXHJcbiAgfVxyXG5cclxuICBnZXQgd2FnZUFtb3VudEFycmF5KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzW1wid2FnZUFtb3VudEFycmF5XCJdIGFzIFVudHlwZWRGb3JtQXJyYXk7XHJcbiAgfVxyXG5cclxuICBnZXQgdGVzdEVtcCgpe1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzW1widGVzdEVtcFwiXSA7XHJcbiAgfVxyXG4gIGdldCBzZXZlcmFuY2UoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3NldmVyYW5jZSddO1xyXG4gIH1cclxuICBnZXQgZW1wbG95ZXJUeXBlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtPy5jb250cm9sc1snZW1wbG95ZXJUeXBlJ107XHJcbiAgfVxyXG4gIGdldCBlbXBsb3llck5hbWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2VtcGxveWVyTmFtZSddO1xyXG4gIH1cclxuICBnZXQgb3RoU3RhdGVFbXBOYW1lKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydvdGhTdGF0ZUVtcE5hbWUnXTtcclxuICB9XHJcbiAgZ2V0IGVtcGxveWVyVGVsZXBob25lTnVtYmVyKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydlbXBsb3llclRlbGVwaG9uZU51bWJlciddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHN0YXJ0RGF0ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snc3RhcnREYXRlJ107XHJcbiAgfVxyXG5cclxuICBnZXQgZW5kRGF0ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZW5kRGF0ZSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGpvYlRpbGVPclBvc2l0aW9uKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydqb2JUaWxlT3JQb3NpdGlvbiddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHJlYXNvblNlcGFyYXRpb24oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0/LmNvbnRyb2xzWydyZWFzb25TZXBhcmF0aW9uJ107XHJcbiAgfVxyXG5cclxuICBnZXQgZGlzY2hhcmdlRGV0YWlsKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydkaXNjaGFyZ2VEZXRhaWwnXTtcclxuICB9XHJcblxyXG4gIGdldCB2b2xRdWl0RGV0YWlscygpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sndm9sUXVpdERldGFpbHMnXTtcclxuICB9XHJcblxyXG4gIGdldCBwYXlSYXRlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydwYXlSYXRlJ107XHJcbiAgfVxyXG5cclxuICBnZXQgZ3Jvc3NXYWdlcygpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZ3Jvc3NXYWdlcyddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHBheVJhdGVGcmVxdWVuY3koKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3BheVJhdGVGcmVxdWVuY3knXTtcclxuICB9XHJcblxyXG4gIGdldCBwZW5zaW9uRmxhZygpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncGVuc2lvbkZsYWcnXTtcclxuICB9XHJcbiAgXHJcbiAgZ2V0IHBlbnNpb25SZWN2RGF0ZSgpe1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydwZW5zaW9uUmVjdkRhdGUnXTtcclxuICB9XHJcblxyXG4gIGdldCByZWdQZW5zaW9uRmxhZygpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncmVnUGVuc2lvbkZsYWcnXTtcclxuICB9XHJcbiAgXHJcbiAgZ2V0IHJlZ1BlbnNpb25SZWN2RGF0ZSgpe1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydyZWdQZW5zaW9uUmVjdkRhdGUnXTtcclxuICB9XHJcblxyXG4gIGdldCBoYXNTaG9ydFRlcm1EaXNhYmlsaXR5KCl7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2hhc1Nob3J0VGVybURpc2FiaWxpdHknXTtcclxuICB9XHJcblxyXG4gIGdldCBoYXNSZWN2UmVtdW5lcmF0aW9uKCl7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2hhc1JlY3ZSZW11bmVyYXRpb24nXTtcclxuICB9XHJcblxyXG4gIGdldCByZW11bmVyYXRpb25UeXBlcygpe1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydyZW11bmVyYXRpb25UeXBlcyddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHZhY2F0aW9uKCl7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3ZhY2F0aW9uJ107XHJcbiAgfVxyXG5cclxuICBnZXQgcGF5bWVudFR5cGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3BheW1lbnRUeXBlJ107XHJcbiAgfVxyXG5cclxuICBnZXQgZG9jc1JlY2VpdmVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydkb2NzUmVjZWl2ZWQnXTtcclxuICB9XHJcblxyXG4gIGdldCBvdGhlclNTTkZsYWcoKXtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snb3RoZXJTU05GbGFnJ107XHJcbiAgfVxyXG5cclxuICBnZXQgb3RoZXJTU04oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ290aGVyU1NOJ107XHJcbiAgfVxyXG5cclxuICBnZXQgb3RoZXJOYW1lRmxhZygpe1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydvdGhlck5hbWVGbGFnJ107XHJcbiAgfVxyXG5cclxuICBnZXQgb3RoZXJOYW1lKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydvdGhlck5hbWUnXTtcclxuICB9XHJcblxyXG4gIGdldCBkb2luZ0J1c2luZXNzQXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2RvaW5nQnVzaW5lc3NBcyddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHdvcmtGbGFnKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWyd3b3JrRmxhZyddO1xyXG4gIH1cclxuXHJcbiAgLy8gZ2V0IHF1aXRyZWFzb24oKSB7XHJcbiAgLy8gICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3F1aXRyZWFzb24nXTtcclxuICAvLyB9XHJcblxyXG4gIGdldCB3b3JrQ2l0eSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snd29ya0NpdHknXTtcclxuICB9XHJcblxyXG4gIGdldCB3b3JrU3RhdGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3dvcmtTdGF0ZSddO1xyXG4gIH1cclxuICBnZXQgbWlsU3RhdGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ21pbFN0YXRlJ107XHJcbiAgfVxyXG5cclxuICAvKmdldCBoaXJlZEJ5KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydoaXJlZEJ5J107XHJcbiAgfVxyXG5cclxuICBnZXQgZmVpbigpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZmVpbiddO1xyXG4gIH0qL1xyXG5cclxuICBnZXQgd29ya1R5cGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3dvcmtUeXBlJ107XHJcbiAgfVxyXG5cclxuICAvKmdldCBudW1iZXJFbXBsb3llZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snbnVtYmVyRW1wbG95ZWQnXTtcclxuICB9Ki9cclxuXHJcbiAgZ2V0IGJ1c2luZXNzTmF0dXJlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydidXNpbmVzc05hdHVyZSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydkaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcyddO1xyXG4gIH1cclxuXHJcbiAgLy8gZ2V0IHdhZ2VRdWFydGVyMSgpIHtcclxuICAvLyAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snd2FnZVF1YXJ0ZXIxJ107XHJcbiAgLy8gfVxyXG5cclxuICAvLyBnZXQgd2FnZVF1YXJ0ZXIyKCkge1xyXG4gIC8vICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWyd3YWdlUXVhcnRlcjInXTtcclxuICAvLyB9XHJcblxyXG5cclxuICAvLyBnZXQgd2FnZVF1YXJ0ZXIzKCkge1xyXG4gIC8vICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWyd3YWdlUXVhcnRlcjMnXTtcclxuICAvLyB9XHJcblxyXG5cclxuXHJcbiAgLy8gZ2V0IHdhZ2VRdWFydGVyNCgpIHtcclxuICAvLyAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snd2FnZVF1YXJ0ZXI0J107XHJcbiAgLy8gfVxyXG5cclxuICBnZXQgZmljQ29kZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZmljQ29kZSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGZpY0Rlc3RpbmF0aW9uQ29kZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZmljRGVzdGluYXRpb25Db2RlJ107XHJcbiAgfVxyXG5cclxuICBnZXQgZmljRGVzdGluYXRpb25JZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZmljRGVzdGluYXRpb25JZCddO1xyXG4gIH1cclxuICAgICAgXHJcbiAgXHJcbiAgLy8gZ2V0IGZvcm1lcmx5S25vd25BcygpIHtcclxuICAvLyAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZm9ybWVybHlLbm93bkFzJ107XHJcbiAgLy8gfVxyXG5cclxuICBnZXQgc2ZFaWdodGZsYWcoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3NmRWlnaHRmbGFnJ107XHJcbiAgfVxyXG5cclxuICBnZXQgZmVkV29ya0NpdHkoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2ZlZFdvcmtDaXR5J107XHJcbiAgfVxyXG5cclxuICBnZXQgZmVkV29ya1N0YXRlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydmZWRXb3JrU3RhdGUnXTtcclxuICB9XHJcblxyXG5cclxuICBnZXQgZmVkV29ya0NvdW50cnkoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2ZlZFdvcmtDb3VudHJ5J107XHJcbiAgfVxyXG5cclxuXHJcbiAgZ2V0IHN0YXJ0RGF0ZUZlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snc3RhcnREYXRlRmVkJ107XHJcbiAgfVxyXG5cclxuICBnZXQgZW5kRGF0ZUZlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZW5kRGF0ZUZlZCddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGZlZEpvYlRpbGVPclBvc2l0aW9uKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydmZWRKb2JUaWxlT3JQb3NpdGlvbiddO1xyXG4gIH1cclxuXHJcbiAgLyogZ2V0IGNsYWltYW50RW1wbG95ZWRXaXRoRW1wcigpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snY2xhaW1hbnRFbXBsb3llZFdpdGhFbXByJ107XHJcbiAgfSAqL1xyXG5cclxuICBnZXQgcGVyZm9ybWVkU2VydmljZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncGVyZm9ybWVkU2VydmljZSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGZlZFBlbnNpb25GbGFnKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydmZWRQZW5zaW9uRmxhZyddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGZlZFBlbnNpb25SZWN2RGF0ZSgpe1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydmZWRQZW5zaW9uUmVjdkRhdGUnXTtcclxuICB9XHJcblxyXG4gIGdldCBzZXZQYXlGbGFnKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydzZXZQYXlGbGFnJ107XHJcbiAgfVxyXG5cclxuICBnZXQgd2Vla2x5QW1vdW50KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWyd3ZWVrbHlBbW91bnQnXTtcclxuICB9XHJcblxyXG4gIGdldCBudW1iZXJPZldlZWtzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydudW1iZXJPZldlZWtzJ107XHJcbiAgfVxyXG5cclxuICBnZXQgc2V2UGF5QW1vdW50KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydzZXZQYXlBbW91bnQnXTtcclxuICB9XHJcblxyXG5cclxuICBnZXQgc2V2UGF5U3RhcnREYXRlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydzZXZQYXlTdGFydERhdGUnXTtcclxuICB9XHJcblxyXG5cclxuICBnZXQgc2V2UGF5RW5kRGF0ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snc2V2UGF5RW5kRGF0ZSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHNldlBheVBheW1lbnRTdGFydERhdGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3NldlBheVBheW1lbnRTdGFydERhdGUnXTtcclxuICB9XHJcblxyXG4gIGdldCByZWdFbXBsb3llckZvdW5kKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydyZWdFbXBsb3llckZvdW5kJ107XHJcbiAgfVxyXG5cclxuICBnZXQgZW1wbG95ZXJJZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZW1wbG95ZXJJZCddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGZlZEVtcGxveWVyTmFtZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZmVkRW1wbG95ZXJOYW1lJ107XHJcbiAgfVxyXG4gIGdldCBzZXJ2aWNlQnJhbmNoKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydzZXJ2aWNlQnJhbmNoJ107XHJcbiAgfVxyXG5cclxuICBnZXQgc3RhcnREYXRlTWlsKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydzdGFydERhdGVNaWwnXTtcclxuICB9XHJcblxyXG4gIGdldCBlbmREYXRlTWlsKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydlbmREYXRlTWlsJ107XHJcbiAgfVxyXG5cclxuICBnZXQgZGQyMTRGbGFnKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydkZDIxNEZsYWcnXTtcclxuICB9XHJcblxyXG4gIGdldCBsYXN0UGF5R3JhZGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2xhc3RQYXlHcmFkZSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGxhc3RkdXR5KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydsYXN0ZHV0eSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHBsYWNlU2VwYXJhdGVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydwbGFjZVNlcGFyYXRlZCddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG5vTGVhdmVEYXlzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydub0xlYXZlRGF5cyddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGNvbXBsZXRlZEZ1bGxUZXJtRmxhZygpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snY29tcGxldGVkRnVsbFRlcm1GbGFnJ107XHJcbiAgfVxyXG5cclxuICBnZXQgcmVzZXJ2ZU9yR3VhcmRGbGFnKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydyZXNlcnZlT3JHdWFyZEZsYWcnXTtcclxuICB9XHJcblxyXG4gIGdldCBtaWxQZW5zaW9uRmxhZygpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snbWlsUGVuc2lvbkZsYWcnXTtcclxuICB9XHJcblxyXG4gIGdldCBtaWxQZW5zaW9uUmVjdkRhdGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ21pbFBlbnNpb25SZWN2RGF0ZSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGFkZHJlc3NMaW5lMSgpe1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydhZGRyZXNzTGluZTEnXTtcclxuICB9XHJcblxyXG4gIGdldCBhZGRyZXNzTGluZTIoKXtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snYWRkcmVzc0xpbmUyJ107XHJcbiAgfVxyXG5cclxuICBnZXQgYWRkcmVzc0xpbmUzKCl7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2FkZHJlc3NMaW5lMyddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGZpY0Rlc3RpbmF0aW9uTmFtZSgpe1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydmaWNEZXN0aW5hdGlvbk5hbWUnXTtcclxuICB9XHJcblxyXG4gIGdldCByZXNlcnZlQnJhbmNoKCl7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3Jlc2VydmVCcmFuY2gnXTtcclxuICB9XHJcblxyXG4gIGdldCBzdGFydERhdGVSZXNlcnZlKCl7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3N0YXJ0RGF0ZVJlc2VydmUnXTtcclxuICB9XHJcblxyXG4gIGdldCBlbmREYXRlUmVzZXJ2ZSgpe1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydlbmREYXRlUmVzZXJ2ZSddO1xyXG4gIH1cclxuICBcclxuICBnZXQgZGQyMTRGaWxlKCl7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2RkMjE0RmlsZSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGFkZHJlc3MoKXtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snYWRkcmVzcyddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG9zYUJwRW1wbG95ZXJGbGFnKCl7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ29zYUJwRW1wbG95ZXJGbGFnJ107XHJcbiAgfVxyXG5cclxuICBnZXQgcHJldldvcmtlZFN0YXRlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtPy5jb250cm9sc1sncHJldldvcmtlZFN0YXRlJ107XHJcbiAgfVxyXG5cclxuXHJcblxyXG5cclxuICBvblRvZ2dsZUNoYW5nZVByZXZXb3JrZWRTdGF0ZShvYmo6IGFueSkge1xyXG4gICAgICB0aGlzLnJlYXNvblNlcGFyYXRpb24uc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMuYWRkcmVzcy5lbmFibGUoKTtcclxuICAgICAgdGhpcy5hZGRyZXNzLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICB0aGlzLmZpY0NvZGUuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMuZmljRGVzdGluYXRpb25Db2RlLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICB0aGlzLmFkZHJlc3NMaW5lMS5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgdGhpcy5hZGRyZXNzTGluZTIuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMuYWRkcmVzc0xpbmUzLnNldFZhbHVlKG51bGwpOyAgXHJcbiAgICAgIHRoaXMucGVuc2lvblJlY3ZEYXRlLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICB0aGlzLndvcmtUeXBlLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICB0aGlzLmVtcGxveWVyTmFtZS5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgdGhpcy5vdGhTdGF0ZUVtcE5hbWUuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMud29ya1N0YXRlLnNldFZhbHVlKG51bGwpOyBcclxuICAgICAgdGhpcy53b3JrQ2l0eS5zZXRWYWx1ZShudWxsKTsgXHJcbiAgICAgIHRoaXMuc3RhcnREYXRlLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICB0aGlzLmVuZERhdGUuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMucGF5UmF0ZS5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgdGhpcy5wYXlSYXRlRnJlcXVlbmN5LnNldFZhbHVlKG51bGwpO1xyXG4gICAgICB0aGlzLnBlbnNpb25GbGFnLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICB0aGlzLmVtcGxveWVyVGVsZXBob25lTnVtYmVyLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICB0aGlzLmpvYlRpbGVPclBvc2l0aW9uLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICB0aGlzLnJlZ1BlbnNpb25GbGFnLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICB0aGlzLnJlZ1BlbnNpb25SZWN2RGF0ZS5zZXRWYWx1ZShudWxsKTtcclxuICB9XHJcblxyXG4gIG9uTW9kZWxDYW5jZWwoY2FuY2VsOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLm1vZGVsQ2FuY2VsLmVtaXQoY2FuY2VsKTtcclxuICB9XHJcblxyXG4gIHNldEVtcGxveWVyKGVtcGxveWVyOiBFbXBsb3llckRldGFpbFNlYXJjaFJlc3VsdCkge1xyXG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ3NldEVtcGxveWVyIGNhbGxlZCcsIGVtcGxveWVyLCBcInR5cGVcIiwgdGhpcy5lbXBsb3llclR5cGUsICd0aGlzLmFkZEVtcGxveWVyRm9ybScsdGhpcy5hZGRFbXBsb3llckZvcm0pO1xyXG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ2VtcGxveWVyLnN0YXRlJywgZW1wbG95ZXIuc3RhdGUpXHJcbiAgICB0aGlzLmFkZHJlc3Muc2V0VmFsdWUoe2NvdW50cnk6ZW1wbG95ZXIuY291bnRyeSwgY2l0eTplbXBsb3llci5jaXR5XHJcbiAgICAsIHppcDplbXBsb3llci56aXAsc3RyZWV0QWRkcmVzczplbXBsb3llci5hZGRyZXNzRGlzcGxheVZhbCxzdGF0ZTplbXBsb3llci5zdGF0ZSxcclxuICAgIG9wdGlvbmFsQWRkcmVzczpudWxsLGNvdW50eTpudWxsLHRvd246bnVsbFxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmFkZHJlc3MuZGlzYWJsZSgpO1xyXG4gICAgdGhpcy5hZGRyZXNzLnNldEVycm9ycyh7fSk7XHJcbiAgICB0aGlzLmVtcGxveWVyTmFtZS5zZXRWYWx1ZShlbXBsb3llci5lbXBsb3llck5hbWUpO1xyXG4gICAgdGhpcy5lbXBsb3llcklkLnNldFZhbHVlKGVtcGxveWVyLmVtcGxveWVySWQpO1xyXG4gICAgdGhpcy5hZGRyZXNzTGluZTEuc2V0VmFsdWUoZW1wbG95ZXIuYWRkcmVzc0xpbmUxKTtcclxuICAgIHRoaXMuYWRkcmVzc0xpbmUyLnNldFZhbHVlKGVtcGxveWVyLmFkZHJlc3NMaW5lMik7XHJcbiAgICB0aGlzLmFkZHJlc3NMaW5lMy5zZXRWYWx1ZShlbXBsb3llci5hZGRyZXNzTGluZTMpO1xyXG4gICAgdGhpcy5yZWdFbXBsb3llckZvdW5kLnNldFZhbHVlKHRydWUpO1xyXG4gICAgdGhpcy5pc01hbnVhbEVudGVyRW1wID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBzZXRGZWRFbXBsb3llcihlbXBsb3llcjogRW1wbG95ZXJEZXRhaWxTZWFyY2hSZXN1bHQpe1xyXG4gICAgdGhpcy5hZGRyZXNzMi5yZWFkb25seSA9IGZhbHNlXHJcbiAgICB0aGlzLmxvZ2dlci5kZWJ1Zygnc2V0RmVkRW1wbG95ZXIgY2FsbGVkJywgZW1wbG95ZXIsIFwiemlwIFwiLCBlbXBsb3llci56aXApO1xyXG4gICAgdGhpcy5maWNDb2RlLmVuYWJsZSgpO1xyXG4gICAgdGhpcy5maWNDb2RlLnNldFZhbHVlKGVtcGxveWVyLmZpY0NvZGUpO1xyXG4gICAgdGhpcy5maWNDb2RlLmRpc2FibGUoKTtcclxuICAgIHRoaXMuZmVkRW1wbG95ZXJOYW1lLnNldFZhbHVlKGVtcGxveWVyLmVtcGxveWVyTmFtZSk7XHJcbiAgICB0aGlzLmZpY0Rlc3RpbmF0aW9uTmFtZS5lbmFibGUoKTtcclxuICAgIHRoaXMuZmljRGVzdGluYXRpb25OYW1lLnNldFZhbHVlKGVtcGxveWVyLmZpY0Rlc3RpbmF0aW9uTmFtZSk7XHJcbiAgICB0aGlzLmZpY0Rlc3RpbmF0aW9uSWQuc2V0VmFsdWUoZW1wbG95ZXIuZmljRGVzdGluYXRpb25JZCk7XHJcbiAgICB0aGlzLmZpY0Rlc3RpbmF0aW9uTmFtZS5kaXNhYmxlKCk7XHJcbiAgICB0aGlzLmZpY0Rlc3RpbmF0aW9uQ29kZS5zZXRWYWx1ZShlbXBsb3llci5maWNEZXN0aW5hdGlvbkNvZGUpO1xyXG4gICAgdGhpcy5hZGRyZXNzLnNldFZhbHVlKHtjb3VudHJ5OmVtcGxveWVyLmNvdW50cnksIGNpdHk6ZW1wbG95ZXIuY2l0eVxyXG4gICAgICAsIHppcDplbXBsb3llci56aXAsc3RyZWV0QWRkcmVzczplbXBsb3llci5hZGRyZXNzTGluZTEsc3RhdGU6ZW1wbG95ZXIuc3RhdGUsXHJcbiAgICAgIG9wdGlvbmFsQWRkcmVzczplbXBsb3llci5hZGRyZXNzTGluZTIsY291bnR5Om51bGwsdG93bjpudWxsXHJcbiAgICAgIH0pO1xyXG4gICAgdGhpcy5hZGRyZXNzLmRpc2FibGUoKTtcclxuICAgIHRoaXMuZW1wbG95ZXJJZC5zZXRWYWx1ZShlbXBsb3llci5lbXBsb3llcklkKTtcclxuICAgIHRoaXMuYWRkcmVzc0xpbmUxLnNldFZhbHVlKGVtcGxveWVyLmFkZHJlc3NMaW5lMSk7XHJcbiAgICB0aGlzLmFkZHJlc3NMaW5lMi5zZXRWYWx1ZShlbXBsb3llci5hZGRyZXNzTGluZTIpO1xyXG4gICAgdGhpcy5hZGRyZXNzTGluZTMuc2V0VmFsdWUoZW1wbG95ZXIuYWRkcmVzc0xpbmUzKTtcclxuICAgIHRoaXMucmVnRW1wbG95ZXJGb3VuZC5zZXRWYWx1ZShmYWxzZSk7XHJcbiAgICB0aGlzLmFkZHJlc3MyLnJlYWRvbmx5ID0gdHJ1ZTtcclxuICAgIHRoaXMuaXNNYW51YWxFbnRlckVtcCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcmVzZXRGZWRFbXBsb3llcihlbXBsb3llcjogRW1wbG95ZXJEZXRhaWxTZWFyY2hSZXN1bHQpe1xyXG4gICAgdGhpcy5hZGRyZXNzLmVuYWJsZSgpO1xyXG4gICAgdGhpcy5hZGRyZXNzLnNldFZhbHVlKHtjb3VudHJ5Om51bGwsIGNpdHk6bnVsbFxyXG4gICAgICAsIHppcDpudWxsLHN0cmVldEFkZHJlc3M6bnVsbCxzdGF0ZTpudWxsLFxyXG4gICAgICBvcHRpb25hbEFkZHJlc3M6bnVsbCxjb3VudHk6bnVsbCx0b3duOm51bGxcclxuICAgICAgfSk7XHJcbiAgICB0aGlzLnJlZ0VtcGxveWVyRm91bmQuc2V0VmFsdWUoZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgcmVzZXRFbXBsb3llcihlbXBsb3llcjogRW1wbG95ZXJEZXRhaWxTZWFyY2hSZXN1bHQpIHtcclxuICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygncmVzZXRFbXBsb3llciBjYWxsZWQnLCBlbXBsb3llcik7XHJcbiAgICAgdGhpcy5hZGRyZXNzLmVuYWJsZSgpO1xyXG4gICAgIHRoaXMuYWRkcmVzcy5zZXRWYWx1ZSh7Y291bnRyeTpudWxsLCBjaXR5Om51bGxcclxuICAgICAgLCB6aXA6bnVsbCxzdHJlZXRBZGRyZXNzOm51bGwsc3RhdGU6bnVsbCxcclxuICAgICAgb3B0aW9uYWxBZGRyZXNzOm51bGwsY291bnR5Om51bGwsdG93bjpudWxsXHJcbiAgICAgIH0pO1xyXG4gICAgdGhpcy5yZWdFbXBsb3llckZvdW5kLnNldFZhbHVlKGZhbHNlKTtcclxuICB9XHJcblxyXG5cclxuICBwdXRNaWxSZXNCcmFuY2hWYWxpZGF0aW9uKGV2ZW50KXtcclxuICAgIGlmIChldmVudC5vcHRpb24udmFsdWUgPT09ICdZJykge1xyXG4gICAgfVxyXG4gICAgZWxzZXtcclxuICAgICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3Jlc2VydmVCcmFuY2gnXS5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3N0YXJ0RGF0ZVJlc2VydmUnXS5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2VuZERhdGVSZXNlcnZlJ10uc2V0VmFsdWUobnVsbCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgb25PcHRpb25DaGFuZ2UoZXZlbnQpIHtcclxuICAgIGlmIChldmVudC5vcHRpb24udmFsdWUgIT09ICdZJykge1xyXG4gICAgICB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZW1wbG95ZXJUZWxlcGhvbmVOdW1iZXInXS5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3N0YXJ0RGF0ZSddLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZW5kRGF0ZSddLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snam9iVGlsZU9yUG9zaXRpb24nXS5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3JlYXNvblNlcGFyYXRpb24nXS5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3BheVJhdGUnXS5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3BheVJhdGVGcmVxdWVuY3knXS5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3BlbnNpb25GbGFnJ10uc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIC8vIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydpc0NsbXRQYWlkV2hpbGVMb3cnXS5zZXRWYWx1ZShudWxsKTtcclxuICAgIH1cclxuICB9XHJcbiAgc2F2ZSgpIHtcclxuICAgIGlmKHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpIHtcclxuICAgICAgLy9yZW1vdmUgdmFsaWRhdG9yIHNpbmNlIGJhc2VQZXJpb2QgZW1wbG95ZXIgYWxyZWFkeSBoYXMgZW1wbG95ZXIgY29taW5nIGZyb20gYmFja2VuZFxyXG4gICAgICB0aGlzLmFkZHJlc3MuY2xlYXJWYWxpZGF0b3JzKCk7XHJcbiAgICAgIHRoaXMuYWRkcmVzcy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmlzRm9ybVN1Ym1pdHRlZC5zdWJtaXR0ZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ3RoaXMuc2F2ZS52YWx1ZScsIHRoaXMuYWRkRW1wbG95ZXJGb3JtKTtcclxuICAgIHRoaXMuYWRkcmVzcy5lbmFibGUoKTtcclxuICAgIHRoaXMudmFsaWRhdGVXYWdlR3JpZCgpXHJcbiAgICBpZiAodGhpcy5hZGRFbXBsb3llckZvcm0udmFsaWQgJiYgdGhpcy5hZGRyZXNzLmVycm9ycyA9PT0gbnVsbCkgIHtcclxuICAgICB0aGlzLnN1Y2Nlc3MuZW1pdCh0aGlzLmFkZEVtcGxveWVyRm9ybS52YWx1ZSk7XHJcbiAgICAgIHRoaXMuZGlzcGxheSA9IGZhbHNlOyBcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuYWRkcmVzcy5kaXNhYmxlKCk7XHJcbiAgICAgIGNvbnNvbGUubG9nKHRoaXMuYWRkRW1wbG95ZXJGb3JtKTtcclxuICAgICAgY29uc3QgZml4RmllbGRzID0gT2JqZWN0LmVudHJpZXModGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHMpLmZpbHRlcih4ID0+ICF4WzFdLnZhbGlkKS5tYXAoeCA9PiB4WzBdKTtcclxuICAgICAgY29uc29sZS5sb2coXCJmaXggZmllbGRzOlwiLCBmaXhGaWVsZHMpO1xyXG4gICAgICBcclxuICAgICAgdGhpcy5sb2dnZXIuaW5mbyhcImFkZCBlbXBsb3llciBmYWlsdXJlIGluZm86XCIsIHRoaXMubHMuZ2V0VXNlcigpLmNsYWltYW50SWQsIGZpeEZpZWxkcywgdGhpcy5hZGRFbXBsb3llckZvcm0udmFsdWUpO1xyXG4gICAgICB0aGlzLmxvZ2dlci5lcnJvcihcImFkZCBlbXBsb3llciBmYWlsdXJlIGVycm9yOlwiLCB0aGlzLmxzLmdldFVzZXIoKS5jbGFpbWFudElkLCBmaXhGaWVsZHMsIHRoaXMuYWRkRW1wbG95ZXJGb3JtLnZhbHVlKTtcclxuICAgICAgdGhpcy5sb2dnZXIubG9nKFwiYWRkIGVtcGxveWVyIGZhaWx1cmUgbG9nOlwiLCB0aGlzLmxzLmdldFVzZXIoKS5jbGFpbWFudElkLCBmaXhGaWVsZHMsIHRoaXMuYWRkRW1wbG95ZXJGb3JtLnZhbHVlKTsgXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhZGQoKSB7XHJcbiAgICB0aGlzLmlzRm9ybVN1Ym1pdHRlZC5zdWJtaXR0ZWQgPSB0cnVlO1xyXG5cdCAgaWYodGhpcy5lbXBsb3llclR5cGUudmFsdWUgIT0gJ01JTCcpIHtcclxuICAgICAgdGhpcy52YWxpZGF0ZVdhZ2VHcmlkKCk7XHJcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCd2YWxpZGF0ZSBhZGRyZXNzIGNvbXBvbmVudCcpO1xyXG4gICAgICBpZih0aGlzLmlzTWFudWFsRW50ZXJFbXApIHtcclxuICAgICAgICAvL1ZhbGlkYXRlIGFkZHJlc3Mgb25seSB3aGVuIGFkZHJlc3MgaXMgbWFudWFsIGVudGVyZWRcclxuICAgICAgICB0aGlzLnZhbGlkYXRlQWRkcmVzcygpO1xyXG4gICAgICB9IGVsc2V7XHJcbiAgICAgICAgdGhpcy5hZGRyZXNzLmVuYWJsZSgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIGlmICh0aGlzLmFkZEVtcGxveWVyRm9ybS5pbnZhbGlkIHx8ICh0aGlzLmFkZHJlc3MuZXJyb3JzICYmIE9iamVjdC5rZXlzKHRoaXMuYWRkcmVzcy5lcnJvcnMpLmxlbmd0aCA+IDApKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKHRoaXMuYWRkRW1wbG95ZXJGb3JtKTtcclxuICAgICAgY29uc3QgZml4RmllbGRzID0gT2JqZWN0LmVudHJpZXModGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHMpLmZpbHRlcih4ID0+ICF4WzFdLnZhbGlkKS5tYXAoeCA9PiB4WzBdKTtcclxuICAgICAgY29uc29sZS5sb2coXCJmaXggZmllbGRzOlwiLCBmaXhGaWVsZHMpO1xyXG5cclxuICAgICAgdGhpcy5sb2dnZXIuaW5mbyhcImFkZCBlbXBsb3llciBmYWlsdXJlIGluZm86XCIsIHRoaXMubHMuZ2V0VXNlcigpLmNsYWltYW50SWQsIGZpeEZpZWxkcywgdGhpcy5hZGRFbXBsb3llckZvcm0udmFsdWUpO1xyXG4gICAgICB0aGlzLmxvZ2dlci5lcnJvcihcImFkZCBlbXBsb3llciBmYWlsdXJlIGVycm9yOlwiLCB0aGlzLmxzLmdldFVzZXIoKS5jbGFpbWFudElkLCBmaXhGaWVsZHMsIHRoaXMuYWRkRW1wbG95ZXJGb3JtLnZhbHVlKTtcclxuICAgICAgdGhpcy5sb2dnZXIubG9nKFwiYWRkIGVtcGxveWVyIGZhaWx1cmUgbG9nOlwiLCB0aGlzLmxzLmdldFVzZXIoKS5jbGFpbWFudElkLCBmaXhGaWVsZHMsIHRoaXMuYWRkRW1wbG95ZXJGb3JtLnZhbHVlKTtcclxuICAgICAgXHJcbiAgICAgIC8vdGhpcy5hZGRyZXNzLmRpc2FibGUoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfSBcclxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCd0aGlzLmFkZC52YWx1ZScsIHRoaXMuYWRkRW1wbG95ZXJGb3JtKTsgXHJcbiAgICB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZmljQ29kZSddLmVuYWJsZSgpO1xyXG4gICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2ZpY0Rlc3RpbmF0aW9uTmFtZSddLmVuYWJsZSgpO1xyXG4gICAgdGhpcy5hZGRyZXNzLmVuYWJsZSgpO1xyXG4gICAgdGhpcy5zdWNjZXNzLmVtaXQodGhpcy5hZGRFbXBsb3llckZvcm0udmFsdWUpO1xyXG4gICAgdGhpcy5sb2dnZXIuZGVidWcoXCJhZGQgZm9ybSBkZXRhaWxzIGFkZCgpLSBcIiwgdGhpcy5hZGRFbXBsb3llckZvcm0pO1xyXG4gICAgdGhpcy5kaXNwbGF5ID0gZmFsc2U7XHJcblxyXG4gIH1cclxuICB2YWxpZGF0ZVdhZ2VHcmlkKCkge1xyXG4gICAgdGhpcy53YWdlQW1vdW50QXJyYXkuc2V0RXJyb3JzKG51bGwpO1xyXG4gICAgaWYgKHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlIT09J0ZFRCcgJiYgISh0aGlzLmVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnICYmIHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXM/LnZhbHVlKSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAoT2JqZWN0LnZhbHVlcyh0aGlzLndhZ2VBbW91bnRBcnJheS5jb250cm9scykuZmlsdGVyKHggPT4geC52YWx1ZS53YWdlQW1vdW50ICE9PSAwKS5sZW5ndGggIT09IDApIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy53YWdlQW1vdW50QXJyYXkuc2V0RXJyb3JzKHtyZXF1aXJlQ2hlY2tib3hUb0JlQ2hlY2tlZDogdHJ1ZX0pO1xyXG4gIH1cclxuXHJcbiAgdmFsaWRhdGVBZGRyZXNzKCkge1xyXG4gICAgLy8gQ2xlYXIgcHJldmlvdXMgZXJyb3JzIG9uIHRoZSBhZGRyZXNzIGNvbnRyb2xcclxuICAgIGNvbnN0IGFkZHJlc3NDb250cm9sID0gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2FkZHJlc3MnXTtcclxuICBcclxuICAgIC8vIEdldCB0aGUgYWRkcmVzcyBjb21wb25lbnQgdmFsdWVcclxuICAgIGNvbnN0IGFkZHJlc3NDb21wVmFsdWU6IEFkZHJlc3NDb21wb25lbnRNb2RlbCA9IGFkZHJlc3NDb250cm9sLnZhbHVlO1xyXG4gIFxyXG4gICAgLy8gTGlzdCBvZiBhZGRyZXNzIGZpZWxkcyB0byB2YWxpZGF0ZVxyXG4gICAgY29uc3QgYWRkcmVzc0ZpZWxkcyA9IFsnc3RyZWV0QWRkcmVzcycsICdjaXR5JywgJ3N0YXRlJywgJ3ppcCcsICdjb3VudHJ5J107XHJcbiAgXHJcbiAgICBsZXQgaGFzRXJyb3JzID0gZmFsc2U7XHJcbiAgXHJcbiAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBmaWVsZCBhbmQgdmFsaWRhdGVcclxuICAgIGFkZHJlc3NGaWVsZHMuZm9yRWFjaChmaWVsZCA9PiB7XHJcbiAgICAgIGNvbnN0IGZpZWxkVmFsdWUgPSBhZGRyZXNzQ29tcFZhbHVlPy5bZmllbGRdO1xyXG4gIFxyXG4gICAgICAvLyBDaGVjayBpZiB0aGUgZmllbGQgaXMgbWlzc2luZyBvciBlbXB0eVxyXG4gICAgICBpZiAoIWZpZWxkVmFsdWUpIHtcclxuICAgICAgICAvLyBTZXQgcmVxdWlyZWQgZXJyb3IgaWYgZmllbGQgaXMgbWlzc2luZ1xyXG4gICAgICAgIHRoaXMuc2V0RmllbGRFcnJvcihmaWVsZCwgdHJ1ZSk7XHJcbiAgICAgICAgaGFzRXJyb3JzID0gdHJ1ZTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICAvLyBDbGVhciBlcnJvciBpZiBmaWVsZCBoYXMgdmFsdWVcclxuICAgICAgICB0aGlzLnNldEZpZWxkRXJyb3IoZmllbGQsIGZhbHNlKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgXHJcbiAgICAvLyBJZiB0aGVyZSBhcmUgZXJyb3JzIGluIGFueSBmaWVsZCwgbWFyayB0aGUgYWRkcmVzcyBjb250cm9sIGFzIGludmFsaWRcclxuICAgIGlmIChoYXNFcnJvcnMpIHtcclxuICAgICAgYWRkcmVzc0NvbnRyb2wuc2V0RXJyb3JzKHsgYWRkcmVzc1ZhbGlkYXRpb25GbGFnOiB0cnVlIH0pO1xyXG4gICAgICBpZiAodGhpcy5lbXBsb3llckZvcm1FbGVtZW50KSB7XHJcbiAgICAgICAgdGhpcy5lbXBsb3llckZvcm1FbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoeyBiZWhhdmlvcjogJ3Ntb290aCcsIGJsb2NrOiAnc3RhcnQnIH0pOyAgLy8gRm9jdXMgdGhlIGVycm9yIGVsZW1lbnRcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgYWRkcmVzc0NvbnRyb2wuc2V0RXJyb3JzKG51bGwpOyAgLy8gQ2xlYXIgZXJyb3IgaWYgZXZlcnl0aGluZyBpcyB2YWxpZFxyXG4gICAgfVxyXG4gIFxyXG4gICAgLy8gVXBkYXRlIHZhbGlkaXR5IG9mIHRoZSBmb3JtXHJcbiAgICB0aGlzLmFkZEVtcGxveWVyRm9ybS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgXHJcbiAgICAvLyBTdWJtaXQgYWRkcmVzczEgYW5kIGFkZHJlc3MyIGlmIHRoZXkgZXhpc3RcclxuICAgIGlmICh0aGlzLmFkZHJlc3MxKSB7XHJcbiAgICAgIHRoaXMuYWRkcmVzczEuc3VibWl0KCk7XHJcbiAgICB9XHJcbiAgICBpZih0aGlzLmFkZHJlc3MyKXtcclxuICAgICAgdGhpcy5hZGRyZXNzMi5zdWJtaXQoKTtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgLy8gSGVscGVyIGZ1bmN0aW9uIHRvIHNldCBvciBjbGVhciBlcnJvcnMgZm9yIGVhY2ggYWRkcmVzcyBmaWVsZFxyXG4gIHNldEZpZWxkRXJyb3IoZmllbGQ6IHN0cmluZywgaXNFcnJvcjogYm9vbGVhbikge1xyXG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydhZGRyZXNzJ10uZ2V0KGZpZWxkKTtcclxuICAgIGlmIChpc0Vycm9yKSB7XHJcbiAgICAgIGNvbnRyb2w/LnNldEVycm9ycyh7IHJlcXVpcmVkOiB0cnVlIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29udHJvbD8uc2V0RXJyb3JzKG51bGwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0RmVkV29ya1N0YXRlVmFsdWVzKGV2ZW50KXtcclxuICAgIGlmKGV2ZW50LnZhbHVlICE9PSAnVVMnKXtcclxuICAgICAgdGhpcy5mZWRXb3JrU3RhdGUuc2V0VmFsdWUobnVsbCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBmaWx0ZXJKb2JUaWxlT3JQb3NpdGlvbihldmVudCkge1xyXG4gICAgdGhpcy52YWxpZGF0aW9uU2VydmljZS5nZXQoYC9jbGFpbXMtc2VydmljZS9jbGFpbS9qb2J0aXRsZS9gICsgYCR7ZXZlbnQucXVlcnl9YCkuc3Vic2NyaWJlKFxyXG4gICAgICByZXMgPT4ge1xyXG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdyZXMnLCByZXMpO1xyXG4gICAgICAgIHRoaXMuam9iVGlsZU9yUG9zaXRpb25PcHRpb25zID0gcmVzO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIGZpbHRlckZlZEpvYlRpbGVPclBvc2l0aW9uKGV2ZW50KSB7XHJcbiAgICB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmdldChgL2NsYWltcy1zZXJ2aWNlL2NsYWltL2pvYnRpdGxlL2AgKyBgJHtldmVudC5xdWVyeX1gKS5zdWJzY3JpYmUoXHJcbiAgICAgIHJlcyA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ3JlcycsIHJlcyk7XHJcbiAgICAgICAgdGhpcy5mZWRKb2JUaWxlT3B0aW9ucyA9IHJlcztcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBmaWx0ZXJEaXNjaGFyZ2VSZWFzb25zKGV2ZW50KSB7XHJcbiAgICBsZXQgZmlsdGVyZWQ6IGFueVtdID0gW107XHJcbiAgICBsZXQgcXVlcnkgPSBldmVudC5xdWVyeTtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5kaXNjaGFyZ2VSZWFzb25PcHRpb25zQWxsLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGxldCBzZXBSZWFzb24gPSB0aGlzLmRpc2NoYXJnZVJlYXNvbk9wdGlvbnNBbGxbaV07XHJcbiAgICAgIGlmIChzZXBSZWFzb24udGV4dC50b0xvd2VyQ2FzZSgpLmluZGV4T2YocXVlcnkudG9Mb3dlckNhc2UoKSkgPT0gMCkge1xyXG4gICAgICAgIGZpbHRlcmVkLnB1c2goc2VwUmVhc29uKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5kaXNjaGFyZ2VSZWFzb25PcHRpb25zID0gZmlsdGVyZWQ7XHJcbiAgfVxyXG5cclxuICBmaWx0ZXJWb2x1bnRhcnlSZWFzb24oZXZlbnQpIHtcclxuICAgIGxldCBmaWx0ZXJlZDogYW55W10gPSBbXTtcclxuICAgIGxldCBxdWVyeSA9IGV2ZW50LnF1ZXJ5O1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnZvbFF1aXRSZWFzb25PcHRpb25zQWxsLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGxldCBzZXBSZWFzb24gPSB0aGlzLnZvbFF1aXRSZWFzb25PcHRpb25zQWxsW2ldO1xyXG4gICAgICBpZiAoc2VwUmVhc29uLnRleHQudG9Mb3dlckNhc2UoKS5pbmRleE9mKHF1ZXJ5LnRvTG93ZXJDYXNlKCkpID09IDApIHtcclxuICAgICAgICBmaWx0ZXJlZC5wdXNoKHNlcFJlYXNvbik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMudm9sUXVpdFJlYXNvbk9wdGlvbnMgPSBmaWx0ZXJlZDtcclxuICB9XHJcblxyXG4gIHZhbGlkYXRlKGV2ZW50KSB7XHJcbiAgICBpZihldmVudC50YXJnZXQ/LnZhbHVlKXtcclxuICAgICAgdGhpcy5taW5EYXRlID0gbmV3IERhdGUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgIH0gZWxzZSBpZiggZXZlbnQgaW5zdGFuY2VvZiBEYXRlKXtcclxuICAgICAgdGhpcy5taW5EYXRlID0gZXZlbnQ7XHJcbiAgICB9XHJcbiAgICB0aGlzLmVuZERhdGUuc2V0VmFsdWUobnVsbCk7XHJcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygndGhpcy5iYXNlUGVyaW9kU3RhcnREYXRlJywgdGhpcy5iYXNlUGVyaW9kU3RhcnREYXRlKSAgXHJcbiAgfVxyXG5cclxud2FnZUFycmF5KHF0cldhZ2U6UXRyWWVhckVtcGxveWVyV2FnZU1vZGVsKTogVW50eXBlZEZvcm1Hcm91cCB7XHJcbiAgcmV0dXJuIHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xyXG4gICAgd2FnZUFtb3VudDogW3F0cldhZ2Uud2FnZUFtb3VudCE9bnVsbD9xdHJXYWdlLndhZ2VBbW91bnQ6bnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICgoKHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCcpIHx8ICh0aGlzLmVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnICYmIHF0cldhZ2UuZGlzcGxheUZvckFsbCAmJiB0aGlzLndvcmtTdGF0ZS52YWx1ZSAmJiB0aGlzLndvcmtTdGF0ZS52YWx1ZS52YWx1ZT09PXRoaXMuY3VycmVudFN0YXRlKSApKSldLFxyXG4gICAgcXVhcnRlcjogW3F0cldhZ2UucXVhcnRlciE9bnVsbD9xdHJXYWdlLnF1YXJ0ZXI6bnVsbF0sXHJcbiAgICB5ZWFyOiBbcXRyV2FnZS55ZWFyIT1udWxsP3F0cldhZ2UueWVhcjpudWxsXSxcclxuICAgIHF0clllYXJEaXNwbGF5U3RyaW5nOiBbcXRyV2FnZS5xdHJZZWFyRGlzcGxheVN0cmluZyE9bnVsbD9xdHJXYWdlLnF0clllYXJEaXNwbGF5U3RyaW5nOm51bGxdLFxyXG4gICAgZGlzcGxheU9yZGVyOiBbcXRyV2FnZS5kaXNwbGF5T3JkZXIhPW51bGw/cXRyV2FnZS5kaXNwbGF5T3JkZXI6bnVsbF0sXHJcbiAgICBkaXNwbGF5Rm9yQWxsOiBbcXRyV2FnZS5kaXNwbGF5Rm9yQWxsIT1udWxsP3F0cldhZ2UuZGlzcGxheUZvckFsbDpudWxsXSxcclxuICB9KVxyXG59XHJcblxyXG5zZXRXYWdlVmFsaWRhdGlvbigpIHtcclxuICB0aGlzLnV0aWwuc2V0VmFsaWRhdGlvbih0aGlzLndhZ2VBbW91bnRBcnJheSwgQXBwVmFsaWRhdG9ycy5hdExlYXN0T25lTm9uWmVyb1ZhbHVlVmFsaWRhdG9yKDEsICd3YWdlQW1vdW50JykpO1xyXG4gIHRoaXMubG9nZ2VyLmRlYnVnKCdzZXR0aW5nIHZhbGlkYXRpb24gZm9yIGZlZCBlbXBsb3llcicpO1xyXG59XHJcblxyXG5yZW1vdmVXYWdlVmFsaWRhdGlvbigpIHtcclxuICBpZih0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSAhPSAnRkVEJyl7XHJcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMud2FnZUFtb3VudEFycmF5KTtcclxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdyZW1vdmluZyB2YWxpZGF0aW9uIGZvciBmZWQgZW1wbG95ZXInKTtcclxuICB9XHJcbn1cclxuXHJcbiAgdmFsaWRhdGVXYWdlc0Rpc3BsYXkoZXZlbnQpe1xyXG4gICAgbGV0IGJwU3RhcnREYXRlOiBEYXRlID0gbmV3IERhdGUodGhpcy5iYXNlUGVyaW9kU3RhcnREYXRlKTtcclxuICAgIGxldCBicEVuZERhdGU6IERhdGUgPSBuZXcgRGF0ZSh0aGlzLmJhc2VQZXJpb2RFbmREYXRlKTtcclxuICAgIGxldCBzdGFydGVEYXRlVmFsOiBEYXRlID0gbmV3IERhdGUodGhpcy5zdGFydERhdGUudmFsdWUpO1xyXG4gICAgbGV0IGVuZERhdGVWYWw6IERhdGUgPSBuZXcgRGF0ZSh0aGlzLmVuZERhdGUudmFsdWUpO1xyXG4gICAgLy8gbGV0IGVuZERhdGVWYWw6IERhdGUgPSBldmVudC50YXJnZXQ/LnZhbHVlID8gbmV3IERhdGUoZXZlbnQudGFyZ2V0LnZhbHVlKSA6IGV2ZW50O1xyXG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ2JwU3RhcnREYXRlICcsIGJwU3RhcnREYXRlLCAnc3RhcnRlRGF0ZVZhbCAnLCBzdGFydGVEYXRlVmFsKTtcclxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdlbmREYXRlVmFsICcsIGVuZERhdGVWYWwsICdicEVuZERhdGUgJywgYnBFbmREYXRlKTtcclxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdzdGFydGVEYXRlVmFsIGJlZm9yZSBicEVuZERhdGUgJywgc3RhcnRlRGF0ZVZhbCA8IGJwRW5kRGF0ZSk7XHJcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnZW5kRGF0ZVZhbCBhZnRlciBicFN0YXJ0RGF0ZSAnLCBlbmREYXRlVmFsID4gYnBTdGFydERhdGUpO1xyXG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ3RoaXMud29ya1N0YXRlICcsIHRoaXMud29ya1N0YXRlKTtcclxuICAgIGlmICh0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdSRUcnICYmIHRoaXMud29ya1N0YXRlLnZhbHVlICYmIHRoaXMud29ya1N0YXRlLnZhbHVlLnZhbHVlID09IHRoaXMuY3VycmVudFN0YXRlICYmIHRoaXMuaXNOZXdDbGFpbSkge1xyXG4gICAgICAgIGlmIChzdGFydGVEYXRlVmFsLmdldFRpbWUoKSA8IGJwRW5kRGF0ZS5nZXRUaW1lKCkgJiYgZW5kRGF0ZVZhbC5nZXRUaW1lKCk+IGJwU3RhcnREYXRlLmdldFRpbWUoKSkge1xyXG4gICAgICAgICAgdGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy5zZXRWYWx1ZSh0cnVlKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy5zZXRWYWx1ZShmYWxzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy5zZXRWYWx1ZShmYWxzZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBmaWx0ZXJHcm91cGVkUmVhc29uKGV2ZW50KSB7XHJcbiAgICBsZXQgcXVlcnkgPSBldmVudC5xdWVyeTtcclxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdxdWVyeScscXVlcnkpO1xyXG4gICAgbGV0IGZpbHRlcmVkR3JvdXBzID0gW107XHJcbiAgICBpZihsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImxhbmd1YWdlXCIpID09PSBcImVzXCIpe1xyXG4gICAgICB0aGlzLmdyb3VwZWRSZWFzb25zPSBDb21ib09wdGlvbi5HUk9VUF9SRUFTT05TX0VTO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5ncm91cGVkUmVhc29ucz0gQ29tYm9PcHRpb24uR1JPVVBfUkVBU09OUztcclxuICAgIH1cclxuICAgIGZvciAobGV0IG9wdGdyb3VwIG9mIHRoaXMuZ3JvdXBlZFJlYXNvbnMpIHtcclxuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ29wdGdyb3VwLml0ZW1zJyxvcHRncm91cC5pdGVtcyk7XHJcbiAgICAgIGxldCBmaWx0ZXJlZFN1Yk9wdGlvbnMgPSB0aGlzLmZpbHRlclNlcnZpY2UuZmlsdGVyKFxyXG4gICAgICAgIG9wdGdyb3VwLml0ZW1zLFxyXG4gICAgICAgIFtcImxhYmVsXCJdLFxyXG4gICAgICAgIHF1ZXJ5LFxyXG4gICAgICAgIFwiY29udGFpbnNcIlxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnZmlsdGVyZWRTdWJPcHRpb25zJyxmaWx0ZXJlZFN1Yk9wdGlvbnMpO1xyXG4gICAgICBpZiAoZmlsdGVyZWRTdWJPcHRpb25zICYmIGZpbHRlcmVkU3ViT3B0aW9ucy5sZW5ndGgpIHtcclxuICAgICAgICBmaWx0ZXJlZEdyb3Vwcy5wdXNoKHtcclxuICAgICAgICAgIGxhYmVsOiBvcHRncm91cC5sYWJlbCxcclxuICAgICAgICAgIHZhbHVlOiBvcHRncm91cC52YWx1ZSxcclxuICAgICAgICAgIGl0ZW1zOiBmaWx0ZXJlZFN1Yk9wdGlvbnNcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZ3JvdXBlZFJlYXNvbnMgPSBmaWx0ZXJlZEdyb3VwcztcclxuICB9XHJcblxyXG4gIG9uQ2xlYXJBY3Rpb24oZXZlbnQpIHtcclxuICAgIHRoaXMub25DaGFuZ2UobnVsbCk7XHJcbiAgfSAgXHJcbiAgXHJcblxyXG4gIGRhdGVJbnB1dChldmVudCl7XHJcbiAgICBsZXQgY3VycmVudFZhbHVlIDogc3RyaW5nID0gZXZlbnQuc3JjRWxlbWVudC52YWx1ZTtcclxuICAgIGlmKGN1cnJlbnRWYWx1ZSl7XHJcbiAgICAgICAgaWYoY3VycmVudFZhbHVlLmxlbmd0aCA9PSAyICYmIGN1cnJlbnRWYWx1ZS5jaGFyQXQoMikgIT0gJy8nKXtcclxuICAgICAgICAgICAgZXZlbnQudGFyZ2V0LnZhbHVlID0gY3VycmVudFZhbHVlICsgXCIvXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKGN1cnJlbnRWYWx1ZS5sZW5ndGggPT0gNSAmJiBjdXJyZW50VmFsdWUuY2hhckF0KDUpICE9ICcvJyl7XHJcbiAgICAgICAgICAgIGV2ZW50LnRhcmdldC52YWx1ZSA9IGN1cnJlbnRWYWx1ZSArIFwiL1wiO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgZ2V0IHJlcXVpcmVkKCl7XHJcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2NvbW1vbi5yZXF1aXJlZCcpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHJlcXVpcmVkS2Fuc2FzKCl7XHJcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2luZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZXF1aXJlZC5rYW5zYXMnKTtcclxuICB9XHJcbn1cclxuXHJcbiIsIjxwLWRpYWxvZyB2aXNpYmxlPVwidHJ1ZVwiIHBvc2l0aW9uPVwidG9wXCIgYXBwZW5kVG89XCJib2R5XCIgW3Nob3dIZWFkZXJdPVwiZmFsc2VcIiBbZHJhZ2dhYmxlXT1cImZhbHNlXCJcclxuICBbcmVzaXphYmxlXT1cImZhbHNlXCIgW3N0eWxlXT1cInt3aWR0aDogJzYwdncnfVwiXHJcbiAgW2JyZWFrcG9pbnRzXT1cInsnMTIwMHB4JzogJzY2MHB4JywgJzk5MnB4JzogJzY2MHB4JywgJzc2OHB4JzogJzY2MHB4JywgJzU3NnB4JzogJzEwMHZ3J31cIj5cclxuICA8aDQgc3R5bGU9XCJjb2xvcjogdmFyKC0taW9uLWNvbG9yLWdyZXkpOyBwYWRkaW5nLWxlZnQ6IDIwcHg7XCI+IHt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LmhlYWRpbmdcInx0cmFuc2xhdGV9fVxyXG4gIDwvaDQ+XHJcbiAgPGZvcm0gI2VtcGxveWVyRm9ybSBbZm9ybUdyb3VwXT1cImFkZEVtcGxveWVyRm9ybVwiPlxyXG4gICAgPGlvbi1ncmlkICpuZ0lmPVwiYWRkRW1wbG95ZXJGb3JtPy5jb250cm9sc1wiPiA8IS0tVG8gUmV2aWV3LS0+XHJcbiAgICAgIDxpb24tcm93PlxyXG4gICAgICAgIDxpb24tY29sIGNsYXNzPVwiaW9uLXBhZGRpbmdcIiBzaXplPVwiMTJcIiBzaXplU209XCIxMlwiIHNpemVYcz1cIjEyXCIgc2l6ZU1kPVwiNlwiIHNpemVMZz1cIjZcIiBzaXplWGw9XCI2XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicC1mbHVpZCBwLWZvcm1ncmlkXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiaXNCYXNlUGVyaW9kRW1wbG95ZXJcIj5cclxuICAgICAgICAgICAgICB7e2N1c3RvbWVyTmFtZX19XHJcbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImFsaWFzTmFtZSAhPSBudWxsXCI+XHJcbiAgICAgICAgICAgICAgICB7e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5kYmFcInx0cmFuc2xhdGV9fSB7e2FsaWFzTmFtZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgPGJyPlxyXG4gICAgICAgICAgICAgIDxzcGFuIHN0eWxlPVwiZm9udC1zaXplOiAxMnB4O1wiPiB7e21haWxpbmdBZGRyZXNzRGlzcGxheX19XHJcbiAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpc0NTUlwiPlxyXG4gICAgICAgICAgICAgICAgPGJyPlxyXG4gICAgICAgICAgICAgICAge3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQuZW1wbG95ZXIud2FnZXNcInx0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiaXNDU1JcIj5cclxuICAgICAgICAgICAgICAgIDxwLXRhYmxlIFt2YWx1ZV09XCJlbXBsb3llclByb3ZpZGVkV2FnZXNcIiBzdHlsZUNsYXNzPVwicC1kYXRhdGFibGUtc3RyaXBlZCBhcHAtZGF0YXRhYmxlIGlvbi1wYWRkaW5nLXRvcFwiXHJcbiAgICAgICAgICAgICAgICAgIFtjb2x1bW5zXT1cImVtcGxveWVyUHJvdmlkZWRXYWdlc1wiPlxyXG4gICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCIgbGV0LWNvbHVtbnM+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHRoICpuZ0Zvcj1cImxldCBjb2wgb2YgY29sdW1uc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8Yj57eyBjb2wucXRyWWVhckRpc3BsYXlTdHJpbmcgfX08L2I+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHRkICpuZ0Zvcj1cImxldCBjb2wgb2YgY29sdW1uc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7e2NvbC53YWdlQW1vdW50IHwgY3VycmVuY3l9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgPC9wLXRhYmxlPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwid29ya0ZsYWc/LnZhbHVlID09ICdZJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbD57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC53b3JrZmxhZy5ub1wifHRyYW5zbGF0ZX19PGJyIC8+IDxiciAvPlxyXG4gICAgICAgICAgICAgICAge3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQud29ya2ZsYWcubm8ubGluZTJcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgIDwvZGl2PiBcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCIhaXNCYXNlUGVyaW9kRW1wbG95ZXJcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZW1wbG95ZXJUeXBlXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5lbXBsb3llci50eXBlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogaW5oZXJpdDtcIj5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBpbnB1dElkPVwiZW1wbG95ZXJUeXBlXCIgW29wdGlvbnNdPVwiZW1wbG95ZXJUeXBlT3B0aW9uc1wiIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZW1wbG95ZXJUeXBlXCIgW2NsYXNzLmRpc2FibGVkXT1cIm5vRWRpdE1vZGVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2VtcGxveWVyVHlwZScgW2VyckRlZl09XCJ7ICAgIFxyXG4gICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCIhaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycgIFwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJwcmV2V29ya2VkU3RhdGVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lndvcmsuc3RhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImlubGluZS1zaXplOiBtaW4tY29udGVudDtcIj5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBpbnB1dElkPVwicHJldldvcmtlZFN0YXRlXCIgW29wdGlvbnNdPVwicHJldldvcmtlZFN0YXRlT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJwcmV2V29ya2VkU3RhdGVcIiBvcHRpb25MYWJlbD1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgICBvcHRpb25WYWx1ZT1cInZhbHVlXCIgW2NsYXNzLmRpc2FibGVkXT1cIm5vRWRpdE1vZGVcIlxyXG4gICAgICAgICAgICAgICAgICAob25PcHRpb25DbGljayk9XCJvblRvZ2dsZUNoYW5nZVByZXZXb3JrZWRTdGF0ZSgkZXZlbnQpXCI+PC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdwcmV2V29ya2VkU3RhdGUnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cIiFpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiBlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyAgXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImVtcGxveWVyTmFtZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZW1wbG95ZXIubmFtZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwicHJldldvcmtlZFN0YXRlLnZhbHVlPT09J0tTJzsgZWxzZSBlbHNlQmxvY2tcIj5cclxuICAgICAgICAgICAgICAgIDxhcHAtc2VhcmNoLWVtcGxveWVyIGlucHV0SWQ9XCJlbXBsb3llck5hbWVcIiBbZm9ybUNvbnRyb2xdPVwiZW1wbG95ZXJOYW1lXCIgZW1wVHlwZT1cIlJFR1wiIChvbkZvdW5kKT1cInNldEVtcGxveWVyKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAob25FbXB0eSk9XCJyZXNldEVtcGxveWVyKCRldmVudClcIj48L2FwcC1zZWFyY2gtZW1wbG95ZXI+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZW1wbG95ZXJOYW1lJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2Vsc2VCbG9jaz5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJlbXBsb3llck5hbWVcIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJvdGhTdGF0ZUVtcE5hbWVcIiBtYXhsZW5ndGg9XCI1MFwiPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nb3RoU3RhdGVFbXBOYW1lJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiIHN0eWxlPVwid2lkdGg6IGluaGVyaXQgIWltcG9ydGFudDtcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImZlZEVtcGxveWVyTmFtZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZW1wbG95ZXIuZmVkLm5hbWVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGFwcC1zZWFyY2gtZW1wbG95ZXIgW2Zvcm1Db250cm9sXT1cImZlZEVtcGxveWVyTmFtZVwiIGVtcFR5cGU9XCJGRURcIiAob25Gb3VuZCk9XCJzZXRGZWRFbXBsb3llcigkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIChvbkVtcHR5KT1cInJlc2V0RmVkRW1wbG95ZXIoJGV2ZW50KVwiPjwvYXBwLXNlYXJjaC1lbXBsb3llcj5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZmVkRW1wbG95ZXJOYW1lJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nTUlMJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBpZD1cInNlcnZpY2VCcmFuY2gtbGFiZWxcIiBmb3I9XCJzZXJ2aWNlQnJhbmNoXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwuc2VydmljZS5icmFuY2hcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPHAtZHJvcGRvd24gW29wdGlvbnNdPVwibWlsaXRhcnlTZXJ2aWNlT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJzZXJ2aWNlQnJhbmNoXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiIFthdXRvRGlzcGxheUZpcnN0XT1cImZhbHNlXCIgaW5wdXRJZD1cInNlcnZpY2VCcmFuY2hcIj48L3AtZHJvcGRvd24+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3NlcnZpY2VCcmFuY2gnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdNSUwnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGlkPVwibWlsLXN0YXRlLWxhYmVsXCIgZm9yPVwibWlsLXN0YXRlXCI+XHJcbiAgICAgICAgICAgICAgICB7e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnBoeXNpY2FsLmxvY2F0aW9uXCJ8dHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxwLWRyb3Bkb3duIFtmb3JtQ29udHJvbF09XCJtaWxTdGF0ZVwiIFtvcHRpb25zXT1cInN0YXRlc09wdGlvbnNcIiBvcHRpb25MYWJlbD1cInRleHRcIiBpbnB1dElkPVwibWlsLXN0YXRlXCIgYXBwZW5kVG89XCJib2R5XCI+XHJcblxyXG4gICAgICAgICAgICAgIDwvcC1kcm9wZG93bj5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIGNsYXNzPVwiYXBwLWdyaWRcIiBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbZmllbGRdPVwibWlsU3RhdGVcIiBbZXJyRGVmXT1cIntcclxuICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkS2Fuc2FzOiByZXF1aXJlZEthbnNhc1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J01JTCdcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwic3RhcnREYXRlTWlsXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwuc3RhcnRkYXRlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBpY29uQXJpYUxhYmVsPVwic3RhcnREYXRlTWlsXCIgW3Nob3dJY29uXT1cInRydWVcIiBpbnB1dElkPVwic3RhcnREYXRlTWlsXCJcclxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwic3RhcnREYXRlTWlsXCIgW21heERhdGVdPVwiZGF0ZVRpbWVcIiBbeWVhck5hdmlnYXRvcl09XCJ0cnVlXCIgeWVhclJhbmdlPVwiMTkwMToyMDUwXCJcclxuICAgICAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIiBkYXRlRm9ybWF0PVwibW0vZGQveXlcIiBwbGFjZWhvbGRlcj1cIm1tL2RkL3l5eXlcIiAob25CbHVyKT1cInZhbGlkYXRlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIChvblNlbGVjdCk9XCJ2YWxpZGF0ZSgkZXZlbnQpXCIgZGF0YVR5cGU9XCJzdHJpbmdcIiBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW21pbkRhdGVdPVwibWluV29ya1N0YXJ0RGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L3AtY2FsZW5kYXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdzdGFydERhdGVNaWwnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWRcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHNpemU9XCIxXCI+PC9pb24tY29sPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZzogMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJlbmREYXRlTWlsXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwuZW5kZGF0ZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtY2FsZW5kYXIgaWNvbkFyaWFMYWJlbD1cImVuZERhdGVNaWxcIiBbc2hvd0ljb25dPVwidHJ1ZVwiIGlucHV0SWQ9XCJlbmREYXRlTWlsXCIgW21heERhdGVdPVwiZGF0ZVRpbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFttaW5EYXRlXT1cIm1pbkRhdGVcIiBkYXRlRm9ybWF0PVwibW0vZGQveXlcIiBwbGFjZWhvbGRlcj1cIm1tL2RkL3l5eXlcIiBbeWVhck5hdmlnYXRvcl09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIiB5ZWFyUmFuZ2U9XCIxOTAxOjIwNTBcIiBkYXRhVHlwZT1cInN0cmluZ1wiIFtmb3JtQ29udHJvbF09XCJlbmREYXRlTWlsXCJcclxuICAgICAgICAgICAgICAgICAgICBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiPjwvcC1jYWxlbmRhcj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2VuZERhdGVNaWwnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWRcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCcgJiYgaGlkZUZpY0NvZGVcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZmljQ29kZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLmZpYy5jb2RlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJmaWNDb2RlXCIgdHlwZT1cImlucHV0XCIgcElucHV0VGV4dCBbZm9ybUNvbnRyb2xdPVwiZmljQ29kZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdmaWNDb2RlJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzaXplPVwiMVwiPjwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZmljRGVzdGluYXRpb25OYW1lXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQuZmljLmRlc3RpbmF0aW9uXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJmaWNEZXN0aW5hdGlvbk5hbWVcIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJmaWNEZXN0aW5hdGlvbk5hbWVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZmljRGVzdGluYXRpb25OYW1lJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyAmJiAhaXNCYXNlUGVyaW9kRW1wbG95ZXJcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmctbGVmdDogMHB4OyBwYWRkaW5nLXJpZ2h0OiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWFkZHJlc3MgI2FkZHJlc3MxIFtmb3JtQ29udHJvbF09XCJhZGRyZXNzXCIgW2NvdW50eVJlcXVpcmVkXT1cImZhbHNlXCIgW2Zyb21Qb3B1cF09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICA8L2FwcC1hZGRyZXNzPlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnXCI+XHJcbiAgICAgICAgICAgICAgPGFwcC1hZGRyZXNzIHJlYWRvbmx5PVwidHJ1ZVwiICNhZGRyZXNzMiBbZm9ybUNvbnRyb2xdPVwiYWRkcmVzc1wiIFtjb3VudHlSZXF1aXJlZF09XCJmYWxzZVwiIFtmcm9tUG9wdXBdPVwidHJ1ZVwiPiA8L2FwcC1hZGRyZXNzPlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPVwiYWRkcmVzc1wiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPG1hdC1lcnJvciBjbGFzcz1cImFwcC1ncmlkXCIgKm5nSWY9XCJhZGRyZXNzPy5lcnJvcnM/LmFkZHJlc3NWYWxpZGF0aW9uRmxhZyAmJiBpc0Zvcm1TdWJtaXR0ZWQuc3VibWl0dGVkXCI+XHJcbiAgICAgICAgICAgICAgICB7e1wiY29tbW9uLnZhbGlkLmFkZHJlc3NcInx0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyAmJiAhaXNCYXNlUGVyaW9kRW1wbG95ZXJcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwid29ya0NpdHlcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LndvcmsubG9jYXRpb24uY2l0eVwifHRyYW5zbGF0ZX19IDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cIndvcmtDaXR5XCIgdHlwZT1cImlucHV0XCIgcElucHV0VGV4dCBbZm9ybUNvbnRyb2xdPVwid29ya0NpdHlcIiBtYXhsZW5ndGg9XCIzMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSd3b3JrQ2l0eScgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHNpemU9XCIxXCI+PC9pb24tY29sPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZzogMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBpZD1cIndvcmtTdGF0ZS1sYWJlbFwiIGZvcj1cIndvcmtTdGF0ZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQud29yay5sb2NhdGlvbi5zdGF0ZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtZHJvcGRvd24gW29wdGlvbnNdPVwicHJldldvcmtlZFN0YXRlLnZhbHVlPT09J0tTJz9zdGF0ZXNPcHRpb25zOm5vbktTU3RhdGVzT3B0aW9uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cIndvcmtTdGF0ZVwiIG9wdGlvbkxhYmVsPVwidGV4dFwiIGFwcGVuZFRvPVwiYm9keVwiIFthdXRvRGlzcGxheUZpcnN0XT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICBpbnB1dElkPVwid29ya1N0YXRlXCIgKG9uQ2hhbmdlKT1cInZhbGlkYXRlV2FnZXNEaXNwbGF5KCRldmVudClcIj48L3AtZHJvcGRvd24+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSd3b3JrU3RhdGUnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGlkPVwiZmVkV29ya0NvdW50cnktbGFiZWxcIiBmb3I9XCJmZWRXb3JrQ291bnRyeVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLndvcmsubG9jYXRpb24uY291bnRyeVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8cC1kcm9wZG93biBbb3B0aW9uc109XCJ3b3JrQ291bnRyeU9wdGlvbnNcIiBbZm9ybUNvbnRyb2xdPVwiZmVkV29ya0NvdW50cnlcIiBvcHRpb25MYWJlbD1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgYXBwZW5kVG89XCJib2R5XCIgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiBpbnB1dElkPVwiZmVkV29ya0NvdW50cnlcIj48L3AtZHJvcGRvd24+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2ZlZFdvcmtDb3VudHJ5JyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJ1wiPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZzogMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJmZWRXb3JrQ2l0eVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQud29yay5sb2NhdGlvbi5jaXR5XCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJmZWRXb3JrQ2l0eVwiIHR5cGU9XCJpbnB1dFwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sXT1cImZlZFdvcmtDaXR5XCIgbWF4bGVuZ3RoPVwiMzBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZmVkV29ya0NpdHknIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzaXplPVwiMVwiPjwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIiAqbmdJZj1cInNob3dXb3JrU3RhdGUgPT09IHRydWVcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgaWQ9XCJmZWRXb3JrU3RhdGUtbGFiZWxcIiBmb3I9XCJmZWRXb3JrU3RhdGVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LndvcmsubG9jYXRpb24uc3RhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxwLWRyb3Bkb3duIFtvcHRpb25zXT1cInN0YXRlc09wdGlvbnNcIiBbZm9ybUNvbnRyb2xdPVwiZmVkV29ya1N0YXRlXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgYXBwZW5kVG89XCJib2R5XCJcclxuICAgICAgICAgICAgICAgICAgICBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIGlucHV0SWQ9XCJmZWRXb3JrU3RhdGVcIj48L3AtZHJvcGRvd24+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdmZWRXb3JrU3RhdGUnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInN0YXJ0RGF0ZUZlZFwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLnN0YXJ0ZGF0ZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtY2FsZW5kYXIgaWNvbkFyaWFMYWJlbD1cInN0YXJ0RGF0ZUZlZFwiIFtzaG93SWNvbl09XCJ0cnVlXCIgW21heERhdGVdPVwiZGF0ZVRpbWVcIiBpbnB1dElkPVwic3RhcnREYXRlRmVkXCJcclxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwic3RhcnREYXRlRmVkXCIgW3llYXJOYXZpZ2F0b3JdPVwidHJ1ZVwiIHllYXJSYW5nZT1cIjE5MDE6MjA1MFwiIGFwcGVuZFRvPVwiYm9keVwiXHJcbiAgICAgICAgICAgICAgICAgICAgZGF0ZUZvcm1hdD1cIm1tL2RkL3l5XCIgcGxhY2Vob2xkZXI9XCJtbS9kZC95eXl5XCIgKG9uQmx1cik9XCJ2YWxpZGF0ZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAob25TZWxlY3QpPVwidmFsaWRhdGUoJGV2ZW50KVwiIGRhdGFUeXBlPVwic3RyaW5nXCIgW3Nob3dPbkZvY3VzXT1cImZhbHNlXCIgKG9uSW5wdXQpPVwiZGF0ZUlucHV0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIFttaW5EYXRlXT1cIm1pbldvcmtTdGFydERhdGVcIj5cclxuICAgICAgICAgICAgICAgICAgPC9wLWNhbGVuZGFyPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nc3RhcnREYXRlRmVkJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc2l6ZT1cIjFcIj48L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImVuZERhdGVGZWRcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC5lbmRkYXRlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBpY29uQXJpYUxhYmVsPVwiZW5kRGF0ZUZlZFwiIFtzaG93SWNvbl09XCJ0cnVlXCIgaW5wdXRJZD1cImVuZERhdGVGZWRcIiBbbWF4RGF0ZV09XCJkYXRlVGltZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW21pbkRhdGVdPVwibWluRGF0ZVwiIGRhdGVGb3JtYXQ9XCJtbS9kZC95eVwiIHBsYWNlaG9sZGVyPVwibW0vZGQveXl5eVwiIFt5ZWFyTmF2aWdhdG9yXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiIHllYXJSYW5nZT1cIjE5MDE6MjA1MFwiIGRhdGFUeXBlPVwic3RyaW5nXCIgW2Zvcm1Db250cm9sXT1cImVuZERhdGVGZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtzaG93T25Gb2N1c109XCJmYWxzZVwiIChvbklucHV0KT1cImRhdGVJbnB1dCgkZXZlbnQpXCI+PC9wLWNhbGVuZGFyPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZW5kRGF0ZUZlZCcgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImZlZEpvYlRpbGVPclBvc2l0aW9uXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQuam9idGl0bGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGlucHV0IGlkPVwiZmVkSm9iVGlsZU9yUG9zaXRpb25cIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJmZWRKb2JUaWxlT3JQb3NpdGlvblwiXHJcbiAgICAgICAgICAgICAgICBtYXhsZW5ndGg9XCIxMDBcIiAvPlxyXG4gICAgICAgICAgICAgIDwhLS0gIDxwLWF1dG9Db21wbGV0ZSBbZm9ybUNvbnRyb2xdPVwiZmVkSm9iVGlsZU9yUG9zaXRpb25cIiBbc3VnZ2VzdGlvbnNdPVwiZmVkSm9iVGlsZU9wdGlvbnNcIiBcclxuICAgICAgICAgICAgICAgIChjb21wbGV0ZU1ldGhvZCk9XCJmaWx0ZXJGZWRKb2JUaWxlT3JQb3NpdGlvbigkZXZlbnQpXCIgZmllbGQ9XCJqb2JUaXRsZVwiIFtkcm9wZG93bl09XCJmYWxzZVwiIFxyXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJTdGFydC4uLiB0eXBpbmcgam9iIHRpdGxlXCIgbWluTGVuZ3RoPTMgZm9yY2VTZWxlY3Rpb249XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXZhbHVlIHBUZW1wbGF0ZT1cIml0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2Pnt7dmFsdWUuam9iVGl0bGV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgPC9wLWF1dG9Db21wbGV0ZT4gLS0+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2ZlZEpvYlRpbGVPclBvc2l0aW9uJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJzZkVpZ2h0ZmxhZ1wiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLnNmZWlnaHRcInx0cmFuc2xhdGV9fSA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWluLWNvbnRlbnQ7XCI+XHJcbiAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gaW5wdXRJZD1cInNmRWlnaHRmbGFnXCIgdW5zZWxlY3RhYmxlPVwidHJ1ZVwiIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJzZkVpZ2h0ZmxhZ1wiXHJcbiAgICAgICAgICAgICAgICAgIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdzZkVpZ2h0ZmxhZycgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRydcIj5cclxuXHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInN0YXJ0RGF0ZVwiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LnN0YXJ0ZGF0ZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtY2FsZW5kYXIgaWNvbkFyaWFMYWJlbD1cInN0YXJ0RGF0ZVwiIFtzaG93SWNvbl09XCJ0cnVlXCIgaW5wdXRJZD1cInN0YXJ0RGF0ZVwiIFttYXhEYXRlXT1cImRhdGVUaW1lXCJcclxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwic3RhcnREYXRlXCIgW3llYXJOYXZpZ2F0b3JdPVwidHJ1ZVwiIHllYXJSYW5nZT1cIjE5MDE6MjA1MFwiIFttaW5EYXRlXT1cIm1pbldvcmtTdGFydERhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiIGRhdGVGb3JtYXQ9XCJtbS9kZC95eVwiIHBsYWNlaG9sZGVyPVwibW0vZGQveXl5eVwiIChvbkJsdXIpPVwidmFsaWRhdGUoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKG9uU2VsZWN0KT1cInZhbGlkYXRlKCRldmVudClcIiBkYXRhVHlwZT1cInN0cmluZ1wiIFtzaG93T25Gb2N1c109XCJmYWxzZVwiIChvbklucHV0KT1cImRhdGVJbnB1dCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvcC1jYWxlbmRhcj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3N0YXJ0RGF0ZScgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHNpemU9XCIxXCI+PC9pb24tY29sPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZzogMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJlbmREYXRlXCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQuZW5kZGF0ZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtY2FsZW5kYXIgaWNvbkFyaWFMYWJlbD1cImVuZERhdGVcIiBbc2hvd0ljb25dPVwidHJ1ZVwiIGlucHV0SWQ9XCJlbmREYXRlXCIgW21pbkRhdGVdPVwibWluRGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW21heERhdGVdPVwiZGF0ZVRpbWVcIiBkYXRlRm9ybWF0PVwibW0vZGQveXlcIiBwbGFjZWhvbGRlcj1cIm1tL2RkL3l5eXlcIiBbeWVhck5hdmlnYXRvcl09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIiB5ZWFyUmFuZ2U9XCIxOTAxOjIwNTBcIiBkYXRhVHlwZT1cInN0cmluZ1wiIFtmb3JtQ29udHJvbF09XCJlbmREYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAob25CbHVyKT1cInZhbGlkYXRlV2FnZXNEaXNwbGF5KCRldmVudClcIiBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKG9uU2VsZWN0KT1cInZhbGlkYXRlV2FnZXNEaXNwbGF5KCRldmVudClcIj48L3AtY2FsZW5kYXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdlbmREYXRlJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUgJiYgIWlzQmFzZVBlcmlvZEVtcGxveWVyICAmJiBlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJ1wiPiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgIDwhLS0gPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIm51bWJlckVtcGxveWVkXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcuZW1wbG95ZWVzLm5vXCIgfCB0cmFuc2xhdGV9fSA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1pbnB1dE51bWJlciBbaWRdPVwibnVtYmVyRW1wbG95ZWRcIiBbdXNlR3JvdXBpbmddPVwiZmFsc2VcIiBbZm9ybUNvbnRyb2xdPVwibnVtYmVyRW1wbG95ZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgIG1heGxlbmd0aD1cIjlcIj48L3AtaW5wdXROdW1iZXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdudW1iZXJFbXBsb3llZCcgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHNpemU9XCIxXCI+PC9pb24tY29sPiAtLT5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwid29ya1R5cGVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlZy53b3JrLnR5cGVcIiB8IHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPVwid29ya1R5cGVcIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJ3b3JrVHlwZVwiIG1heGxlbmd0aD1cIjUwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3dvcmtUeXBlJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImNsYWltYW50RW1wbG95ZWRXaXRoRW1wclwiPldlcmUgeW91IGVtcGxveWVkIHdoaWxlIGEgc3BvdXNlIG9mIGEgVVMgbWlsaXRhcnkgbWVtYmVyIHN0YXRpb25lZCBhdFxyXG4gICAgICAgICAgICAgICAgYSBmb3JlaWduIG1pbGl0YXJ5IGJhc2U/PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiaW5saW5lLXNpemU6IG1pbi1jb250ZW50O1wiPlxyXG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIHVuc2VsZWN0YWJsZT1cInRydWVcIiBbb3B0aW9uc109XCJ5ZXNOb05hT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJjbGFpbWFudEVtcGxveWVkV2l0aEVtcHJcIiBvcHRpb25MYWJlbD1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgICBvcHRpb25WYWx1ZT1cInZhbHVlXCI+PC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdjbGFpbWFudEVtcGxveWVkV2l0aEVtcHInICAgICAgICAgICAgICAgICAgIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJwZXJmb3JtZWRTZXJ2aWNlXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQuY2l2aWxpYW4ud29ya1wifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiaW5saW5lLXNpemU6IG1pbi1jb250ZW50O1wiPlxyXG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIGlucHV0SWQ9XCJwZXJmb3JtZWRTZXJ2aWNlXCIgdW5zZWxlY3RhYmxlPVwidHJ1ZVwiIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJwZXJmb3JtZWRTZXJ2aWNlXCJcclxuICAgICAgICAgICAgICAgICAgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0ncGVyZm9ybWVkU2VydmljZScgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRydcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiam9iVGlsZU9yUG9zaXRpb25cIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5qb2J0aXRsZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJqb2JUaWxlT3JQb3NpdGlvblwiIHR5cGU9XCJpbnB1dFwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sXT1cImpvYlRpbGVPclBvc2l0aW9uXCIgbWF4bGVuZ3RoPVwiMTAwXCIgLz5cclxuICAgICAgICAgICAgICA8IS0tIDxwLWF1dG9Db21wbGV0ZSBbZm9ybUNvbnRyb2xdPVwiam9iVGlsZU9yUG9zaXRpb25cIiBbc3VnZ2VzdGlvbnNdPVwiam9iVGlsZU9yUG9zaXRpb25PcHRpb25zXCIgXHJcbiAgICAgICAgICAgICAgICAoY29tcGxldGVNZXRob2QpPVwiZmlsdGVySm9iVGlsZU9yUG9zaXRpb24oJGV2ZW50KVwiIGZpZWxkPVwiam9iVGl0bGVcIiAob25DbGVhcik9XCJvbkNsZWFyQWN0aW9uKCRldmVudClcIiBcclxuICAgICAgICAgICAgICAgICBbZHJvcGRvd25dPVwiZmFsc2VcIiBwbGFjZWhvbGRlcj1cIlN0YXJ0Li4uIHR5cGluZyBqb2IgdGl0bGVcIiBtaW5MZW5ndGg9MyBmb3JjZVNlbGVjdGlvbj1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtdmFsdWUgcFRlbXBsYXRlPVwiaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXY+e3t2YWx1ZS5qb2JUaXRsZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICA8L3AtYXV0b0NvbXBsZXRlPiAtLT5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nam9iVGlsZU9yUG9zaXRpb24nIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnICYmIGlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHdvcmtGbGFnLnZhbHVlPT09J1knXCI+XHJcbiAgICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZy1yaWdodDo1cHg7IHBhZGRpbmctbGVmdDogMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJwYXlSYXRlXCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQucGF5cmF0ZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtaW5wdXROdW1iZXIgaW5wdXRJZD1cInBheVJhdGVcIiBbZm9ybUNvbnRyb2xdPVwicGF5UmF0ZVwiIG1vZGU9XCJjdXJyZW5jeVwiIGN1cnJlbmN5PVwiVVNEXCIgW21heF09XCI5OTk5OTkuOTlcIiBtYXhsZW5ndGg9XCIxMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgbG9jYWxlPVwiZW4tVVNcIj48L3AtaW5wdXROdW1iZXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdwYXlSYXRlJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nLXJpZ2h0OjVweDsgcGFkZGluZy1sZWZ0OiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGlkPVwicGF5UmF0ZUZyZXF1ZW5jeS1sYWJlbFwiIGZvcj1cInBheVJhdGVGcmVxdWVuY3lcIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5wZXJcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxwLWRyb3Bkb3duIFtvcHRpb25zXT1cInBheVJhdGVPcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cInBheVJhdGVGcmVxdWVuY3lcIiBvcHRpb25MYWJlbD1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiIFthdXRvRGlzcGxheUZpcnN0XT1cImZhbHNlXCIgaW5wdXRJZD1cInBheVJhdGVGcmVxdWVuY3lcIj48L3AtZHJvcGRvd24+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdwYXlSYXRlRnJlcXVlbmN5JyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJlbXBsb3llclRlbGVwaG9uZU51bWJlclwiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LmVtcGxveWVyLnBob25lXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8cC1pbnB1dE1hc2sgbWFzaz1cIjk5OS05OTktOTk5OVwiIGlucHV0SWQ9XCJlbXBsb3llclRlbGVwaG9uZU51bWJlclwiIFtmb3JtQ29udHJvbF09XCJlbXBsb3llclRlbGVwaG9uZU51bWJlclwiXHJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIjk5OS05OTktOTk5OVwiPjwvcC1pbnB1dE1hc2s+XHJcblxyXG5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZW1wbG95ZXJUZWxlcGhvbmVOdW1iZXInIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09J1JFRycgfHwgZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCdcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgaWQ9XCJyZWFzb25TZXBhcmF0aW9uLWxhYmVsXCIgZm9yPVwicmVhc29uU2VwYXJhdGlvblwiICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRydcIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5yZWFzb24uc2VwYXJhdGlvblwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8bGFiZWwgaWQ9XCJyZWFzb25TZXBhcmF0aW9uLWxhYmVsXCIgZm9yPVwicmVhc29uU2VwYXJhdGlvblwiICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCdcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC5yZWFzb24uc2VwYXJhdGlvblwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8cC1kcm9wZG93biBbb3B0aW9uc109XCJlbXBsb3ltZW50U3RhdHVzT3B0aW9uc0FsbFwiIFtmb3JtQ29udHJvbF09XCJyZWFzb25TZXBhcmF0aW9uXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiIFthdXRvRGlzcGxheUZpcnN0XT1cImZhbHNlXCIgaW5wdXRJZD1cInJlYXNvblNlcGFyYXRpb25cIj48L3AtZHJvcGRvd24+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3JlYXNvblNlcGFyYXRpb24nIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8IS0tIGFkZCBmb3IgcXVpdCBhbmQgZGlzY2hhcmdlIC0tPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cInJlYXNvblNlcGFyYXRpb24udmFsdWU/LnZhbHVlID09PSAnRENGSScgXHJcbiAgICAgICAgICAgICAgICAmJiBlbXBsb3llclR5cGUudmFsdWUhPSdNSUwnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGlkPVwiZGlzY2hhcmdlRGV0YWlsLWxhYmVsXCIgZm9yPVwiZGlzY2hhcmdlRGV0YWlsXCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQucmVhc29uLnNlcGFyYXRpb24uZGlzY2hhcmdlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxwLWRyb3Bkb3duIFtvcHRpb25zXT1cImRpc2NoYXJnZVJlYXNvbk9wdGlvbnNBbGxcIiBbZm9ybUNvbnRyb2xdPVwiZGlzY2hhcmdlRGV0YWlsXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiIFthdXRvRGlzcGxheUZpcnN0XT1cImZhbHNlXCIgaW5wdXRJZD1cImRpc2NoYXJnZURldGFpbFwiPjwvcC1kcm9wZG93bj5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZGlzY2hhcmdlRGV0YWlsJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJyZWFzb25TZXBhcmF0aW9uLnZhbHVlPy52YWx1ZSA9PT0gJ1ZPTFEnIFxyXG4gICAgICAgICAgICAgICYmIGVtcGxveWVyVHlwZS52YWx1ZSE9J01JTCdcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgaWQ9XCJ2b2xRdWl0RGV0YWlscy1sYWJlbFwiIGZvcj1cInZvbFF1aXREZXRhaWxzXCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQucmVhc29uLnNlcGFyYXRpb24ucXVpdFwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8cC1kcm9wZG93biBbb3B0aW9uc109XCJ2b2xRdWl0UmVhc29uT3B0aW9uc0FsbFwiIFtmb3JtQ29udHJvbF09XCJ2b2xRdWl0RGV0YWlsc1wiIG9wdGlvbkxhYmVsPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIiBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIGlucHV0SWQ9XCJ2b2xRdWl0RGV0YWlsc1wiPjwvcC1kcm9wZG93bj5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0ndm9sUXVpdERldGFpbHMnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdNSUwnIFwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJtaWxQZW5zaW9uRmxhZ1wiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQubWlsLnBlbnNpb25cInx0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgICAgPGJyPiB7e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5wZW5zaW9uLmRpc2NsYWltZXJcInx0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImlubGluZS1zaXplOiBtaW4tY29udGVudDtcIj5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBpbnB1dElkPVwibWlsUGVuc2lvbkZsYWdcIiB1bnNlbGVjdGFibGU9XCJ0cnVlXCIgW29wdGlvbnNdPVwicmFkaW9PcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cIm1pbFBlbnNpb25GbGFnXCJcclxuICAgICAgICAgICAgICAgICAgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nbWlsUGVuc2lvbkZsYWcnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIlxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J01JTCcgJiYgdGhpcy5taWxQZW5zaW9uRmxhZy52YWx1ZSA9PT0gJ1knICYmIHRoaXMuY3VycmVudFN0YXRlICE9ICdNRSdcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwibWlsUGVuc2lvblJlY3ZEYXRlXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwucGVuc2lvbi5kYXRlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBbc2hvd0ljb25dPVwidHJ1ZVwiIGlucHV0SWQ9XCJtaWxQZW5zaW9uUmVjdkRhdGVcIiBbZm9ybUNvbnRyb2xdPVwibWlsUGVuc2lvblJlY3ZEYXRlXCJcclxuICAgICAgICAgICAgICAgICAgW3llYXJOYXZpZ2F0b3JdPVwidHJ1ZVwiIGFwcGVuZFRvPVwiYm9keVwiIHllYXJSYW5nZT1cIjE5MDE6MjA1MFwiIGRhdGVGb3JtYXQ9XCJtbS9kZC95eVwiXHJcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwibW0vZGQveXl5eVwiIGRhdGFUeXBlPVwic3RyaW5nXCIgW3Nob3dPbkZvY3VzXT1cImZhbHNlXCIgKG9uSW5wdXQpPVwiZGF0ZUlucHV0KCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgIDwvcC1jYWxlbmRhcj5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdtaWxQZW5zaW9uUmVjdkRhdGUnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J01JTCcgXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImRkMjE0RmxhZ1wiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQubWlsLmRkMjE0XCJ8dHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPjxicj5cclxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiaW5saW5lLXNpemU6IG1pbi1jb250ZW50OyBkaXNwbGF5OiBpbmxpbmUtZmxleDtcIj5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBpbnB1dElkPVwiZGQyMTRGbGFnXCIgdW5zZWxlY3RhYmxlPVwidHJ1ZVwiIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJkZDIxNEZsYWdcIlxyXG4gICAgICAgICAgICAgICAgICBvcHRpb25MYWJlbD1cInRleHRcIiBvcHRpb25WYWx1ZT1cInZhbHVlXCI+PC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxhcHAtb3ZlcmxheS1pbmZvIFtvdmVybGF5VGV4dF09XCJkZDIxNEluZm9cIj48L2FwcC1vdmVybGF5LWluZm8+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZGQyMTRGbGFnJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tcGFkZGluZ1wiIHNpemU9XCIxMlwiIHNpemVTbT1cIjEyXCIgc2l6ZVhzPVwiMTJcIiBzaXplTWQ9XCI2XCIgc2l6ZUxnPVwiNlwiIHNpemVYbD1cIjZcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLWZsdWlkIHAtZm9ybWdyaWRcIj5cclxuXHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiIWlzQmFzZVBlcmlvZEVtcGxveWVyXCIgY2xhc3M9XCJpb24taGlkZS1zbS1kb3duXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj48L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCIhaXNCYXNlUGVyaW9kRW1wbG95ZXJcIiBjbGFzcz1cImlvbi1oaWRlLXNtLWRvd25cIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cIiFpc0Jhc2VQZXJpb2RFbXBsb3llclwiIGNsYXNzPVwiaW9uLWhpZGUtc20tZG93blwiPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiaXNCYXNlUGVyaW9kRW1wbG95ZXJcIiBjbGFzcz1cImlvbi1oaWRlLXNtLWRvd25cIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cImlzQmFzZVBlcmlvZEVtcGxveWVyXCIgY2xhc3M9XCJpb24taGlkZS1zbS1kb3duXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj48L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nTUlMJyAmJiBkZDIxNEZsYWcudmFsdWU9PT0nWSdcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cImJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwicGFyYU9uZSB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8IS0tIDxhcHAtZmlsZS11cGxvYWRlciBbZm9ybUNvbnRyb2xdPVwiZGQyMTRGaWxlXCIgW3VwbG9hZGVkRmlsZUZvckVkaXRdPVwiZGQyMTRGaWxlLnZhbHVlXCI+PC9hcHAtZmlsZS11cGxvYWRlcj4gLS0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwic2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHBhcmFUd28gfCB0cmFuc2xhdGUpXCI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwocGFyYVRocmVlIHwgdHJhbnNsYXRlKVwiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwic2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHBhcmFGb3VyIHwgdHJhbnNsYXRlKVwiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwic2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHBhcmFGaXZlIHwgdHJhbnNsYXRlKVwiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwic2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHBhcmFTaXh8IHRyYW5zbGF0ZSlcIiBzdHlsZT1cInBhZGRpbmctbGVmdDogMTVweDtcIj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG5cclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nTUlMJyAmJiBkZDIxNEZsYWcudmFsdWU9PT0nTidcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cImJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJub1BhcmFPbmUgfCB0cmFuc2xhdGVcIj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPCEtLSA8YXBwLWZpbGUtdXBsb2FkZXIgW2Zvcm1Db250cm9sXT1cImRkMjE0RmlsZVwiIFt1cGxvYWRlZEZpbGVGb3JFZGl0XT1cImRkMjE0RmlsZS52YWx1ZVwiPjwvYXBwLWZpbGUtdXBsb2FkZXI+IC0tPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cInNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChub1BhcmFUd28gfCB0cmFuc2xhdGUpXCI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwobm9QYXJhVGhyZWUgfCB0cmFuc2xhdGUpXCI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwobm9QYXJhRm91ciB8IHRyYW5zbGF0ZSlcIlxyXG4gICAgICAgICAgICAgICAgICBzdHlsZT1cInBhZGRpbmctbGVmdDogMTVweDtcIj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cInNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChub1BhcmFGaXZlIHwgdHJhbnNsYXRlKVwiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyAmJiAhaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgb3NhQnBFbXBsb3llckZsYWcudmFsdWUgPT09JzEnXCI+IDwhLS1PbGQgY29kZS0tPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZy10b3A6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZ3Jvc3NXYWdlc1wiIHN0eWxlPVwiaW5saW5lLXNpemU6IG1heC1jb250ZW50O1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQudG90YWwud2FnZXMuZWFybmVkXCJ8dHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtaW5wdXROdW1iZXIgaW5wdXRJZD1cImdyb3NzV2FnZXNcIiBbZm9ybUNvbnRyb2xdPVwiZ3Jvc3NXYWdlc1wiIG1vZGU9XCJjdXJyZW5jeVwiIGN1cnJlbmN5PVwiVVNEXCIgbWF4bGVuZ3RoPVwiMTJcIlxyXG4gICAgICAgICAgICAgICAgICAgIFttYXhdPVwiOTk5OTk5Ljk5XCIgbG9jYWxlPVwiZW4tVVNcIj5cclxuICAgICAgICAgICAgICAgICAgPC9wLWlucHV0TnVtYmVyPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZ3Jvc3NXYWdlcycgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycgJiYgIWlzQmFzZVBlcmlvZEVtcGxveWVyXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nLXJpZ2h0OjVweDsgcGFkZGluZy1sZWZ0OiAwcHg7IHBhZGRpbmctdG9wOiAwcHg7XCIgKm5nSWY9XCIhaXNCYXNlUGVyaW9kRW1wbG95ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicGF5UmF0ZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucGF5cmF0ZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtaW5wdXROdW1iZXIgaW5wdXRJZD1cInBheVJhdGVcIiBbZm9ybUNvbnRyb2xdPVwicGF5UmF0ZVwiIG1vZGU9XCJjdXJyZW5jeVwiIGN1cnJlbmN5PVwiVVNEXCJcclxuICAgICAgICAgICAgICAgICAgICBbbWF4XT1cIjk5OTk5OS45OVwiIG1heGxlbmd0aD1cIjEyXCIgbG9jYWxlPVwiZW4tVVNcIj48L3AtaW5wdXROdW1iZXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdwYXlSYXRlJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nLXJpZ2h0OjVweDtwYWRkaW5nLXRvcDogMHB4O1wiICpuZ0lmPVwiIWlzQmFzZVBlcmlvZEVtcGxveWVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGlkPVwicGF5UmF0ZUZyZXF1ZW5jeS1sYWJlbFwiIGZvcj1cInBheVJhdGVGcmVxdWVuY3lcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnBlclwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtZHJvcGRvd24gW29wdGlvbnNdPVwicGF5UmF0ZU9wdGlvbnNcIiBbZm9ybUNvbnRyb2xdPVwicGF5UmF0ZUZyZXF1ZW5jeVwiIG9wdGlvbkxhYmVsPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgYXBwZW5kVG89XCJib2R5XCIgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiBpbnB1dElkPVwicGF5UmF0ZUZyZXF1ZW5jeVwiPjwvcC1kcm9wZG93bj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3BheVJhdGVGcmVxdWVuY3knIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICA8IS0tIDxpb24tY29sICpuZ0lmPVwiZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWVcIiBzdHlsZT1cInBhZGRpbmctdG9wOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImdyb3NzV2FnZXNcIiAgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWF4LWNvbnRlbnQ7XCI+VG90YWwgV2FnZXMgRWFybmVkPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtaW5wdXROdW1iZXIgW2Zvcm1Db250cm9sXT1cImdyb3NzV2FnZXNcIiBtb2RlPVwiY3VycmVuY3lcIiBjdXJyZW5jeT1cIlVTRFwiIG1heGxlbmd0aD1cIjEyXCIgW21heF09XCI5OTk5OTkuOTlcIiBsb2NhbGU9XCJlbi1VU1wiPlxyXG4gICAgICAgICAgICAgICAgICA8L3AtaW5wdXROdW1iZXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdncm9zc1dhZ2VzJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+IC0tPlxyXG4gICAgICAgICAgICAgIDwhLS08aW9uLWNvbCAqbmdJZj1cImRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnZhbHVlICBzdHlsZT1cInBhZGRpbmctdG9wOiAwcHg7XCI+ICBPbGQgQ29kZS0tPlxyXG4gICAgICAgICAgICAgICAgPGlvbi1jb2wgKm5nSWY9XCJkaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZSAmJiAhaXNCYXNlUGVyaW9kRW1wbG95ZXJcIiBzdHlsZT1cInBhZGRpbmctdG9wOiAwcHg7XCI+IDwhLS1OZXcgY29uZGl0aW9uIHdhcyBhZGRlZC0tPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJncm9zc1dhZ2VzXCIgIHN0eWxlPVwiaW5saW5lLXNpemU6IG1heC1jb250ZW50O1wiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQudG90YWwud2FnZXMuZWFybmVkXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1pbnB1dE51bWJlciBpbnB1dElkPVwiZ3Jvc3NXYWdlc1wiIFtmb3JtQ29udHJvbF09XCJncm9zc1dhZ2VzXCIgbW9kZT1cImN1cnJlbmN5XCIgY3VycmVuY3k9XCJVU0RcIiBtYXhsZW5ndGg9XCIxMlwiIFttYXhdPVwiOTk5OTk5Ljk5XCIgbG9jYWxlPVwiZW4tVVNcIj5cclxuICAgICAgICAgICAgICAgICAgPC9wLWlucHV0TnVtYmVyPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZ3Jvc3NXYWdlcycgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPiBcclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnIFwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJmZWRQZW5zaW9uRmxhZ1wiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLnBlbnNpb25cInx0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgICAgPGJyPiB7e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC5wZW5zaW9uLmRpc2NsYWltZXJcInx0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImlubGluZS1zaXplOiBtaW4tY29udGVudDsgZGlzcGxheTpmbGV4XCI+XHJcbiAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gaW5wdXRJZD1cImZlZFBlbnNpb25GbGFnXCIgdW5zZWxlY3RhYmxlPVwidHJ1ZVwiIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJmZWRQZW5zaW9uRmxhZ1wiXHJcbiAgICAgICAgICAgICAgICAgIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1vdmVybGF5LWluZm8gb3ZlcmxheVRleHQ9XCJ7eydpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLnBlbnNpb24uaW5mbyd8IHRyYW5zbGF0ZX19XCJcclxuICAgICAgICAgICAgICAgICAgc3R5bGU9XCJtYXJnaW4tdG9wOiAycHg7IG1hcmdpbi1sZWZ0OiA2cHg7XCI+PC9hcHAtb3ZlcmxheS1pbmZvPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdmZWRQZW5zaW9uRmxhZycgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJyAmJiB0aGlzLmZlZFBlbnNpb25GbGFnLnZhbHVlID09PSAnWScgJiYgdGhpcy5jdXJyZW50U3RhdGUgIT0gJ01FJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJmZWRQZW5zaW9uUmVjdkRhdGVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC5wZW5zaW9uLmRhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgIDxwLWNhbGVuZGFyIFtzaG93SWNvbl09XCJ0cnVlXCIgaW5wdXRJZD1cImZlZFBlbnNpb25SZWN2RGF0ZVwiIFtmb3JtQ29udHJvbF09XCJmZWRQZW5zaW9uUmVjdkRhdGVcIlxyXG4gICAgICAgICAgICAgICAgICBbeWVhck5hdmlnYXRvcl09XCJ0cnVlXCIgYXBwZW5kVG89XCJib2R5XCIgeWVhclJhbmdlPVwiMTkwMToyMDUwXCIgZGF0ZUZvcm1hdD1cIm1tL2RkL3l5XCJcclxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJtbS9kZC95eXl5XCIgZGF0YVR5cGU9XCJzdHJpbmdcIiBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgPC9wLWNhbGVuZGFyPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2ZlZFBlbnNpb25SZWN2RGF0ZScgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJyAmJiB0aGlzLmN1cnJlbnRTdGF0ZSA9PT0gJ01FJyBcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwic2V2UGF5RmxhZ1wiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLnNldmVyYW5jZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiaW5saW5lLXNpemU6IG1pbi1jb250ZW50O1wiPlxyXG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIGlucHV0SWQ9XCJzZXZQYXlGbGFnXCIgdW5zZWxlY3RhYmxlPVwidHJ1ZVwiIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJzZXZQYXlGbGFnXCJcclxuICAgICAgICAgICAgICAgICAgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nc2V2UGF5RmxhZycgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCcgJiYgc2V2UGF5RmxhZy52YWx1ZT09PSdZJ1wiPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZy1yaWdodDo1cHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIndlZWtseUFtb3VudFwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLnNldmVyYW5jZS53ZWVrbHkuYW10XCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1pbnB1dE51bWJlciBpbnB1dElkPVwid2Vla2x5QW1vdW50XCIgW2Zvcm1Db250cm9sXT1cIndlZWtseUFtb3VudFwiIG1vZGU9XCJjdXJyZW5jeVwiIGN1cnJlbmN5PVwiVVNEXCIgbWF4bGVuZ3RoPVwiMTJcIlxyXG4gICAgICAgICAgICAgICAgICAgIFttYXhdPVwiOTk5OTk5Ljk5XCIgbG9jYWxlPVwiZW4tVVNcIj5cclxuICAgICAgICAgICAgICAgICAgPC9wLWlucHV0TnVtYmVyPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nd2Vla2x5QW1vdW50JyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nLXJpZ2h0OjVweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwibnVtYmVyT2ZXZWVrc1wiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLnNldmVyYW5jZS53ZWVrc1wifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtaW5wdXROdW1iZXIgaW5wdXRJZD1cIm51bWJlck9mV2Vla3NcIiBbdXNlR3JvdXBpbmddPVwiZmFsc2VcIiBbZm9ybUNvbnRyb2xdPVwibnVtYmVyT2ZXZWVrc1wiIG1heGxlbmd0aD1cIjRcIj5cclxuICAgICAgICAgICAgICAgICAgPC9wLWlucHV0TnVtYmVyPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nbnVtYmVyT2ZXZWVrcycgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG5cclxuICAgICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwic2V2UGF5QW1vdW50XCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQuc2V2ZXJhbmNlLmVudGl0bGVtZW50XCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1pbnB1dE51bWJlciBpbnB1dElkPVwic2V2UGF5QW1vdW50XCIgW2Zvcm1Db250cm9sXT1cInNldlBheUFtb3VudFwiIG1vZGU9XCJjdXJyZW5jeVwiIGN1cnJlbmN5PVwiVVNEXCIgbWF4bGVuZ3RoPVwiMTJcIlxyXG4gICAgICAgICAgICAgICAgICAgIFttYXhdPVwiOTk5OTk5Ljk5XCIgbG9jYWxlPVwiZW4tVVNcIj5cclxuICAgICAgICAgICAgICAgICAgPC9wLWlucHV0TnVtYmVyPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nc2V2UGF5QW1vdW50JyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuXHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCcgJiYgc2V2UGF5RmxhZy52YWx1ZT09PSdZJ1wiPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZy1yaWdodDo1cHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInNldlBheVN0YXJ0RGF0ZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLnNldmVyYW5jZS5zdGFydC5kYXRlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBbc2hvd0ljb25dPVwidHJ1ZVwiIGlucHV0SWQ9XCJzZXZQYXlTdGFydERhdGVcIiAob25CbHVyKT1cInZhbGlkYXRlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIChvblNlbGVjdCk9XCJ2YWxpZGF0ZSgkZXZlbnQpXCIgW2Zvcm1Db250cm9sXT1cInNldlBheVN0YXJ0RGF0ZVwiIFt5ZWFyTmF2aWdhdG9yXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIHllYXJSYW5nZT1cIjE5MDE6MjA1MFwiIGFwcGVuZFRvPVwiYm9keVwiIGRhdGVGb3JtYXQ9XCJtbS9kZC95eVwiIHBsYWNlaG9sZGVyPVwibW0vZGQveXl5eVwiXHJcbiAgICAgICAgICAgICAgICAgICAgZGF0YVR5cGU9XCJzdHJpbmdcIiBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L3AtY2FsZW5kYXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdzZXZQYXlTdGFydERhdGUnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nLXJpZ2h0OjVweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwic2V2UGF5RW5kRGF0ZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLnNldmVyYW5jZS5lbmQuZGF0ZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtY2FsZW5kYXIgW3Nob3dJY29uXT1cInRydWVcIiBpbnB1dElkPVwic2V2UGF5RW5kRGF0ZVwiIFtmb3JtQ29udHJvbF09XCJzZXZQYXlFbmREYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICBbeWVhck5hdmlnYXRvcl09XCJ0cnVlXCIgeWVhclJhbmdlPVwiMTkwMToyMDUwXCIgZGF0ZUZvcm1hdD1cIm1tL2RkL3l5XCIgcGxhY2Vob2xkZXI9XCJtbS9kZC95eXl5XCJcclxuICAgICAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIiBbbWluRGF0ZV09XCJtaW5EYXRlXCIgZGF0YVR5cGU9XCJzdHJpbmdcIiBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgIChvbklucHV0KT1cImRhdGVJbnB1dCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvcC1jYWxlbmRhcj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3NldlBheUVuZERhdGUnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWxcclxuICAgICAgICAgICAgICAgICAgICBmb3I9XCJzZXZQYXlQYXltZW50U3RhcnREYXRlXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQuc2V2ZXJhbmNlLnBheS5kYXRlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBbc2hvd0ljb25dPVwidHJ1ZVwiIGlucHV0SWQ9XCJzZXZQYXlQYXltZW50U3RhcnREYXRlXCIgW2Zvcm1Db250cm9sXT1cInNldlBheVBheW1lbnRTdGFydERhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFt5ZWFyTmF2aWdhdG9yXT1cInRydWVcIiBhcHBlbmRUbz1cImJvZHlcIiB5ZWFyUmFuZ2U9XCIxOTAxOjIwNTBcIiBkYXRlRm9ybWF0PVwibW0vZGQveXlcIlxyXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwibW0vZGQveXl5eVwiIGRhdGFUeXBlPVwic3RyaW5nXCIgW3Nob3dPbkZvY3VzXT1cImZhbHNlXCIgKG9uSW5wdXQpPVwiZGF0ZUlucHV0KCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgICAgPC9wLWNhbGVuZGFyPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nc2V2UGF5UGF5bWVudFN0YXJ0RGF0ZScgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycgJiYgd29ya0ZsYWcudmFsdWU9PT0nWSdcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicGVuc2lvbkZsYWdcIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5wZW5zaW9uXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWluLWNvbnRlbnQ7XCI+XHJcbiAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gaW5wdXRJZD1cInBlbnNpb25GbGFnXCIgdW5zZWxlY3RhYmxlPVwidHJ1ZVwiIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJwZW5zaW9uRmxhZ1wiXHJcbiAgICAgICAgICAgICAgICAgIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3BlbnNpb25GbGFnJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj4gXHJcbiAgICAgICAgICAgICBcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB3b3JrRmxhZy52YWx1ZT09PSdZJyAmJiBwZW5zaW9uRmxhZy52YWx1ZT09PSdZJ1xyXG4gICAgICAgICAgICAmJiBlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyBcIj4gPCEtLSB0aGlzIGlzIHF1ZXN0aW9uYWJsZSBiZWNhdXNlIGFib3ZlIGRlcGVuZGVudCBxdWVzdGlvbiBkb2VzIG5vdCBoYXZlIGlzQmFzZVBlcmlvZEVtcGxveWVyIC0tPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJwZW5zaW9uUmVjdkRhdGVcIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5wZW5zaW9uLmRhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgIDxwLWNhbGVuZGFyIFtzaG93SWNvbl09XCJ0cnVlXCIgaW5wdXRJZD1cInBlbnNpb25SZWN2RGF0ZVwiIFtmb3JtQ29udHJvbF09XCJwZW5zaW9uUmVjdkRhdGVcIlxyXG4gICAgICAgICAgICAgICAgICBbeWVhck5hdmlnYXRvcl09XCJ0cnVlXCIgYXBwZW5kVG89XCJib2R5XCIgeWVhclJhbmdlPVwiMTkwMToyMDUwXCIgZGF0ZUZvcm1hdD1cIm1tL2RkL3l5XCJcclxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJtbS9kZC95eXl5XCIgZGF0YVR5cGU9XCJzdHJpbmdcIiBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgPC9wLWNhbGVuZGFyPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3BlbnNpb25SZWN2RGF0ZScgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cIiFpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiBlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJyZWdQZW5zaW9uRmxhZ1wiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLnBlbnNpb25cInx0cmFuc2xhdGV9fSA8YnIgLz5cclxuICAgICAgICAgICAgICAgIHt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLnBlbnNpb24uZGlzY2xhaW1lclwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiaW5saW5lLXNpemU6IG1pbi1jb250ZW50OyBkaXNwbGF5OmZsZXhcIj5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBpbnB1dElkPVwicmVnUGVuc2lvbkZsYWdcIiB1bnNlbGVjdGFibGU9XCJ0cnVlXCIgW29wdGlvbnNdPVwicmFkaW9PcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cInJlZ1BlbnNpb25GbGFnXCJcclxuICAgICAgICAgICAgICAgICAgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YXBwLW92ZXJsYXktaW5mbyBvdmVybGF5VGV4dD1cInt7J2luZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcucGVuc2lvbi5pbmZvJ3wgdHJhbnNsYXRlfX1cIlxyXG4gICAgICAgICAgICAgICAgICBzdHlsZT1cIm1hcmdpbi10b3A6IDJweDsgbWFyZ2luLWxlZnQ6IDZweDtcIj48L2FwcC1vdmVybGF5LWluZm8+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3JlZ1BlbnNpb25GbGFnJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiIWlzQmFzZVBlcmlvZEVtcGxveWVyICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnXHJcbiAgICAgICAgICAgICYmIHJlZ1BlbnNpb25GbGFnLnZhbHVlPT09J1knXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInJlZ1BlbnNpb25SZWN2RGF0ZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLnBlbnNpb24uZGF0ZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgPHAtY2FsZW5kYXIgW3Nob3dJY29uXT1cInRydWVcIiBpbnB1dElkPVwicmVnUGVuc2lvblJlY3ZEYXRlXCIgW2Zvcm1Db250cm9sXT1cInJlZ1BlbnNpb25SZWN2RGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgIFt5ZWFyTmF2aWdhdG9yXT1cInRydWVcIiBhcHBlbmRUbz1cImJvZHlcIiB5ZWFyUmFuZ2U9XCIxOTAxOjIwNTBcIiBkYXRlRm9ybWF0PVwibW0vZGQveXlcIlxyXG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIm1tL2RkL3l5eXlcIiBkYXRhVHlwZT1cInN0cmluZ1wiIFtzaG93T25Gb2N1c109XCJmYWxzZVwiIChvbklucHV0KT1cImRhdGVJbnB1dCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICA8L3AtY2FsZW5kYXI+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0ncmVnUGVuc2lvblJlY3ZEYXRlJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiZmllbGRcIlxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRydcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiaXNDbG10UGFpZFdoaWxlTG93XCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQuZW1wbG95ZXIucGF5LnJldHVybi50by53b3JrXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWluLWNvbnRlbnQ7IGRpc3BsYXk6ZmxleDtcIj5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiB1bnNlbGVjdGFibGU9XCJ0cnVlXCIgW29wdGlvbnNdPVwicmFkaW9PcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cImlzQ2xtdFBhaWRXaGlsZUxvd1wiIG9wdGlvbkxhYmVsPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLW92ZXJsYXktaW5mbyBvdmVybGF5VGV4dD1cInt7J2luZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcuZW1wbG95ZXJQYXlSZXR1cm5Ub1dvcmtJbmZvJ3wgdHJhbnNsYXRlfX1cIiBcclxuICAgICAgICAgICAgICAgIHN0eWxlPVwibWFyZ2luLXRvcDogMnB4OyBtYXJnaW4tbGVmdDogNnB4O1wiPjwvYXBwLW92ZXJsYXktaW5mbz5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0naXNDbG10UGFpZFdoaWxlTG93JyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG5cclxuICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiZmllbGRcIlxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycgJiYgY3VycmVudFN0YXRlID09PSdNRSdcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiaGFzU2hvcnRUZXJtRGlzYWJpbGl0eVwiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LnNob3J0dGVybWRpc2FiaWxpdHlcInx0cmFuc2xhdGV9fSB7e2JwU3RhcnREYXRlVG9EaXNwbGF5IHwgZGF0ZTonTU1NTSBkLCB5eXl5J319ID88L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWluLWNvbnRlbnQ7XCI+XHJcbiAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gdW5zZWxlY3RhYmxlPVwidHJ1ZVwiIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJoYXNTaG9ydFRlcm1EaXNhYmlsaXR5XCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0naGFzU2hvcnRUZXJtRGlzYWJpbGl0eScgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG5cclxuICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiZmllbGRcIlxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiKChpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB3b3JrRmxhZy52YWx1ZT09PSdZJykgfHwgIWlzQmFzZVBlcmlvZEVtcGxveWVyKSYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnICYmIGN1cnJlbnRTdGF0ZT09PSdNRSdcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiaGFzUmVjdlJlbXVuZXJhdGlvblwiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LnJlbXVuZXJhdGlvbi5wYXlcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImlubGluZS1zaXplOiBtaW4tY29udGVudDtcIj5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiB1bnNlbGVjdGFibGU9XCJ0cnVlXCIgW29wdGlvbnNdPVwicmFkaW9PcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cImhhc1JlY3ZSZW11bmVyYXRpb25cIiBvcHRpb25MYWJlbD1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgICBvcHRpb25WYWx1ZT1cInZhbHVlXCI+PC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdoYXNSZWN2UmVtdW5lcmF0aW9uJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj4gLS0+XHJcblxyXG4gICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycgJiYgY3VycmVudFN0YXRlPT09J01FJyAmJiBoYXNSZWN2UmVtdW5lcmF0aW9uLnZhbHVlPT09J1knICYmIG9zYUJwRW1wbG95ZXJGbGFnLnZhbHVlPT09JzAnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInJlbXVuZXJhdGlvblR5cGVzXCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQucmVtdW5lcmF0aW9uLnR5cGVzXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxwLWNoZWNrYm94IFtuYW1lXT1cIidyZW11bmVyYXRpb250eXBlcy1ncm91cCdcIiBbdmFsdWVdPVwiY2hvaWNlLnZhbHVlXCIgXHJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwiY2hvaWNlLnRleHRcIiAqbmdGb3I9XCJsZXQgY2hvaWNlIG9mIHJlbXVuZXJhdGlvblR5cGVPcHRpb25zXCIgIFtmb3JtQ29udHJvbF09XCJyZW11bmVyYXRpb25UeXBlc1wiXHJcbiAgICAgICAgICAgICAgICBzdHlsZUNsYXNzPVwiYXBwLXAtY2hlY2tib3hcIj48L3AtY2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3JlbXVuZXJhdGlvblR5cGVzJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj4gLS0+XHJcblxyXG4gICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJmaWVsZFwiXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyAmJiBjdXJyZW50U3RhdGUgPT09J01FJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ2YWNhdGlvblwiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LnZhY2F0aW9uLmJyZWFrXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWluLWNvbnRlbnQ7XCI+XHJcbiAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gdW5zZWxlY3RhYmxlPVwidHJ1ZVwiIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJ2YWNhdGlvblwiIG9wdGlvbkxhYmVsPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3ZhY2F0aW9uJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj4gLS0+XHJcblxyXG4gICAgICAgICAgICA8IS0tPGRpdiAqbmdJZj1cImRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnZhbHVlICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnXCI+IFN0ZXBoZW4gQ29kZS0tPlxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJkaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZSAmJiAhaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRydcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8aDQ+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcudmVyaWZpY2F0aW9uLndhZ2VzLmhlYWRlclwifHRyYW5zbGF0ZX19PC9oND5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbD57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlZy52ZXJpZmljYXRpb24ud2FnZXMuc3ViaGVhZGVyXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicGF5bWVudFR5cGVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlZy52ZXJpZmljYXRpb24ud2FnZXMucGF5bW9kZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBpbnB1dElkPVwicGF5bWVudFR5cGVcIiB1bnNlbGVjdGFibGU9XCJ0cnVlXCIgW29wdGlvbnNdPVwicGF5TWV0aG9kT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJwYXltZW50VHlwZVwiXHJcbiAgICAgICAgICAgICAgICAgIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3BheW1lbnRUeXBlJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZG9jc1JlY2VpdmVkXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcudmVyaWZpY2F0aW9uLndhZ2VzLmRvY3NcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gaW5wdXRJZD1cImRvY3NSZWNlaXZlZFwiIHVuc2VsZWN0YWJsZT1cInRydWVcIiBbb3B0aW9uc109XCJ3YWdlUHJvb2ZPcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cImRvY3NSZWNlaXZlZFwiXHJcbiAgICAgICAgICAgICAgICAgIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2RvY3NSZWNlaXZlZCcgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwib3RoZXJTU05GbGFnXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcudmVyaWZpY2F0aW9uLndhZ2VzLm90aGVyLnNzbi5mbGFnXCJ8dHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiaW5saW5lLXNpemU6IG1pbi1jb250ZW50O1wiPlxyXG4gICAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gaW5wdXRJZD1cIm90aGVyU1NORmxhZ1wiIHVuc2VsZWN0YWJsZT1cInRydWVcIiBbb3B0aW9uc109XCJyYWRpb09wdGlvbnNcIiBbZm9ybUNvbnRyb2xdPVwib3RoZXJTU05GbGFnXCJcclxuICAgICAgICAgICAgICAgICAgICBvcHRpb25MYWJlbD1cInRleHRcIiBvcHRpb25WYWx1ZT1cInZhbHVlXCI+PC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J290aGVyU1NORmxhZycgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cInRoaXMub3RoZXJTU05GbGFnLnZhbHVlID09PSAnWSdcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJvdGhlclNTTlwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLnZlcmlmaWNhdGlvbi53YWdlcy5vdGhlci5zc25cInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8cC1pbnB1dE1hc2sgaW5wdXRJZD1cIm90aGVyU1NOXCIgbWFzaz1cIjk5OS05OS05OTk5XCIgW2Zvcm1Db250cm9sXT1cIm90aGVyU1NOXCIgcGxhY2Vob2xkZXI9XCI5OTktOTktOTk5OVwiPlxyXG4gICAgICAgICAgICAgICAgPC9wLWlucHV0TWFzaz5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdvdGhlclNTTicgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImhpcmVkQnlcIj5NYW5hZ2VyJ3MgTmFtZSAmIFRpdGxlPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPVwiaGlyZWRCeVwiIHR5cGU9XCJpbnB1dFwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sXT1cImhpcmVkQnlcIiBtYXhsZW5ndGg9XCI0MFwiLz5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2hpcmVkQnknIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj4gICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPCEtLSAgPGlvbi1yb3cgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJ1wiPiBTdGVwaGVuIENvZGUgLS0+XHJcblxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cImRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnZhbHVlICYmICFpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiBlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJ1wiPiAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsXHJcbiAgICAgICAgICAgICAgICAgICAgZm9yPVwib3RoZXJOYW1lRmxhZ1wiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLnZlcmlmaWNhdGlvbi53YWdlcy5vdGhlci5uYW1lLmZsYWdcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWluLWNvbnRlbnQ7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIGlucHV0SWQ9XCJvdGhlck5hbWVGbGFnXCIgdW5zZWxlY3RhYmxlPVwidHJ1ZVwiIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJvdGhlck5hbWVGbGFnXCJcclxuICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdvdGhlck5hbWVGbGFnJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwidGhpcy5vdGhlck5hbWVGbGFnLnZhbHVlID09PSAnWSdcIj5cclxuICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbFxyXG4gICAgICAgICAgICAgICAgICAgIGZvcj1cIm90aGVyTmFtZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLnZlcmlmaWNhdGlvbi53YWdlcy5vdGhlci5uYW1lXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJvdGhlck5hbWVcIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJvdGhlck5hbWVcIiBtYXhsZW5ndGg9XCIzMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdvdGhlck5hbWUnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgICAgICAgICA8IS0tIDxpb24tcm93ICpuZ0lmPVwid29ya1N0YXRlLnZhbHVlICYmIHdvcmtTdGF0ZS52YWx1ZS52YWx1ZT09PSdLUycgJiYgZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUgJiYgIWlzQmFzZVBlcmlvZEVtcGxveWVyICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImZlaW5cIj5GRUlOPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtaW5wdXROdW1iZXIgW2lkXT1cImZlaW5cIiBbdXNlR3JvdXBpbmddPVwiZmFsc2VcIiBbZm9ybUNvbnRyb2xdPVwiZmVpblwiIG1heGxlbmd0aD1cIjlcIj48L3AtaW5wdXROdW1iZXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdmZWluJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc2l6ZT1cIjFcIj48L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImRvaW5nQnVzaW5lc3NBc1wiPkRvaW5nIEJ1c2luZXNzIEFzL1RyYWRlIE5hbWU8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJkb2luZ0J1c2luZXNzQXNcIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJkb2luZ0J1c2luZXNzQXNcIiBtYXhsZW5ndGg9XCIxMDBcIi8+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdkb2luZ0J1c2luZXNzQXMnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PiAtLT5cclxuXHJcbiAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyAmJiBkaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcz8udmFsdWUgXHJcbiAgICAgICAgICAgICAgICAmJiAhaXNCYXNlUGVyaW9kRW1wbG95ZXJcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiYnVzaW5lc3NOYXR1cmVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlZy52ZXJpZmljYXRpb24ubmF0dXJlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJidXNpbmVzc05hdHVyZVwiIHR5cGU9XCJpbnB1dFwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sXT1cImJ1c2luZXNzTmF0dXJlXCIgbWF4bGVuZ3RoPVwiMjUwXCIvPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nYnVzaW5lc3NOYXR1cmUnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWRcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICAgPCEtLSA8ZGl2ICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCcgfHwgKGRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzPy52YWx1ZSAmJiBlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyAmJiBwcmV2V29ya2VkU3RhdGU/LnZhbHVlID09PSAnS1MnKVwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCdcIj4gU3RlcGhlbiBDb2RlIC0tPlxyXG4gICAgICAgICAgICAgIDwhLS0gPGRpdiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnICYmIGlzTmV3Q2xhaW1cIj5cclxuICAgICAgICAgICAgICAgIDwhLS08bGFiZWw+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQudmVyaWZpY2F0aW9uLndhZ2VzXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUgJiYgIWlzQmFzZVBlcmlvZEVtcGxveWVyICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnXCI+XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJ1wiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLnZlcmlmaWNhdGlvbi53YWdlcy5zdGF0ZW1lbnRcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJyB8fCAoZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycgJiYgZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXM/LnZhbHVlKVwiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLnZlcmlmaWNhdGlvbi53YWdlc1wifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDx0YWJsZSBydWxlcz1cInJvd3NcIj5cclxuICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0aCBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlZy52ZXJpZmljYXRpb24ud2FnZXMuY29sMVwifHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICA8dGg+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcudmVyaWZpY2F0aW9uLndhZ2VzLmNvbDJcInx0cmFuc2xhdGV9fTwvdGg+XHJcbiAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIGZvcm1BcnJheU5hbWU9XCJ3YWdlQW1vdW50QXJyYXlcIj5cclxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgd2FnZUFtb3VudEZvcm0gb2Ygd2FnZUFtb3VudEFycmF5LmNvbnRyb2xzOyBsZXQgaSA9IGluZGV4XCJcclxuICAgICAgICAgICAgICAgICAgICBbZm9ybUdyb3VwTmFtZV09XCJpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRyICpuZ0lmPVwiKChlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJykgfHwgKGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnICYmIHdhZ2VBbW91bnRGb3JtLnZhbHVlLmRpc3BsYXlGb3JBbGw9PT10cnVlKSApXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBbZm9yXT1cIid3YWdlQW1vdW50QXJyYXktJyArIGlcIiA+e3t3YWdlQW1vdW50Rm9ybS52YWx1ZS5xdHJZZWFyRGlzcGxheVN0cmluZ319PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwLWlucHV0TnVtYmVyIFtpbnB1dElkXT1cIid3YWdlQW1vdW50QXJyYXktJyArIGlcIiBhcmlhTGFiZWw9XCJ3YWdlQW1vdW50XCIgZm9ybUNvbnRyb2xOYW1lPVwid2FnZUFtb3VudFwiIG1vZGU9XCJjdXJyZW5jeVwiIFttaW5dPVwiMC4wMFwiIFttYXhdPVwiOTk5OTk5Ljk5XCIgbWF4bGVuZ3RoPVwiMTJcIiBjdXJyZW5jeT1cIlVTRFwiIGxvY2FsZT1cImVuLVVTXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcC1pbnB1dE51bWJlcj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPHRyICpuZ0lmPVwid2FnZUFtb3VudEFycmF5LmVycm9ycz8ucmVxdWlyZUNoZWNrYm94VG9CZUNoZWNrZWRcIj5cclxuICAgICAgICAgICAgICAgICAgPHRkIGNvbHNwYW49XCIyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3dhZ2VBbW91bnRBcnJheScgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2VyckRlZl09XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlQ2hlY2tib3hUb0JlQ2hlY2tlZDogJ2F0IGxlYXN0IG9uZSBhbW91bnQgbXVzdCBiZSBncmVhdGVyIHRoYW4gemVybydcclxuICAgICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8L3RyPiAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8L3RhYmxlPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJzZXZlcmFuY2VcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlZy5zZXZlcmFuY2VcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBpbnB1dElkPVwic2V2ZXJhbmNlXCIgW29wdGlvbnNdPVwicmFkaW9PcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cInNldmVyYW5jZVwiIG9wdGlvbkxhYmVsPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdzZXZlcmFuY2UnXHJcbiAgICAgICAgICAgICAgICBbZXJyRGVmXT1cIntyZXF1aXJlZDogcmVxdWlyZWR9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgXHJcbiAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICA8L2lvbi1yb3c+XHJcbiAgICAgIDxpb24tcm93PlxyXG4gICAgICAgIDxpb24tY29sIGNsYXNzPVwiaW9uLXRleHQtcmlnaHRcIj5cclxuICAgICAgICAgIDxpb24tYnV0dG9uIFthdXRvZm9jdXNdPVwidHJ1ZVwiIHRhYmluZGV4PVwiMFwiIHNoYXBlPVwicm91bmRcIiBzdHlsZT1cIndpZHRoOiA4MHB4O1wiIGZpbGw9XCJvdXRsaW5lXCIgKGNsaWNrKT1cIm9uTW9kZWxDYW5jZWwoZmFsc2UpXCIgKGtleXVwLnNwYWNlKT1cIm9uTW9kZWxDYW5jZWwoZmFsc2UpXCIgKGtleXVwLmVudGVyKT1cIm9uTW9kZWxDYW5jZWwoZmFsc2UpXCJcclxuICAgICAgICAgICAgdHlwZT1cInJlc2V0XCI+e3tcImluZHVjdGlvbi5lbXBsb3ltZW50LmJ1dHRvbi5jYW5jZWxcInx0cmFuc2xhdGV9fSA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgICA8aW9uLWJ1dHRvbiB0YWJpbmRleD1cIjBcIiBzaGFwZT1cInJvdW5kXCIgc3R5bGU9XCJ3aWR0aDogODBweDtcIiAoY2xpY2spPVwic2F2ZSgpXCIgdHlwZT1cInN1Ym1pdFwiICpuZ0lmPVwiaXNCYXNlUGVyaW9kRW1wbG95ZXJcIiAoa2V5dXAuc3BhY2UpPVwic2F2ZSgpXCIgKGtleXVwLmVudGVyKT1cInNhdmUoKVwiPlxyXG4gICAgICAgICAgICB7e1wiaW5kdWN0aW9uLmVtcGxveW1lbnQuYnV0dG9uLnNhdmVcInx0cmFuc2xhdGV9fSA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgICA8aW9uLWJ1dHRvbiB0YWJpbmRleD1cIjBcIiBzaGFwZT1cInJvdW5kXCIgc3R5bGU9XCJ3aWR0aDogODBweDtcIiAoY2xpY2spPVwiYWRkKClcIiB0eXBlPVwic3VibWl0XCIgKm5nSWY9XCIhaXNCYXNlUGVyaW9kRW1wbG95ZXJcIiAoa2V5dXAuc3BhY2UpPVwiYWRkKClcIiAoa2V5dXAuZW50ZXIpPVwiYWRkKClcIlxyXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidBZGQgYW4gZW1wbG95ZXInIHwgdHJhbnNsYXRlXCI+IHt7XCJpbmR1Y3Rpb24uZW1wbG95bWVudC5idXR0b24uYWRkXCJ8dHJhbnNsYXRlfX1cclxuICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgIDwvaW9uLXJvdz5cclxuICAgIDwvaW9uLWdyaWQ+XHJcbiAgPC9mb3JtPlxyXG48L3AtZGlhbG9nPiJdfQ==